From 3ccb61bf1867ab6748b1bb9fe39ee8fcba64d997 Mon Sep 17 00:00:00 2001 From: Joachim Dalen <15696189+joachimdalen@users.noreply.github.com> Date: Sun, 1 May 2022 15:35:50 +0200 Subject: [PATCH] Implementation (#9) --- .azext/changelog-cache.json | 4 + .azext/changelog-config.json | 96 + .azext/changelog.json | 9 + .azext/readme.json | 4 + .ci/build-extension-artifact.template.yml | 90 + .ci/build.template.yml | 14 + .ci/create-gh-release.template.yml | 25 + .ci/install.template.yml | 14 + .ci/publish-extension.template.yml | 38 + .ci/run-tests.template.yml | 30 + .eslintignore | 1 + .gitignore | 11 +- .vscode/extensions.json | 7 + .vscode/settings.json | 32 + PRIVACY.md | 19 + README.md | 191 +- azure-pipelines.yml | 123 + build-scripts/entry-points.js | 56 + build-scripts/webpack-script-tags-plugin.js | 17 + build-scripts/webpack.common.js | 107 + build-scripts/webpack.config.dev.js | 41 + build-scripts/webpack.config.prod.js | 16 + build-scripts/webpack.utils.js | 26 + docs/CHANGELOG-DEV.md | 26 - docs/CHANGELOG-PROD.md | 20 - docs/CHANGELOG.md | 20 - docs/README-BASE.md | 1 - docs/README.md | 1 - extension-icon.png | Bin 3225 -> 4219 bytes hub-group-icon.png | Bin 0 -> 4917 bytes marketplace/docs/images/.gitkeep | 0 marketplace/docs/images/panel-preview.png | Bin 0 -> 61595 bytes marketplace/docs/images/work-hub-preview.png | Bin 0 -> 99933 bytes marketplace/docs/images/work-item-preview.png | Bin 0 -> 74259 bytes marketplace/raw/README.md | 58 + package-lock.json | 16652 ++++++++-------- package.json | 69 +- .../azdevops-ext-core/DevOpsService.ts | 19 + .../Common/RestClientBase.ts | 3 + .../Common/index.ts | 17 + .../azure-devops-extension-api/Core.ts | 13 + .../azure-devops-extension-api/Git.ts | 31 + .../azure-devops-extension-api/Graph.ts | 19 + .../azure-devops-extension-api/Identities.ts | 3 + .../azure-devops-extension-api/Wiki.ts | 26 + .../WorkItemTracking.ts | 94 + .../WorkItemTrackingProcess.ts | 28 + .../azure-devops-extension-api/index.ts | 1 + src/__mocks__/azure-devops-extension-sdk.ts | 176 + src/__mocks__/styleMock.js | 3 + src/__tests__/common/chunkUtil.test.ts | 24 + src/__tests__/common/common.test.tsx | 45 + .../components/ApproverDisplay.test.tsx | 59 + .../components/CriteriaTypeDisplay.test.tsx | 21 + .../common/components/FullStatusTag.test.tsx | 12 + .../common/components/ProgressBar.test.tsx | 16 + .../common/components/StatusTag.test.tsx | 17 + src/__tests__/common/criteriaUtils.test.ts | 71 + .../common/hooks/useCriteriaId.test.tsx | 28 + .../common/services/CriteriaService.test.ts | 170 + .../ConfirmationDialog.test.tsx | 104 + .../criteria-panel/CriteriaPanel.test.tsx | 228 + .../CheckListCriteriaSection.test.tsx | 175 + .../CompletedProcessContainer.test.tsx | 26 + .../components/CompletionContainer.test.tsx | 47 + .../components/ProcessingContainer.test.tsx | 32 + .../RejectionProcessContainer.test.tsx | 32 + .../ScenarioCriteriaSection.test.tsx | 104 + .../components/TextCriteriaSection.test.tsx | 37 + .../view/TextCriteriaViewSection.text.tsx | 21 + src/admin-hub/AdminPage.tsx | 49 +- src/admin-hub/components/PageWrapper.tsx | 22 +- src/admin-hub/index.scss | 10 +- src/admin-hub/module.json | 8 + src/admin-hub/module.tsx | 7 +- src/admin-hub/tabs/AdminConfigurationTab.tsx | 219 +- src/admin-hub/tabs/AreaConfigurationTab.tsx | 11 - src/admin-hub/tabs/DocumentTab.tsx | 45 + .../tabs/orphaned/OrphanedDocumentsTab.tsx | 36 + .../tabs/OrphanedCriteriaDetailsTab.tsx | 208 + .../orphaned/tabs/OrphanedCriteriasTab.tsx | 235 + src/common/DevOpsError.ts | 12 + src/common/chunkUtil.ts | 4 + src/common/common.ts | 78 +- src/common/components/ApproverDisplay.tsx | 47 + src/common/components/CriteriaTypeDisplay.tsx | 41 + src/common/components/FullStatusTag.tsx | 17 + src/common/components/InternalLink.tsx | 15 + src/common/components/ProgressBar.tsx | 46 + src/common/components/SlimErrorBoundary.tsx | 54 + .../components/StatusTag.tsx | 21 +- src/common/constants.ts | 3 - src/common/criteriaUtils.ts | 25 + src/common/errorUtils.ts | 49 + src/common/hooks/useCriteriaId.tsx | 21 + src/common/hooks/useDropdownSelection.tsx | 17 - src/common/localStorage.ts | 28 + src/common/models/ActionResult.ts | 5 + src/common/models/CriteriaDocument.ts | 16 - src/common/models/IAcceptanceCriteria.ts | 27 - .../services/CriteriaNavigationService.ts | 43 - src/common/services/CriteriaService.ts | 462 + src/common/services/StorageService.ts | 238 +- src/common/services/WorkItemService.ts | 36 - src/common/types.ts | 125 + .../ConfirmationDialog.tsx | 98 + src/confirmation-dialog/index.scss | 4 + src/confirmation-dialog/module.json | 8 + src/confirmation-dialog/module.tsx | 9 + src/control/AcceptanceControl.tsx | 145 - src/control/AcceptanceControlProvider.ts | 30 - src/control/azure-devops-theme.ts | 52 - src/control/common.tsx | 9 - src/control/components/ActionMenu.tsx | 60 - src/control/components/CriteriaList.tsx | 146 - src/control/index.scss | 44 - src/control/module.tsx | 20 - src/control/webLogger.ts | 57 - src/criteria-panel/CriteriaPanel.tsx | 570 + src/criteria-panel/CriteriaPanelContext.tsx | 83 + src/criteria-panel/CriteriaPanelData.ts | 60 + .../components/CheckListCriteriaSection.tsx | 141 + .../components/CompletedProcessContainer.tsx | 36 + .../components/CompletionContainer.tsx | 50 + .../components/InternalTagPicker.tsx | 75 + .../components/ProcessingContainer.tsx | 49 + .../components/RejectionProcessContainer.tsx | 48 + .../components/ScenarioCriteriaSection.tsx | 176 + .../components/TextCriteriaSection.tsx | 46 + .../view/ChecklistCriteriaViewSection.tsx | 57 + .../view/ScenarioCriteriaViewSection.tsx | 51 + .../view/TextCriteriaViewSection.tsx | 19 + src/criteria-panel/index.scss | 16 + src/criteria-panel/module.json | 8 + src/criteria-panel/module.tsx | 14 + src/panel/index.scss | 2 - src/panel/module.tsx | 158 - src/progress-control/ProgressControl.tsx | 98 + .../common/ProgressControlService.ts | 64 + src/progress-control/index.scss | 5 + src/progress-control/module.json | 8 + src/progress-control/module.tsx | 10 + src/setupTests.ts | 5 + src/styles/_common.scss | 91 + src/styles/_criteria-list.scss | 10 + src/styles/mixins.scss | 16 - src/testdata.ts | 52 + src/wi-control/AcceptanceControl.tsx | 347 + src/wi-control/components/CriteriaView.tsx | 322 + src/wi-control/index.scss | 26 + src/wi-control/module.json | 8 + .../index.tsx => wi-control/module.tsx} | 4 +- src/work-hub/ColumnsPanel.tsx | 23 + src/work-hub/WorkHub.tsx | 418 + src/work-hub/assets/hub-icon-dark.png | Bin 0 -> 2383 bytes src/work-hub/assets/hub-icon-light.png | Bin 0 -> 3228 bytes src/work-hub/components/CriteriaTree.tsx | 310 + src/work-hub/components/CriteriaTreeData.tsx | 297 + src/work-hub/components/HubFilterBar.tsx | 163 + src/work-hub/components/SettingContainer.tsx | 50 + src/work-hub/components/WorkItemTypeTag.tsx | 35 + src/work-hub/index.scss | 15 +- src/work-hub/module.json | 8 + src/work-hub/module.tsx | 19 +- src/work-hub/settings-panel/SettingsPanel.tsx | 75 + .../tabs/NotificationsGeneralTab.tsx | 51 + .../tabs/WorkItemDisplayTab.tsx | 33 + vss-extension.dev.json | 231 + vss-extension.prod.json | 220 + vss-extension.qa.json | 221 + 170 files changed, 18286 insertions(+), 9090 deletions(-) create mode 100644 .azext/changelog-cache.json create mode 100644 .azext/changelog-config.json create mode 100644 .azext/changelog.json create mode 100644 .azext/readme.json create mode 100644 .ci/build-extension-artifact.template.yml create mode 100644 .ci/build.template.yml create mode 100644 .ci/create-gh-release.template.yml create mode 100644 .ci/install.template.yml create mode 100644 .ci/publish-extension.template.yml create mode 100644 .ci/run-tests.template.yml create mode 100644 .vscode/extensions.json create mode 100644 .vscode/settings.json create mode 100644 PRIVACY.md create mode 100644 azure-pipelines.yml create mode 100644 build-scripts/entry-points.js create mode 100644 build-scripts/webpack-script-tags-plugin.js create mode 100644 build-scripts/webpack.common.js create mode 100644 build-scripts/webpack.config.dev.js create mode 100644 build-scripts/webpack.config.prod.js create mode 100644 build-scripts/webpack.utils.js delete mode 100644 docs/CHANGELOG-DEV.md delete mode 100644 docs/CHANGELOG-PROD.md delete mode 100644 docs/CHANGELOG.md delete mode 100644 docs/README-BASE.md delete mode 100644 docs/README.md create mode 100644 hub-group-icon.png create mode 100644 marketplace/docs/images/.gitkeep create mode 100644 marketplace/docs/images/panel-preview.png create mode 100644 marketplace/docs/images/work-hub-preview.png create mode 100644 marketplace/docs/images/work-item-preview.png create mode 100644 marketplace/raw/README.md create mode 100644 src/__mocks__/@joachimdalen/azdevops-ext-core/DevOpsService.ts create mode 100644 src/__mocks__/azure-devops-extension-api/Common/RestClientBase.ts create mode 100644 src/__mocks__/azure-devops-extension-api/Common/index.ts create mode 100644 src/__mocks__/azure-devops-extension-api/Core.ts create mode 100644 src/__mocks__/azure-devops-extension-api/Git.ts create mode 100644 src/__mocks__/azure-devops-extension-api/Graph.ts create mode 100644 src/__mocks__/azure-devops-extension-api/Identities.ts create mode 100644 src/__mocks__/azure-devops-extension-api/Wiki.ts create mode 100644 src/__mocks__/azure-devops-extension-api/WorkItemTracking.ts create mode 100644 src/__mocks__/azure-devops-extension-api/WorkItemTrackingProcess.ts create mode 100644 src/__mocks__/azure-devops-extension-api/index.ts create mode 100644 src/__mocks__/azure-devops-extension-sdk.ts create mode 100644 src/__mocks__/styleMock.js create mode 100644 src/__tests__/common/chunkUtil.test.ts create mode 100644 src/__tests__/common/common.test.tsx create mode 100644 src/__tests__/common/components/ApproverDisplay.test.tsx create mode 100644 src/__tests__/common/components/CriteriaTypeDisplay.test.tsx create mode 100644 src/__tests__/common/components/FullStatusTag.test.tsx create mode 100644 src/__tests__/common/components/ProgressBar.test.tsx create mode 100644 src/__tests__/common/components/StatusTag.test.tsx create mode 100644 src/__tests__/common/criteriaUtils.test.ts create mode 100644 src/__tests__/common/hooks/useCriteriaId.test.tsx create mode 100644 src/__tests__/common/services/CriteriaService.test.ts create mode 100644 src/__tests__/confirmation-dialog/ConfirmationDialog.test.tsx create mode 100644 src/__tests__/criteria-panel/CriteriaPanel.test.tsx create mode 100644 src/__tests__/criteria-panel/components/CheckListCriteriaSection.test.tsx create mode 100644 src/__tests__/criteria-panel/components/CompletedProcessContainer.test.tsx create mode 100644 src/__tests__/criteria-panel/components/CompletionContainer.test.tsx create mode 100644 src/__tests__/criteria-panel/components/ProcessingContainer.test.tsx create mode 100644 src/__tests__/criteria-panel/components/RejectionProcessContainer.test.tsx create mode 100644 src/__tests__/criteria-panel/components/ScenarioCriteriaSection.test.tsx create mode 100644 src/__tests__/criteria-panel/components/TextCriteriaSection.test.tsx create mode 100644 src/__tests__/criteria-panel/components/view/TextCriteriaViewSection.text.tsx create mode 100644 src/admin-hub/module.json delete mode 100644 src/admin-hub/tabs/AreaConfigurationTab.tsx create mode 100644 src/admin-hub/tabs/DocumentTab.tsx create mode 100644 src/admin-hub/tabs/orphaned/OrphanedDocumentsTab.tsx create mode 100644 src/admin-hub/tabs/orphaned/tabs/OrphanedCriteriaDetailsTab.tsx create mode 100644 src/admin-hub/tabs/orphaned/tabs/OrphanedCriteriasTab.tsx create mode 100644 src/common/DevOpsError.ts create mode 100644 src/common/chunkUtil.ts create mode 100644 src/common/components/ApproverDisplay.tsx create mode 100644 src/common/components/CriteriaTypeDisplay.tsx create mode 100644 src/common/components/FullStatusTag.tsx create mode 100644 src/common/components/InternalLink.tsx create mode 100644 src/common/components/ProgressBar.tsx create mode 100644 src/common/components/SlimErrorBoundary.tsx rename src/{control => common}/components/StatusTag.tsx (50%) delete mode 100644 src/common/constants.ts create mode 100644 src/common/criteriaUtils.ts create mode 100644 src/common/errorUtils.ts create mode 100644 src/common/hooks/useCriteriaId.tsx delete mode 100644 src/common/hooks/useDropdownSelection.tsx create mode 100644 src/common/localStorage.ts create mode 100644 src/common/models/ActionResult.ts delete mode 100644 src/common/models/CriteriaDocument.ts delete mode 100644 src/common/models/IAcceptanceCriteria.ts delete mode 100644 src/common/services/CriteriaNavigationService.ts create mode 100644 src/common/services/CriteriaService.ts delete mode 100644 src/common/services/WorkItemService.ts create mode 100644 src/common/types.ts create mode 100644 src/confirmation-dialog/ConfirmationDialog.tsx create mode 100644 src/confirmation-dialog/index.scss create mode 100644 src/confirmation-dialog/module.json create mode 100644 src/confirmation-dialog/module.tsx delete mode 100644 src/control/AcceptanceControl.tsx delete mode 100644 src/control/AcceptanceControlProvider.ts delete mode 100644 src/control/azure-devops-theme.ts delete mode 100644 src/control/common.tsx delete mode 100644 src/control/components/ActionMenu.tsx delete mode 100644 src/control/components/CriteriaList.tsx delete mode 100644 src/control/index.scss delete mode 100644 src/control/module.tsx delete mode 100644 src/control/webLogger.ts create mode 100644 src/criteria-panel/CriteriaPanel.tsx create mode 100644 src/criteria-panel/CriteriaPanelContext.tsx create mode 100644 src/criteria-panel/CriteriaPanelData.ts create mode 100644 src/criteria-panel/components/CheckListCriteriaSection.tsx create mode 100644 src/criteria-panel/components/CompletedProcessContainer.tsx create mode 100644 src/criteria-panel/components/CompletionContainer.tsx create mode 100644 src/criteria-panel/components/InternalTagPicker.tsx create mode 100644 src/criteria-panel/components/ProcessingContainer.tsx create mode 100644 src/criteria-panel/components/RejectionProcessContainer.tsx create mode 100644 src/criteria-panel/components/ScenarioCriteriaSection.tsx create mode 100644 src/criteria-panel/components/TextCriteriaSection.tsx create mode 100644 src/criteria-panel/components/view/ChecklistCriteriaViewSection.tsx create mode 100644 src/criteria-panel/components/view/ScenarioCriteriaViewSection.tsx create mode 100644 src/criteria-panel/components/view/TextCriteriaViewSection.tsx create mode 100644 src/criteria-panel/index.scss create mode 100644 src/criteria-panel/module.json create mode 100644 src/criteria-panel/module.tsx delete mode 100644 src/panel/index.scss delete mode 100644 src/panel/module.tsx create mode 100644 src/progress-control/ProgressControl.tsx create mode 100644 src/progress-control/common/ProgressControlService.ts create mode 100644 src/progress-control/index.scss create mode 100644 src/progress-control/module.json create mode 100644 src/progress-control/module.tsx create mode 100644 src/setupTests.ts create mode 100644 src/styles/_common.scss create mode 100644 src/styles/_criteria-list.scss delete mode 100644 src/styles/mixins.scss create mode 100644 src/testdata.ts create mode 100644 src/wi-control/AcceptanceControl.tsx create mode 100644 src/wi-control/components/CriteriaView.tsx create mode 100644 src/wi-control/index.scss create mode 100644 src/wi-control/module.json rename src/{control/index.tsx => wi-control/module.tsx} (59%) create mode 100644 src/work-hub/ColumnsPanel.tsx create mode 100644 src/work-hub/WorkHub.tsx create mode 100644 src/work-hub/assets/hub-icon-dark.png create mode 100644 src/work-hub/assets/hub-icon-light.png create mode 100644 src/work-hub/components/CriteriaTree.tsx create mode 100644 src/work-hub/components/CriteriaTreeData.tsx create mode 100644 src/work-hub/components/HubFilterBar.tsx create mode 100644 src/work-hub/components/SettingContainer.tsx create mode 100644 src/work-hub/components/WorkItemTypeTag.tsx create mode 100644 src/work-hub/module.json create mode 100644 src/work-hub/settings-panel/SettingsPanel.tsx create mode 100644 src/work-hub/settings-panel/tabs/NotificationsGeneralTab.tsx create mode 100644 src/work-hub/settings-panel/tabs/WorkItemDisplayTab.tsx create mode 100644 vss-extension.dev.json create mode 100644 vss-extension.prod.json create mode 100644 vss-extension.qa.json diff --git a/.azext/changelog-cache.json b/.azext/changelog-cache.json new file mode 100644 index 0000000..7ead9ea --- /dev/null +++ b/.azext/changelog-cache.json @@ -0,0 +1,4 @@ +{ + "issues": [], + "pullRequests": [] +} \ No newline at end of file diff --git a/.azext/changelog-config.json b/.azext/changelog-config.json new file mode 100644 index 0000000..5c58447 --- /dev/null +++ b/.azext/changelog-config.json @@ -0,0 +1,96 @@ +{ + "repository": "joachimdalen/azdevops-acceptance-criterias", + "changelogTitle": { + "size": "h1", + "format": "Changelog" + }, + "releaseTitleFormat": { + "size": "h2", + "format": "{{version}} ({{publishDate}})" + }, + "moduleTitleFormat": { + "size": "h4", + "format": "`{{name}}@{{version}}`" + }, + "moduleChangesTitle": { + "size": "h2", + "format": ":package: Module changes" + }, + "sectionSplitter": "---", + "typeSize": "h3", + "typeMapping": { + "feature": ":rocket: Features ({{changeCount}})", + "fix": ":bug: Fixes ({{changeCount}})", + "tests": ":test_tube: Tests ({{changeCount}})", + "other": ":speech_balloon: Other ({{changeCount}})", + "docs": ":memo: Documentation ({{changeCount}})", + "maint": ":hammer_and_wrench: Maintenance ({{changeCount}})" + }, + "sections": { + "summary": { + "title": { + "size": "bold", + "format": ":pencil2: Release summary" + } + }, + "knownIssues": { + "title": { + "size": "bold", + "format": ":bulb: Known issues" + } + }, + "breakingChanges": { + "title": { + "size": "bold", + "format": ":fire: BREAKING CHANGES :fire:" + } + } + }, + "typeResourcePrefixMapping": { + "feature": { + "issue": "Suggested in", + "pullRequest": "Added in" + }, + "fix": { + "issue": "Reported in", + "pullRequest": "Fixed in" + }, + "docs": { + "issue": "Changed needed", + "pullRequest": "Changed in" + }, + "maint": { + "pullRequest": "Changed in" + }, + "enhancement": { + "issue": "Suggested in", + "pullRequest": "Improved in" + } + }, + "attributionTitleFormat": { + "size": "h2", + "format": ":star2: Contributors" + }, + "attributionSubTitle": { + "format": "Thank you to the following for contributing to the latest release" + }, + "attributionLinkTextFormat": { + "format": "@{{ghUsername}}" + }, + "knownAuthors": ["joachimdalen"], + "useDescriptiveIssues": true, + "useDescriptivePullRequests": true, + "replaceEmojis": { + "types": true, + "changelogTitle": true, + "releaseTitle": true, + "moduleTitle": true, + "attributionTitle": true, + "attributionSubTitle": true, + "moduleChangesTitle": true, + "githubIssues": false, + "githubPullRequests": false, + "sectionTitle": true, + "sectionContent": true + } +} diff --git a/.azext/changelog.json b/.azext/changelog.json new file mode 100644 index 0000000..0d8e01b --- /dev/null +++ b/.azext/changelog.json @@ -0,0 +1,9 @@ +[ + { + "publishDate": "02-05-2022", + "version": "1.0.0", + "sections": { + "summary": [{ "type": "text", "content": "Initial release" }] + } + } +] diff --git a/.azext/readme.json b/.azext/readme.json new file mode 100644 index 0000000..ce1995a --- /dev/null +++ b/.azext/readme.json @@ -0,0 +1,4 @@ +{ + "partials": {} + } + \ No newline at end of file diff --git a/.ci/build-extension-artifact.template.yml b/.ci/build-extension-artifact.template.yml new file mode 100644 index 0000000..e0ce711 --- /dev/null +++ b/.ci/build-extension-artifact.template.yml @@ -0,0 +1,90 @@ +parameters: + - name: artifact + default: extension + - name: extensionEnv + default: dev + values: + - dev + - qa + - prod + - name: taskVersion + displayName: 'Task Version' + type: string + default: $(Task.Extension.Version) + - name: generateVersionChangelog + type: boolean + default: true +jobs: + - job: + steps: + - task: TfxInstaller@3 + displayName: 'Install Tfx' + inputs: + version: 'v0.10.0' + - task: QueryAzureDevOpsExtensionVersion@3 + displayName: 'Query existing version' + inputs: + connectTo: 'VsTeam' + connectedServiceName: $(marketplaceServiceConnection) + publisherId: '$(PublisherID)' + extensionId: '$(ExtensionID)' + versionAction: 'Patch' + outputVariable: 'Task.Extension.Version' + - template: install.template.yml + - template: build.template.yml + parameters: + extensionEnv: ${{ parameters.extensionEnv }} + - task: Npm@1 + displayName: 'Build changelog' + inputs: + command: custom + customCommand: run changelog:prod + - task: Npm@1 + displayName: 'Build single version changelog' + condition: eq(${{ parameters.generateVersionChangelog }}, true) + inputs: + command: custom + customCommand: run changelog:prod:version -- --version ${{ parameters.taskVersion }} + - task: Npm@1 + displayName: 'Build readme' + inputs: + command: custom + customCommand: run docs:readme + - task: PackageAzureDevOpsExtension@3 + displayName: 'Package extension' + inputs: + rootFolder: '$(Build.SourcesDirectory)' + patternManifest: 'vss-extension.${{ parameters.extensionEnv }}.json' + updateTasksVersion: false + extensionVersion: ${{ parameters.taskVersion }} + - task: Bash@3 + displayName: 'Move artifacts' + inputs: + targetType: inline + workingDirectory: + script: | + mkdir $(Build.ArtifactStagingDirectory)/extension/ + mkdir $(Build.ArtifactStagingDirectory)/changelog/ + mv $(Build.SourcesDirectory)/*.vsix $(Build.ArtifactStagingDirectory)/extension/ + cp $(Build.SourcesDirectory)/marketplace/docs/CHANGELOG.md $(Build.ArtifactStagingDirectory)/changelog/ + - task: Bash@3 + displayName: 'Move version changelog' + condition: eq(${{ parameters.generateVersionChangelog }}, true) + inputs: + targetType: inline + workingDirectory: + script: | + mv $(Build.SourcesDirectory)/marketplace/docs/CHANGELOG-RELEASE.md $(Build.ArtifactStagingDirectory)/changelog/ + - task: PublishPipelineArtifact@1 + displayName: 'Publish ${{ parameters.artifact }} artifacts' + inputs: + targetPath: '$(Build.ArtifactStagingDirectory)/extension' + artifactName: '${{ parameters.artifact }}' + publishLocation: pipeline + - task: PublishPipelineArtifact@1 + displayName: 'Publish changelog artifacts' + inputs: + targetPath: '$(Build.ArtifactStagingDirectory)/changelog' + artifactName: 'changelog' + publishLocation: pipeline + \ No newline at end of file diff --git a/.ci/build.template.yml b/.ci/build.template.yml new file mode 100644 index 0000000..411989c --- /dev/null +++ b/.ci/build.template.yml @@ -0,0 +1,14 @@ +parameters: + - name: extensionEnv + default: dev + values: + - dev + - qa + - prod + +steps: + - task: Npm@1 + displayName: 'Compile - ${{ parameters.extensionEnv }}' + inputs: + command: custom + customCommand: 'run compile:${{ parameters.extensionEnv }}' diff --git a/.ci/create-gh-release.template.yml b/.ci/create-gh-release.template.yml new file mode 100644 index 0000000..c8e3eed --- /dev/null +++ b/.ci/create-gh-release.template.yml @@ -0,0 +1,25 @@ +parameters: + - name: version + type: string + - name: isPreview + type: boolean + default: false + +steps: + - checkout: none + - download: none + - download: 'current' + displayName: 'Download changelog' + artifact: 'changelog' + - task: GitHubRelease@1 + displayName: 'Create GitHub Release' + inputs: + gitHubConnection: github-azdevops-extensions + repositoryName: joachimdalen/azdevops-acceptance-criterias + tagSource: userSpecifiedTag + tag: v${{ parameters.version }} + title: 'v${{ parameters.version }}: Update' + addChangeLog: false + isPreRelease: ${{ parameters.isPreview }} + releaseNotesSource: filePath + releaseNotesFilePath: $(Pipeline.Workspace)/changelog/v${{ parameters.version }}.md diff --git a/.ci/install.template.yml b/.ci/install.template.yml new file mode 100644 index 0000000..d9c258b --- /dev/null +++ b/.ci/install.template.yml @@ -0,0 +1,14 @@ +steps: + - task: NodeTool@0 + displayName: 'Install node' + inputs: + versionSpec: '16.x' + - task: Cache@2 + displayName: Cache npm + inputs: + key: 'npm | "$(Agent.OS)" | $(Build.SourcesDirectory)/package-lock.json' + path: "$(npm_config_cache)" + - task: Npm@1 + displayName: 'Install dependencies' + inputs: + command: ci \ No newline at end of file diff --git a/.ci/publish-extension.template.yml b/.ci/publish-extension.template.yml new file mode 100644 index 0000000..2a828e4 --- /dev/null +++ b/.ci/publish-extension.template.yml @@ -0,0 +1,38 @@ +parameters: + - name: pipelineEnv + - name: artifact + default: extension + - name: extensionVisibility + type: string + default: private + values: + - default + - private + - private_preview + - public + - public_preview +jobs: + - deployment: + displayName: 'Publish Extension' + environment: ${{ parameters.pipelineEnv }} + strategy: + runOnce: + deploy: + steps: + - download: none + - download: 'current' + displayName: 'Download extension' + artifact: ${{ parameters.artifact }} + - task: TfxInstaller@3 + displayName: 'Install Tfx' + inputs: + version: 'v0.10.0' + - task: PublishAzureDevOpsExtension@3 + displayName: "Publish to Marketplace" + inputs: + connectTo: 'VsTeam' + connectedServiceName: 'marketplace-joachim-dalen' + fileType: 'vsix' + vsixFile: '$(Pipeline.Workspace)/**/*.vsix' + updateTasksVersion: false + extensionVisibility: ${{ parameters.extensionVisibility }} diff --git a/.ci/run-tests.template.yml b/.ci/run-tests.template.yml new file mode 100644 index 0000000..840ecc6 --- /dev/null +++ b/.ci/run-tests.template.yml @@ -0,0 +1,30 @@ +steps: + - task: Npm@1 + displayName: 'Run tests' + inputs: + command: custom + customCommand: 'run test:coverage' + - task: Bash@3 + displayName: 'Move cover files' + inputs: + targetType: 'inline' + script: | + cp -r $(Build.SourcesDirectory)/coverage $(Build.ArtifactStagingDirectory) + - task: Bash@3 + displayName: 'Move report' + inputs: + targetType: 'inline' + script: | + mkdir $(Build.ArtifactStagingDirectory)/reports + cp $(Build.SourcesDirectory)/test-results.xml $(Build.ArtifactStagingDirectory)/reports/test-results.xml + - task: PublishTestResults@2 + displayName: 'Publish test results' + inputs: + testResultsFormat: 'JUnit' + testResultsFiles: '$(Build.ArtifactStagingDirectory)/reports/test-results.xml' + - task: PublishCodeCoverageResults@1 + displayName: 'Publish coverage' + inputs: + codeCoverageTool: 'Cobertura' + summaryFileLocation: '$(Build.ArtifactStagingDirectory)/coverage/cobertura-coverage.xml' + pathToSources: '$(Build.SourcesDirectory)/src' diff --git a/.eslintignore b/.eslintignore index a902f5f..bb1ec9a 100644 --- a/.eslintignore +++ b/.eslintignore @@ -5,3 +5,4 @@ webpack.config.js ci/** docs/** marketplace/** +**/__mocks__/** diff --git a/.gitignore b/.gitignore index cf64c49..5603c47 100644 --- a/.gitignore +++ b/.gitignore @@ -63,8 +63,9 @@ coverage .nyc* !ci/buildDocs.js - -src/tasks/npm* -src/common/audit* -src/docs/README.md -src/docs/CHANGELOG.md +docs/README.md +docs/CHANGELOG*.md +test-results.xml +!*webpack*.js +!src/__mocks__/*.js +!build-scripts/*.js \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..60752e8 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,7 @@ +{ + "recommendations": [ + "esbenp.prettier-vscode", + "dbaeumer.vscode-eslint", + "ms-azure-devops.azure-pipelines" + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..31bc550 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,32 @@ +{ + "json.schemas": [ + { + "fileMatch": [ + "/.azext/changelog-prod.json" + ], + "url": "https://raw.githubusercontent.com/joachimdalen/azext/master/schemas/v1/changelog-schema.json" + }, + { + "fileMatch": [ + "/.azext/mapping.json" + ], + "url": "https://raw.githubusercontent.com/joachimdalen/azext/master/schemas/v1/mapping-schema.json" + }, + { + "fileMatch": [ + "/.azext/readme.json" + ], + "url": "https://raw.githubusercontent.com/joachimdalen/azext/master/schemas/v1/readme-schema.json" + } + ], + "[azure-pipelines]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[markdown]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "files.associations": { + "azure-pipelines.yml": "azure-pipelines", + "**/.ci/**/*.yml": "azure-pipelines" + }, +} \ No newline at end of file diff --git a/PRIVACY.md b/PRIVACY.md new file mode 100644 index 0000000..f0f90a8 --- /dev/null +++ b/PRIVACY.md @@ -0,0 +1,19 @@ +# Privacy Policy + +This document serves as the privacy policy for the following extensions published under the publisher JoachimDalen + +- Acceptance Criterias + +## Security of information + +All information/data processed in the extensions is contained within your Azure DevOps environment and accessed using the availeble information on the pipeline agent, or using the offical Azure DevOps REST apis. No information is sent outside of these sources. + +## Collection and use of your personal information + +I respect the wish for privacy, therefore none of my extensions contains any tracking on usage or issues. Based on this I am dependent on bug reports and discussions to be able to solve any issues and improve the extensions. + +## Contact + +If you have any questions, please submit an issue on the [GitHub repository](https://github.com/joachimdalen/azdevops-acceptance-criterias). + +> This privacy policy was last updated on December 22nd, 2021. diff --git a/README.md b/README.md index 3139678..b951b47 100644 --- a/README.md +++ b/README.md @@ -1 +1,190 @@ -# Adcanced Acceptance Criterias +
+ +
+
+ + Logo + + +

Acceptance Criterias

+ +

+ An extension to manage acceptance criterias +
+ Explore the docs » +
+
+ View Extension + · + Changelog + · + Report Bug + · + Request Feature +

+
+ +
+ Azure DevOps builds + Issues + License +
+
+ + Visual Studio Marketplace Installs - Azure DevOps Extension + Visual Studio Marketplace Last Updated +Visual Studio Marketplace Rating +
+ + +
+ Table of Contents +
    +
  1. + About The Project + +
  2. +
  3. Post Install Activation
  4. +
  5. + Getting Started + +
  6. +
  7. Usage
  8. +
  9. Roadmap
  10. +
  11. Contributing
  12. +
  13. Release and merge strategy
  14. +
  15. License
  16. +
  17. Contact
  18. +
+
+ + + +--- + +## About The Project + +TODO + +## Getting Started + +### Prerequisites + +- A MarketPlace publisher [Create a publisher](https://docs.microsoft.com/en-us/azure/devops/extend/publish/overview?view=azure-devops#create-a-publisher) +- `tfx-cli` installed. Due to issues with outdated dependencies this is not included in `package.json` + + ```sh + npm install -g tfx-cli + ``` + +- Pipelines uses the following extensions that needs to be installed in your organization in addition to default tasks: + - [GitGuard](https://marketplace.visualstudio.com/items?itemName=joachimdalen.gitguard) - Used to verify changes to files, such as changelog. + - [Azure DevOps Extension Tasks](https://marketplace.visualstudio.com/items?itemName=ms-devlabs.vsts-developer-tools-build-tasks) - Used to build and publish extension. + +### Installation + +1. Clone the repo + + ```sh + git clone https://github.com/joachimdalen/azdevops-acceptance-criterias.git + ``` + +2. Install dependencies + + ```sh + > npm install + ``` + +3. Update publisher in `vss-extension.dev.json` +4. Compile development version + + ```sh + npm run prepare:dev + ``` + +5. [Publish extension](https://docs.microsoft.com/en-us/azure/devops/extend/publish/overview?view=azure-devops#publish-an-extension) +6. [Share](https://docs.microsoft.com/en-us/azure/devops/extend/publish/overview?view=azure-devops#share-an-extension) and [install](https://docs.microsoft.com/en-us/azure/devops/extend/publish/overview?view=azure-devops#install-an-extension) extension +7. Run extension + + ```sh + npm run serve:dev + ``` + + **Note:** You might need to open [https://localhost:3000/](https://localhost:3000/) in your browser from time to time to accept the unsecure certificate to have the extension load properly from your local environment. + +

(back to top)

+ + + +## Usage + +See [documenation](./docs/index.md) for rule usage. + +

(back to top)

+ + + +## Roadmap + +See the [open issues](https://github.com/joachimdalen/azdevops-acceptance-criterias/issues?q=is%3Aopen+is%3Aissue+label%3A%40type%2Ffeature) for a full list of proposed features. + +

(back to top)

+ + + +## Contributing + +Contributions are welcome, both in the form of suggestions and code. Create + +If you want to contribute code, I ask that you follow some guidelines. + +- New and changed features should to the best ability be covered by tests +- Follow the branching policy: + - `feature/` for new features + - `bugfix/` for bug fixes + - `docs/` for documentation changes +- If your change is related to an issue, use the id as the first part of the branch e.g `bugfix/12-fix-crash-when-updating-rule` +- Pull requests should target the `develop` branch + +1. Fork the Project +2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`) +3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`) +4. Push to the Branch (`git push origin feature/AmazingFeature`) +5. Open a Pull Request + +

(back to top)

+ +## Release and merge strategy + +- `master` is only deployed to `PROD` and tagged with `v` + - Pull requests are always squash merged into `master` + - `master` is the only branch where GitHub releases are created for +- `feature/*` and `bugfix/*` are deployed to `QA`. For deployment to `DEV` using local assets (only manifest changes are deployed to dev), the `Deploy to DEV instead of QA` option needs to be checked when running the deployment pipeline. + +`QA` and `DEV` are private development and verfication environments (publications of the extensions.) Submit a new issue if you for some reason wish access to either of these. + +**Note** Access to these are not given for your local development. Please publish your own development release. + + + +## License + +Distributed under the MIT License. See `LICENSE` for more information. + +

(back to top)

+ + + +## Contact + +If you have generic questions about the project or usage you can make contact in the following ways: + +- Submit an issue with the `@type/question` label - [New Issue](https://github.com/joachimdalen/azdevops-acceptance-criterias/issues/new) +- Submit a new question under the [Marketplace Q&A section](https://marketplace.visualstudio.com/items?itemName=joachimdalen.acceptance-criterias&ssr=false#qna). + +

(back to top)

diff --git a/azure-pipelines.yml b/azure-pipelines.yml new file mode 100644 index 0000000..fa9e3b2 --- /dev/null +++ b/azure-pipelines.yml @@ -0,0 +1,123 @@ +parameters: + - name: taskVersion + displayName: 'Task Version' + type: string + default: $(Task.Extension.Version) + - name: deployToDev + displayName: 'Deploy to DEV instead of QA' + type: boolean + default: false + +trigger: + branches: + include: + - master + paths: + exclude: + - .github/* + - .azext/* + - .vscode/* + - .ci/* + - docs/* +pr: none +pool: + vmImage: ubuntu-latest + +variables: + npm_config_cache: $(Pipeline.Workspace)/.npm + isMain: $[eq(variables['Build.SourceBranch'], 'refs/heads/main')] + marketplaceServiceConnection: 'marketplace-joachim-dalen' + +stages: + - stage: 'run_tests' + displayName: Test & Build + jobs: + - job: + steps: + - template: .ci/install.template.yml + - template: .ci/run-tests.template.yml + + - stage: package_dev + displayName: '[DEV] Package' + dependsOn: 'run_tests' + condition: and(succeeded(), eq(${{ parameters.deployToDev }}, true), eq(variables.isMain, false)) + variables: + - group: 'mp-acceptance-criterias-dev' + jobs: + - template: .ci/build-extension-artifact.template.yml + parameters: + extensionEnv: dev + taskVersion: ${{ parameters.taskVersion }} + generateVersionChangelog: false + + - stage: publish_dev + displayName: '[DEV] Publish' + dependsOn: 'package_dev' + condition: and(succeeded(), eq(${{ parameters.deployToDev }}, true), eq(variables.isMain, false)) + variables: + - group: 'mp-acceptance-criterias-dev' + jobs: + - template: .ci/publish-extension.template.yml + parameters: + pipelineEnv: acceptance-criterias-dev-env + extensionVisibility: private_preview + + - stage: package_qa + displayName: '[QA] Package' + dependsOn: 'run_tests' + condition: and(succeeded(), eq(${{ parameters.deployToDev }}, false), eq(variables.isMain, false)) + variables: + - group: 'mp-acceptance-criterias-qa' + jobs: + - template: .ci/build-extension-artifact.template.yml + parameters: + extensionEnv: qa + taskVersion: ${{ parameters.taskVersion }} + generateVersionChangelog: false + + - stage: publish_qa + displayName: '[QA] Publish' + dependsOn: 'package_qa' + condition: and(succeeded(), eq(${{ parameters.deployToDev }}, false), eq(variables.isMain, false)) + variables: + - group: 'mp-acceptance-criterias-qa' + jobs: + - template: .ci/publish-extension.template.yml + parameters: + pipelineEnv: acceptance-criterias-qa-env + extensionVisibility: private_preview + + - stage: package_prod + displayName: '[PROD] Package' + dependsOn: 'run_tests' + condition: and(succeeded(), eq(variables.isMain, true)) + variables: + - group: 'mp-acceptance-criterias-prod' + jobs: + - job: verify_changelog + steps: + - task: GitGuardChanges@0 + displayName: '[PROD] Verify changelog' + inputs: + sourceCommitHash: 'tag:v*[!-qa]' + matchPattern: '.azext/changelog.json' + targetCommitHash: 'HEAD' + matchStrategy: 'single' + changed: true + breakOnFailure: true + - template: .ci/build-extension-artifact.template.yml + parameters: + extensionEnv: prod + taskVersion: ${{ parameters.taskVersion }} + + - stage: publish_prod + displayName: '[PROD] Publish' + dependsOn: 'package_prod' + condition: and(succeeded(), eq(variables.isMain, true)) + variables: + - group: 'mp-acceptance-criterias-prod' + jobs: + - template: .ci/publish-extension.template.yml + parameters: + pipelineEnv: acceptance-criterias-prod-env + extensionVisibility: public_preview diff --git a/build-scripts/entry-points.js b/build-scripts/entry-points.js new file mode 100644 index 0000000..d6eab9e --- /dev/null +++ b/build-scripts/entry-points.js @@ -0,0 +1,56 @@ +const modules = [ + { + name: 'admin-hub', + entry: './src/admin-hub/module', + root: 'admin-hub-container', + generate: true + }, + { + name: 'work-hub', + entry: './src/work-hub/module', + root: 'work-hub-container', + generate: true, + assets: [ + { source: './src/work-hub/assets/hub-icon-dark.png', dest: 'assets/hub-icon-dark.png' }, + { source: './src/work-hub/assets/hub-icon-light.png', dest: 'assets/hub-icon-light.png' }, + { source: './hub-group-icon.png', dest: 'assets/hub-group-icon.png' } + ] + }, + { + name: 'criteria-panel', + entry: './src/criteria-panel/module', + root: 'criteria-panel-container', + generate: true + }, + { + name: 'wi-control', + entry: './src/wi-control/module', + root: 'wi-control-container', + generate: true + }, + { + name: 'confirmation-dialog', + entry: './src/confirmation-dialog/module', + root: 'confirmation-dialog-container', + generate: true + }, + { + name: 'progress-control', + entry: './src/progress-control/module', + root: 'progress-control-container', + generate: true + } +]; + +const entries = modules.reduce( + (obj, item) => ({ + ...obj, + [item.name]: item.entry + }), + {} +); + +module.exports = { + modules, + entries +}; diff --git a/build-scripts/webpack-script-tags-plugin.js b/build-scripts/webpack-script-tags-plugin.js new file mode 100644 index 0000000..853df6b --- /dev/null +++ b/build-scripts/webpack-script-tags-plugin.js @@ -0,0 +1,17 @@ +const HtmlWebpackPlugin = require('html-webpack-plugin'); + +class ScriptTags { + apply(compiler) { + compiler.hooks.compilation.tap('ScriptTags', compilation => { + HtmlWebpackPlugin.getHooks(compilation).alterAssetTags.tapAsync('ScriptTags', (data, cb) => { + const newData = { ...data }; + + for (const script of newData.assetTags.scripts) { + script.attributes.charset = 'UTF-8'; + } + cb(null, newData); + }); + }); + } +} +module.exports = ScriptTags; diff --git a/build-scripts/webpack.common.js b/build-scripts/webpack.common.js new file mode 100644 index 0000000..19cd4d1 --- /dev/null +++ b/build-scripts/webpack.common.js @@ -0,0 +1,107 @@ +const path = require('path'); +const HtmlWebpackPlugin = require('html-webpack-plugin'); +const ScriptTags = require('./webpack-script-tags-plugin'); +const { entries, modules } = require('./entry-points'); +const CopyPlugin = require('copy-webpack-plugin'); +const { EnvironmentPlugin } = require('webpack'); +const { getModuleVersions, getExtensionVersion } = require('./webpack.utils'); + +const vendorGroups = modules.reduce( + (obj, item) => ({ + ...obj, + [`${item.name}-vendor`]: { + test: /[\\/]node_modules[\\/]/, + name: `${item.name}.vendor`, + enforce: true, + chunks: chunk => { + return chunk.name === item.name; + } + } + }), + {} +); + +console.log(vendorGroups); + +module.exports = { + devtool: 'inline-source-map', + mode: 'development', + entry: entries, + resolve: { + extensions: ['.ts', '.tsx', '.js'], + alias: { + 'azure-devops-extension-sdk': path.resolve('node_modules/azure-devops-extension-sdk'), + react: path.resolve('node_modules/react'), + 'react-dom': path.resolve('node_modules/react-dom') + } + }, + // stats: 'errors-only', + optimization: { + runtimeChunk: { + name: entrypoint => `${entrypoint.name}.runtime` + }, + splitChunks: { + cacheGroups: vendorGroups + } + }, + module: { + rules: [ + { + test: /\.tsx?$/, + loader: 'ts-loader' + }, + { + test: /\.scss$/, + use: [ + 'azure-devops-ui/buildScripts/css-variables-loader', + 'style-loader', + 'css-loader', + 'sass-loader' + ] + }, + { + test: /\.css$/, + use: ['style-loader', 'css-loader'] + }, + { + test: /\.woff$/, + type: 'asset/resource', + generator: { + filename: '[name][ext]' + } + } + ] + }, + plugins: [ + new ScriptTags(), + new EnvironmentPlugin({ + ...getModuleVersions(modules), + ...getExtensionVersion() + }) + ] + .concat( + modules + .filter(x => x.generate) + .map(entry => { + return new HtmlWebpackPlugin({ + meta: { + charset: 'UTF-8' + }, + filename: entry.name + '.html', + inject: false, + templateContent: ({ htmlWebpackPlugin }) => + `${htmlWebpackPlugin.tags.headTags}
${htmlWebpackPlugin.tags.bodyTags}`, + chunks: [entry.name] + }); + }) + ) + .concat( + modules + .filter(x => x.assets !== undefined) + .map(entry => { + return new CopyPlugin({ + patterns: entry.assets.map(asset => ({ from: asset.source, to: asset.dest })) + }); + }) + ) +}; diff --git a/build-scripts/webpack.config.dev.js b/build-scripts/webpack.config.dev.js new file mode 100644 index 0000000..a6b7cf4 --- /dev/null +++ b/build-scripts/webpack.config.dev.js @@ -0,0 +1,41 @@ +const path = require('path'); +const { merge } = require('webpack-merge'); +const common = require('./webpack.common.js'); +const { getOutputName } = require('./webpack.utils'); + +module.exports = merge(common, { + devServer: { + watchFiles: { + paths: ['src/**'] + }, + devMiddleware: { + writeToDisk: false + // stats: 'errors-only' + }, + client: { + overlay: { + warnings: false, + errors: true + } + }, + server: { + type: "https" + }, + port: 3000, + hot: true, + static: [path.resolve(__dirname, '..', 'dist')], + historyApiFallback: { + disableDotRule: true, + rewrites: [{ from: /\/static\/.+/, to: '/' }] + } + }, + output: { + publicPath: '/', + filename: pathData => { + return `static/${getOutputName(pathData.chunk.name)}.js`; + }, + library: '[name]', + libraryTarget: 'umd', + clean: true + } +}); diff --git a/build-scripts/webpack.config.prod.js b/build-scripts/webpack.config.prod.js new file mode 100644 index 0000000..c38d413 --- /dev/null +++ b/build-scripts/webpack.config.prod.js @@ -0,0 +1,16 @@ +const { merge } = require('webpack-merge'); +const common = require('./webpack.common.js'); +const { getOutputName } = require('./webpack.utils'); + +module.exports = merge(common, { + mode: 'production', + output: { + publicPath: '', + filename: pathData => { + return `static/${getOutputName(pathData.chunk.name)}.[chunkhash:8].js`; + }, + library: '[name]', + libraryTarget: 'umd', + clean: true + } +}); diff --git a/build-scripts/webpack.utils.js b/build-scripts/webpack.utils.js new file mode 100644 index 0000000..8da4c1c --- /dev/null +++ b/build-scripts/webpack.utils.js @@ -0,0 +1,26 @@ +const vssConfig = require('../vss-extension.prod.json'); +const id = [vssConfig.publisher.toLowerCase(), vssConfig.id.toLowerCase()]; +const fs = require('fs'); + +module.exports = { + getOutputName(moduleName) { + return [...id, moduleName].join('.'); + }, + getModuleVersions(modules) { + return modules + .filter(x => x.generate) + .reduce((obj, item) => { + const moduleFile = JSON.parse(fs.readFileSync(`${item.entry}.json`).toString()); + const version = `${moduleFile.version.Major}.${moduleFile.version.Minor}.${moduleFile.version.Patch}`; + return { + ...obj, + [`${item.name.replace(new RegExp('-', 'g'), '_').toUpperCase()}_VERSION`]: version + }; + }, {}); + }, + getExtensionVersion() { + return { + EXTENSION_VERSION: process.env.TASK_EXTENSION_VERSION || vssConfig.version + }; + } +}; diff --git a/docs/CHANGELOG-DEV.md b/docs/CHANGELOG-DEV.md deleted file mode 100644 index 96c4098..0000000 --- a/docs/CHANGELOG-DEV.md +++ /dev/null @@ -1,26 +0,0 @@ -# Changelog - -## 0.0.2 (2021-11-19) - -#### ➕ Added - -- Added panel - -## 0.0.1 (2021-11-16) - -#### ➕ Added - -- Added control - - diff --git a/docs/CHANGELOG-PROD.md b/docs/CHANGELOG-PROD.md deleted file mode 100644 index 99331df..0000000 --- a/docs/CHANGELOG-PROD.md +++ /dev/null @@ -1,20 +0,0 @@ -# Changelog - -## 0.0.1 (2021-11-16) - -#### ➕ Added - -- Added control - - diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md deleted file mode 100644 index 99331df..0000000 --- a/docs/CHANGELOG.md +++ /dev/null @@ -1,20 +0,0 @@ -# Changelog - -## 0.0.1 (2021-11-16) - -#### ➕ Added - -- Added control - - diff --git a/docs/README-BASE.md b/docs/README-BASE.md deleted file mode 100644 index 3139678..0000000 --- a/docs/README-BASE.md +++ /dev/null @@ -1 +0,0 @@ -# Adcanced Acceptance Criterias diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index 3139678..0000000 --- a/docs/README.md +++ /dev/null @@ -1 +0,0 @@ -# Adcanced Acceptance Criterias diff --git a/extension-icon.png b/extension-icon.png index ea15e2987c905c58b10af1cc1020c31826d5865d..fead4d87376192df0b85f446d3c672aa6653dc98 100644 GIT binary patch literal 4219 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 diff --git a/hub-group-icon.png b/hub-group-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c0a41cb0f28dbab12a189223c49131d74acc86dc GIT binary patch literal 4917 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 literal 0 HcmV?d00001 diff --git a/marketplace/docs/images/.gitkeep b/marketplace/docs/images/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/marketplace/docs/images/panel-preview.png b/marketplace/docs/images/panel-preview.png new file mode 100644 index 0000000000000000000000000000000000000000..9a40c8485f881c85ecee2e2a8bbd17b029bcd5a1 GIT binary patch literal 61595 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 literal 0 HcmV?d00001 diff --git a/marketplace/docs/images/work-hub-preview.png b/marketplace/docs/images/work-hub-preview.png new file mode 100644 index 0000000000000000000000000000000000000000..ef53ae7c97a3169cf16e33744c64cc86cef4f13a GIT binary patch literal 99933 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 literal 0 HcmV?d00001 diff --git a/marketplace/docs/images/work-item-preview.png b/marketplace/docs/images/work-item-preview.png new file mode 100644 index 0000000000000000000000000000000000000000..8a250824505f8732aecdf1f757125365debffca9 GIT binary patch literal 74259 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 Kx?~UK)PDgH-5Qes literal 0 HcmV?d00001 diff --git a/marketplace/raw/README.md b/marketplace/raw/README.md new file mode 100644 index 0000000..2c976c9 --- /dev/null +++ b/marketplace/raw/README.md @@ -0,0 +1,58 @@ +

+ + +
+
+

Acceptance Criterias

+ +

+Better management of acceptance criterias +
+ Explore the docs » +
+
+ View Extension + · + Changelog + · + Report Bug + · + Request Feature +

+
+ +![work-hub-preview](marketplace/docs/images/work-hub-preview.png) + +## ⚠️ Preview + +This extension is in preview. Please report any issue on [GitHub](https://github.com/joachimdalen/azdevops-acceptance-criterias/issues) + +## Features + +- Several criteria types + - Scenario based + - Text based + - Checklist based +- Approval and rejection flows +- Hub for processing criterias + +### On the roadmap + +- [Auto assign approver based on rules](https://github.com/joachimdalen/azdevops-acceptance-criterias/issues/8) +- [Ability to assign tags to a criteria](https://github.com/joachimdalen/azdevops-acceptance-criterias/issues/7) +- [Approval / Rejection comments](https://github.com/joachimdalen/azdevops-acceptance-criterias/issues/4) +- [Processing history](https://github.com/joachimdalen/azdevops-acceptance-criterias/issues/3) +- [Excel/CSV export](https://github.com/joachimdalen/azdevops-acceptance-criterias/issues/2) + +## Getting started and documentation + +Please see the full [documentation here](https://docs.devops-extensions.dev/docs/extensions/acceptance-criterias) + +## Contact + +If you have generic questions about the project or usage you can make contact in the following ways: + +- Submit an issue over at GitHub with the `@type/question` label - [New Issue](https://github.com/joachimdalen/azdevops-acceptance-criterias/issues/new) +- Submit a new question under the Marketplace Q&A section. + +

(back to top)

diff --git a/package-lock.json b/package-lock.json index 7048453..7013aae 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,16 +10,24 @@ "dependencies": { "@fluentui/react": "^8.42.4", "@fluentui/react-hooks": "^8.3.6", + "@joachimdalen/azdevops-ext-core": "^0.10.0", "azure-devops-extension-api": "^1.158.0", - "azure-devops-sdk": "^1.1.2", "azure-devops-ui": "^2.167.22", "react": "^16.14.0", - "react-dom": "^16.14.0" + "react-dom": "^16.14.0", + "uuid": "^8.3.2", + "yup": "^0.32.11" }, "devDependencies": { + "@joachimdalen/azext": "^0.7.0", + "@testing-library/jest-dom": "^5.15.1", + "@testing-library/react": "^12.1.2", + "@testing-library/react-hooks": "^7.0.2", + "@types/jest": "^27.0.3", "@types/node": "^16.11.8", "@types/react": "^16.14.14", "@types/react-dom": "^16.9.14", + "@types/uuid": "^8.3.3", "@types/webpack-env": "^1.16.3", "@typescript-eslint/eslint-plugin": "^3.10.1", "@typescript-eslint/parser": "^3.10.1", @@ -34,57 +42,75 @@ "eslit": "^6.0.0", "file-loader": "^6.2.0", "html-webpack-plugin": "^5.5.0", - "node-sass": "^6.0.1", + "jest": "^27.4.0", + "jest-junit-reporter": "^1.1.0", "rimraf": "^3.0.2", + "sass": "^1.45.1", "sass-loader": "^12.3.0", "style-loader": "^3.3.1", - "tfx-cli": "^0.9.3", + "ts-jest": "^27.0.7", "ts-loader": "^9.2.6", "typescript": "^4.5.2", "webpack": "^5.64.1", "webpack-cli": "^4.9.1", - "webpack-dev-server": "^4.5.0" + "webpack-dev-server": "^4.5.0", + "webpack-merge": "^5.8.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", + "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.0" + }, + "engines": { + "node": ">=6.0.0" } }, "node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", "dev": true, "dependencies": { - "@babel/highlight": "^7.10.4" + "@babel/highlight": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.16.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.4.tgz", - "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz", + "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.0.tgz", - "integrity": "sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.16.0", - "@babel/generator": "^7.16.0", - "@babel/helper-compilation-targets": "^7.16.0", - "@babel/helper-module-transforms": "^7.16.0", - "@babel/helpers": "^7.16.0", - "@babel/parser": "^7.16.0", - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.0", - "@babel/types": "^7.16.0", + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.8.tgz", + "integrity": "sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.7", + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helpers": "^7.17.8", + "@babel/parser": "^7.17.8", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.3", + "@babel/types": "^7.17.0", "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" + "semver": "^6.3.0" }, "engines": { "node": ">=6.9.0" @@ -94,18 +120,6 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/core/node_modules/@babel/code-frame": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz", - "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/core/node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -116,12 +130,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.0.tgz", - "integrity": "sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz", + "integrity": "sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==", "dev": true, "dependencies": { - "@babel/types": "^7.16.0", + "@babel/types": "^7.17.0", "jsesc": "^2.5.1", "source-map": "^0.5.0" }, @@ -129,14 +143,23 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/generator/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.16.3", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz", - "integrity": "sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz", + "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.16.0", - "@babel/helper-validator-option": "^7.14.5", + "@babel/compat-data": "^7.17.7", + "@babel/helper-validator-option": "^7.16.7", "browserslist": "^4.17.5", "semver": "^6.3.0" }, @@ -156,186 +179,159 @@ "semver": "bin/semver.js" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz", - "integrity": "sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==", + "node_modules/@babel/helper-environment-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", + "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", "dev": true, "dependencies": { - "@babel/helper-get-function-arity": "^7.16.0", - "@babel/template": "^7.16.0", - "@babel/types": "^7.16.0" + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz", - "integrity": "sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==", + "node_modules/@babel/helper-function-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", + "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", "dev": true, "dependencies": { - "@babel/types": "^7.16.0" + "@babel/helper-get-function-arity": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz", - "integrity": "sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==", + "node_modules/@babel/helper-get-function-arity": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", + "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", "dev": true, "dependencies": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz", - "integrity": "sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ==", + "node_modules/@babel/helper-hoist-variables": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", "dev": true, "dependencies": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz", - "integrity": "sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", + "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", "dev": true, "dependencies": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz", - "integrity": "sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.16.0", - "@babel/helper-replace-supers": "^7.16.0", - "@babel/helper-simple-access": "^7.16.0", - "@babel/helper-split-export-declaration": "^7.16.0", - "@babel/helper-validator-identifier": "^7.15.7", - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.0", - "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz", - "integrity": "sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz", + "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==", "dev": true, "dependencies": { - "@babel/types": "^7.16.0" + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.3", + "@babel/types": "^7.17.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz", - "integrity": "sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", "dev": true, - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.16.0", - "@babel/helper-optimise-call-expression": "^7.16.0", - "@babel/traverse": "^7.16.0", - "@babel/types": "^7.16.0" - }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz", - "integrity": "sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", + "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", "dev": true, "dependencies": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.17.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz", - "integrity": "sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", "dev": true, "dependencies": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.16.3", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.3.tgz", - "integrity": "sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w==", + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz", + "integrity": "sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==", "dev": true, "dependencies": { - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.3", - "@babel/types": "^7.16.0" + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.3", + "@babel/types": "^7.17.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz", - "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==", + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", + "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.15.7", + "@babel/helper-validator-identifier": "^7.16.7", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -415,9 +411,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.16.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.4.tgz", - "integrity": "sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==", + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz", + "integrity": "sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -426,6 +422,42 @@ "node": ">=6.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==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", @@ -438,59 +470,173 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/template": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz", - "integrity": "sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==", + "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==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-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==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-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==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.16.0", - "@babel/parser": "^7.16.0", - "@babel/types": "^7.16.0" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/template/node_modules/@babel/code-frame": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz", - "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==", + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", + "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==", "dev": true, "dependencies": { - "@babel/highlight": "^7.16.0" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/traverse": { - "version": "7.16.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.3.tgz", - "integrity": "sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.16.0", - "@babel/generator": "^7.16.0", - "@babel/helper-function-name": "^7.16.0", - "@babel/helper-hoist-variables": "^7.16.0", - "@babel/helper-split-export-declaration": "^7.16.0", - "@babel/parser": "^7.16.3", - "@babel/types": "^7.16.0", - "debug": "^4.1.0", - "globals": "^11.1.0" + "node_modules/@babel/runtime": { + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.8.tgz", + "integrity": "sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA==", + "dependencies": { + "regenerator-runtime": "^0.13.4" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/traverse/node_modules/@babel/code-frame": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz", - "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==", + "node_modules/@babel/template": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", "dev": true, "dependencies": { - "@babel/highlight": "^7.16.0" + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz", + "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.3", + "@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.17.3", + "@babel/types": "^7.17.0", + "debug": "^4.1.0", + "globals": "^11.1.0" }, "engines": { "node": ">=6.9.0" @@ -506,22 +652,28 @@ } }, "node_modules/@babel/types": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz", - "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", + "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.15.7", + "@babel/helper-validator-identifier": "^7.16.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==", + "dev": true + }, "node_modules/@discoveryjs/json-ext": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz", - "integrity": "sha512-6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA==", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", "dev": true, "engines": { "node": ">=10.0.0" @@ -548,97 +700,42 @@ } }, "node_modules/@fluentui/date-time-utilities": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-8.2.2.tgz", - "integrity": "sha512-djHrX/38ty+F93qLQjzmRzPzK598CW9g/RPhQH6GyrFBLPSWM1swYKB5TP6E7FrIf+fT4pVqrNUSYZhgi2rrOQ==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-8.5.0.tgz", + "integrity": "sha512-SddqPNEA5PBxZLvRY9ej2//iTzNWFqBt9kZ9rjieBlRtFPjztnDV10Zq3xlR6ss79dwkiP+S+SP4SmI2xuckHA==", "dependencies": { - "@fluentui/set-version": "^8.1.4", + "@fluentui/set-version": "^8.2.0", "tslib": "^2.1.0" } }, "node_modules/@fluentui/dom-utilities": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-2.1.4.tgz", - "integrity": "sha512-+gsAnEjgoKB37o+tsMdSLtgqZ9z2PzpvnHx/2IqhRWjQQd7Xc7MbQsbZaQ5qfkioFHLnWGc/+WORpqKPy/sWrg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-2.2.0.tgz", + "integrity": "sha512-M4SmXu428wwQLu1iw6ST07iACjdKY5HiU+xpcgD3IQMMQazgN616GDzc6KZ1ebuBsF7B4TyQS7KZh9mfxnnldg==", "dependencies": { - "@fluentui/set-version": "^8.1.4", + "@fluentui/set-version": "^8.2.0", "tslib": "^2.1.0" } }, "node_modules/@fluentui/font-icons-mdl2": { - "version": "8.1.17", - "resolved": "https://registry.npmjs.org/@fluentui/font-icons-mdl2/-/font-icons-mdl2-8.1.17.tgz", - "integrity": "sha512-/w5aRIjsPCCMUUjkx+A0ba6OAMh6JqK5txTFSZCWGNXqwUZEkI7JNj3fCsCAQpEXVKD19XisESgllpZfOTpyKw==", - "dependencies": { - "@fluentui/set-version": "^8.1.4", - "@fluentui/style-utilities": "^8.4.2", - "tslib": "^2.1.0" - } - }, - "node_modules/@fluentui/keyboard-key": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.3.4.tgz", - "integrity": "sha512-pVY2m3IC5+LLmMzsaPApX9eKTzpOzdgQwrR3FNTE6mGx3N/+QWYM7fdF+T1ldZQt87dCRSeQnmAo5kqjtxeA/w==", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/@fluentui/merge-styles": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.2.1.tgz", - "integrity": "sha512-PwFndIWHNpwNF3On1Y/Kn73ycXJrZNrIG7ZV/G+C6g+ebVP0I87Mgx3kt8I+/hZxQJ0vjrFVslXiNMOFOfLaSQ==", - "dependencies": { - "@fluentui/set-version": "^8.1.4", - "tslib": "^2.1.0" - } - }, - "node_modules/@fluentui/react": { - "version": "8.42.4", - "resolved": "https://registry.npmjs.org/@fluentui/react/-/react-8.42.4.tgz", - "integrity": "sha512-rf8hta+74Po59u+s7aS+KX1APvM1IbWinYEuCnr1nFcIVpF4SRhmcpdxkqkNG3V3TRrmCTk/lnl8ncPOxaws4w==", - "dependencies": { - "@fluentui/date-time-utilities": "^8.2.2", - "@fluentui/font-icons-mdl2": "^8.1.17", - "@fluentui/foundation-legacy": "^8.1.16", - "@fluentui/merge-styles": "^8.2.1", - "@fluentui/react-focus": "^8.3.8", - "@fluentui/react-hooks": "^8.3.6", - "@fluentui/react-window-provider": "^2.1.4", - "@fluentui/set-version": "^8.1.4", - "@fluentui/style-utilities": "^8.4.2", - "@fluentui/theme": "^2.4.3", - "@fluentui/utilities": "^8.3.6", - "@microsoft/load-themed-styles": "^1.10.26", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@types/react": ">=16.8.0 <18.0.0", - "@types/react-dom": ">=16.8.0 <18.0.0", - "react": ">=16.8.0 <18.0.0", - "react-dom": ">=16.8.0 <18.0.0" - } - }, - "node_modules/@fluentui/react-hooks": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@fluentui/react-hooks/-/react-hooks-8.3.6.tgz", - "integrity": "sha512-LVzm3fHZyx8d9IPdfEX7DV5/6jick/21oPqhlnXjxZqYWUUx5hbo6qefuMrft/hBRA/oPc2yiMvri5E7q08/Hg==", + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/@fluentui/font-icons-mdl2/-/font-icons-mdl2-8.2.5.tgz", + "integrity": "sha512-IgzcoOm+hZMlYJBR1RFb3fner1IxdSLCsnsjkVUtfnwuvGq/zjqEpNgsk5eUG4dHlu3E9dDY86nLqfGJe8R6yw==", "dependencies": { - "@fluentui/react-window-provider": "^2.1.4", - "@fluentui/set-version": "^8.1.4", - "@fluentui/utilities": "^8.3.6", + "@fluentui/set-version": "^8.2.0", + "@fluentui/style-utilities": "^8.6.5", "tslib": "^2.1.0" - }, - "peerDependencies": { - "@types/react": ">=16.8.0 <18.0.0", - "react": ">=16.8.0 <18.0.0" } }, - "node_modules/@fluentui/react-hooks/node_modules/@fluentui/react-window-provider": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-2.1.4.tgz", - "integrity": "sha512-RztmJ7ol2eMDr3NCs2OcAA1cQjZdPPUEa4aurgh4Aq+JM/BiY0aK6S4SeFtVD7F8Q7PBOz/xwOG4HlnSMQtlsg==", + "node_modules/@fluentui/foundation-legacy": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/@fluentui/foundation-legacy/-/foundation-legacy-8.2.5.tgz", + "integrity": "sha512-PP8Wbw1QK9lmzReh+C7XG7A7Q3WTXAaxAMHjcBE3m2OPnhlF77Ok6IAJBkuKTWg0SZYQqJilTDSkVDnXVylGgQ==", "dependencies": { - "@fluentui/set-version": "^8.1.4", + "@fluentui/merge-styles": "^8.5.0", + "@fluentui/set-version": "^8.2.0", + "@fluentui/style-utilities": "^8.6.5", + "@fluentui/utilities": "^8.8.1", "tslib": "^2.1.0" }, "peerDependencies": { @@ -646,60 +743,59 @@ "react": ">=16.8.0 <18.0.0" } }, - "node_modules/@fluentui/react-hooks/node_modules/@fluentui/utilities": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.3.6.tgz", - "integrity": "sha512-ubB1/g3ppJ/MCbQHYwldpKP6EfE8ScwL8wMlnWFoSMo9E7FzlfoeOOPLzmT7fGptTnXzFDQtP4SR4Y/YQXVPGg==", + "node_modules/@fluentui/keyboard-key": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.4.0.tgz", + "integrity": "sha512-2jcD23FzOPaSXqWtfOSCzopkKtxTXUFuHZyVt4aqVRDEjPbkQ/7p37O1WL95xweWTR/9fEPO/gPtv9kOnXrJcA==", "dependencies": { - "@fluentui/dom-utilities": "^2.1.4", - "@fluentui/merge-styles": "^8.2.1", - "@fluentui/set-version": "^8.1.4", "tslib": "^2.1.0" - }, - "peerDependencies": { - "@types/react": ">=16.8.0 <18.0.0", - "react": ">=16.8.0 <18.0.0" } }, - "node_modules/@fluentui/react/node_modules/@fluentui/foundation-legacy": { - "version": "8.1.16", - "resolved": "https://registry.npmjs.org/@fluentui/foundation-legacy/-/foundation-legacy-8.1.16.tgz", - "integrity": "sha512-u4A/w2XAxdjSrSWRP52HLQvGMoj4GI96eYYyRBRRHMNfEUO3uU9WUFb//VgaiApzV+GDNUJS4o1cXIWewPDiXQ==", + "node_modules/@fluentui/merge-styles": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.5.0.tgz", + "integrity": "sha512-+WoaAaoYx/wfkrz1Ag40JqHvDUFfQcg+dQ3jaEOoau16y7EZGIe7oN8WYIXNMgWuMxH7r1QlanFbQZ+ziKjHmw==", "dependencies": { - "@fluentui/merge-styles": "^8.2.1", - "@fluentui/set-version": "^8.1.4", - "@fluentui/style-utilities": "^8.4.2", - "@fluentui/utilities": "^8.3.6", + "@fluentui/set-version": "^8.2.0", "tslib": "^2.1.0" - }, - "peerDependencies": { - "@types/react": ">=16.8.0 <18.0.0", - "react": ">=16.8.0 <18.0.0" } }, - "node_modules/@fluentui/react/node_modules/@fluentui/react-focus": { - "version": "8.3.8", - "resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-8.3.8.tgz", - "integrity": "sha512-mm4PUlzs6i4Op5V3+6R2wI0gxSQSrOsTj2HEZhCxvF9RdVKXUUSzhm23+mV6n+gQR1n3scxNxKzIbM3cOk073A==", - "dependencies": { - "@fluentui/keyboard-key": "^0.3.4", - "@fluentui/merge-styles": "^8.2.1", - "@fluentui/set-version": "^8.1.4", - "@fluentui/style-utilities": "^8.4.2", - "@fluentui/utilities": "^8.3.6", + "node_modules/@fluentui/react": { + "version": "8.62.4", + "resolved": "https://registry.npmjs.org/@fluentui/react/-/react-8.62.4.tgz", + "integrity": "sha512-vwN6fg5n8xxynnW0Cmjk4Qao+6OE/bOF8k1hoMdufkKTJx1VpRa1SZHMgHCh0/kXoXWQyBeyetcUOPjXw/sPlQ==", + "dependencies": { + "@fluentui/date-time-utilities": "^8.5.0", + "@fluentui/font-icons-mdl2": "^8.2.5", + "@fluentui/foundation-legacy": "^8.2.5", + "@fluentui/merge-styles": "^8.5.0", + "@fluentui/react-focus": "^8.5.6", + "@fluentui/react-hooks": "^8.5.3", + "@fluentui/react-window-provider": "^2.2.0", + "@fluentui/set-version": "^8.2.0", + "@fluentui/style-utilities": "^8.6.5", + "@fluentui/theme": "^2.6.4", + "@fluentui/utilities": "^8.8.1", + "@microsoft/load-themed-styles": "^1.10.26", "tslib": "^2.1.0" }, "peerDependencies": { "@types/react": ">=16.8.0 <18.0.0", - "react": ">=16.8.0 <18.0.0" + "@types/react-dom": ">=16.8.0 <18.0.0", + "react": ">=16.8.0 <18.0.0", + "react-dom": ">=16.8.0 <18.0.0" } }, - "node_modules/@fluentui/react/node_modules/@fluentui/react-window-provider": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-2.1.4.tgz", - "integrity": "sha512-RztmJ7ol2eMDr3NCs2OcAA1cQjZdPPUEa4aurgh4Aq+JM/BiY0aK6S4SeFtVD7F8Q7PBOz/xwOG4HlnSMQtlsg==", + "node_modules/@fluentui/react-focus": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-8.5.6.tgz", + "integrity": "sha512-K4INgXiwlinLz0Msa5TQbhL3YoN1mtqXO3p7XChDKeIf0QepAUDTnmJCrtKXqzY5VuXauLXyqm2darcHFrotVw==", "dependencies": { - "@fluentui/set-version": "^8.1.4", + "@fluentui/keyboard-key": "^0.4.0", + "@fluentui/merge-styles": "^8.5.0", + "@fluentui/set-version": "^8.2.0", + "@fluentui/style-utilities": "^8.6.5", + "@fluentui/utilities": "^8.8.1", "tslib": "^2.1.0" }, "peerDependencies": { @@ -707,14 +803,14 @@ "react": ">=16.8.0 <18.0.0" } }, - "node_modules/@fluentui/react/node_modules/@fluentui/theme": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-2.4.3.tgz", - "integrity": "sha512-+BeZxF7UbZlKgL34GCC8TqIhd/RC+hgvTjyi51CdQrdJmHLMVklW+BcrTtOS9XguQEkvVMRjW28RzXMehpIkOw==", + "node_modules/@fluentui/react-hooks": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@fluentui/react-hooks/-/react-hooks-8.5.3.tgz", + "integrity": "sha512-zWiiEp/vYmKIXhw/bIVH9BnPKLT3zgWt9ryi3Tp1VVgxLEDloomM7RgDn0e2P8HZvynYRRT8GKq3XJ8H3AzAUg==", "dependencies": { - "@fluentui/merge-styles": "^8.2.1", - "@fluentui/set-version": "^8.1.4", - "@fluentui/utilities": "^8.3.6", + "@fluentui/react-window-provider": "^2.2.0", + "@fluentui/set-version": "^8.2.0", + "@fluentui/utilities": "^8.8.1", "tslib": "^2.1.0" }, "peerDependencies": { @@ -722,14 +818,12 @@ "react": ">=16.8.0 <18.0.0" } }, - "node_modules/@fluentui/react/node_modules/@fluentui/utilities": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.3.6.tgz", - "integrity": "sha512-ubB1/g3ppJ/MCbQHYwldpKP6EfE8ScwL8wMlnWFoSMo9E7FzlfoeOOPLzmT7fGptTnXzFDQtP4SR4Y/YQXVPGg==", + "node_modules/@fluentui/react-window-provider": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-2.2.0.tgz", + "integrity": "sha512-1iZzfVQHZQn6IJSJD1pxnXi5H8T3vrZYi9aqKyVIPZ12DCTVE2gw8W3mnOjsfVuXMGdv1sA7dgd6v4xi9erBow==", "dependencies": { - "@fluentui/dom-utilities": "^2.1.4", - "@fluentui/merge-styles": "^8.2.1", - "@fluentui/set-version": "^8.1.4", + "@fluentui/set-version": "^8.2.0", "tslib": "^2.1.0" }, "peerDependencies": { @@ -738,34 +832,34 @@ } }, "node_modules/@fluentui/set-version": { - "version": "8.1.4", - "resolved": "https://registry.npmjs.org/@fluentui/set-version/-/set-version-8.1.4.tgz", - "integrity": "sha512-2otMyJ+s+W+hjBD4BKjwYKKinJUDeIKYKz93qKrrJS0i3fKfftNroy9dHFlIblZ7n747L334plLi3bzQO1bnvA==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@fluentui/set-version/-/set-version-8.2.0.tgz", + "integrity": "sha512-bqjpfhqaIkBy16vdYzdc7tER9Td7BTcmC+kCXuqkHOQVuG9LJfqVGRV0DA857KLhOxiy0GXwKMeDbNV5jJf6qQ==", "dependencies": { "tslib": "^2.1.0" } }, "node_modules/@fluentui/style-utilities": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/@fluentui/style-utilities/-/style-utilities-8.4.2.tgz", - "integrity": "sha512-RwZo+IzzgQzdzxh0Zv5uEaUZKlNpR80ct7Y/8SiSyYOP4Q7vVqIg8kCj8l/V4IOMTocjqH4sYbVxJ8pCJ4G9Vw==", - "dependencies": { - "@fluentui/merge-styles": "^8.2.1", - "@fluentui/set-version": "^8.1.4", - "@fluentui/theme": "^2.4.3", - "@fluentui/utilities": "^8.3.6", + "version": "8.6.5", + "resolved": "https://registry.npmjs.org/@fluentui/style-utilities/-/style-utilities-8.6.5.tgz", + "integrity": "sha512-X0ZIreRdUlnJnRQmKtngWEbrqFuecBlEv9fkKoHJeu+27AD+AU9RPYgK4fd/QCJRFoTU9WzQJj9tWylTBK+kFA==", + "dependencies": { + "@fluentui/merge-styles": "^8.5.0", + "@fluentui/set-version": "^8.2.0", + "@fluentui/theme": "^2.6.4", + "@fluentui/utilities": "^8.8.1", "@microsoft/load-themed-styles": "^1.10.26", "tslib": "^2.1.0" } }, - "node_modules/@fluentui/style-utilities/node_modules/@fluentui/theme": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-2.4.3.tgz", - "integrity": "sha512-+BeZxF7UbZlKgL34GCC8TqIhd/RC+hgvTjyi51CdQrdJmHLMVklW+BcrTtOS9XguQEkvVMRjW28RzXMehpIkOw==", + "node_modules/@fluentui/theme": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-2.6.4.tgz", + "integrity": "sha512-MXCY2Z5zc1nK5PCN6tqhI1nplX/LF+8lF8YsrSGvu6VDnHilxi4Rifv2dRc+jybNI13tZ50uteok2Je7jABcMA==", "dependencies": { - "@fluentui/merge-styles": "^8.2.1", - "@fluentui/set-version": "^8.1.4", - "@fluentui/utilities": "^8.3.6", + "@fluentui/merge-styles": "^8.5.0", + "@fluentui/set-version": "^8.2.0", + "@fluentui/utilities": "^8.8.1", "tslib": "^2.1.0" }, "peerDependencies": { @@ -773,14 +867,14 @@ "react": ">=16.8.0 <18.0.0" } }, - "node_modules/@fluentui/style-utilities/node_modules/@fluentui/utilities": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.3.6.tgz", - "integrity": "sha512-ubB1/g3ppJ/MCbQHYwldpKP6EfE8ScwL8wMlnWFoSMo9E7FzlfoeOOPLzmT7fGptTnXzFDQtP4SR4Y/YQXVPGg==", + "node_modules/@fluentui/utilities": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.8.1.tgz", + "integrity": "sha512-JtICpdTINvifiyjp/LxxuDiU8BMkU73mzAP/3mz5KIhqPn3QjKG9ZeaBLPpoUXNOP/I6i9AYbAQHDvQI/ZK5tg==", "dependencies": { - "@fluentui/dom-utilities": "^2.1.4", - "@fluentui/merge-styles": "^8.2.1", - "@fluentui/set-version": "^8.1.4", + "@fluentui/dom-utilities": "^2.2.0", + "@fluentui/merge-styles": "^8.5.0", + "@fluentui/set-version": "^8.2.0", "tslib": "^2.1.0" }, "peerDependencies": { @@ -808,935 +902,1714 @@ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, - "node_modules/@microsoft/load-themed-styles": { - "version": "1.10.230", - "resolved": "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.230.tgz", - "integrity": "sha512-EMc7AqUZxRnZTpnPasItHN5DXV/EdJ19wHyOls69PF089Ny9pUxZEbAPROOuR6I1m8WvNRJrlagLJgG9Yq0Y2w==" - }, - "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==", + "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==", "dev": true, "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "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": ">=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==", + "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==", "dev": true, "engines": { - "node": ">= 8" + "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==", + "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==", "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, "engines": { - "node": ">= 8" + "node": ">=8" } }, - "node_modules/@types/eslint": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.2.0.tgz", - "integrity": "sha512-74hbvsnc+7TEDa1z5YLSe4/q8hGYB3USNvCuzHUJrjPV6hXaq8IXcngCrHkuvFt0+8rFz7xYXrHgNayIX0UZvQ==", + "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==", "dev": true, "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" + "@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/@types/eslint-scope": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.1.tgz", - "integrity": "sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g==", + "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==", "dev": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" + "engines": { + "node": ">=8" } }, - "node_modules/@types/eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", - "dev": true - }, - "node_modules/@types/estree": { - "version": "0.0.50", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", - "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", - "dev": true - }, - "node_modules/@types/html-minifier-terser": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.0.0.tgz", - "integrity": "sha512-NZwaaynfs1oIoLAV1vg18e7QMVDvw+6SQrdJc8w3BwUaoroVSf6EBj/Sk4PBWGxsq0dzhA2drbsuMC1/6C6KgQ==", - "dev": true - }, - "node_modules/@types/http-proxy": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.7.tgz", - "integrity": "sha512-9hdj6iXH64tHSLTY+Vt2eYOGzSogC+JQ2H7bdPWkuh7KXP5qLllWx++t+K9Wk556c3dkDdPws/SpMRi0sdCT1w==", + "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==", "dev": true, "dependencies": { - "@types/node": "*" + "@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/@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", - "dev": true - }, - "node_modules/@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", - "dev": true - }, - "node_modules/@types/node": { - "version": "16.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.9.tgz", - "integrity": "sha512-MKmdASMf3LtPzwLyRrFjtFFZ48cMf8jmX5VRYrDQiJa8Ybu5VAmkqBWqKU8fdCwD8ysw4mQ9nrEHvzg6gunR7A==", - "dev": true - }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", - "dev": true - }, - "node_modules/@types/prop-types": { - "version": "15.7.4", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz", - "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==" + "node_modules/@jest/core/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "node_modules/@types/react": { - "version": "16.14.21", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.21.tgz", - "integrity": "sha512-rY4DzPKK/4aohyWiDRHS2fotN5rhBSK6/rz1X37KzNna9HJyqtaGAbq9fVttrEPWF5ywpfIP1ITL8Xi2QZn6Eg==", + "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==", + "dev": true, "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" + "@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/@types/react-dom": { - "version": "16.9.14", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.14.tgz", - "integrity": "sha512-FIX2AVmPTGP30OUJ+0vadeIFJJ07Mh1m+U0rxfgyW34p3rTlXI+nlenvAxNn4BP36YyI9IJ/+UJ7Wu22N1pI7A==", + "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==", + "dev": true, "dependencies": { - "@types/react": "^16" + "@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/@types/retry": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", - "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", - "dev": true - }, - "node_modules/@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" - }, - "node_modules/@types/webpack-env": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.16.3.tgz", - "integrity": "sha512-9gtOPPkfyNoEqCQgx4qJKkuNm/x0R2hKR7fdl7zvTJyHnIisuE/LfvXOsYWL0o3qq6uiBnKZNNNzi3l0y/X+xw==", - "dev": true - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.10.1.tgz", - "integrity": "sha512-PQg0emRtzZFWq6PxBcdxRH3QIQiyFO3WCVpRL3fgj5oQS3CDs3AeAKfv4DxNhzn8ITdNJGJ4D3Qw8eAJf3lXeQ==", + "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==", "dev": true, "dependencies": { - "@typescript-eslint/experimental-utils": "3.10.1", - "debug": "^4.1.1", - "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.0.0", - "semver": "^7.3.2", - "tsutils": "^3.17.1" + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" }, "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "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==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, "peerDependencies": { - "@typescript-eslint/parser": "^3.0.0", - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, "peerDependenciesMeta": { - "typescript": { + "node-notifier": { "optional": true } } }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz", - "integrity": "sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw==", + "node_modules/@jest/reporters/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/types": "3.10.1", - "@typescript-eslint/typescript-estree": "3.10.1", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@typescript-eslint/parser": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-3.10.1.tgz", - "integrity": "sha512-Ug1RcWcrJP02hmtaXVS3axPPTTPnZjupqhgj+NnZ6BCkwSImWk/283347+x9wN+lqOdK9Eo3vsyiyDHgsmiEJw==", + "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==", "dev": true, "dependencies": { - "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "3.10.1", - "@typescript-eslint/types": "3.10.1", - "@typescript-eslint/typescript-estree": "3.10.1", - "eslint-visitor-keys": "^1.1.0" + "@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.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "dev": true, + "dependencies": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" }, - "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + "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==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@typescript-eslint/types": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-3.10.1.tgz", - "integrity": "sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==", + "node_modules/@jest/transform/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=8" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz", - "integrity": "sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w==", + "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==", "dev": true, "dependencies": { - "@typescript-eslint/types": "3.10.1", - "@typescript-eslint/visitor-keys": "3.10.1", - "debug": "^4.1.1", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" + "@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.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz", - "integrity": "sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ==", + "node_modules/@joachimdalen/azdevops-ext-core": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@joachimdalen/azdevops-ext-core/-/azdevops-ext-core-0.10.0.tgz", + "integrity": "sha512-jh3DzI2lFwHeahGy9U8ujN8xO6XHkjBb+4QKNlOdeqWaZXvJ7/ISSzQIxcT09SslWGOH69Dkisj3RozLFDuoDQ==", + "peerDependencies": { + "@fluentui/react": "^8.49.6", + "azure-devops-extension-api": "^1.158.0", + "azure-devops-extension-sdk": "^2.0.11", + "azure-devops-ui": "^2.167.28", + "react": "^16.14.0", + "react-dom": "^16.14.0" + } + }, + "node_modules/@joachimdalen/azext": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@joachimdalen/azext/-/azext-0.7.0.tgz", + "integrity": "sha512-/fsZymJV6q4mFkIns4bH71XIO/B8ZrM1ILfCGjoCK90mTYi42IlviHQu/VAsXj/2vzc44H1yL8R3fCouv0rfSw==", "dev": true, "dependencies": { - "eslint-visitor-keys": "^1.1.0" + "@octokit/rest": "^18.12.0", + "chalk": "^4.1.2", + "command-line-args": "^5.2.0", + "command-line-usage": "^6.1.1", + "node-emoji": "^1.11.0" + }, + "bin": { + "azext": "dist/azext.js" }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "node": ">=15" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "peerDependencies": { + "prettier": "^2.5.1" } }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", + "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==", "dev": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + "engines": { + "node": ">=6.0.0" } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.11", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", + "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==", "dev": true }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz", + "integrity": "sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==", "dev": true, "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", - "dev": true + "node_modules/@microsoft/load-themed-styles": { + "version": "1.10.249", + "resolved": "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.249.tgz", + "integrity": "sha512-qrLdjIZ9znm2CUILAXuwyAcUvyBzSNaf8wIzaZf/ul2UKhww5xSI7pT7bIqWbuwn5SB+xOmIZrlRr3DyzuVBYQ==" }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "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==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "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==", "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "engines": { + "node": ">= 8" } }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "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==", "dev": true, "dependencies": { - "@xtuc/long": "4.2.2" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "node_modules/@octokit/auth-token": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" + "@octokit/types": "^6.0.3" } }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "node_modules/@octokit/core": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", + "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.3", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" } }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "node_modules/@octokit/endpoint": { + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" } }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "node_modules/@octokit/graphql": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" } }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "node_modules/@octokit/openapi-types": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.2.0.tgz", + "integrity": "sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==", + "dev": true + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz", + "integrity": "sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" + "@octokit/types": "^6.34.0" + }, + "peerDependencies": { + "@octokit/core": ">=2" } }, - "node_modules/@webpack-cli/configtest": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz", - "integrity": "sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==", + "node_modules/@octokit/plugin-request-log": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", + "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", "dev": true, "peerDependencies": { - "webpack": "4.x.x || 5.x.x", - "webpack-cli": "4.x.x" + "@octokit/core": ">=3" } }, - "node_modules/@webpack-cli/info": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz", - "integrity": "sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==", + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz", + "integrity": "sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA==", "dev": true, "dependencies": { - "envinfo": "^7.7.3" + "@octokit/types": "^6.34.0", + "deprecation": "^2.3.1" }, "peerDependencies": { - "webpack-cli": "4.x.x" + "@octokit/core": ">=3" } }, - "node_modules/@webpack-cli/serve": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz", - "integrity": "sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==", + "node_modules/@octokit/request": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", + "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", "dev": true, - "peerDependencies": { - "webpack-cli": "4.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } + "dependencies": { + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" } }, - "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==", - "dev": true + "node_modules/@octokit/request-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "dev": true, + "dependencies": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } }, - "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==", - "dev": true + "node_modules/@octokit/rest": { + "version": "18.12.0", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz", + "integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==", + "dev": true, + "dependencies": { + "@octokit/core": "^3.5.1", + "@octokit/plugin-paginate-rest": "^2.16.8", + "@octokit/plugin-request-log": "^1.0.4", + "@octokit/plugin-rest-endpoint-methods": "^5.12.0" + } }, - "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==", - "dev": true + "node_modules/@octokit/types": { + "version": "6.34.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz", + "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==", + "dev": true, + "dependencies": { + "@octokit/openapi-types": "^11.2.0" + } }, - "node_modules/accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "node_modules/@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", "dev": true, "dependencies": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - }, - "engines": { - "node": ">= 0.6" + "type-detect": "4.0.8" } }, - "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "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==", "dev": true, - "bin": { - "acorn": "bin/acorn" + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@testing-library/dom": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.12.0.tgz", + "integrity": "sha512-rBrJk5WjI02X1edtiUcZhgyhgBhiut96r5Jp8J5qktKdcvLcZpKDW8i2hkGMMItxrghjXuQ5AM6aE0imnFawaw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^4.2.0", + "aria-query": "^5.0.0", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.4.4", + "pretty-format": "^27.0.2" }, "engines": { - "node": ">=0.4.0" + "node": ">=12" } }, - "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==", + "node_modules/@testing-library/jest-dom": { + "version": "5.16.3", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.16.3.tgz", + "integrity": "sha512-u5DfKj4wfSt6akfndfu1eG06jsdyA/IUrlX2n3pyq5UXgXMhXY+NJb8eNK/7pqPWAhCKsCGWDdDO0zKMKAYkEA==", "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "dependencies": { + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css": "^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/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "node_modules/@testing-library/jest-dom/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=8" } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/@testing-library/react": { + "version": "12.1.4", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-12.1.4.tgz", + "integrity": "sha512-jiPKOm7vyUw311Hn/HlNQ9P8/lHNtArAx0PisXyFixDDvfl8DbD6EUdbshK5eqauvBSvzZd19itqQ9j3nferJA==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^8.0.0", + "@types/react-dom": "*" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" } }, - "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==", + "node_modules/@testing-library/react-hooks": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@testing-library/react-hooks/-/react-hooks-7.0.2.tgz", + "integrity": "sha512-dYxpz8u9m4q1TuzfcUApqi8iFfR6R0FaMbr2hjZJy1uC8z+bO/K4v8Gs9eogGKYQop7QsrBTFkv/BCF7MzD2Cg==", "dev": true, "dependencies": { - "ajv": "^8.0.0" + "@babel/runtime": "^7.12.5", + "@types/react": ">=16.9.0", + "@types/react-dom": ">=16.9.0", + "@types/react-test-renderer": ">=16.9.0", + "react-error-boundary": "^3.1.0" + }, + "engines": { + "node": ">=12" }, "peerDependencies": { - "ajv": "^8.0.0" + "react": ">=16.9.0", + "react-dom": ">=16.9.0", + "react-test-renderer": ">=16.9.0" }, "peerDependenciesMeta": { - "ajv": { + "react-dom": { + "optional": true + }, + "react-test-renderer": { "optional": true } } }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.1.tgz", - "integrity": "sha512-6CiMNDrzv0ZR916u2T+iRunnD60uWmNn8SkdB44/6stVORUg0aAkWO7PkOhpCmjmW8f2I/G/xnowD66fxGyQJg==", + "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==", "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">= 6" } }, - "node_modules/ajv-formats/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/@types/aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==", "dev": true }, - "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==", + "node_modules/@types/babel__core": { + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "node_modules/amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", "dev": true, - "engines": { - "node": ">=0.4.2" + "dependencies": { + "@babel/types": "^7.0.0" } }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", "dev": true, - "engines": { - "node": ">=6" + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "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==", + "node_modules/@types/babel__traverse": { + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz", + "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==", "dev": true, - "engines": [ - "node >= 0.8.0" - ], - "bin": { - "ansi-html": "bin/ansi-html" + "dependencies": { + "@babel/types": "^7.3.0" } }, - "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==", + "node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "@types/connect": "*", + "@types/node": "*" } }, - "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==", + "node_modules/@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "@types/node": "*" } }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", "dev": true, "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" + "@types/node": "*" } }, - "node_modules/app-root-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-1.0.0.tgz", - "integrity": "sha1-LHKZF0vGHLhv46SnmOAeSTt9U30=", - "dev": true - }, - "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "node_modules/arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", - "dev": true, - "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/archiver": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-2.0.3.tgz", - "integrity": "sha1-tDYLtYSvFDeZGUJxbyHXxSPR270=", + "node_modules/@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", "dev": true, "dependencies": { - "archiver-utils": "^1.3.0", - "async": "^2.0.0", - "buffer-crc32": "^0.2.1", - "glob": "^7.0.0", - "lodash": "^4.8.0", - "readable-stream": "^2.0.0", - "tar-stream": "^1.5.0", - "walkdir": "^0.0.11", - "zip-stream": "^1.2.0" - }, - "engines": { - "node": ">= 4" + "@types/express-serve-static-core": "*", + "@types/node": "*" } }, - "node_modules/archiver-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", - "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=", + "node_modules/@types/eslint": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", + "integrity": "sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==", "dev": true, "dependencies": { - "glob": "^7.0.0", - "graceful-fs": "^4.1.0", - "lazystream": "^1.0.0", - "lodash": "^4.8.0", - "normalize-path": "^2.0.0", - "readable-stream": "^2.0.0" - }, - "engines": { - "node": ">= 0.10.0" + "@types/estree": "*", + "@types/json-schema": "*" } }, - "node_modules/archiver-utils/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "node_modules/@types/eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", "dev": true, "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" + "@types/eslint": "*", + "@types/estree": "*" } }, - "node_modules/archiver/node_modules/async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "node_modules/@types/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", + "dev": true + }, + "node_modules/@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true + }, + "node_modules/@types/express": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", "dev": true, "dependencies": { - "lodash": "^4.17.14" + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" } }, - "node_modules/are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", + "node_modules/@types/express-serve-static-core": { + "version": "4.17.28", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", + "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", "dev": true, "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" } }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", "dev": true, "dependencies": { - "sprintf-js": "~1.0.2" + "@types/node": "*" } }, - "node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "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==", "dev": true }, - "node_modules/array-union": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", - "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", + "node_modules/@types/http-proxy": { + "version": "1.17.8", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz", + "integrity": "sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==", "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "@types/node": "*" } }, - "node_modules/array.prototype.find": { + "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.0.4.tgz", - "integrity": "sha1-VWpcU2LAhkgyPdrrnenRS8GGTJA=", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, "dependencies": { - "define-properties": "^1.1.2", - "es-abstract": "^1.7.0" + "@types/istanbul-lib-coverage": "*" } }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "@types/istanbul-lib-report": "*" } }, - "node_modules/asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "node_modules/@types/jest": { + "version": "27.4.1", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.4.1.tgz", + "integrity": "sha512-23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw==", "dev": true, "dependencies": { - "safer-buffer": "~2.1.0" + "jest-matcher-utils": "^27.0.0", + "pretty-format": "^27.0.0" } }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "engines": { - "node": ">=0.8" + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "node_modules/@types/lodash": { + "version": "4.14.181", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.181.tgz", + "integrity": "sha512-n3tyKthHJbkiWhDZs3DkhkCzt2MexYHXlX0td5iMplyfwketaOeKboEVBqzceH7juqvEg3q5oUoBFxSLu7zFag==" + }, + "node_modules/@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "dev": true + }, + "node_modules/@types/node": { + "version": "16.11.26", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.26.tgz", + "integrity": "sha512-GZ7bu5A6+4DtG7q9GsoHXy3ALcgeIHP4NnL0Vv2wu0uUB/yQex26v0tf6/na1mm0+bS9Uw+0DFex7aaKr2qawQ==", + "dev": true + }, + "node_modules/@types/prettier": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.4.tgz", + "integrity": "sha512-ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA==", + "dev": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.4", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz", + "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==" + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "node_modules/@types/react": { + "version": "16.14.24", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.24.tgz", + "integrity": "sha512-e7U2WC8XQP/xfR7bwhOhNFZKPTfW1ph+MiqtudKb8tSV8RyCsovQx2sNVtKoOryjxFKpHPPC/yNiGfdeVM5Gyw==", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" } }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "node_modules/@types/react-dom": { + "version": "16.9.14", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.14.tgz", + "integrity": "sha512-FIX2AVmPTGP30OUJ+0vadeIFJJ07Mh1m+U0rxfgyW34p3rTlXI+nlenvAxNn4BP36YyI9IJ/+UJ7Wu22N1pI7A==", + "dependencies": { + "@types/react": "^16" + } + }, + "node_modules/@types/react-test-renderer": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-17.0.1.tgz", + "integrity": "sha512-3Fi2O6Zzq/f3QR9dRnlnHso9bMl7weKCviFmfF6B4LS1Uat6Hkm15k0ZAQuDz+UBq6B3+g+NM6IT2nr5QgPzCw==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "@types/react": "*" } }, - "node_modules/async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "node_modules/@types/retry": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", + "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", "dev": true }, - "node_modules/async-foreach": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", - "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "node_modules/@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" + }, + "node_modules/@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", "dev": true, - "engines": { - "node": "*" + "dependencies": { + "@types/express": "*" } }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "node_modules/@types/serve-static": { + "version": "1.13.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", + "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" } }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "node_modules/@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", "dev": true, - "engines": { - "node": "*" + "dependencies": { + "@types/node": "*" } }, - "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, - "node_modules/azure-devops-extension-api": { - "version": "1.158.0", - "resolved": "https://registry.npmjs.org/azure-devops-extension-api/-/azure-devops-extension-api-1.158.0.tgz", - "integrity": "sha512-J8eFuySLBuueKUenJAFvbbE095OMkoCU2yfY5F6G+6qyFMHvNvaubGvIRmC6ja2KckbdjJ62DQS5h/1bwULr1g==", + "node_modules/@types/testing-library__jest-dom": { + "version": "5.14.3", + "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.3.tgz", + "integrity": "sha512-oKZe+Mf4ioWlMuzVBaXQ9WDnEm1+umLx0InILg+yvZVBBDmzV5KfZyLrCvadtWcx8+916jLmHafcmqqffl+iIw==", + "dev": true, "dependencies": { - "azure-devops-extension-sdk": "~2.0.11", - "whatwg-fetch": "~3.0.0" + "@types/jest": "*" } }, - "node_modules/azure-devops-extension-sdk": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/azure-devops-extension-sdk/-/azure-devops-extension-sdk-2.0.11.tgz", - "integrity": "sha512-9Hv4IeKpXR7EbaQn75Qz78rp0nv88XzRTF20E2oHlEFc+TRerekQnJjdrTHChoVvPvsWL/NAEwlqINU60U7neg==", - "dependencies": { - "es6-object-assign": "^1.1.0", - "es6-promise": "^4.2.5" - } + "node_modules/@types/uuid": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", + "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", + "dev": true }, - "node_modules/azure-devops-node-api": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-8.1.1.tgz", - "integrity": "sha512-TIb69NbHOJ/OTvfI1iazMzw/wG9A+ORCYibZCf5wDQFUyYzjCNVUA9QskAW1BGOulwyulGpqWXClCo4KoBaP0Q==", + "node_modules/@types/webpack-env": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.16.3.tgz", + "integrity": "sha512-9gtOPPkfyNoEqCQgx4qJKkuNm/x0R2hKR7fdl7zvTJyHnIisuE/LfvXOsYWL0o3qq6uiBnKZNNNzi3l0y/X+xw==", + "dev": true + }, + "node_modules/@types/ws": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", + "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", "dev": true, "dependencies": { - "tunnel": "0.0.4", - "typed-rest-client": "1.2.0", - "underscore": "1.8.3" + "@types/node": "*" } }, - "node_modules/azure-devops-sdk": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/azure-devops-sdk/-/azure-devops-sdk-1.1.2.tgz", - "integrity": "sha512-Jf+A0euuw4ehuAiNRMlUB7/pwUx71kOtwaM7J/h2KPI8/4dpuZEbueDIZruO46nh+5o6o5UiRWE+H8WXKGzAJw==", + "node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, "dependencies": { - "cross-fetch": "^3.0.1", - "query-string": "^6.3.0" + "@types/yargs-parser": "*" } }, - "node_modules/azure-devops-ui": { - "version": "2.167.22", - "resolved": "https://registry.npmjs.org/azure-devops-ui/-/azure-devops-ui-2.167.22.tgz", - "integrity": "sha512-lD4/WdFXfEcG+k/P+sMaI91bzc3LlvN6dKNXlOijm4pgisrpBfIVgD54yAzXN9GQatmpwiHGKuSOS/Rf5H515w==", + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.10.1.tgz", + "integrity": "sha512-PQg0emRtzZFWq6PxBcdxRH3QIQiyFO3WCVpRL3fgj5oQS3CDs3AeAKfv4DxNhzn8ITdNJGJ4D3Qw8eAJf3lXeQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "3.10.1", + "debug": "^4.1.1", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^3.0.0", + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz", + "integrity": "sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/types": "3.10.1", + "@typescript-eslint/typescript-estree": "3.10.1", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-3.10.1.tgz", + "integrity": "sha512-Ug1RcWcrJP02hmtaXVS3axPPTTPnZjupqhgj+NnZ6BCkwSImWk/283347+x9wN+lqOdK9Eo3vsyiyDHgsmiEJw==", + "dev": true, + "dependencies": { + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "3.10.1", + "@typescript-eslint/types": "3.10.1", + "@typescript-eslint/typescript-estree": "3.10.1", + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-3.10.1.tgz", + "integrity": "sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==", + "dev": true, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz", + "integrity": "sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "3.10.1", + "@typescript-eslint/visitor-keys": "3.10.1", + "debug": "^4.1.1", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz", + "integrity": "sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-cli/configtest": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz", + "integrity": "sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==", + "dev": true, + "peerDependencies": { + "webpack": "4.x.x || 5.x.x", + "webpack-cli": "4.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz", + "integrity": "sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==", + "dev": true, + "dependencies": { + "envinfo": "^7.7.3" + }, + "peerDependencies": { + "webpack-cli": "4.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz", + "integrity": "sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==", + "dev": true, + "peerDependencies": { + "webpack-cli": "4.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, + "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==", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "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==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.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==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "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==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/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==", + "dev": true + }, + "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==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/aria-query": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.0.0.tgz", + "integrity": "sha512-V+SM7AbUwJ+EBnB8+DXs0hPZHO0W6pqBcc0dW90OwtVG02PswOu/teuARoLQjdDOH+t9pJgGnW5/Qmouf3gPJg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/array-back": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "node_modules/array-union": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", + "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/array.prototype.find": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.0.4.tgz", + "integrity": "sha1-VWpcU2LAhkgyPdrrnenRS8GGTJA=", + "dependencies": { + "define-properties": "^1.1.2", + "es-abstract": "^1.7.0" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/azure-devops-extension-api": { + "version": "1.158.0", + "resolved": "https://registry.npmjs.org/azure-devops-extension-api/-/azure-devops-extension-api-1.158.0.tgz", + "integrity": "sha512-J8eFuySLBuueKUenJAFvbbE095OMkoCU2yfY5F6G+6qyFMHvNvaubGvIRmC6ja2KckbdjJ62DQS5h/1bwULr1g==", + "dependencies": { + "azure-devops-extension-sdk": "~2.0.11", + "whatwg-fetch": "~3.0.0" + } + }, + "node_modules/azure-devops-extension-sdk": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/azure-devops-extension-sdk/-/azure-devops-extension-sdk-2.0.11.tgz", + "integrity": "sha512-9Hv4IeKpXR7EbaQn75Qz78rp0nv88XzRTF20E2oHlEFc+TRerekQnJjdrTHChoVvPvsWL/NAEwlqINU60U7neg==", + "dependencies": { + "es6-object-assign": "^1.1.0", + "es6-promise": "^4.2.5" + } + }, + "node_modules/azure-devops-ui": { + "version": "2.167.31", + "resolved": "https://registry.npmjs.org/azure-devops-ui/-/azure-devops-ui-2.167.31.tgz", + "integrity": "sha512-KdMAxQXIrzRx1whzRvfedXmW90kD72ESh9ts4YBpHrNPeJMB22ZrK/qSRPA3ss9wo/mVCpnLlw+FYm88FfADVw==", "dependencies": { "array.prototype.find": "~2.0.4", "es6-object-assign": "~1.1.0", @@ -1755,6 +2628,107 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" }, + "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==", + "dev": true, + "dependencies": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-jest/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -1775,40 +2749,17 @@ "npm": ">=3.8" } }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "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/batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", "dev": true }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "dependencies": { - "tweetnacl": "^0.14.3" - } + "node_modules/before-after-hook": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", + "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==", + "dev": true }, "node_modules/big.js": { "version": "5.2.2", @@ -1828,41 +2779,31 @@ "node": ">=8" } }, - "node_modules/bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "dev": true, - "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, "node_modules/body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", "dev": true, "dependencies": { - "bytes": "3.1.0", + "bytes": "3.1.2", "content-type": "~1.0.4", "debug": "2.6.9", "depd": "~1.1.2", - "http-errors": "1.7.2", + "http-errors": "1.8.1", "iconv-lite": "0.4.24", "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" + "qs": "6.9.7", + "raw-body": "2.4.3", + "type-is": "~1.6.18" }, "engines": { "node": ">= 0.8" } }, "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, "engines": { "node": ">= 0.8" @@ -1883,15 +2824,6 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, - "node_modules/body-parser/node_modules/qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, "node_modules/bonjour": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", @@ -1906,23 +2838,6 @@ "multicast-dns-service-types": "^1.1.0" } }, - "node_modules/bonjour/node_modules/deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dev": true, - "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" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -1951,16 +2866,32 @@ "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==", + "dev": true + }, "node_modules/browserslist": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.18.1.tgz", - "integrity": "sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ==", + "version": "4.20.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz", + "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], "dependencies": { - "caniuse-lite": "^1.0.30001280", - "electron-to-chromium": "^1.3.896", + "caniuse-lite": "^1.0.30001317", + "electron-to-chromium": "^1.4.84", "escalade": "^3.1.1", - "node-releases": "^2.0.1", + "node-releases": "^2.0.2", "picocolors": "^1.0.0" }, "bin": { @@ -1968,67 +2899,29 @@ }, "engines": { "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" } }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", "dev": true, - "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": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "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==", "dev": true, "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "dev": true, - "engines": { - "node": "*" + "node-int64": "^0.4.0" } }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", - "dev": true - }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -2090,38 +2983,21 @@ "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==", - "dev": true, - "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-lite": { - "version": "1.0.30001282", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001282.tgz", - "integrity": "sha512-YhF/hG6nqBEllymSIjLtR2iWDDnChvhnVJqp+vloyt2tEHFG1yBR+ac2B/rOw0qOK0m0lEXU2dv4E/sMk5P9Kg==", + "version": "1.0.30001322", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001322.tgz", + "integrity": "sha512-neRmrmIrCGuMnxGSoh+x7zYtQFFgnSY2jaomjU56sCkTA6JINqQrxutF459JpWcWRajvoyn95sOXq4Pqrnyjew==", "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] }, "node_modules/chalk": { "version": "4.1.2", @@ -2139,11 +3015,26 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "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==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/chokidar": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", - "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -2172,15 +3063,6 @@ "node": ">= 6" } }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/chrome-trace-event": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", @@ -2190,6 +3072,18 @@ "node": ">=6.0" } }, + "node_modules/ci-info": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", + "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", + "dev": true + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true + }, "node_modules/classnames": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz", @@ -2197,9 +3091,9 @@ "dev": true }, "node_modules/clean-css": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.2.2.tgz", - "integrity": "sha512-/eR8ru5zyxKzpBLv9YZvMXgTSSQn7AdkMItMYynsFgGwTveCRVam9IUPFloE85B4vAIj05IuKmmEoV7/AQjT0w==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.2.4.tgz", + "integrity": "sha512-nKseG8wCzEuji/4yrgM/5cthL9oTDc5UOQyFMvW/Q53oP6gLH690o1NbuTh6Y18nujr7BxlsFuS7gXLnLzKJGg==", "dev": true, "dependencies": { "source-map": "~0.6.0" @@ -2208,15 +3102,6 @@ "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==", - "dev": true, - "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", @@ -2226,72 +3111,15 @@ "node": ">=6" } }, - "node_modules/clipboardy": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-1.2.3.tgz", - "integrity": "sha512-2WNImOvCRe6r63Gk9pShfkwXsVtKCroMAevIbiae021mS850UkWPbevxsBz3tnvjZIEGvlwaqCPsw+4ulzNgJA==", - "dev": true, - "dependencies": { - "arch": "^2.1.0", - "execa": "^0.8.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/cliui/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, "node_modules/clone-deep": { @@ -2308,15 +3136,34 @@ "node": ">=6" } }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "node_modules/clone-deep/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, "engines": { "node": ">=0.10.0" } }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -2341,15 +3188,6 @@ "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", "dev": true }, - "node_modules/colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", - "dev": true, - "engines": { - "node": ">=0.1.90" - } - }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -2362,40 +3200,132 @@ "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==", + "node_modules/command-line-args": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", + "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", "dev": true, + "dependencies": { + "array-back": "^3.1.0", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" + }, "engines": { - "node": ">= 12" + "node": ">=4.0.0" } }, - "node_modules/compress-commons": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", - "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=", + "node_modules/command-line-usage": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.1.tgz", + "integrity": "sha512-F59pEuAR9o1SF/bD0dQBDluhpT4jJQNWUHEuVBqpDmCUo6gPjCi+m9fCWnWZVR/oG6cMTUms4h+3NPl74wGXvA==", "dev": true, "dependencies": { - "buffer-crc32": "^0.2.1", - "crc32-stream": "^2.0.0", - "normalize-path": "^2.0.0", - "readable-stream": "^2.0.0" + "array-back": "^4.0.1", + "chalk": "^2.4.2", + "table-layout": "^1.0.1", + "typical": "^5.2.0" }, "engines": { - "node": ">= 0.10.0" + "node": ">=8.0.0" } }, - "node_modules/compress-commons/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "node_modules/command-line-usage/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==", "dev": true, "dependencies": { - "remove-trailing-separator": "^1.0.1" + "color-convert": "^1.9.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" + } + }, + "node_modules/command-line-usage/node_modules/array-back": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", + "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/command-line-usage/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==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/command-line-usage/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==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/command-line-usage/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/command-line-usage/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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/command-line-usage/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/command-line-usage/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==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/command-line-usage/node_modules/typical": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "engines": { + "node": ">= 12" } }, "node_modules/compressible": { @@ -2458,24 +3388,38 @@ "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": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true - }, "node_modules/content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "dependencies": { - "safe-buffer": "5.1.2" + "safe-buffer": "5.2.1" }, "engines": { "node": ">= 0.6" } }, + "node_modules/content-disposition/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==", + "dev": true, + "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/content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", @@ -2495,9 +3439,9 @@ } }, "node_modules/cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", "dev": true, "engines": { "node": ">= 0.6" @@ -2510,9 +3454,9 @@ "dev": true }, "node_modules/copy-webpack-plugin": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.0.0.tgz", - "integrity": "sha512-tuCVuFMBbRsb7IH0q1CUb50/Skv+7a6c7DJ+xi4fAbOzNLTYVMUTPnf8uGvKPtmqTvzYBrfEFo7YgP4TsUWmtg==", + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz", + "integrity": "sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg==", "dev": true, "dependencies": { "fast-glob": "^3.2.7", @@ -2533,49 +3477,12 @@ "webpack": "^5.1.0" } }, - "node_modules/core-js": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz", - "integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU=", - "deprecated": "core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", - "dev": true - }, "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==", "dev": true }, - "node_modules/crc": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", - "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", - "dev": true, - "dependencies": { - "buffer": "^5.1.0" - } - }, - "node_modules/crc32-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", - "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=", - "dev": true, - "dependencies": { - "crc": "^3.4.4", - "readable-stream": "^2.0.0" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/cross-fetch": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz", - "integrity": "sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==", - "dependencies": { - "node-fetch": "2.6.1" - } - }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -2590,19 +3497,30 @@ "node": ">= 8" } }, + "node_modules/css": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", + "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "source-map": "^0.6.1", + "source-map-resolve": "^0.6.0" + } + }, "node_modules/css-loader": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.5.1.tgz", - "integrity": "sha512-gEy2w9AnJNnD9Kuo4XAP9VflW/ujKoS9c/syO+uWMlm5igc7LysKzPXaDoR2vroROkSwsTS2tGr1yGGEbZOYZQ==", + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz", + "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", "dev": true, "dependencies": { "icss-utils": "^5.1.0", - "postcss": "^8.2.15", + "postcss": "^8.4.7", "postcss-modules-extract-imports": "^3.0.0", "postcss-modules-local-by-default": "^4.0.0", "postcss-modules-scope": "^3.0.0", "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", + "postcss-value-parser": "^4.2.0", "semver": "^7.3.5" }, "engines": { @@ -2617,25 +3535,25 @@ } }, "node_modules/css-select": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", - "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", "dev": true, "dependencies": { "boolbase": "^1.0.0", - "css-what": "^5.0.0", - "domhandler": "^4.2.0", - "domutils": "^2.6.0", - "nth-check": "^2.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-what": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", - "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.0.1.tgz", + "integrity": "sha512-z93ZGFLNc6yaoXAmVhqoSIb+BduplteCt1fepvwhBUQK6MNE4g6fgjpuZKJKp0esUe+vXWlIkwZZjNWoOKw0ZA==", "dev": true, "engines": { "node": ">= 6" @@ -2644,6 +3562,12 @@ "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": "sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s=", + "dev": true + }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", @@ -2656,52 +3580,53 @@ "node": ">=4" } }, - "node_modules/csstype": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.10.tgz", - "integrity": "sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==" - }, - "node_modules/cycle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", - "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", - "dev": true, - "engines": { - "node": ">=0.4.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==", + "dev": true }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dev": true, "dependencies": { - "assert-plus": "^1.0.0" + "cssom": "~0.3.6" }, "engines": { - "node": ">=0.10" + "node": ">=8" } }, - "node_modules/dateformat": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.11.tgz", - "integrity": "sha1-8ny+56ASu/uC6gUVYtOXf2CT27E=", + "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==", + "dev": true + }, + "node_modules/csstype": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.11.tgz", + "integrity": "sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==" + }, + "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==", "dev": true, "dependencies": { - "get-stdin": "*", - "meow": "*" - }, - "bin": { - "dateformat": "bin/cli.js" + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" }, "engines": { - "node": "*" + "node": ">=10" } }, "node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "dependencies": { "ms": "2.1.2" @@ -2712,79 +3637,55 @@ "peerDependenciesMeta": { "supports-color": { "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", - "dev": true, - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" + } } }, - "node_modules/decamelize-keys/node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "node_modules/decimal.js": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", + "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", + "dev": true }, "node_modules/decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true, "engines": { "node": ">=0.10" } }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", + "dev": true + }, "node_modules/deep-equal": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.0.5.tgz", - "integrity": "sha512-nPiRgmbAtm1a3JsnLCf6/SLfXcjyN5v8L1TXzdCmHrXJ4hx+gW/w1YCcn7z8gJtSiDArZCgYtbao3QqLm/N1Sw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", "dev": true, "dependencies": { - "call-bind": "^1.0.0", - "es-get-iterator": "^1.1.1", - "get-intrinsic": "^1.0.1", "is-arguments": "^1.0.4", - "is-date-object": "^1.0.2", - "is-regex": "^1.1.1", - "isarray": "^2.0.5", - "object-is": "^1.1.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "regexp.prototype.flags": "^1.3.0", - "side-channel": "^1.0.3", - "which-boxed-primitive": "^1.0.1", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.2" + "regexp.prototype.flags": "^1.2.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/deep-equal/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } }, "node_modules/deep-is": { "version": "0.1.4", @@ -2792,6 +3693,15 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "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", @@ -2804,65 +3714,6 @@ "node": ">= 10" } }, - "node_modules/default-gateway/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/default-gateway/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==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-gateway/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==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-gateway/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==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/define-lazy-prop": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", @@ -2915,16 +3766,16 @@ } }, "node_modules/del/node_modules/globby": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", "slash": "^3.0.0" }, "engines": { @@ -2935,9 +3786,9 @@ } }, "node_modules/del/node_modules/ignore": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz", - "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true, "engines": { "node": ">= 4" @@ -2961,12 +3812,6 @@ "node": ">=0.4.0" } }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true - }, "node_modules/depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -2976,18 +3821,42 @@ "node": ">= 0.6" } }, + "node_modules/deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", + "dev": true + }, "node_modules/destroy": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", "dev": true }, + "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==", + "dev": true, + "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==", "dev": true }, + "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==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -3037,6 +3906,12 @@ "node": ">=6.0.0" } }, + "node_modules/dom-accessibility-api": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.13.tgz", + "integrity": "sha512-R305kwb5CcMDIpSHUnLyIAp7SrSPBx6F0VfQFB3M75xVMHhXJJIdePYgbPPh1o57vCHNu5QztokWUPsLjWzFqw==", + "dev": true + }, "node_modules/dom-converter": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", @@ -3072,10 +3947,31 @@ } ] }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/domhandler": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", - "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dev": true, "dependencies": { "domelementtype": "^2.2.0" @@ -3111,16 +4007,6 @@ "tslib": "^2.0.3" } }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -3128,15 +4014,27 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.3.903", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.903.tgz", - "integrity": "sha512-+PnYAyniRRTkNq56cqYDLq9LyklZYk0hqoDy9GpcU11H5QjRmFZVDbxtgHUMK/YzdNTcn1XWP5gb+hFlSCr20g==", + "version": "1.4.99", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.99.tgz", + "integrity": "sha512-YXMzbvlo6pW12KWw0bj6cIGCJi1Moy8PLCuuzgRzg6WYIcHILK3szU+HHnHFx2b373qRv+cfmHhbmRbatyAbPA==", "dev": true }, + "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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, "node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "node_modules/emojis-list": { @@ -3157,19 +4055,10 @@ "node": ">= 0.8" } }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "dependencies": { - "once": "^1.4.0" - } - }, "node_modules/enhanced-resolve": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz", - "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==", + "version": "5.9.2", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.2.tgz", + "integrity": "sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -3200,15 +4089,6 @@ "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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/envinfo": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", @@ -3231,9 +4111,9 @@ } }, "node_modules/es-abstract": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", - "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.2.tgz", + "integrity": "sha512-gfSBJoZdlL2xRiOCy0g8gLMryhoe1TlimjzU99L/31Z8QEGIhVQI+EWwt5lT+AuU9SnorVupXFqqOGqGfsyO6w==", "dependencies": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", @@ -3241,15 +4121,15 @@ "get-intrinsic": "^1.1.1", "get-symbol-description": "^1.0.0", "has": "^1.0.3", - "has-symbols": "^1.0.2", + "has-symbols": "^1.0.3", "internal-slot": "^1.0.3", "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.1", + "is-negative-zero": "^2.0.2", "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", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.0", "object-keys": "^1.1.1", "object.assign": "^4.1.2", "string.prototype.trimend": "^1.0.4", @@ -3263,31 +4143,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-get-iterator": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.2.tgz", - "integrity": "sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.0", - "has-symbols": "^1.0.1", - "is-arguments": "^1.1.0", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.5", - "isarray": "^2.0.5" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-get-iterator/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, "node_modules/es-module-lexer": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", @@ -3360,6 +4215,88 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/escodegen/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "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/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/eslint": { "version": "7.32.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", @@ -3499,6 +4436,15 @@ "node": ">=4" } }, + "node_modules/eslint/node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, "node_modules/eslint/node_modules/eslint-visitor-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", @@ -3646,95 +4592,64 @@ } }, "node_modules/execa": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", - "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", - "dev": true, - "dependencies": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/execa/node_modules/cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "dependencies": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "node_modules/execa/node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "node_modules/execa/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "dependencies": { - "shebang-regex": "^1.0.0" + "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": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/execa/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/execa/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "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==", "dev": true, "dependencies": { - "isexe": "^2.0.0" + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" }, - "bin": { - "which": "bin/which" + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/execa/node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, "node_modules/express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "version": "4.17.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", + "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", "dev": true, "dependencies": { - "accepts": "~1.3.7", + "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", + "body-parser": "1.19.2", + "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.0", + "cookie": "0.4.2", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "~1.1.2", @@ -3748,13 +4663,13 @@ "on-finished": "~2.3.0", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", + "proxy-addr": "~2.0.7", + "qs": "6.9.7", "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", + "safe-buffer": "5.2.1", + "send": "0.17.2", + "serve-static": "1.14.2", + "setprototypeof": "1.2.0", "statuses": "~1.5.0", "type-is": "~1.6.18", "utils-merge": "1.0.1", @@ -3785,39 +4700,26 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, - "node_modules/express/node_modules/qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "node_modules/express/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==", "dev": true, - "engines": [ - "node >=0.6.0" + "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/eyes": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=", - "dev": true, - "engines": { - "node": "> 0.1.90" - } - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -3831,9 +4733,9 @@ "dev": true }, "node_modules/fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -3843,7 +4745,7 @@ "micromatch": "^4.0.4" }, "engines": { - "node": ">=8" + "node": ">=8.6.0" } }, "node_modules/fast-glob/node_modules/glob-parent": { @@ -3897,6 +4799,15 @@ "node": ">=0.8.0" } }, + "node_modules/fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -3959,14 +4870,6 @@ "node": ">=8" } }, - "node_modules/filter-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", - "integrity": "sha1-mzERErxsYSehbgFsbF1/GeCAXFs=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", @@ -4000,6 +4903,18 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, + "node_modules/find-replace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", + "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "dev": true, + "dependencies": { + "array-back": "^3.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", @@ -4027,15 +4942,15 @@ } }, "node_modules/flatted": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz", - "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", + "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", "dev": true }, "node_modules/follow-redirects": { - "version": "1.14.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.5.tgz", - "integrity": "sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA==", + "version": "1.14.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", + "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", "dev": true, "funding": [ { @@ -4046,471 +4961,696 @@ "engines": { "node": ">=4.0" }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "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==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "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/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/globals": { + "version": "13.13.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", + "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/globby": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", + "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", "dev": true, "dependencies": { - "is-callable": "^1.1.3" + "array-union": "^3.0.1", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.7", + "ignore": "^5.1.9", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", - "dev": true - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "node_modules/globby/node_modules/ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true, "engines": { - "node": "*" + "node": ">= 4" } }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, + "node_modules/graceful-fs": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "function-bind": "^1.1.1" }, "engines": { - "node": ">= 0.12" + "node": ">= 0.4.0" } }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "node_modules/has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "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==", "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true, + "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.6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fs-constants": { + "node_modules/has-tostringtag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, - "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==", - "dev": true, + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dependencies": { - "minipass": "^3.0.0" + "has-symbols": "^1.0.2" }, "engines": { - "node": ">= 8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "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==", "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "bin": { + "he": "bin/he" } }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "node_modules/gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", "dev": true, "dependencies": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" } }, - "node_modules/gauge/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, - "engines": { - "node": ">=0.10.0" + "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/gauge/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "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==", "dev": true, "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" + "safe-buffer": "~5.1.0" } }, - "node_modules/gaze": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", - "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "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==", "dev": true, "dependencies": { - "globule": "^1.0.0" + "whatwg-encoding": "^1.0.5" }, "engines": { - "node": ">= 4.0.0" + "node": ">=10" } }, - "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==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } + "node_modules/html-entities": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", + "dev": true }, - "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==", + "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==", + "dev": true + }, + "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==", "dev": true, + "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": "6.* || 8.* || >= 10.*" + "node": ">=12" } }, - "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "node_modules/html-webpack-plugin": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", + "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==", + "dev": true, "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" + "@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": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "webpack": "^5.20.0" } }, - "node_modules/get-stdin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", - "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", "dev": true, - "engines": { - "node": ">=4" + "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/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "node_modules/http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" + }, "engines": { - "node": ">=4" + "node": ">= 0.6" } }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "node_modules/http-parser-js": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz", + "integrity": "sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA==", + "dev": true + }, + "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==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8.0.0" } }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "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==", "dev": true, "dependencies": { - "assert-plus": "^1.0.0" + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "node_modules/http-proxy-middleware": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.4.tgz", + "integrity": "sha512-m/4FxX17SUvz4lJ5WPXOHDUuCwIqXLfLHs1s0uZ3oYjhoXlx9csYxaOa0ElDEJ+h8Q4iJ1s+lTMbiCa4EXIJqg==", "dev": true, "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" + "@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": "*" + "node": ">=12.0.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } } }, - "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==", + "node_modules/https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", "dev": true, "dependencies": { - "is-glob": "^4.0.3" + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=10.13.0" + "node": ">= 6" } }, - "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==", - "dev": true + "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==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } }, - "node_modules/globals": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", - "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", + "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==", "dev": true, "dependencies": { - "type-fest": "^0.20.2" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/globby": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-12.0.2.tgz", - "integrity": "sha512-lAsmb/5Lww4r7MM9nCCliDZVIKbZTavrsunAsHLr9oHthrZP1qi7/gAnHOsUs9bLvEt2vKVJhHmxuL7QbDuPdQ==", + "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==", "dev": true, - "dependencies": { - "array-union": "^3.0.1", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.7", - "ignore": "^5.1.8", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": "^10 || ^12 || >= 14" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/globby/node_modules/ignore": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz", - "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==", + "node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true, "engines": { "node": ">= 4" } }, - "node_modules/globule": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.3.tgz", - "integrity": "sha512-mb1aYtDbIjTu4ShMB85m3UzjX9BVKe9WCzsnfMSZk+K5GpIbBOexgg4PPCt5eHDEG5/ZQAUX2Kct02zfiPLsKg==", + "node_modules/immutable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", + "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==", + "dev": true + }, + "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==", "dev": true, "dependencies": { - "glob": "~7.1.1", - "lodash": "~4.17.10", - "minimatch": "~3.0.2" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" }, "engines": { - "node": ">= 0.10" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, "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" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" }, "engines": { - "node": "*" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/graceful-fs": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true, "engines": { - "node": ">=4" + "node": ">=0.8.19" } }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true, - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "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==", + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, - "engines": { - "node": ">=6" + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/has": { + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/internal-slot": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", "dependencies": { - "function-bind": "^1.1.1" + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" }, "engines": { - "node": ">= 0.4.0" + "node": ">= 0.4" } }, - "node_modules/has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "node_modules/interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, - "node_modules/has-ansi/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "node_modules/intersection-observer": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/intersection-observer/-/intersection-observer-0.5.1.tgz", + "integrity": "sha512-Zd7Plneq82kiXFixs7bX62YnuZ0BMRci9br7io88LwDyF3V43cQMI+G5IiTlTNTt+LsDUppl19J/M2Fp9UkH6g==" }, - "node_modules/has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true }, - "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==", + "node_modules/ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", "dev": true, "engines": { - "node": ">=8" - } - }, - "node_modules/has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 10" } }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "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==", + "dev": true, "dependencies": { - "has-symbols": "^1.0.2" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -4519,885 +5659,1050 @@ "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": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, - "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==", - "dev": true, - "bin": { - "he": "bin/he" - } - }, - "node_modules/hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", - "dev": true, + "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": { - "lru-cache": "^6.0.0" + "has-bigints": "^1.0.1" }, - "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": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/html-entities": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz", - "integrity": "sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==", - "dev": true - }, - "node_modules/html-minifier-terser": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.0.2.tgz", - "integrity": "sha512-AgYO3UGhMYQx2S/FBJT3EM0ZYcKmH6m9XL9c1v77BeK/tYJxGPxT1/AtsdUi4FcP8kZGmqqnItCcjFPcX9hk6A==", + "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==", "dev": true, "dependencies": { - "camel-case": "^4.1.2", - "clean-css": "^5.1.5", - "commander": "^8.1.0", - "he": "^1.2.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.7.2" - }, - "bin": { - "html-minifier-terser": "cli.js" + "binary-extensions": "^2.0.0" }, "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/html-minifier-terser/node_modules/acorn": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz", - "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==", - "dev": true, - "optional": true, - "peer": true, - "bin": { - "acorn": "bin/acorn" + "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.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/html-minifier-terser/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, + "node_modules/is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", "engines": { - "node": ">= 8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/html-minifier-terser/node_modules/terser": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz", - "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", + "node_modules/is-core-module": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", "dev": true, "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.20" + "has": "^1.0.3" }, - "bin": { - "terser": "bin/terser" + "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": ">=10" - }, - "peerDependencies": { - "acorn": "^8.5.0" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "acorn": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/html-minifier-terser/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==", - "dev": true - }, - "node_modules/html-webpack-plugin": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", - "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==", + "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==", "dev": true, - "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" + "bin": { + "is-docker": "cli.js" }, "engines": { - "node": ">=10.13.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/html-webpack-plugin" - }, - "peerDependencies": { - "webpack": "^5.20.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true, - "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" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "node_modules/http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "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==", "dev": true, - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/http-errors/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "node_modules/http-parser-js": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", - "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", - "dev": true - }, - "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==", + "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==", "dev": true, - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, "engines": { - "node": ">=8.0.0" + "node": ">=6" } }, - "node_modules/http-proxy-middleware": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.1.tgz", - "integrity": "sha512-cfaXRVoZxSed/BmkA7SwBVNI9Kj7HFltaE5rqYOub5kWzWZ+gofV2koVN1j2rMW7pEfSSlCHGJ31xmuyFyfLOg==", + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "dependencies": { - "@types/http-proxy": "^1.17.5", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" + "is-extglob": "^2.1.1" }, "engines": { - "node": ">=12.0.0" + "node": ">=0.10.0" } }, - "node_modules/http-proxy-middleware/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==", - "dev": true, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "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==", "dev": true, - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" + "node": ">=0.12.0" } }, - "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==", - "dev": true, + "node_modules/is-number-object": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", + "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, "engines": { - "node": ">=10.17.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/i": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/i/-/i-0.3.7.tgz", - "integrity": "sha512-FYz4wlXgkQwIPqhzC5TdNMLSE5+GS1IIDJZY/1ZiEPCT2S3COUVZeT5OW4BmW4r5LHLQuOosSwsvnroG9GR59Q==", + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", "dev": true, "engines": { - "node": ">=0.4" + "node": ">=6" } }, - "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==", + "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==", "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "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==", + "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==", "dev": true, "engines": { - "node": "^10 || ^12 || >= 14" + "node": ">=10" }, - "peerDependencies": { - "postcss": "^8.1.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "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/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true, "engines": { - "node": ">= 4" + "node": ">=0.10.0" } }, - "node_modules/immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", "dev": true }, - "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==", - "dev": true, + "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": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=6" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-local": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz", - "integrity": "sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==", - "dev": true, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, - "engines": { - "node": ">=0.8.19" + "node_modules/is-shared-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", + "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "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==", "dev": true, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, + "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": { - "once": "^1.3.0", - "wrappy": "1" + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/internal-ip": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-6.2.0.tgz", - "integrity": "sha512-D8WGsR6yDt8uq7vDMu7mjcR+yRMm3dW8yufyChmszWRjcSHuxLBkR3GdS2HZAjodsaGuCvXeEJpueisXJULghg==", - "dev": true, + "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": { - "default-gateway": "^6.0.0", - "ipaddr.js": "^1.9.1", - "is-ip": "^3.1.0", - "p-event": "^4.2.0" + "has-symbols": "^1.0.2" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sindresorhus/internal-ip?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/internal-ip/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==", - "dev": true, - "engines": { - "node": ">= 0.10" - } + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true }, - "node_modules/internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "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": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" + "call-bind": "^1.0.2" }, - "engines": { - "node": ">= 0.4" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/interpret": { + "node_modules/is-wsl": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, "engines": { - "node": ">= 0.10" + "node": ">=8" } }, - "node_modules/intersection-observer": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/intersection-observer/-/intersection-observer-0.5.1.tgz", - "integrity": "sha512-Zd7Plneq82kiXFixs7bX62YnuZ0BMRci9br7io88LwDyF3V43cQMI+G5IiTlTNTt+LsDUppl19J/M2Fp9UkH6g==" + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true }, - "node_modules/ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, - "node_modules/ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/ipaddr.js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", - "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", "dev": true, "engines": { - "node": ">= 10" + "node": ">=8" } }, - "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==", + "node_modules/istanbul-lib-instrument": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz", + "integrity": "sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "@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": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, "dependencies": { - "has-bigints": "^1.0.1" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" } }, - "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==", + "node_modules/istanbul-reports": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", + "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", "dev": true, "dependencies": { - "binary-extensions": "^2.0.0" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.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==", + "node_modules/jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">= 0.4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", - "engines": { - "node": ">= 0.4" + "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==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/is-core-module": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", - "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", + "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==", "dev": true, "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@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/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" } }, - "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==", + "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==", + "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "@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": ">= 0.4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "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==", + "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==", "dev": true, - "bin": { - "is-docker": "cli.js" + "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": ">=8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "node_modules/jest-config/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "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==", "dev": true, "dependencies": { - "number-is-nan": "^1.0.0" + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, "engines": { - "node": ">=0.10.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "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==", "dev": true, "dependencies": { - "is-extglob": "^2.1.1" + "detect-newline": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/is-ip": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", + "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==", "dev": true, "dependencies": { - "ip-regex": "^4.0.0" + "@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": ">=8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "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==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "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/is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "engines": { - "node": ">= 0.4" + "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==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "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==", + "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==", "dev": true, "engines": { - "node": ">=0.12.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/is-number-object": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", - "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "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==", + "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "@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": ">= 0.4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "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==", "dev": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, "engines": { - "node": ">=6" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.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==", + "node_modules/jest-junit-reporter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jest-junit-reporter/-/jest-junit-reporter-1.1.0.tgz", + "integrity": "sha1-iNYAbsE/gt9AxHiCyGQJic3LFDQ=", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "xml": "^1.0.1" } }, - "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": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "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==", "dev": true, + "dependencies": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, "engines": { - "node": ">=0.10.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "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==", "dev": true, "dependencies": { - "isobject": "^3.0.1" + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, "engines": { - "node": ">=0.10.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "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==", + "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==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "@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": ">= 0.4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "node_modules/jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } } }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", - "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "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==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "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==", "dev": true, + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "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==", + "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" }, "engines": { - "node": ">= 0.4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-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==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" } }, - "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==", + "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==", + "dev": true, "dependencies": { - "has-symbols": "^1.0.2" + "@types/node": "*", + "graceful-fs": "^4.2.9" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/is-typed-array": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.8.tgz", - "integrity": "sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA==", + "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==", "dev": true, "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-abstract": "^1.18.5", - "foreach": "^2.0.5", - "has-tostringtag": "^1.0.0" + "@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": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "node_modules/is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "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==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "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/is-weakref": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz", - "integrity": "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==", + "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==", + "dev": true, "dependencies": { - "call-bind": "^1.0.0" + "@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" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/is-weakset": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.1.tgz", - "integrity": "sha512-pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw==", + "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==", "dev": true, + "engines": { + "node": ">=10" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "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==", "dev": true, "dependencies": { - "is-docker": "^2.0.0" + "@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": ">=8" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, "node_modules/jest-worker": { - "version": "27.3.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.3.1.tgz", - "integrity": "sha512-ks3WCzsiZaOPJl/oMsDjaf0TRiSv7ctNgs0FqRr2nARsovz6AWWy4oLElwcquGSz692DzgZQrCLScPNs5YlC4g==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, "dependencies": { "@types/node": "*", @@ -5423,18 +6728,6 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/jju": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", - "integrity": "sha1-o6vicYryQaKykE+EpiWXDzia4yo=", - "dev": true - }, - "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==", - "dev": true - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -5453,11 +6746,63 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true + "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==", + "dev": true, + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/acorn": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } }, "node_modules/jsesc": { "version": "2.5.2", @@ -5471,21 +6816,6 @@ "node": ">=4" } }, - "node_modules/json-in-place": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-in-place/-/json-in-place-1.0.1.tgz", - "integrity": "sha1-ih7NJaac4ZAFUs1xUr2TdU3k4fA=", - "dev": true, - "dependencies": { - "json-lexer": "1.1.1" - } - }, - "node_modules/json-lexer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/json-lexer/-/json-lexer-1.1.1.tgz", - "integrity": "sha1-vT7V1+Vgudma0iNPKMpwb7N3t9Q=", - "dev": true - }, "node_modules/json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", @@ -5498,12 +6828,6 @@ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, - "node_modules/json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -5516,20 +6840,11 @@ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, "node_modules/json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, "bin": { "json5": "lib/cli.js" }, @@ -5537,66 +6852,6 @@ "node": ">=6" } }, - "node_modules/jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "node_modules/jszip": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.5.tgz", - "integrity": "sha512-5W8NUaFRFRqTOL7ZDDrx5qWHJyBXy6velVudIzQUSoqAAYqzSh2Z7/m0Rf1QbmQJccegD0r+YZxBjzqoBiEeJQ==", - "dev": true, - "dependencies": { - "core-js": "~2.3.0", - "es6-promise": "~3.0.2", - "lie": "~3.1.0", - "pako": "~1.0.2", - "readable-stream": "~2.0.6" - } - }, - "node_modules/jszip/node_modules/es6-promise": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", - "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=", - "dev": true - }, - "node_modules/jszip/node_modules/process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", - "dev": true - }, - "node_modules/jszip/node_modules/readable-stream": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/jszip/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, "node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -5606,6 +6861,15 @@ "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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/klona": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", @@ -5615,16 +6879,13 @@ "node": ">= 8" } }, - "node_modules/lazystream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "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==", "dev": true, - "dependencies": { - "readable-stream": "^2.0.5" - }, "engines": { - "node": ">= 0.6.3" + "node": ">=6" } }, "node_modules/levn": { @@ -5640,19 +6901,10 @@ "node": ">= 0.8.0" } }, - "node_modules/lie": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", - "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", - "dev": true, - "dependencies": { - "immediate": "~3.0.5" - } - }, "node_modules/lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, "node_modules/loader-runner": { @@ -5693,7 +6945,23 @@ "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "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.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", + "dev": true + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", "dev": true }, "node_modules/lodash.merge": { @@ -5740,11 +7008,23 @@ "node": ">=10" } }, - "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==", + "node_modules/lz-string": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", + "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=", + "dev": true, + "bin": { + "lz-string": "bin/bin.js" + } + }, + "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==", "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, "engines": { "node": ">=8" }, @@ -5752,6 +7032,30 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -5762,9 +7066,9 @@ } }, "node_modules/memfs": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.3.0.tgz", - "integrity": "sha512-BEE62uMfKOavX3iG7GYX43QJ+hAeeWnwIAuJ/R6q96jaMtiLzhsxHJC8B1L7fK7Pt/vXDRwb3SG/yBpNGDPqzg==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz", + "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==", "dev": true, "dependencies": { "fs-monkey": "1.0.3" @@ -5773,44 +7077,6 @@ "node": ">= 4.0.0" } }, - "node_modules/meow": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", - "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", - "dev": true, - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize": "^1.2.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "engines": { - "node": ">=10" - }, - "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==", - "dev": true, - "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", @@ -5842,13 +7108,13 @@ } }, "node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { "node": ">=8.6" @@ -5867,21 +7133,21 @@ } }, "node_modules/mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.34", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", - "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, "dependencies": { - "mime-db": "1.51.0" + "mime-db": "1.52.0" }, "engines": { "node": ">= 0.6" @@ -5905,79 +7171,40 @@ "node": ">=4" } }, - "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==", - "dev": true - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/minipass": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz", - "integrity": "sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==", - "dev": true, - "dependencies": { - "yallist": "^4.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==", + "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==", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">= 8" + "node": "*" } }, + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, "bin": { "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" } }, "node_modules/ms": { @@ -6005,22 +7232,15 @@ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", "dev": true }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "node_modules/nan": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", - "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", - "dev": true + "node_modules/nanoclone": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/nanoclone/-/nanoclone-0.2.1.tgz", + "integrity": "sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==" }, "node_modules/nanoid": { - "version": "3.1.30", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz", - "integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz", + "integrity": "sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==", "dev": true, "bin": { "nanoid": "bin/nanoid.cjs" @@ -6035,19 +7255,10 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, - "node_modules/ncp": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz", - "integrity": "sha1-q8xsvT7C7Spyn/bnwfqPAXhKhXQ=", - "dev": true, - "bin": { - "ncp": "bin/ncp" - } - }, "node_modules/negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true, "engines": { "node": ">= 0.6" @@ -6069,186 +7280,78 @@ "tslib": "^2.0.3" } }, - "node_modules/node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", - "engines": { - "node": "4.x || >=6.0.0" - } - }, - "node_modules/node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "dev": true, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/node-gyp": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", - "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", + "node_modules/node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", "dev": true, "dependencies": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.3", - "nopt": "^5.0.0", - "npmlog": "^4.1.2", - "request": "^2.88.2", - "rimraf": "^3.0.2", - "semver": "^7.3.2", - "tar": "^6.0.2", - "which": "^2.0.2" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": ">= 10.12.0" + "lodash": "^4.17.21" } }, - "node_modules/node-releases": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", - "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", - "dev": true - }, - "node_modules/node-sass": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-6.0.1.tgz", - "integrity": "sha512-f+Rbqt92Ful9gX0cGtdYwjTrWAaGURgaK5rZCWOgCNyGWusFYHhbqCCBoFBeat+HKETOU02AyTxNhJV0YZf2jQ==", + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", "dev": true, - "hasInstallScript": true, "dependencies": { - "async-foreach": "^0.1.3", - "chalk": "^1.1.1", - "cross-spawn": "^7.0.3", - "gaze": "^1.0.0", - "get-stdin": "^4.0.1", - "glob": "^7.0.3", - "lodash": "^4.17.15", - "meow": "^9.0.0", - "nan": "^2.13.2", - "node-gyp": "^7.1.0", - "npmlog": "^4.0.0", - "request": "^2.88.0", - "sass-graph": "2.2.5", - "stdout-stream": "^1.4.0", - "true-case-path": "^1.0.2" - }, - "bin": { - "node-sass": "bin/node-sass" + "whatwg-url": "^5.0.0" }, "engines": { - "node": ">=12" - } - }, - "node_modules/node-sass/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/node-sass/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/node-sass/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "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" + "node": "4.x || >=6.0.0" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/node-sass/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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, - "node_modules/node-sass/node_modules/get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", + "dev": true }, - "node_modules/node-sass/node_modules/strip-ansi": { + "node_modules/node-fetch/node_modules/webidl-conversions": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/node-sass/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", + "dev": true }, - "node_modules/nopt": { + "node_modules/node-fetch/node_modules/whatwg-url": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", "dev": true, "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": ">=6" + "tr46": "~0.0.3", + "webidl-conversions": "^3.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==", + "node_modules/node-forge": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.0.tgz", + "integrity": "sha512-08ARB91bUi6zNKzVmaj3QO7cr397uiDT2nJ63cHjyNtCTWIgvS47j3eT0WfzUwS9+6Z5YshRaoasFkXCKrIYbA==", "dev": true, - "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, "engines": { - "node": ">=10" + "node": ">= 6.13.0" } }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz", + "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==", + "dev": true + }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -6259,36 +7362,15 @@ } }, "node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "dependencies": { - "path-key": "^2.0.0" + "path-key": "^3.0.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/npm-run-path/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, - "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "node": ">=8" } }, "node_modules/nth-check": { @@ -6303,23 +7385,11 @@ "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true, - "engines": { - "node": "*" - } + "node_modules/nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true }, "node_modules/object-assign": { "version": "4.1.1", @@ -6330,9 +7400,9 @@ } }, "node_modules/object-inspect": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", - "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -6378,23 +7448,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", - "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - }, - "engines": { - "node": ">= 0.8" - }, - "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", @@ -6431,15 +7484,6 @@ "wrappy": "1" } }, - "node_modules/onecolor": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/onecolor/-/onecolor-2.5.0.tgz", - "integrity": "sha1-Ila2UdyAfBAfAK7b1JklxXpEMcE=", - "dev": true, - "engines": { - "node": ">=0.4.8" - } - }, "node_modules/onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", @@ -6489,48 +7533,6 @@ "node": ">= 0.8.0" } }, - "node_modules/os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/p-event": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", - "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", - "dev": true, - "dependencies": { - "p-timeout": "^3.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -6586,18 +7588,6 @@ "node": ">=8" } }, - "node_modules/p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", - "dev": true, - "dependencies": { - "p-finally": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -6607,12 +7597,6 @@ "node": ">=6" } }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, "node_modules/param-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", @@ -6653,6 +7637,12 @@ "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==", + "dev": true + }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -6720,12 +7710,6 @@ "node": ">=8" } }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -6733,9 +7717,9 @@ "dev": true }, "node_modules/picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "engines": { "node": ">=8.6" @@ -6744,6 +7728,15 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, "node_modules/pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -6756,15 +7749,6 @@ "node": ">=8" } }, - "node_modules/pkginfo": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", - "integrity": "sha1-tUGO8EOd5UJfxJlQQtztFPsqhP8=", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/portfinder": { "version": "1.0.28", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", @@ -6779,52 +7763,37 @@ "node": ">= 0.12.0" } }, - "node_modules/portfinder/node_modules/async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dev": true, - "dependencies": { - "lodash": "^4.17.14" - } - }, "node_modules/portfinder/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/portfinder/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" + "dependencies": { + "ms": "^2.1.1" } }, "node_modules/postcss": { - "version": "8.3.11", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.11.tgz", - "integrity": "sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA==", + "version": "8.4.12", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz", + "integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], "dependencies": { - "nanoid": "^3.1.30", + "nanoid": "^3.3.1", "picocolors": "^1.0.0", - "source-map-js": "^0.6.2" + "source-map-js": "^1.0.2" }, "engines": { "node": "^10 || ^12 || >=14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" } }, "node_modules/postcss-modules-extract-imports": { @@ -6887,9 +7856,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", - "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz", + "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -6900,9 +7869,9 @@ } }, "node_modules/postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, "node_modules/prelude-ls": { @@ -6915,9 +7884,9 @@ } }, "node_modules/prettier": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.4.1.tgz", - "integrity": "sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.1.tgz", + "integrity": "sha512-8UVbTBYGwN37Bs9LERmxCPjdvPxlEowx2urIL6urHzdb3SDq4B/Z6xLFCblrSnE4iKWcS6ziJ3aOYrc1kz/E2A==", "dev": true, "peer": true, "bin": { @@ -6925,6 +7894,9 @@ }, "engines": { "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, "node_modules/prettier-linter-helpers": { @@ -6949,6 +7921,32 @@ "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==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -6964,32 +7962,39 @@ "node": ">=0.4.0" } }, - "node_modules/prompt": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/prompt/-/prompt-0.2.14.tgz", - "integrity": "sha1-V3VPZPVD/XsIRXB8gY7OYY8F/9w=", + "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==", "dev": true, "dependencies": { - "pkginfo": "0.x.x", - "read": "1.0.x", - "revalidator": "0.1.x", - "utile": "0.2.x", - "winston": "0.8.x" + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" }, "engines": { - "node": ">= 0.6.6" + "node": ">= 6" } }, "node_modules/prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "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.8.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/property-expr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.5.tgz", + "integrity": "sha512-IJUkICM5dP5znhCckHSv30Q4b5/JA5enCtkRHYaOVOAocnH/1BQEYTC5NMfT3AVl/iXKdr3aqQbQn9DxyWknwA==" + }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -7012,12 +8017,6 @@ "node": ">= 0.10" } }, - "node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, "node_modules/psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", @@ -7034,39 +8033,15 @@ } }, "node_modules/qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", "dev": true, "engines": { "node": ">=0.6" - } - }, - "node_modules/query-string": { - "version": "6.14.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz", - "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==", - "dependencies": { - "decode-uri-component": "^0.2.0", - "filter-obj": "^1.1.0", - "split-on-first": "^1.0.0", - "strict-uri-encode": "^2.0.0" - }, - "engines": { - "node": ">=6" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "dev": true, - "engines": { - "node": ">=0.4.x" + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/queue-microtask": { @@ -7089,15 +8064,6 @@ } ] }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -7117,13 +8083,13 @@ } }, "node_modules/raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz", + "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==", "dev": true, "dependencies": { - "bytes": "3.1.0", - "http-errors": "1.7.2", + "bytes": "3.1.2", + "http-errors": "1.8.1", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, @@ -7132,9 +8098,9 @@ } }, "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, "engines": { "node": ">= 0.8" @@ -7167,113 +8133,40 @@ "react": "^16.14.0" } }, - "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/read": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", - "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", - "dev": true, - "dependencies": { - "mute-stream": "~0.0.4" - }, - "engines": { - "node": ">=0.8" - } - }, - "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==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "node_modules/react-error-boundary": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz", + "integrity": "sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==", "dev": true, "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" + "@babel/runtime": "^7.12.5" }, "engines": { - "node": ">=8" + "node": ">=10", + "npm": ">=6" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" + "peerDependencies": { + "react": ">=16.13.1" } }, - "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/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, - "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==", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/read-pkg/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "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" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, "node_modules/readdirp": { @@ -7313,10 +8206,24 @@ "node": ">=8" } }, + "node_modules/reduce-flatten": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", + "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + }, "node_modules/regexp.prototype.flags": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", - "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz", + "integrity": "sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==", "dev": true, "dependencies": { "call-bind": "^1.0.2", @@ -7350,12 +8257,6 @@ "node": ">= 0.10" } }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, "node_modules/renderkid": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", @@ -7369,38 +8270,6 @@ "strip-ansi": "^6.0.1" } }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dev": true, - "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" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -7419,12 +8288,6 @@ "node": ">=0.10.0" } }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -7432,13 +8295,17 @@ "dev": true }, "node_modules/resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", "dev": true, "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -7474,6 +8341,15 @@ "node": ">=4" } }, + "node_modules/resolve.exports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", + "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/retry": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", @@ -7493,15 +8369,6 @@ "node": ">=0.10.0" } }, - "node_modules/revalidator": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz", - "integrity": "sha1-/s5hv6DBtSoga9axgZgYS91SOjs=", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -7552,25 +8419,27 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, - "node_modules/sass-graph": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", - "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", + "node_modules/sass": { + "version": "1.49.9", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.49.9.tgz", + "integrity": "sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A==", "dev": true, "dependencies": { - "glob": "^7.0.0", - "lodash": "^4.0.0", - "scss-tokenizer": "^0.2.3", - "yargs": "^13.3.2" + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" }, "bin": { - "sassgraph": "bin/sassgraph" + "sass": "sass.js" + }, + "engines": { + "node": ">=12.0.0" } }, "node_modules/sass-loader": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.3.0.tgz", - "integrity": "sha512-6l9qwhdOb7qSrtOu96QQ81LVl8v6Dp9j1w3akOm0aWHyrTYtagDt5+kS32N4yq4hHk3M+rdqoRMH+lIdqvW6HA==", + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", + "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", "dev": true, "dependencies": { "klona": "^2.0.4", @@ -7585,8 +8454,9 @@ }, "peerDependencies": { "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.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": { @@ -7598,14 +8468,23 @@ }, "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==", - "dev": true + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } }, "node_modules/scheduler": { "version": "0.19.1", @@ -7636,9 +8515,9 @@ } }, "node_modules/schema-utils/node_modules/ajv": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.1.tgz", - "integrity": "sha512-6CiMNDrzv0ZR916u2T+iRunnD60uWmNn8SkdB44/6stVORUg0aAkWO7PkOhpCmjmW8f2I/G/xnowD66fxGyQJg==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", @@ -7652,15 +8531,15 @@ } }, "node_modules/schema-utils/node_modules/ajv-keywords": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.0.0.tgz", - "integrity": "sha512-ULd1QMjRoH6JDNUQIfDLrlE+OgZlFaxyYCjzt58uNuUQtKXt8/U+vK/8Ql0gyn/C5mqZzUWtKMqr/4YquvTrWA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.3" }, "peerDependencies": { - "ajv": "^8.0.0" + "ajv": "^8.8.2" } }, "node_modules/schema-utils/node_modules/json-schema-traverse": { @@ -7669,28 +8548,6 @@ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, - "node_modules/scss-tokenizer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", - "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", - "dev": true, - "dependencies": { - "js-base64": "^2.1.8", - "source-map": "^0.4.2" - } - }, - "node_modules/scss-tokenizer/node_modules/source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "dependencies": { - "amdefine": ">=0.0.4" - }, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", @@ -7698,12 +8555,15 @@ "dev": true }, "node_modules/selfsigned": { - "version": "1.10.11", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", - "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz", + "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==", "dev": true, "dependencies": { - "node-forge": "^0.10.0" + "node-forge": "^1" + }, + "engines": { + "node": ">=10" } }, "node_modules/semver": { @@ -7722,9 +8582,9 @@ } }, "node_modules/send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", + "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", "dev": true, "dependencies": { "debug": "2.6.9", @@ -7734,9 +8594,9 @@ "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.7.2", + "http-errors": "1.8.1", "mime": "1.6.0", - "ms": "2.1.1", + "ms": "2.1.3", "on-finished": "~2.3.0", "range-parser": "~1.2.1", "statuses": "~1.5.0" @@ -7761,9 +8621,9 @@ "dev": true }, "node_modules/send/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, "node_modules/serialize-javascript": { @@ -7836,30 +8696,24 @@ "dev": true }, "node_modules/serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", + "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", "dev": true, "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.1" + "send": "0.17.2" }, "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": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, "node_modules/setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true }, "node_modules/shallow-clone": { @@ -7895,18 +8749,6 @@ "node": ">=8" } }, - "node_modules/shelljs": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz", - "integrity": "sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM=", - "dev": true, - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", @@ -7921,9 +8763,15 @@ } }, "node_modules/signal-exit": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", - "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", "dev": true }, "node_modules/slash": { @@ -7955,95 +8803,56 @@ "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/slice-ansi/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/sockjs": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", - "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", "dev": true, "dependencies": { "faye-websocket": "^0.11.3", - "uuid": "^3.4.0", + "uuid": "^8.3.2", "websocket-driver": "^0.7.4" } }, "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-js": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", - "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "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==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "node_modules/source-map-resolve": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", "dev": true, "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0" } }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/spdx-license-ids": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", - "dev": true - }, "node_modules/spdy": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", @@ -8074,66 +8883,31 @@ "wbuf": "^1.7.3" } }, - "node_modules/spdy-transport/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/split-on-first": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", - "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", - "engines": { - "node": ">=6" - } - }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, - "node_modules/sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "node_modules/stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", "dev": true, "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" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" + "escape-string-regexp": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "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==", "dev": true, "engines": { - "node": "*" + "node": ">=8" } }, "node_modules/statuses": { @@ -8145,65 +8919,60 @@ "node": ">= 0.6" } }, - "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==", + "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==", "dev": true, "dependencies": { - "readable-stream": "^2.0.1" - } - }, - "node_modules/strict-uri-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", - "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=", - "engines": { - "node": ">=4" + "safe-buffer": "~5.2.0" } }, - "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==", + "node_modules/string_decoder/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==", "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } + "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/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "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==", "dev": true, "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "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==", "dev": true, "dependencies": { - "ansi-regex": "^2.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/string.fromcodepoint": { @@ -8272,13 +9041,13 @@ "node": ">=8" } }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "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==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/strip-final-newline": { @@ -8342,10 +9111,41 @@ "node": ">=8" } }, + "node_modules/supports-hyperlinks": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", + "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, "node_modules/table": { - "version": "6.7.3", - "resolved": "https://registry.npmjs.org/table/-/table-6.7.3.tgz", - "integrity": "sha512-5DkIxeA7XERBqMwJq0aHZOdMadBx4e6eDoFRuyT5VR82J0Ycg2DwM6GfA/EQAhJ+toRTaS1lIdSQCqgrmhPnlw==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", + "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", "dev": true, "dependencies": { "ajv": "^8.0.1", @@ -8358,10 +9158,43 @@ "node": ">=10.0.0" } }, + "node_modules/table-layout": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", + "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==", + "dev": true, + "dependencies": { + "array-back": "^4.0.1", + "deep-extend": "~0.6.0", + "typical": "^5.2.0", + "wordwrapjs": "^4.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/table-layout/node_modules/array-back": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", + "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/table-layout/node_modules/typical": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/table/node_modules/ajv": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.1.tgz", - "integrity": "sha512-6CiMNDrzv0ZR916u2T+iRunnD60uWmNn8SkdB44/6stVORUg0aAkWO7PkOhpCmjmW8f2I/G/xnowD66fxGyQJg==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", @@ -8374,41 +9207,12 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/table/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==", - "dev": true - }, - "node_modules/table/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/table/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==", "dev": true }, - "node_modules/table/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==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -8418,48 +9222,47 @@ "node": ">=6" } }, - "node_modules/tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "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==", "dev": true, "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" + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" }, "engines": { - "node": ">= 10" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "node_modules/terser": { + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz", + "integrity": "sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==", "dev": true, "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" }, "engines": { - "node": ">= 0.8.0" + "node": ">=10" } }, "node_modules/terser-webpack-plugin": { - "version": "5.2.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.5.tgz", - "integrity": "sha512-3luOVHku5l0QBeYS8r4CdHYWEGMmIj3H1U64jgkdZzECcSOJAyJ9TjuqcQZvw1Y+4AOBN9SeYJPJmFn2cM4/2g==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz", + "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==", "dev": true, "dependencies": { - "jest-worker": "^27.0.6", + "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.0", "source-map": "^0.6.1", @@ -8487,26 +9290,6 @@ } } }, - "node_modules/terser-webpack-plugin/node_modules/acorn": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz", - "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==", - "dev": true, - "optional": true, - "peer": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/terser-webpack-plugin/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==", - "dev": true - }, "node_modules/terser-webpack-plugin/node_modules/schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", @@ -8515,164 +9298,79 @@ "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-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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/terser": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz", - "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", - "dev": true, - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "acorn": "^8.5.0" - }, - "peerDependenciesMeta": { - "acorn": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/terser/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "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": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "node_modules/tfx-cli": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/tfx-cli/-/tfx-cli-0.9.3.tgz", - "integrity": "sha512-9f5iWGAs3wSNBEgyQB8K0RyhdGNPQp5CuJ0xHOxye1F8cmkMRxGyh5s+0yIJY0NMGDC/aA7Kb1NirBHj/3G4Vw==", - "dev": true, - "dependencies": { - "app-root-path": "1.0.0", - "archiver": "2.0.3", - "async": "^1.4.0", - "azure-devops-node-api": "^8.1.1", - "clipboardy": "~1.2.3", - "colors": "~1.3.0", - "glob": "7.1.2", - "jju": "^1.4.0", - "json-in-place": "^1.0.1", - "jszip": "~3.1.5", - "lodash": "~4.17.11", - "minimist": "^1.1.2", - "mkdirp": "^0.5.1", - "onecolor": "^2.5.0", - "os-homedir": "^1.0.1", - "prompt": "^0.2.14", - "read": "^1.0.6", - "shelljs": "^0.5.1", - "tmp": "0.0.26", - "tracer": "0.7.4", - "util.promisify": "^1.0.0", - "uuid": "^3.0.1", - "validator": "^3.43.0", - "winreg": "0.0.12", - "xml2js": "^0.4.16" - }, - "bin": { - "tfx": "_build/tfx-cli.js" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/tfx-cli/node_modules/glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "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" + "ajv-keywords": "^3.5.2" }, "engines": { - "node": "*" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/tfx-cli/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "node_modules/terser/node_modules/acorn": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, "bin": { - "mkdirp": "bin/cmd.js" + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, - "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/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==", "dev": true }, - "node_modules/tinytim": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/tinytim/-/tinytim-0.1.1.tgz", - "integrity": "sha1-yWih5VWa2VUyJO92J7qzTjyu+Kg=", + "node_modules/terser/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", "dev": true, "engines": { - "node": ">= 0.2.0" + "node": ">= 8" } }, - "node_modules/tmp": { - "version": "0.0.26", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.26.tgz", - "integrity": "sha1-nvqCDOKhD4H4l5VVus4/FVJs4fI=", + "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==", "dev": true, "dependencies": { - "os-tmpdir": "~1.0.0" + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" }, "engines": { - "node": ">=0.4.0" + "node": ">=8" } }, - "node_modules/to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/throat": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", + "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", + "dev": true + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true }, "node_modules/to-fast-properties": { @@ -8697,72 +9395,92 @@ } }, "node_modules/toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true, "engines": { "node": ">=0.6" } }, + "node_modules/toposort": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", + "integrity": "sha1-riF2gXXRVZ1IvvNUILL0li8JwzA=" + }, "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", "dev": true, "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" }, "engines": { - "node": ">=0.8" + "node": ">=6" } }, - "node_modules/tracer": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/tracer/-/tracer-0.7.4.tgz", - "integrity": "sha1-d/oEN8+Ct2vNvNRLhHRHcuWeUlk=", + "node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", "dev": true, "dependencies": { - "colors": "1.0.3", - "dateformat": "1.0.11", - "tinytim": "0.1.1" + "punycode": "^2.1.1" }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/tracer/node_modules/colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", - "dev": true, - "engines": { - "node": ">=0.1.90" - } - }, - "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==", - "dev": true, "engines": { "node": ">=8" } }, - "node_modules/true-case-path": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", - "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "node_modules/ts-jest": { + "version": "27.1.4", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.1.4.tgz", + "integrity": "sha512-qjkZlVPWVctAezwsOD1OPzbZ+k7zA5z3oxII4dGdZo5ggX/PL7kvwTM0pXTr10fAtbiVpJaL3bWd502zAhpgSQ==", "dev": true, "dependencies": { - "glob": "^7.1.2" + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^27.0.0", + "json5": "2.x", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "20.x" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@types/jest": "^27.0.0", + "babel-jest": ">=27.0.0 <28", + "jest": "^27.0.0", + "typescript": ">=3.8 <5.0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@types/jest": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } } }, "node_modules/ts-loader": { - "version": "9.2.6", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.6.tgz", - "integrity": "sha512-QMTC4UFzHmu9wU2VHZEmWWE9cUajjfcdcws+Gh7FhiO+Dy0RnR1bNz0YCHqhI0yRowCE9arVnNxYHqELOy9Hjw==", + "version": "9.2.8", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.8.tgz", + "integrity": "sha512-gxSak7IHUuRtwKf3FIPSW1VpZcqF9+MBrHOvBp9cjHh+525SjtCIJKVGjRKIAfxBwDGDGCFF00rTfzB1quxdSw==", "dev": true, "dependencies": { "chalk": "^4.1.0", @@ -8804,33 +9522,6 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, - "node_modules/tunnel": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.4.tgz", - "integrity": "sha1-LTeFoVjBdMmhbcLARuxfxfF0IhM=", - "dev": true, - "engines": { - "node": ">=0.6.11 <=0.7.0 || >=0.7.3" - } - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -8843,6 +9534,15 @@ "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==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", @@ -8868,20 +9568,19 @@ "node": ">= 0.6" } }, - "node_modules/typed-rest-client": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.2.0.tgz", - "integrity": "sha512-FrUshzZ1yxH8YwGR29PWWnfksLEILbWJydU7zfIRkyH7kAEzB62uMAl2WY6EyolWpLpVHeJGgQm45/MaruaHpw==", + "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==", "dev": true, "dependencies": { - "tunnel": "0.0.4", - "underscore": "1.8.3" + "is-typedarray": "^1.0.0" } }, "node_modules/typescript": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz", - "integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==", + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", + "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -8891,6 +9590,15 @@ "node": ">=4.2.0" } }, + "node_modules/typical": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", + "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/unbox-primitive": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", @@ -8905,12 +9613,21 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=", + "node_modules/universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", "dev": true }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -8929,97 +9646,18 @@ "punycode": "^2.1.0" } }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "node_modules/util.promisify": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", - "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", - "dev": true, - "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" - }, - "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": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", "dev": true }, - "node_modules/utile": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz", - "integrity": "sha1-kwyI6ZCY1iIINMNWy9mncFItkNc=", - "dev": true, - "dependencies": { - "async": "~0.2.9", - "deep-equal": "*", - "i": "0.3.x", - "mkdirp": "0.x.x", - "ncp": "0.4.x", - "rimraf": "2.x.x" - }, - "engines": { - "node": ">= 0.6.4" - } - }, - "node_modules/utile/node_modules/async": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", - "dev": true - }, - "node_modules/utile/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/utile/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", @@ -9030,13 +9668,11 @@ } }, "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "bin": { - "uuid": "bin/uuid" + "uuid": "dist/bin/uuid" } }, "node_modules/v8-compile-cache": { @@ -9045,23 +9681,27 @@ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, - "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==", + "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==", "dev": true, "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "@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/validator": { - "version": "3.43.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-3.43.0.tgz", - "integrity": "sha1-lkZLmS1BloM9l6GUv0Cxn/VLrgU=", + "node_modules/v8-to-istanbul/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", "dev": true, "engines": { - "node": ">= 0.10" + "node": ">= 8" } }, "node_modules/vary": { @@ -9073,39 +9713,40 @@ "node": ">= 0.8" } }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "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==", "dev": true, - "engines": [ - "node >=0.6.0" - ], "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "browser-process-hrtime": "^1.0.0" } }, - "node_modules/verror/node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "node_modules/walkdir": { - "version": "0.0.11", - "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz", - "integrity": "sha1-oW0CXrkxvQO1LzCMrtD0D86+lTI=", + "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==", "dev": true, + "dependencies": { + "xml-name-validator": "^3.0.0" + }, "engines": { - "node": ">=0.6.0" + "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==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" } }, "node_modules/watchpack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", - "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", + "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -9124,14 +9765,23 @@ "minimalistic-assert": "^1.0.0" } }, + "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==", + "dev": true, + "engines": { + "node": ">=10.4" + } + }, "node_modules/webpack": { - "version": "5.64.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.64.1.tgz", - "integrity": "sha512-b4FHmRgaaAjP+aVOVz41a9Qa5SmkUPQ+u8FntTQ1roPHahSComB6rXnLwc976VhUY4CqTaLu5mCswuHiNhOfVw==", + "version": "5.70.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz", + "integrity": "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==", "dev": true, "dependencies": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.50", + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/wasm-edit": "1.11.1", "@webassemblyjs/wasm-parser": "1.11.1", @@ -9139,12 +9789,12 @@ "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.3", + "enhanced-resolve": "^5.9.2", "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.4", + "graceful-fs": "^4.2.9", "json-parse-better-errors": "^1.0.2", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", @@ -9152,8 +9802,8 @@ "schema-utils": "^3.1.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.2.0", - "webpack-sources": "^3.2.2" + "watchpack": "^2.3.1", + "webpack-sources": "^3.2.3" }, "bin": { "webpack": "bin/webpack.js" @@ -9172,15 +9822,15 @@ } }, "node_modules/webpack-cli": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz", - "integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==", + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz", + "integrity": "sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==", "dev": true, "dependencies": { "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.1.0", - "@webpack-cli/info": "^1.4.0", - "@webpack-cli/serve": "^1.6.0", + "@webpack-cli/configtest": "^1.1.1", + "@webpack-cli/info": "^1.4.1", + "@webpack-cli/serve": "^1.6.1", "colorette": "^2.0.14", "commander": "^7.0.0", "execa": "^5.0.0", @@ -9218,78 +9868,19 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/webpack-cli/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/webpack-cli/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==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/webpack-cli/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==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/webpack-cli/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==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, + "dev": true, "engines": { - "node": ">=8" + "node": ">= 10" } }, "node_modules/webpack-dev-middleware": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.2.2.tgz", - "integrity": "sha512-DjZyYrsHhkikAFNvSNKrpnziXukU1EChFAh9j4LAm6ndPLPW8cN0KhM7T+RAiOqsQ6ABfQ8hoKIs9IWMTjov+w==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.1.tgz", + "integrity": "sha512-81EujCKkyles2wphtdrnPg/QqegC/AtqNH//mQkBYSMqwFVCQrxM6ktB2O/SPlZy7LqeEfTbV3cZARGQz6umhg==", "dev": true, "dependencies": { "colorette": "^2.0.10", - "memfs": "^3.2.2", + "memfs": "^3.4.1", "mime-types": "^2.1.31", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" @@ -9306,36 +9897,41 @@ } }, "node_modules/webpack-dev-server": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.5.0.tgz", - "integrity": "sha512-Ss4WptsUjYa+3hPI4iYZYEc8FrtnfkaPrm5WTjk9ux5kiCS718836srs0ppKMHRaCHP5mQ6g4JZGcfDdGbCjpQ==", + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.7.4.tgz", + "integrity": "sha512-nfdsb02Zi2qzkNmgtZjkrMOcXnYZ6FLKcQwpxT7MvmHKc+oTtDsBju8j+NMyAygZ9GW1jMEUpy3itHtqgEhe1A==", "dev": true, "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/sockjs": "^0.3.33", + "@types/ws": "^8.2.2", "ansi-html-community": "^0.0.8", "bonjour": "^3.5.0", - "chokidar": "^3.5.2", + "chokidar": "^3.5.3", "colorette": "^2.0.10", "compression": "^1.7.4", "connect-history-api-fallback": "^1.6.0", + "default-gateway": "^6.0.3", "del": "^6.0.0", "express": "^4.17.1", "graceful-fs": "^4.2.6", "html-entities": "^2.3.2", "http-proxy-middleware": "^2.0.0", - "internal-ip": "^6.2.0", "ipaddr.js": "^2.0.1", "open": "^8.0.9", "p-retry": "^4.5.0", "portfinder": "^1.0.28", - "schema-utils": "^3.1.0", - "selfsigned": "^1.10.11", + "schema-utils": "^4.0.0", + "selfsigned": "^2.0.0", "serve-index": "^1.9.1", "sockjs": "^0.3.21", "spdy": "^4.0.2", "strip-ansi": "^7.0.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^5.2.1", - "ws": "^8.1.0" + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.4.2" }, "bin": { "webpack-dev-server": "bin/webpack-dev-server.js" @@ -9364,1213 +9960,1649 @@ "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/webpack-dev-server/node_modules/schema-utils": { + "node_modules/webpack-dev-server/node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", + "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", + "dev": true, + "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-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.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==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/acorn": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack/node_modules/acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/webpack/node_modules/schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "@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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.1.tgz", + "integrity": "sha512-gPeS9Ef8bSigQwAZiSbQyyU/sBQP1Qo6r112A2shGw5B6+4YT1D8O0oXXwF3zgXXLrrfxbIeP8fM3JmsoWU4Vw==" + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/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/wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wordwrapjs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz", + "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==", + "dev": true, + "dependencies": { + "reduce-flatten": "^2.0.0", + "typical": "^5.2.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/wordwrapjs/node_modules/typical": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "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": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", + "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==", + "dev": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", + "integrity": "sha1-eLpyAgApxbyHuKgaPPzXS0ovweU=", + "dev": 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==", + "dev": true + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=10" } }, - "node_modules/webpack-dev-server/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "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==", "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yup": { + "version": "0.32.11", + "resolved": "https://registry.npmjs.org/yup/-/yup-0.32.11.tgz", + "integrity": "sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg==", "dependencies": { - "ansi-regex": "^6.0.1" + "@babel/runtime": "^7.15.4", + "@types/lodash": "^4.14.175", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "nanoclone": "^0.2.1", + "property-expr": "^2.0.4", + "toposort": "^2.0.2" }, "engines": { - "node": ">=12" + "node": ">=10" + } + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", + "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.0" + } + }, + "@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.16.7" + } + }, + "@babel/compat-data": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz", + "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==", + "dev": true + }, + "@babel/core": { + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.8.tgz", + "integrity": "sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.7", + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helpers": "^7.17.8", + "@babel/parser": "^7.17.8", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.3", + "@babel/types": "^7.17.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0" }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, - "node_modules/webpack-merge": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", - "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "@babel/generator": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz", + "integrity": "sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==", "dev": true, + "requires": { + "@babel/types": "^7.17.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, "dependencies": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-compilation-targets": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz", + "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-validator-option": "^7.16.7", + "browserslist": "^4.17.5", + "semver": "^6.3.0" }, - "engines": { - "node": ">=10.0.0" + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, - "node_modules/webpack-sources": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.2.tgz", - "integrity": "sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw==", + "@babel/helper-environment-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", + "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", "dev": true, - "engines": { - "node": ">=10.13.0" + "requires": { + "@babel/types": "^7.16.7" } }, - "node_modules/webpack/node_modules/acorn": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz", - "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==", + "@babel/helper-function-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", + "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" + "requires": { + "@babel/helper-get-function-arity": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/types": "^7.16.7" } }, - "node_modules/webpack/node_modules/acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "@babel/helper-get-function-arity": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", + "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", "dev": true, - "peerDependencies": { - "acorn": "^8" + "requires": { + "@babel/types": "^7.16.7" } }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "@babel/helper-hoist-variables": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", "dev": true, - "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" + "requires": { + "@babel/types": "^7.16.7" } }, - "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==", + "@babel/helper-module-imports": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", + "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", "dev": true, - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" + "requires": { + "@babel/types": "^7.16.7" } }, - "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==", + "@babel/helper-module-transforms": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz", + "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==", "dev": true, - "engines": { - "node": ">=0.8.0" + "requires": { + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.3", + "@babel/types": "^7.17.0" } }, - "node_modules/whatwg-fetch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.1.tgz", - "integrity": "sha512-gPeS9Ef8bSigQwAZiSbQyyU/sBQP1Qo6r112A2shGw5B6+4YT1D8O0oXXwF3zgXXLrrfxbIeP8fM3JmsoWU4Vw==" + "@babel/helper-plugin-utils": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", + "dev": true }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "@babel/helper-simple-access": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", + "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" + "requires": { + "@babel/types": "^7.17.0" } }, - "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" + "@babel/helper-split-export-declaration": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" } }, - "node_modules/which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", + "dev": true + }, + "@babel/helpers": { + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz", + "integrity": "sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==", "dev": true, - "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" + "requires": { + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.3", + "@babel/types": "^7.17.0" + } + }, + "@babel/highlight": { + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", + "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "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==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "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==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "@babel/parser": { + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz", + "integrity": "sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==", "dev": true }, - "node_modules/which-typed-array": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.7.tgz", - "integrity": "sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw==", + "@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==", "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-abstract": "^1.18.5", - "foreach": "^2.0.5", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "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==", + "@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==", "dev": true, - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "dev": true - }, - "node_modules/winreg": { - "version": "0.0.12", - "resolved": "https://registry.npmjs.org/winreg/-/winreg-0.0.12.tgz", - "integrity": "sha1-BxBVVLoanQiXklHRKUdb/64wBrc=", - "dev": true - }, - "node_modules/winston": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/winston/-/winston-0.8.3.tgz", - "integrity": "sha1-ZLar9M0Brcrv1QCTk7HY6L7BnbA=", + "@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==", "dev": true, - "dependencies": { - "async": "0.2.x", - "colors": "0.6.x", - "cycle": "1.0.x", - "eyes": "0.1.x", - "isstream": "0.1.x", - "pkginfo": "0.3.x", - "stack-trace": "0.0.x" - }, - "engines": { - "node": ">= 0.6.0" + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" } }, - "node_modules/winston/node_modules/async": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", - "dev": true - }, - "node_modules/winston/node_modules/colors": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", - "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=", + "@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==", "dev": true, - "engines": { - "node": ">=0.1.90" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/winston/node_modules/pkginfo": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz", - "integrity": "sha1-Wyn2qB9wcXFC4J52W76rl7T4HiE=", + "@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==", "dev": true, - "engines": { - "node": ">= 0.4.0" + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" } }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "@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==", "dev": true, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "@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==", "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" } }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "@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==", "dev": true, - "engines": { - "node": ">=6" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/wrap-ansi/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==", + "@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==", "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" } }, - "node_modules/wrap-ansi/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==", + "@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==", "dev": true, - "dependencies": { - "color-name": "1.1.3" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "@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==", "dev": true, - "engines": { - "node": ">=4" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "@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==", "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "@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==", "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "node_modules/ws": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", - "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", + "@babel/plugin-syntax-typescript": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", + "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==", "dev": true, - "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 - } + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" } }, - "node_modules/xml2js": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", - "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", - "dev": true, - "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - }, - "engines": { - "node": ">=4.0.0" + "@babel/runtime": { + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.8.tgz", + "integrity": "sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA==", + "requires": { + "regenerator-runtime": "^0.13.4" } }, - "node_modules/xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "@babel/template": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", "dev": true, - "engines": { - "node": ">=4.0" + "requires": { + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" } }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "@babel/traverse": { + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz", + "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.3", + "@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.17.3", + "@babel/types": "^7.17.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "dependencies": { + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", + "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", "dev": true, - "engines": { - "node": ">=0.4" + "requires": { + "@babel/helper-validator-identifier": "^7.16.7", + "to-fast-properties": "^2.0.0" } }, - "node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", "dev": true }, - "node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", "dev": true, - "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" + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" } }, - "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==", - "dev": true, - "engines": { - "node": ">=10" + "@fluentui/date-time-utilities": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-8.5.0.tgz", + "integrity": "sha512-SddqPNEA5PBxZLvRY9ej2//iTzNWFqBt9kZ9rjieBlRtFPjztnDV10Zq3xlR6ss79dwkiP+S+SP4SmI2xuckHA==", + "requires": { + "@fluentui/set-version": "^8.2.0", + "tslib": "^2.1.0" } }, - "node_modules/yargs/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true, - "engines": { - "node": ">=6" + "@fluentui/dom-utilities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-2.2.0.tgz", + "integrity": "sha512-M4SmXu428wwQLu1iw6ST07iACjdKY5HiU+xpcgD3IQMMQazgN616GDzc6KZ1ebuBsF7B4TyQS7KZh9mfxnnldg==", + "requires": { + "@fluentui/set-version": "^8.2.0", + "tslib": "^2.1.0" } }, - "node_modules/yargs/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==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" + "@fluentui/font-icons-mdl2": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/@fluentui/font-icons-mdl2/-/font-icons-mdl2-8.2.5.tgz", + "integrity": "sha512-IgzcoOm+hZMlYJBR1RFb3fner1IxdSLCsnsjkVUtfnwuvGq/zjqEpNgsk5eUG4dHlu3E9dDY86nLqfGJe8R6yw==", + "requires": { + "@fluentui/set-version": "^8.2.0", + "@fluentui/style-utilities": "^8.6.5", + "tslib": "^2.1.0" } }, - "node_modules/yargs/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" + "@fluentui/foundation-legacy": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/@fluentui/foundation-legacy/-/foundation-legacy-8.2.5.tgz", + "integrity": "sha512-PP8Wbw1QK9lmzReh+C7XG7A7Q3WTXAaxAMHjcBE3m2OPnhlF77Ok6IAJBkuKTWg0SZYQqJilTDSkVDnXVylGgQ==", + "requires": { + "@fluentui/merge-styles": "^8.5.0", + "@fluentui/set-version": "^8.2.0", + "@fluentui/style-utilities": "^8.6.5", + "@fluentui/utilities": "^8.8.1", + "tslib": "^2.1.0" } }, - "node_modules/yargs/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==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" + "@fluentui/keyboard-key": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.4.0.tgz", + "integrity": "sha512-2jcD23FzOPaSXqWtfOSCzopkKtxTXUFuHZyVt4aqVRDEjPbkQ/7p37O1WL95xweWTR/9fEPO/gPtv9kOnXrJcA==", + "requires": { + "tslib": "^2.1.0" } }, - "node_modules/yargs/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==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" + "@fluentui/merge-styles": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.5.0.tgz", + "integrity": "sha512-+WoaAaoYx/wfkrz1Ag40JqHvDUFfQcg+dQ3jaEOoau16y7EZGIe7oN8WYIXNMgWuMxH7r1QlanFbQZ+ziKjHmw==", + "requires": { + "@fluentui/set-version": "^8.2.0", + "tslib": "^2.1.0" } }, - "node_modules/yargs/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true, - "engines": { - "node": ">=4" + "@fluentui/react": { + "version": "8.62.4", + "resolved": "https://registry.npmjs.org/@fluentui/react/-/react-8.62.4.tgz", + "integrity": "sha512-vwN6fg5n8xxynnW0Cmjk4Qao+6OE/bOF8k1hoMdufkKTJx1VpRa1SZHMgHCh0/kXoXWQyBeyetcUOPjXw/sPlQ==", + "requires": { + "@fluentui/date-time-utilities": "^8.5.0", + "@fluentui/font-icons-mdl2": "^8.2.5", + "@fluentui/foundation-legacy": "^8.2.5", + "@fluentui/merge-styles": "^8.5.0", + "@fluentui/react-focus": "^8.5.6", + "@fluentui/react-hooks": "^8.5.3", + "@fluentui/react-window-provider": "^2.2.0", + "@fluentui/set-version": "^8.2.0", + "@fluentui/style-utilities": "^8.6.5", + "@fluentui/theme": "^2.6.4", + "@fluentui/utilities": "^8.8.1", + "@microsoft/load-themed-styles": "^1.10.26", + "tslib": "^2.1.0" + } + }, + "@fluentui/react-focus": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-8.5.6.tgz", + "integrity": "sha512-K4INgXiwlinLz0Msa5TQbhL3YoN1mtqXO3p7XChDKeIf0QepAUDTnmJCrtKXqzY5VuXauLXyqm2darcHFrotVw==", + "requires": { + "@fluentui/keyboard-key": "^0.4.0", + "@fluentui/merge-styles": "^8.5.0", + "@fluentui/set-version": "^8.2.0", + "@fluentui/style-utilities": "^8.6.5", + "@fluentui/utilities": "^8.8.1", + "tslib": "^2.1.0" + } + }, + "@fluentui/react-hooks": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@fluentui/react-hooks/-/react-hooks-8.5.3.tgz", + "integrity": "sha512-zWiiEp/vYmKIXhw/bIVH9BnPKLT3zgWt9ryi3Tp1VVgxLEDloomM7RgDn0e2P8HZvynYRRT8GKq3XJ8H3AzAUg==", + "requires": { + "@fluentui/react-window-provider": "^2.2.0", + "@fluentui/set-version": "^8.2.0", + "@fluentui/utilities": "^8.8.1", + "tslib": "^2.1.0" + } + }, + "@fluentui/react-window-provider": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-2.2.0.tgz", + "integrity": "sha512-1iZzfVQHZQn6IJSJD1pxnXi5H8T3vrZYi9aqKyVIPZ12DCTVE2gw8W3mnOjsfVuXMGdv1sA7dgd6v4xi9erBow==", + "requires": { + "@fluentui/set-version": "^8.2.0", + "tslib": "^2.1.0" } }, - "node_modules/yargs/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" + "@fluentui/set-version": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@fluentui/set-version/-/set-version-8.2.0.tgz", + "integrity": "sha512-bqjpfhqaIkBy16vdYzdc7tER9Td7BTcmC+kCXuqkHOQVuG9LJfqVGRV0DA857KLhOxiy0GXwKMeDbNV5jJf6qQ==", + "requires": { + "tslib": "^2.1.0" } }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" + "@fluentui/style-utilities": { + "version": "8.6.5", + "resolved": "https://registry.npmjs.org/@fluentui/style-utilities/-/style-utilities-8.6.5.tgz", + "integrity": "sha512-X0ZIreRdUlnJnRQmKtngWEbrqFuecBlEv9fkKoHJeu+27AD+AU9RPYgK4fd/QCJRFoTU9WzQJj9tWylTBK+kFA==", + "requires": { + "@fluentui/merge-styles": "^8.5.0", + "@fluentui/set-version": "^8.2.0", + "@fluentui/theme": "^2.6.4", + "@fluentui/utilities": "^8.8.1", + "@microsoft/load-themed-styles": "^1.10.26", + "tslib": "^2.1.0" } }, - "node_modules/yargs/node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "@fluentui/theme": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-2.6.4.tgz", + "integrity": "sha512-MXCY2Z5zc1nK5PCN6tqhI1nplX/LF+8lF8YsrSGvu6VDnHilxi4Rifv2dRc+jybNI13tZ50uteok2Je7jABcMA==", + "requires": { + "@fluentui/merge-styles": "^8.5.0", + "@fluentui/set-version": "^8.2.0", + "@fluentui/utilities": "^8.8.1", + "tslib": "^2.1.0" } }, - "node_modules/zip-stream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", - "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=", - "dev": true, - "dependencies": { - "archiver-utils": "^1.3.0", - "compress-commons": "^1.2.0", - "lodash": "^4.8.0", - "readable-stream": "^2.0.0" - }, - "engines": { - "node": ">= 0.10.0" + "@fluentui/utilities": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.8.1.tgz", + "integrity": "sha512-JtICpdTINvifiyjp/LxxuDiU8BMkU73mzAP/3mz5KIhqPn3QjKG9ZeaBLPpoUXNOP/I6i9AYbAQHDvQI/ZK5tg==", + "requires": { + "@fluentui/dom-utilities": "^2.2.0", + "@fluentui/merge-styles": "^8.5.0", + "@fluentui/set-version": "^8.2.0", + "tslib": "^2.1.0" } - } - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + }, + "@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", "dev": true, "requires": { - "@babel/highlight": "^7.10.4" + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" } }, - "@babel/compat-data": { - "version": "7.16.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.4.tgz", - "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==", + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, - "@babel/core": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.0.tgz", - "integrity": "sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.16.0", - "@babel/generator": "^7.16.0", - "@babel/helper-compilation-targets": "^7.16.0", - "@babel/helper-module-transforms": "^7.16.0", - "@babel/helpers": "^7.16.0", - "@babel/parser": "^7.16.0", - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.0", - "@babel/types": "^7.16.0", - "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" + "@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==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" }, "dependencies": { - "@babel/code-frame": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz", - "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==", - "dev": true, - "requires": { - "@babel/highlight": "^7.16.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true } } }, - "@babel/generator": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.0.tgz", - "integrity": "sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew==", + "@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==", + "dev": true + }, + "@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", "dev": true, "requires": { - "@babel/types": "^7.16.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@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": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + } } }, - "@babel/helper-compilation-targets": { - "version": "7.16.3", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz", - "integrity": "sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==", + "@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", "dev": true, "requires": { - "@babel/compat-data": "^7.16.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.17.5", - "semver": "^6.3.0" + "@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": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true } } }, - "@babel/helper-function-name": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz", - "integrity": "sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==", + "@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==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.16.0", - "@babel/template": "^7.16.0", - "@babel/types": "^7.16.0" + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" } }, - "@babel/helper-get-function-arity": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz", - "integrity": "sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==", + "@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==", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@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" } }, - "@babel/helper-hoist-variables": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz", - "integrity": "sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==", + "@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" } }, - "@babel/helper-member-expression-to-functions": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz", - "integrity": "sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ==", + "@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@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": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + } } }, - "@babel/helper-module-imports": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz", - "integrity": "sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==", + "@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==", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" } }, - "@babel/helper-module-transforms": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz", - "integrity": "sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA==", + "@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==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.16.0", - "@babel/helper-replace-supers": "^7.16.0", - "@babel/helper-simple-access": "^7.16.0", - "@babel/helper-split-export-declaration": "^7.16.0", - "@babel/helper-validator-identifier": "^7.15.7", - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.0", - "@babel/types": "^7.16.0" + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" } }, - "@babel/helper-optimise-call-expression": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz", - "integrity": "sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==", + "@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==", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" } }, - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - }, - "@babel/helper-replace-supers": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz", - "integrity": "sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA==", + "@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.16.0", - "@babel/helper-optimise-call-expression": "^7.16.0", - "@babel/traverse": "^7.16.0", - "@babel/types": "^7.16.0" + "@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": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + } } }, - "@babel/helper-simple-access": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz", - "integrity": "sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==", + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" } }, - "@babel/helper-split-export-declaration": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz", - "integrity": "sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==", + "@joachimdalen/azdevops-ext-core": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@joachimdalen/azdevops-ext-core/-/azdevops-ext-core-0.10.0.tgz", + "integrity": "sha512-jh3DzI2lFwHeahGy9U8ujN8xO6XHkjBb+4QKNlOdeqWaZXvJ7/ISSzQIxcT09SslWGOH69Dkisj3RozLFDuoDQ==", + "requires": {} + }, + "@joachimdalen/azext": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@joachimdalen/azext/-/azext-0.7.0.tgz", + "integrity": "sha512-/fsZymJV6q4mFkIns4bH71XIO/B8ZrM1ILfCGjoCK90mTYi42IlviHQu/VAsXj/2vzc44H1yL8R3fCouv0rfSw==", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@octokit/rest": "^18.12.0", + "chalk": "^4.1.2", + "command-line-args": "^5.2.0", + "command-line-usage": "^6.1.1", + "node-emoji": "^1.11.0" } }, - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", + "@jridgewell/resolve-uri": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", + "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==", "dev": true }, - "@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "@jridgewell/sourcemap-codec": { + "version": "1.4.11", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", + "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==", "dev": true }, - "@babel/helpers": { - "version": "7.16.3", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.3.tgz", - "integrity": "sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w==", + "@jridgewell/trace-mapping": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz", + "integrity": "sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==", "dev": true, "requires": { - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.3", - "@babel/types": "^7.16.0" + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "@babel/highlight": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz", - "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==", + "@microsoft/load-themed-styles": { + "version": "1.10.249", + "resolved": "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.249.tgz", + "integrity": "sha512-qrLdjIZ9znm2CUILAXuwyAcUvyBzSNaf8wIzaZf/ul2UKhww5xSI7pT7bIqWbuwn5SB+xOmIZrlRr3DyzuVBYQ==" + }, + "@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==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.15.7", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "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==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "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==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" } }, - "@babel/parser": { - "version": "7.16.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.4.tgz", - "integrity": "sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==", + "@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==", "dev": true }, - "@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==", + "@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==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@octokit/auth-token": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", + "dev": true, + "requires": { + "@octokit/types": "^6.0.3" + } + }, + "@octokit/core": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", + "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", + "dev": true, + "requires": { + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.3", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/endpoint": { + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" } }, - "@babel/template": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz", - "integrity": "sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==", + "@octokit/graphql": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", "dev": true, "requires": { - "@babel/code-frame": "^7.16.0", - "@babel/parser": "^7.16.0", - "@babel/types": "^7.16.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz", - "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==", - "dev": true, - "requires": { - "@babel/highlight": "^7.16.0" - } - } + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" } }, - "@babel/traverse": { - "version": "7.16.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.3.tgz", - "integrity": "sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.16.0", - "@babel/generator": "^7.16.0", - "@babel/helper-function-name": "^7.16.0", - "@babel/helper-hoist-variables": "^7.16.0", - "@babel/helper-split-export-declaration": "^7.16.0", - "@babel/parser": "^7.16.3", - "@babel/types": "^7.16.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz", - "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==", - "dev": true, - "requires": { - "@babel/highlight": "^7.16.0" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - } + "@octokit/openapi-types": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.2.0.tgz", + "integrity": "sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==", + "dev": true + }, + "@octokit/plugin-paginate-rest": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz", + "integrity": "sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw==", + "dev": true, + "requires": { + "@octokit/types": "^6.34.0" } }, - "@babel/types": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz", - "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==", + "@octokit/plugin-request-log": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", + "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", + "dev": true, + "requires": {} + }, + "@octokit/plugin-rest-endpoint-methods": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz", + "integrity": "sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.15.7", - "to-fast-properties": "^2.0.0" + "@octokit/types": "^6.34.0", + "deprecation": "^2.3.1" } }, - "@discoveryjs/json-ext": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz", - "integrity": "sha512-6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA==", - "dev": true + "@octokit/request": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", + "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", + "dev": true, + "requires": { + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + } }, - "@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "@octokit/request-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", "dev": true, "requires": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" } }, - "@fluentui/date-time-utilities": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-8.2.2.tgz", - "integrity": "sha512-djHrX/38ty+F93qLQjzmRzPzK598CW9g/RPhQH6GyrFBLPSWM1swYKB5TP6E7FrIf+fT4pVqrNUSYZhgi2rrOQ==", + "@octokit/rest": { + "version": "18.12.0", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz", + "integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==", + "dev": true, "requires": { - "@fluentui/set-version": "^8.1.4", - "tslib": "^2.1.0" + "@octokit/core": "^3.5.1", + "@octokit/plugin-paginate-rest": "^2.16.8", + "@octokit/plugin-request-log": "^1.0.4", + "@octokit/plugin-rest-endpoint-methods": "^5.12.0" } }, - "@fluentui/dom-utilities": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-2.1.4.tgz", - "integrity": "sha512-+gsAnEjgoKB37o+tsMdSLtgqZ9z2PzpvnHx/2IqhRWjQQd7Xc7MbQsbZaQ5qfkioFHLnWGc/+WORpqKPy/sWrg==", + "@octokit/types": { + "version": "6.34.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz", + "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==", + "dev": true, "requires": { - "@fluentui/set-version": "^8.1.4", - "tslib": "^2.1.0" + "@octokit/openapi-types": "^11.2.0" } }, - "@fluentui/font-icons-mdl2": { - "version": "8.1.17", - "resolved": "https://registry.npmjs.org/@fluentui/font-icons-mdl2/-/font-icons-mdl2-8.1.17.tgz", - "integrity": "sha512-/w5aRIjsPCCMUUjkx+A0ba6OAMh6JqK5txTFSZCWGNXqwUZEkI7JNj3fCsCAQpEXVKD19XisESgllpZfOTpyKw==", + "@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "dev": true, "requires": { - "@fluentui/set-version": "^8.1.4", - "@fluentui/style-utilities": "^8.4.2", - "tslib": "^2.1.0" + "type-detect": "4.0.8" } }, - "@fluentui/keyboard-key": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.3.4.tgz", - "integrity": "sha512-pVY2m3IC5+LLmMzsaPApX9eKTzpOzdgQwrR3FNTE6mGx3N/+QWYM7fdF+T1ldZQt87dCRSeQnmAo5kqjtxeA/w==", + "@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==", + "dev": true, "requires": { - "tslib": "^2.1.0" + "@sinonjs/commons": "^1.7.0" } }, - "@fluentui/merge-styles": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.2.1.tgz", - "integrity": "sha512-PwFndIWHNpwNF3On1Y/Kn73ycXJrZNrIG7ZV/G+C6g+ebVP0I87Mgx3kt8I+/hZxQJ0vjrFVslXiNMOFOfLaSQ==", + "@testing-library/dom": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.12.0.tgz", + "integrity": "sha512-rBrJk5WjI02X1edtiUcZhgyhgBhiut96r5Jp8J5qktKdcvLcZpKDW8i2hkGMMItxrghjXuQ5AM6aE0imnFawaw==", + "dev": true, "requires": { - "@fluentui/set-version": "^8.1.4", - "tslib": "^2.1.0" + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^4.2.0", + "aria-query": "^5.0.0", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.4.4", + "pretty-format": "^27.0.2" } }, - "@fluentui/react": { - "version": "8.42.4", - "resolved": "https://registry.npmjs.org/@fluentui/react/-/react-8.42.4.tgz", - "integrity": "sha512-rf8hta+74Po59u+s7aS+KX1APvM1IbWinYEuCnr1nFcIVpF4SRhmcpdxkqkNG3V3TRrmCTk/lnl8ncPOxaws4w==", - "requires": { - "@fluentui/date-time-utilities": "^8.2.2", - "@fluentui/font-icons-mdl2": "^8.1.17", - "@fluentui/foundation-legacy": "^8.1.16", - "@fluentui/merge-styles": "^8.2.1", - "@fluentui/react-focus": "^8.3.8", - "@fluentui/react-hooks": "^8.3.6", - "@fluentui/react-window-provider": "^2.1.4", - "@fluentui/set-version": "^8.1.4", - "@fluentui/style-utilities": "^8.4.2", - "@fluentui/theme": "^2.4.3", - "@fluentui/utilities": "^8.3.6", - "@microsoft/load-themed-styles": "^1.10.26", - "tslib": "^2.1.0" + "@testing-library/jest-dom": { + "version": "5.16.3", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.16.3.tgz", + "integrity": "sha512-u5DfKj4wfSt6akfndfu1eG06jsdyA/IUrlX2n3pyq5UXgXMhXY+NJb8eNK/7pqPWAhCKsCGWDdDO0zKMKAYkEA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.5.6", + "lodash": "^4.17.15", + "redent": "^3.0.0" }, "dependencies": { - "@fluentui/foundation-legacy": { - "version": "8.1.16", - "resolved": "https://registry.npmjs.org/@fluentui/foundation-legacy/-/foundation-legacy-8.1.16.tgz", - "integrity": "sha512-u4A/w2XAxdjSrSWRP52HLQvGMoj4GI96eYYyRBRRHMNfEUO3uU9WUFb//VgaiApzV+GDNUJS4o1cXIWewPDiXQ==", - "requires": { - "@fluentui/merge-styles": "^8.2.1", - "@fluentui/set-version": "^8.1.4", - "@fluentui/style-utilities": "^8.4.2", - "@fluentui/utilities": "^8.3.6", - "tslib": "^2.1.0" - } - }, - "@fluentui/react-focus": { - "version": "8.3.8", - "resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-8.3.8.tgz", - "integrity": "sha512-mm4PUlzs6i4Op5V3+6R2wI0gxSQSrOsTj2HEZhCxvF9RdVKXUUSzhm23+mV6n+gQR1n3scxNxKzIbM3cOk073A==", - "requires": { - "@fluentui/keyboard-key": "^0.3.4", - "@fluentui/merge-styles": "^8.2.1", - "@fluentui/set-version": "^8.1.4", - "@fluentui/style-utilities": "^8.4.2", - "@fluentui/utilities": "^8.3.6", - "tslib": "^2.1.0" - } - }, - "@fluentui/react-window-provider": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-2.1.4.tgz", - "integrity": "sha512-RztmJ7ol2eMDr3NCs2OcAA1cQjZdPPUEa4aurgh4Aq+JM/BiY0aK6S4SeFtVD7F8Q7PBOz/xwOG4HlnSMQtlsg==", - "requires": { - "@fluentui/set-version": "^8.1.4", - "tslib": "^2.1.0" - } - }, - "@fluentui/theme": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-2.4.3.tgz", - "integrity": "sha512-+BeZxF7UbZlKgL34GCC8TqIhd/RC+hgvTjyi51CdQrdJmHLMVklW+BcrTtOS9XguQEkvVMRjW28RzXMehpIkOw==", - "requires": { - "@fluentui/merge-styles": "^8.2.1", - "@fluentui/set-version": "^8.1.4", - "@fluentui/utilities": "^8.3.6", - "tslib": "^2.1.0" - } - }, - "@fluentui/utilities": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.3.6.tgz", - "integrity": "sha512-ubB1/g3ppJ/MCbQHYwldpKP6EfE8ScwL8wMlnWFoSMo9E7FzlfoeOOPLzmT7fGptTnXzFDQtP4SR4Y/YQXVPGg==", + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, "requires": { - "@fluentui/dom-utilities": "^2.1.4", - "@fluentui/merge-styles": "^8.2.1", - "@fluentui/set-version": "^8.1.4", - "tslib": "^2.1.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } } } }, - "@fluentui/react-hooks": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@fluentui/react-hooks/-/react-hooks-8.3.6.tgz", - "integrity": "sha512-LVzm3fHZyx8d9IPdfEX7DV5/6jick/21oPqhlnXjxZqYWUUx5hbo6qefuMrft/hBRA/oPc2yiMvri5E7q08/Hg==", + "@testing-library/react": { + "version": "12.1.4", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-12.1.4.tgz", + "integrity": "sha512-jiPKOm7vyUw311Hn/HlNQ9P8/lHNtArAx0PisXyFixDDvfl8DbD6EUdbshK5eqauvBSvzZd19itqQ9j3nferJA==", + "dev": true, "requires": { - "@fluentui/react-window-provider": "^2.1.4", - "@fluentui/set-version": "^8.1.4", - "@fluentui/utilities": "^8.3.6", - "tslib": "^2.1.0" - }, - "dependencies": { - "@fluentui/react-window-provider": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-2.1.4.tgz", - "integrity": "sha512-RztmJ7ol2eMDr3NCs2OcAA1cQjZdPPUEa4aurgh4Aq+JM/BiY0aK6S4SeFtVD7F8Q7PBOz/xwOG4HlnSMQtlsg==", - "requires": { - "@fluentui/set-version": "^8.1.4", - "tslib": "^2.1.0" - } - }, - "@fluentui/utilities": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.3.6.tgz", - "integrity": "sha512-ubB1/g3ppJ/MCbQHYwldpKP6EfE8ScwL8wMlnWFoSMo9E7FzlfoeOOPLzmT7fGptTnXzFDQtP4SR4Y/YQXVPGg==", - "requires": { - "@fluentui/dom-utilities": "^2.1.4", - "@fluentui/merge-styles": "^8.2.1", - "@fluentui/set-version": "^8.1.4", - "tslib": "^2.1.0" - } - } + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^8.0.0", + "@types/react-dom": "*" } }, - "@fluentui/set-version": { - "version": "8.1.4", - "resolved": "https://registry.npmjs.org/@fluentui/set-version/-/set-version-8.1.4.tgz", - "integrity": "sha512-2otMyJ+s+W+hjBD4BKjwYKKinJUDeIKYKz93qKrrJS0i3fKfftNroy9dHFlIblZ7n747L334plLi3bzQO1bnvA==", + "@testing-library/react-hooks": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@testing-library/react-hooks/-/react-hooks-7.0.2.tgz", + "integrity": "sha512-dYxpz8u9m4q1TuzfcUApqi8iFfR6R0FaMbr2hjZJy1uC8z+bO/K4v8Gs9eogGKYQop7QsrBTFkv/BCF7MzD2Cg==", + "dev": true, "requires": { - "tslib": "^2.1.0" + "@babel/runtime": "^7.12.5", + "@types/react": ">=16.9.0", + "@types/react-dom": ">=16.9.0", + "@types/react-test-renderer": ">=16.9.0", + "react-error-boundary": "^3.1.0" } }, - "@fluentui/style-utilities": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/@fluentui/style-utilities/-/style-utilities-8.4.2.tgz", - "integrity": "sha512-RwZo+IzzgQzdzxh0Zv5uEaUZKlNpR80ct7Y/8SiSyYOP4Q7vVqIg8kCj8l/V4IOMTocjqH4sYbVxJ8pCJ4G9Vw==", - "requires": { - "@fluentui/merge-styles": "^8.2.1", - "@fluentui/set-version": "^8.1.4", - "@fluentui/theme": "^2.4.3", - "@fluentui/utilities": "^8.3.6", - "@microsoft/load-themed-styles": "^1.10.26", - "tslib": "^2.1.0" - }, - "dependencies": { - "@fluentui/theme": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-2.4.3.tgz", - "integrity": "sha512-+BeZxF7UbZlKgL34GCC8TqIhd/RC+hgvTjyi51CdQrdJmHLMVklW+BcrTtOS9XguQEkvVMRjW28RzXMehpIkOw==", - "requires": { - "@fluentui/merge-styles": "^8.2.1", - "@fluentui/set-version": "^8.1.4", - "@fluentui/utilities": "^8.3.6", - "tslib": "^2.1.0" - } - }, - "@fluentui/utilities": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.3.6.tgz", - "integrity": "sha512-ubB1/g3ppJ/MCbQHYwldpKP6EfE8ScwL8wMlnWFoSMo9E7FzlfoeOOPLzmT7fGptTnXzFDQtP4SR4Y/YQXVPGg==", - "requires": { - "@fluentui/dom-utilities": "^2.1.4", - "@fluentui/merge-styles": "^8.2.1", - "@fluentui/set-version": "^8.1.4", - "tslib": "^2.1.0" - } - } + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true + }, + "@types/aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==", + "dev": true + }, + "@types/babel__core": { + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", "dev": true, "requires": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" + "@babel/types": "^7.0.0" } }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true + "@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } }, - "@microsoft/load-themed-styles": { - "version": "1.10.230", - "resolved": "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.230.tgz", - "integrity": "sha512-EMc7AqUZxRnZTpnPasItHN5DXV/EdJ19wHyOls69PF089Ny9pUxZEbAPROOuR6I1m8WvNRJrlagLJgG9Yq0Y2w==" + "@types/babel__traverse": { + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz", + "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } }, - "@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==", + "@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", "dev": true, "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@types/connect": "*", + "@types/node": "*" } }, - "@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==", - "dev": true + "@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "dev": true, + "requires": { + "@types/node": "*" + } }, - "@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==", + "@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", "dev": true, "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@types/node": "*" + } + }, + "@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "dev": true, + "requires": { + "@types/express-serve-static-core": "*", + "@types/node": "*" } }, "@types/eslint": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.2.0.tgz", - "integrity": "sha512-74hbvsnc+7TEDa1z5YLSe4/q8hGYB3USNvCuzHUJrjPV6hXaq8IXcngCrHkuvFt0+8rFz7xYXrHgNayIX0UZvQ==", + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", + "integrity": "sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==", "dev": true, "requires": { "@types/estree": "*", @@ -10578,9 +11610,9 @@ } }, "@types/eslint-scope": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.1.tgz", - "integrity": "sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g==", + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", "dev": true, "requires": { "@types/eslint": "*", @@ -10594,48 +11626,119 @@ "dev": true }, "@types/estree": { - "version": "0.0.50", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", - "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", "dev": true }, + "@types/express": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "dev": true, + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.28", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", + "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/html-minifier-terser": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.0.0.tgz", - "integrity": "sha512-NZwaaynfs1oIoLAV1vg18e7QMVDvw+6SQrdJc8w3BwUaoroVSf6EBj/Sk4PBWGxsq0dzhA2drbsuMC1/6C6KgQ==", + "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==", "dev": true }, "@types/http-proxy": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.7.tgz", - "integrity": "sha512-9hdj6iXH64tHSLTY+Vt2eYOGzSogC+JQ2H7bdPWkuh7KXP5qLllWx++t+K9Wk556c3dkDdPws/SpMRi0sdCT1w==", + "version": "1.17.8", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz", + "integrity": "sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==", "dev": true, "requires": { "@types/node": "*" } }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "27.4.1", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.4.1.tgz", + "integrity": "sha512-23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw==", + "dev": true, + "requires": { + "jest-matcher-utils": "^27.0.0", + "pretty-format": "^27.0.0" + } + }, "@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, - "@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "@types/lodash": { + "version": "4.14.181", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.181.tgz", + "integrity": "sha512-n3tyKthHJbkiWhDZs3DkhkCzt2MexYHXlX0td5iMplyfwketaOeKboEVBqzceH7juqvEg3q5oUoBFxSLu7zFag==" + }, + "@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", "dev": true }, "@types/node": { - "version": "16.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.9.tgz", - "integrity": "sha512-MKmdASMf3LtPzwLyRrFjtFFZ48cMf8jmX5VRYrDQiJa8Ybu5VAmkqBWqKU8fdCwD8ysw4mQ9nrEHvzg6gunR7A==", + "version": "16.11.26", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.26.tgz", + "integrity": "sha512-GZ7bu5A6+4DtG7q9GsoHXy3ALcgeIHP4NnL0Vv2wu0uUB/yQex26v0tf6/na1mm0+bS9Uw+0DFex7aaKr2qawQ==", "dev": true }, - "@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "@types/prettier": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.4.tgz", + "integrity": "sha512-ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA==", "dev": true }, "@types/prop-types": { @@ -10643,10 +11746,22 @@ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz", "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==" }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, "@types/react": { - "version": "16.14.21", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.21.tgz", - "integrity": "sha512-rY4DzPKK/4aohyWiDRHS2fotN5rhBSK6/rz1X37KzNna9HJyqtaGAbq9fVttrEPWF5ywpfIP1ITL8Xi2QZn6Eg==", + "version": "16.14.24", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.24.tgz", + "integrity": "sha512-e7U2WC8XQP/xfR7bwhOhNFZKPTfW1ph+MiqtudKb8tSV8RyCsovQx2sNVtKoOryjxFKpHPPC/yNiGfdeVM5Gyw==", "requires": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -10658,26 +11773,108 @@ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.14.tgz", "integrity": "sha512-FIX2AVmPTGP30OUJ+0vadeIFJJ07Mh1m+U0rxfgyW34p3rTlXI+nlenvAxNn4BP36YyI9IJ/+UJ7Wu22N1pI7A==", "requires": { - "@types/react": "^16" + "@types/react": "^16" + } + }, + "@types/react-test-renderer": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-17.0.1.tgz", + "integrity": "sha512-3Fi2O6Zzq/f3QR9dRnlnHso9bMl7weKCviFmfF6B4LS1Uat6Hkm15k0ZAQuDz+UBq6B3+g+NM6IT2nr5QgPzCw==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@types/retry": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", + "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", + "dev": true + }, + "@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" + }, + "@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "dev": true, + "requires": { + "@types/express": "*" + } + }, + "@types/serve-static": { + "version": "1.13.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", + "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", + "dev": true, + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "@types/testing-library__jest-dom": { + "version": "5.14.3", + "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.3.tgz", + "integrity": "sha512-oKZe+Mf4ioWlMuzVBaXQ9WDnEm1+umLx0InILg+yvZVBBDmzV5KfZyLrCvadtWcx8+916jLmHafcmqqffl+iIw==", + "dev": true, + "requires": { + "@types/jest": "*" } }, - "@types/retry": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", - "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", + "@types/uuid": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", + "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", "dev": true }, - "@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" - }, "@types/webpack-env": { "version": "1.16.3", "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.16.3.tgz", "integrity": "sha512-9gtOPPkfyNoEqCQgx4qJKkuNm/x0R2hKR7fdl7zvTJyHnIisuE/LfvXOsYWL0o3qq6uiBnKZNNNzi3l0y/X+xw==", "dev": true }, + "@types/ws": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", + "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, "@typescript-eslint/eslint-plugin": { "version": "3.10.1", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.10.1.tgz", @@ -10896,25 +12093,25 @@ } }, "@webpack-cli/configtest": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz", - "integrity": "sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz", + "integrity": "sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==", "dev": true, "requires": {} }, "@webpack-cli/info": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz", - "integrity": "sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz", + "integrity": "sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==", "dev": true, "requires": { "envinfo": "^7.7.3" } }, "@webpack-cli/serve": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz", - "integrity": "sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz", + "integrity": "sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==", "dev": true, "requires": {} }, @@ -10930,20 +12127,20 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", "dev": true }, "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "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==", "dev": true, "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" } }, "acorn": { @@ -10952,6 +12149,16 @@ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true }, + "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==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, "acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", @@ -10959,6 +12166,21 @@ "dev": true, "requires": {} }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "debug": "4" + } + }, "aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", @@ -10991,9 +12213,9 @@ }, "dependencies": { "ajv": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.1.tgz", - "integrity": "sha512-6CiMNDrzv0ZR916u2T+iRunnD60uWmNn8SkdB44/6stVORUg0aAkWO7PkOhpCmjmW8f2I/G/xnowD66fxGyQJg==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -11017,18 +12239,29 @@ "dev": true, "requires": {} }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true - }, "ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true }, + "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==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + }, + "dependencies": { + "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==", + "dev": true + } + } + }, "ansi-html-community": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", @@ -11060,87 +12293,6 @@ "picomatch": "^2.0.4" } }, - "app-root-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-1.0.0.tgz", - "integrity": "sha1-LHKZF0vGHLhv46SnmOAeSTt9U30=", - "dev": true - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", - "dev": true - }, - "archiver": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-2.0.3.tgz", - "integrity": "sha1-tDYLtYSvFDeZGUJxbyHXxSPR270=", - "dev": true, - "requires": { - "archiver-utils": "^1.3.0", - "async": "^2.0.0", - "buffer-crc32": "^0.2.1", - "glob": "^7.0.0", - "lodash": "^4.8.0", - "readable-stream": "^2.0.0", - "tar-stream": "^1.5.0", - "walkdir": "^0.0.11", - "zip-stream": "^1.2.0" - }, - "dependencies": { - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - } - } - }, - "archiver-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", - "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=", - "dev": true, - "requires": { - "glob": "^7.0.0", - "graceful-fs": "^4.1.0", - "lazystream": "^1.0.0", - "lodash": "^4.8.0", - "normalize-path": "^2.0.0", - "readable-stream": "^2.0.0" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -11150,6 +12302,18 @@ "sprintf-js": "~1.0.2" } }, + "aria-query": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.0.0.tgz", + "integrity": "sha512-V+SM7AbUwJ+EBnB8+DXs0hPZHO0W6pqBcc0dW90OwtVG02PswOu/teuARoLQjdDOH+t9pJgGnW5/Qmouf3gPJg==", + "dev": true + }, + "array-back": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "dev": true + }, "array-flatten": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", @@ -11171,27 +12335,6 @@ "es-abstract": "^1.7.0" } }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, "astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", @@ -11199,16 +12342,13 @@ "dev": true }, "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "async-foreach": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", - "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", - "dev": true + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } }, "asynckit": { "version": "0.4.0", @@ -11216,22 +12356,10 @@ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true }, "azure-devops-extension-api": { @@ -11252,30 +12380,10 @@ "es6-promise": "^4.2.5" } }, - "azure-devops-node-api": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-8.1.1.tgz", - "integrity": "sha512-TIb69NbHOJ/OTvfI1iazMzw/wG9A+ORCYibZCf5wDQFUyYzjCNVUA9QskAW1BGOulwyulGpqWXClCo4KoBaP0Q==", - "dev": true, - "requires": { - "tunnel": "0.0.4", - "typed-rest-client": "1.2.0", - "underscore": "1.8.3" - } - }, - "azure-devops-sdk": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/azure-devops-sdk/-/azure-devops-sdk-1.1.2.tgz", - "integrity": "sha512-Jf+A0euuw4ehuAiNRMlUB7/pwUx71kOtwaM7J/h2KPI8/4dpuZEbueDIZruO46nh+5o6o5UiRWE+H8WXKGzAJw==", - "requires": { - "cross-fetch": "^3.0.1", - "query-string": "^6.3.0" - } - }, "azure-devops-ui": { - "version": "2.167.22", - "resolved": "https://registry.npmjs.org/azure-devops-ui/-/azure-devops-ui-2.167.22.tgz", - "integrity": "sha512-lD4/WdFXfEcG+k/P+sMaI91bzc3LlvN6dKNXlOijm4pgisrpBfIVgD54yAzXN9GQatmpwiHGKuSOS/Rf5H515w==", + "version": "2.167.31", + "resolved": "https://registry.npmjs.org/azure-devops-ui/-/azure-devops-ui-2.167.31.tgz", + "integrity": "sha512-KdMAxQXIrzRx1whzRvfedXmW90kD72ESh9ts4YBpHrNPeJMB22ZrK/qSRPA3ss9wo/mVCpnLlw+FYm88FfADVw==", "requires": { "array.prototype.find": "~2.0.4", "es6-object-assign": "~1.1.0", @@ -11292,6 +12400,85 @@ } } }, + "babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "dev": true, + "requires": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + } + } + }, + "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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -11308,26 +12495,17 @@ "mime-types": "^2.1.32" } }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true - }, "batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", "dev": true }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } + "before-after-hook": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", + "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==", + "dev": true }, "big.js": { "version": "5.2.2", @@ -11341,38 +12519,28 @@ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true }, - "bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "dev": true, - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", "dev": true, "requires": { - "bytes": "3.1.0", + "bytes": "3.1.2", "content-type": "~1.0.4", "debug": "2.6.9", "depd": "~1.1.2", - "http-errors": "1.7.2", + "http-errors": "1.8.1", "iconv-lite": "0.4.24", "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" + "qs": "6.9.7", + "raw-body": "2.4.3", + "type-is": "~1.6.18" }, "dependencies": { "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true }, "debug": { @@ -11389,12 +12557,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true } } }, @@ -11410,22 +12572,6 @@ "dns-txt": "^2.0.2", "multicast-dns": "^6.0.1", "multicast-dns-service-types": "^1.1.0" - }, - "dependencies": { - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dev": true, - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - } - } } }, "boolbase": { @@ -11453,57 +12599,43 @@ "fill-range": "^7.0.1" } }, + "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==", + "dev": true + }, "browserslist": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.18.1.tgz", - "integrity": "sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ==", + "version": "4.20.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz", + "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001280", - "electron-to-chromium": "^1.3.896", + "caniuse-lite": "^1.0.30001317", + "electron-to-chromium": "^1.4.84", "escalade": "^3.1.1", - "node-releases": "^2.0.1", + "node-releases": "^2.0.2", "picocolors": "^1.0.0" } }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", "dev": true, "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "fast-json-stable-stringify": "2.x" } }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" + "node-int64": "^0.4.0" } }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "dev": true - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", - "dev": true - }, "buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -11553,27 +12685,10 @@ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, - "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==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - } - }, "caniuse-lite": { - "version": "1.0.30001282", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001282.tgz", - "integrity": "sha512-YhF/hG6nqBEllymSIjLtR2iWDDnChvhnVJqp+vloyt2tEHFG1yBR+ac2B/rOw0qOK0m0lEXU2dv4E/sMk5P9Kg==", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "version": "1.0.30001322", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001322.tgz", + "integrity": "sha512-neRmrmIrCGuMnxGSoh+x7zYtQFFgnSY2jaomjU56sCkTA6JINqQrxutF459JpWcWRajvoyn95sOXq4Pqrnyjew==", "dev": true }, "chalk": { @@ -11586,10 +12701,16 @@ "supports-color": "^7.1.0" } }, + "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==", + "dev": true + }, "chokidar": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", - "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, "requires": { "anymatch": "~3.1.2", @@ -11613,18 +12734,24 @@ } } }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, "chrome-trace-event": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", "dev": true }, + "ci-info": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", + "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", + "dev": true + }, + "cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true + }, "classnames": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz", @@ -11632,20 +12759,12 @@ "dev": true }, "clean-css": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.2.2.tgz", - "integrity": "sha512-/eR8ru5zyxKzpBLv9YZvMXgTSSQn7AdkMItMYynsFgGwTveCRVam9IUPFloE85B4vAIj05IuKmmEoV7/AQjT0w==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.2.4.tgz", + "integrity": "sha512-nKseG8wCzEuji/4yrgM/5cthL9oTDc5UOQyFMvW/Q53oP6gLH690o1NbuTh6Y18nujr7BxlsFuS7gXLnLzKJGg==", "dev": true, "requires": { "source-map": "~0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } } }, "clean-stack": { @@ -11654,59 +12773,15 @@ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "dev": true }, - "clipboardy": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-1.2.3.tgz", - "integrity": "sha512-2WNImOvCRe6r63Gk9pShfkwXsVtKCroMAevIbiae021mS850UkWPbevxsBz3tnvjZIEGvlwaqCPsw+4ulzNgJA==", - "dev": true, - "requires": { - "arch": "^2.1.0", - "execa": "^0.8.0" - } - }, "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, "clone-deep": { @@ -11718,12 +12793,29 @@ "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", "shallow-clone": "^3.0.0" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } } }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", "dev": true }, "color-convert": { @@ -11747,12 +12839,6 @@ "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", "dev": true }, - "colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", - "dev": true - }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -11762,35 +12848,106 @@ "delayed-stream": "~1.0.0" } }, - "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true + "command-line-args": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", + "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", + "dev": true, + "requires": { + "array-back": "^3.1.0", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" + } }, - "compress-commons": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", - "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=", + "command-line-usage": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.1.tgz", + "integrity": "sha512-F59pEuAR9o1SF/bD0dQBDluhpT4jJQNWUHEuVBqpDmCUo6gPjCi+m9fCWnWZVR/oG6cMTUms4h+3NPl74wGXvA==", "dev": true, "requires": { - "buffer-crc32": "^0.2.1", - "crc32-stream": "^2.0.0", - "normalize-path": "^2.0.0", - "readable-stream": "^2.0.0" + "array-back": "^4.0.1", + "chalk": "^2.4.2", + "table-layout": "^1.0.1", + "typical": "^5.2.0" }, "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "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==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "array-back": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", + "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "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==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "remove-trailing-separator": "^1.0.1" + "has-flag": "^3.0.0" } + }, + "typical": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "dev": true } } }, + "commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true + }, "compressible": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", @@ -11844,19 +13001,21 @@ "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", "dev": true }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true - }, "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "5.2.1" + }, + "dependencies": { + "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==", + "dev": true + } } }, "content-type": { @@ -11875,9 +13034,9 @@ } }, "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", "dev": true }, "cookie-signature": { @@ -11887,9 +13046,9 @@ "dev": true }, "copy-webpack-plugin": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.0.0.tgz", - "integrity": "sha512-tuCVuFMBbRsb7IH0q1CUb50/Skv+7a6c7DJ+xi4fAbOzNLTYVMUTPnf8uGvKPtmqTvzYBrfEFo7YgP4TsUWmtg==", + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz", + "integrity": "sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg==", "dev": true, "requires": { "fast-glob": "^3.2.7", @@ -11900,45 +13059,12 @@ "serialize-javascript": "^6.0.0" } }, - "core-js": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz", - "integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU=", - "dev": true - }, "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==", "dev": true }, - "crc": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", - "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", - "dev": true, - "requires": { - "buffer": "^5.1.0" - } - }, - "crc32-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", - "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=", - "dev": true, - "requires": { - "crc": "^3.4.4", - "readable-stream": "^2.0.0" - } - }, - "cross-fetch": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz", - "integrity": "sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==", - "requires": { - "node-fetch": "2.6.1" - } - }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -11950,39 +13076,56 @@ "which": "^2.0.1" } }, + "css": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", + "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "source-map": "^0.6.1", + "source-map-resolve": "^0.6.0" + } + }, "css-loader": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.5.1.tgz", - "integrity": "sha512-gEy2w9AnJNnD9Kuo4XAP9VflW/ujKoS9c/syO+uWMlm5igc7LysKzPXaDoR2vroROkSwsTS2tGr1yGGEbZOYZQ==", + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz", + "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", "dev": true, "requires": { "icss-utils": "^5.1.0", - "postcss": "^8.2.15", + "postcss": "^8.4.7", "postcss-modules-extract-imports": "^3.0.0", "postcss-modules-local-by-default": "^4.0.0", "postcss-modules-scope": "^3.0.0", "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", + "postcss-value-parser": "^4.2.0", "semver": "^7.3.5" } }, "css-select": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", - "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", "dev": true, "requires": { "boolbase": "^1.0.0", - "css-what": "^5.0.0", - "domhandler": "^4.2.0", - "domutils": "^2.6.0", - "nth-check": "^2.0.0" + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" } }, "css-what": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", - "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.0.1.tgz", + "integrity": "sha512-z93ZGFLNc6yaoXAmVhqoSIb+BduplteCt1fepvwhBUQK6MNE4g6fgjpuZKJKp0esUe+vXWlIkwZZjNWoOKw0ZA==", + "dev": true + }, + "css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s=", "dev": true }, "cssesc": { @@ -11991,111 +13134,104 @@ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true }, - "csstype": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.10.tgz", - "integrity": "sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==" - }, - "cycle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", - "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", "dev": true }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dev": true, "requires": { - "assert-plus": "^1.0.0" + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + } } }, - "dateformat": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.11.tgz", - "integrity": "sha1-8ny+56ASu/uC6gUVYtOXf2CT27E=", + "csstype": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.11.tgz", + "integrity": "sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==" + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", "dev": true, "requires": { - "get-stdin": "*", - "meow": "*" + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" } }, "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { "ms": "2.1.2" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "decimal.js": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", + "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", "dev": true }, - "decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", - "dev": true, - "requires": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - } - } - }, "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", + "dev": true }, "deep-equal": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.0.5.tgz", - "integrity": "sha512-nPiRgmbAtm1a3JsnLCf6/SLfXcjyN5v8L1TXzdCmHrXJ4hx+gW/w1YCcn7z8gJtSiDArZCgYtbao3QqLm/N1Sw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", "dev": true, "requires": { - "call-bind": "^1.0.0", - "es-get-iterator": "^1.1.1", - "get-intrinsic": "^1.0.1", "is-arguments": "^1.0.4", - "is-date-object": "^1.0.2", - "is-regex": "^1.1.1", - "isarray": "^2.0.5", - "object-is": "^1.1.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "regexp.prototype.flags": "^1.3.0", - "side-channel": "^1.0.3", - "which-boxed-primitive": "^1.0.1", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.2" - }, - "dependencies": { - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - } + "regexp.prototype.flags": "^1.2.0" } }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, "deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, "default-gateway": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", @@ -12103,46 +13239,6 @@ "dev": true, "requires": { "execa": "^5.0.0" - }, - "dependencies": { - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "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==", - "dev": true - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - } } }, "define-lazy-prop": { @@ -12182,23 +13278,23 @@ "dev": true }, "globby": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "requires": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", "slash": "^3.0.0" } }, "ignore": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz", - "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true }, "slash": { @@ -12215,30 +13311,42 @@ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true - }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", "dev": true }, + "deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", + "dev": true + }, "destroy": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", "dev": true }, + "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==", + "dev": true + }, "detect-node": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", "dev": true }, + "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==", + "dev": true + }, "dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -12282,6 +13390,12 @@ "esutils": "^2.0.2" } }, + "dom-accessibility-api": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.13.tgz", + "integrity": "sha512-R305kwb5CcMDIpSHUnLyIAp7SrSPBx6F0VfQFB3M75xVMHhXJJIdePYgbPPh1o57vCHNu5QztokWUPsLjWzFqw==", + "dev": true + }, "dom-converter": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", @@ -12308,10 +13422,27 @@ "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", "dev": true }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true + } + } + }, "domhandler": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", - "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dev": true, "requires": { "domelementtype": "^2.2.0" @@ -12338,16 +13469,6 @@ "tslib": "^2.0.3" } }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -12355,15 +13476,21 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.903", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.903.tgz", - "integrity": "sha512-+PnYAyniRRTkNq56cqYDLq9LyklZYk0hqoDy9GpcU11H5QjRmFZVDbxtgHUMK/YzdNTcn1XWP5gb+hFlSCr20g==", + "version": "1.4.99", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.99.tgz", + "integrity": "sha512-YXMzbvlo6pW12KWw0bj6cIGCJi1Moy8PLCuuzgRzg6WYIcHILK3szU+HHnHFx2b373qRv+cfmHhbmRbatyAbPA==", + "dev": true + }, + "emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", "dev": true }, "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "emojis-list": { @@ -12378,19 +13505,10 @@ "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", "dev": true }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, "enhanced-resolve": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz", - "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==", + "version": "5.9.2", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.2.tgz", + "integrity": "sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA==", "dev": true, "requires": { "graceful-fs": "^4.2.4", @@ -12412,12 +13530,6 @@ "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true }, - "env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true - }, "envinfo": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", @@ -12434,9 +13546,9 @@ } }, "es-abstract": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", - "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.2.tgz", + "integrity": "sha512-gfSBJoZdlL2xRiOCy0g8gLMryhoe1TlimjzU99L/31Z8QEGIhVQI+EWwt5lT+AuU9SnorVupXFqqOGqGfsyO6w==", "requires": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", @@ -12444,15 +13556,15 @@ "get-intrinsic": "^1.1.1", "get-symbol-description": "^1.0.0", "has": "^1.0.3", - "has-symbols": "^1.0.2", + "has-symbols": "^1.0.3", "internal-slot": "^1.0.3", "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.1", + "is-negative-zero": "^2.0.2", "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", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.0", "object-keys": "^1.1.1", "object.assign": "^4.1.2", "string.prototype.trimend": "^1.0.4", @@ -12460,30 +13572,6 @@ "unbox-primitive": "^1.0.1" } }, - "es-get-iterator": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.2.tgz", - "integrity": "sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.0", - "has-symbols": "^1.0.1", - "is-arguments": "^1.1.0", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.5", - "isarray": "^2.0.5" - }, - "dependencies": { - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - } - } - }, "es-module-lexer": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", @@ -12541,6 +13629,66 @@ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true }, + "escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + } + } + }, "eslint": { "version": "7.32.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", @@ -12589,6 +13737,15 @@ "v8-compile-cache": "^2.0.3" }, "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, "eslint-visitor-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", @@ -12749,85 +13906,52 @@ "dev": true }, "execa": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", - "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - } + "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.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" } }, "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "version": "4.17.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", + "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", "dev": true, "requires": { - "accepts": "~1.3.7", + "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", + "body-parser": "1.19.2", + "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.0", + "cookie": "0.4.2", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "~1.1.2", @@ -12841,13 +13965,13 @@ "on-finished": "~2.3.0", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", + "proxy-addr": "~2.0.7", + "qs": "6.9.7", "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", + "safe-buffer": "5.2.1", + "send": "0.17.2", + "serve-static": "1.14.2", + "setprototypeof": "1.2.0", "statuses": "~1.5.0", "type-is": "~1.6.18", "utils-merge": "1.0.1", @@ -12875,32 +13999,14 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "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==", "dev": true } } }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "eyes": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=", - "dev": true - }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -12914,9 +14020,9 @@ "dev": true }, "fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -12973,6 +14079,15 @@ "websocket-driver": ">=0.5.1" } }, + "fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "requires": { + "bser": "2.1.1" + } + }, "file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -13014,11 +14129,6 @@ "to-regex-range": "^5.0.1" } }, - "filter-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", - "integrity": "sha1-mzERErxsYSehbgFsbF1/GeCAXFs=" - }, "finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", @@ -13051,6 +14161,15 @@ } } }, + "find-replace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", + "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "dev": true, + "requires": { + "array-back": "^3.0.1" + } + }, "find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", @@ -13072,46 +14191,25 @@ } }, "flatted": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz", - "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", + "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", "dev": true }, "follow-redirects": { - "version": "1.14.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.5.tgz", - "integrity": "sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA==", - "dev": true - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "requires": { - "is-callable": "^1.1.3" - } - }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "version": "1.14.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", + "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", "dev": true }, "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", "dev": true, "requires": { "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", + "combined-stream": "^1.0.8", "mime-types": "^2.1.12" } }, @@ -13127,21 +14225,6 @@ "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", "dev": true }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, "fs-monkey": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", @@ -13172,48 +14255,6 @@ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "gaze": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", - "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", - "dev": true, - "requires": { - "globule": "^1.0.0" - } - }, "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -13236,6 +14277,12 @@ "has-symbols": "^1.0.1" } }, + "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==", + "dev": true + }, "get-stdin": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", @@ -13243,9 +14290,9 @@ "dev": true }, "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true }, "get-symbol-description": { @@ -13257,15 +14304,6 @@ "get-intrinsic": "^1.1.1" } }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, "glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", @@ -13296,67 +14334,40 @@ "dev": true }, "globals": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", - "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", + "version": "13.13.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", + "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", "dev": true, "requires": { "type-fest": "^0.20.2" } }, "globby": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-12.0.2.tgz", - "integrity": "sha512-lAsmb/5Lww4r7MM9nCCliDZVIKbZTavrsunAsHLr9oHthrZP1qi7/gAnHOsUs9bLvEt2vKVJhHmxuL7QbDuPdQ==", + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", + "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", "dev": true, "requires": { "array-union": "^3.0.1", "dir-glob": "^3.0.1", "fast-glob": "^3.2.7", - "ignore": "^5.1.8", + "ignore": "^5.1.9", "merge2": "^1.4.1", "slash": "^4.0.0" }, "dependencies": { "ignore": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz", - "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true } } }, - "globule": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.3.tgz", - "integrity": "sha512-mb1aYtDbIjTu4ShMB85m3UzjX9BVKe9WCzsnfMSZk+K5GpIbBOexgg4PPCt5eHDEG5/ZQAUX2Kct02zfiPLsKg==", - "dev": true, - "requires": { - "glob": "~7.1.1", - "lodash": "~4.17.10", - "minimatch": "~3.0.2" - }, - "dependencies": { - "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, "graceful-fs": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", "dev": true }, "handle-thing": { @@ -13365,28 +14376,6 @@ "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", "dev": true }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "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==", - "dev": true - }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -13395,23 +14384,6 @@ "function-bind": "^1.1.1" } }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - } - } - }, "has-bigints": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", @@ -13424,9 +14396,9 @@ "dev": true }, "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" }, "has-tostringtag": { "version": "1.0.0", @@ -13436,27 +14408,12 @@ "has-symbols": "^1.0.2" } }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true - }, "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true }, - "hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, "hpack.js": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", @@ -13467,62 +14424,68 @@ "obuf": "^1.0.0", "readable-stream": "^2.0.1", "wbuf": "^1.1.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "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==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "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==", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.5" } }, "html-entities": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz", - "integrity": "sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", + "dev": true + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, "html-minifier-terser": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.0.2.tgz", - "integrity": "sha512-AgYO3UGhMYQx2S/FBJT3EM0ZYcKmH6m9XL9c1v77BeK/tYJxGPxT1/AtsdUi4FcP8kZGmqqnItCcjFPcX9hk6A==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", "dev": true, "requires": { "camel-case": "^4.1.2", - "clean-css": "^5.1.5", - "commander": "^8.1.0", + "clean-css": "^5.2.2", + "commander": "^8.3.0", "he": "^1.2.0", "param-case": "^3.0.4", "relateurl": "^0.2.7", - "terser": "^5.7.2" - }, - "dependencies": { - "acorn": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz", - "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==", - "dev": true, - "optional": true, - "peer": true - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - }, - "terser": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz", - "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.20" - }, - "dependencies": { - "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==", - "dev": true - } - } - } + "terser": "^5.10.0" } }, "html-webpack-plugin": { @@ -13557,30 +14520,22 @@ "dev": true }, "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", "dev": true, "requires": { "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } + "toidentifier": "1.0.1" } }, "http-parser-js": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", - "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz", + "integrity": "sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA==", "dev": true }, "http-proxy": { @@ -13594,48 +14549,44 @@ "requires-port": "^1.0.0" } }, + "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==", + "dev": true, + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, "http-proxy-middleware": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.1.tgz", - "integrity": "sha512-cfaXRVoZxSed/BmkA7SwBVNI9Kj7HFltaE5rqYOub5kWzWZ+gofV2koVN1j2rMW7pEfSSlCHGJ31xmuyFyfLOg==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.4.tgz", + "integrity": "sha512-m/4FxX17SUvz4lJ5WPXOHDUuCwIqXLfLHs1s0uZ3oYjhoXlx9csYxaOa0ElDEJ+h8Q4iJ1s+lTMbiCa4EXIJqg==", "dev": true, "requires": { - "@types/http-proxy": "^1.17.5", + "@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" - }, - "dependencies": { - "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==", - "dev": true - } } }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", "dev": true, "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "agent-base": "6", + "debug": "4" } }, "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==", - "dev": true - }, - "i": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/i/-/i-0.3.7.tgz", - "integrity": "sha512-FYz4wlXgkQwIPqhzC5TdNMLSE5+GS1IIDJZY/1ZiEPCT2S3COUVZeT5OW4BmW4r5LHLQuOosSwsvnroG9GR59Q==", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true }, "iconv-lite": { @@ -13654,22 +14605,16 @@ "dev": true, "requires": {} }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true - }, "ignore": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, - "immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", + "immutable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", + "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==", "dev": true }, "import-fresh": { @@ -13683,9 +14628,9 @@ } }, "import-local": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz", - "integrity": "sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, "requires": { "pkg-dir": "^4.2.0", @@ -13720,26 +14665,6 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "internal-ip": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-6.2.0.tgz", - "integrity": "sha512-D8WGsR6yDt8uq7vDMu7mjcR+yRMm3dW8yufyChmszWRjcSHuxLBkR3GdS2HZAjodsaGuCvXeEJpueisXJULghg==", - "dev": true, - "requires": { - "default-gateway": "^6.0.0", - "ipaddr.js": "^1.9.1", - "is-ip": "^3.1.0", - "p-event": "^4.2.0" - }, - "dependencies": { - "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==", - "dev": true - } - } - }, "internal-slot": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", @@ -13767,12 +14692,6 @@ "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", "dev": true }, - "ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", - "dev": true - }, "ipaddr.js": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", @@ -13827,9 +14746,9 @@ "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==" }, "is-core-module": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", - "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", "dev": true, "requires": { "has": "^1.0.3" @@ -13856,13 +14775,16 @@ "dev": true }, "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } + "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==", + "dev": true + }, + "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==", + "dev": true }, "is-glob": { "version": "4.0.3", @@ -13873,25 +14795,10 @@ "is-extglob": "^2.1.1" } }, - "is-ip": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", - "dev": true, - "requires": { - "ip-regex": "^4.0.0" - } - }, - "is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", - "dev": true - }, "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" }, "is-number": { "version": "7.0.0", @@ -13920,138 +14827,669 @@ "dev": true }, "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", "dev": true }, "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true + }, + "is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, + "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==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-shared-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", + "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==" + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/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.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "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==", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, "requires": { - "isobject": "^3.0.1" + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz", + "integrity": "sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==", + "dev": true, + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + } + }, + "istanbul-reports": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", + "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "dev": true, + "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.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + } + }, + "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==", + "dev": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + } + } + }, + "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==", + "dev": true, + "requires": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + } + }, + "jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "dev": true, + "requires": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + } + } + }, + "jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "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==", + "dev": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + } + }, + "jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "dev": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + } + }, + "jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "dev": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + } + }, + "jest-junit-reporter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jest-junit-reporter/-/jest-junit-reporter-1.1.0.tgz", + "integrity": "sha1-iNYAbsE/gt9AxHiCyGQJic3LFDQ=", + "dev": true, + "requires": { + "xml": "^1.0.1" + } + }, + "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==", + "dev": true, + "requires": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "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==", + "dev": true, + "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.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + } } }, - "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==", + "jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "dev": true, "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "@jest/types": "^27.5.1", + "@types/node": "*" } }, - "is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", - "dev": true - }, - "is-shared-array-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", - "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==" + "jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true, + "requires": {} }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "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==", "dev": true }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "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==", + "dev": true, "requires": { - "has-tostringtag": "^1.0.0" + "@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": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + } } }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "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==", + "dev": true, "requires": { - "has-symbols": "^1.0.2" + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" } }, - "is-typed-array": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.8.tgz", - "integrity": "sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA==", + "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==", "dev": true, "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-abstract": "^1.18.5", - "foreach": "^2.0.5", - "has-tostringtag": "^1.0.0" + "@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": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "dev": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + } } }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", - "dev": true - }, - "is-weakref": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz", - "integrity": "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==", + "jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "dev": true, "requires": { - "call-bind": "^1.0.0" + "@types/node": "*", + "graceful-fs": "^4.2.9" } }, - "is-weakset": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.1.tgz", - "integrity": "sha512-pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw==", - "dev": true - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "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==", "dev": true, "requires": { - "is-docker": "^2.0.0" + "@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" } }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "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==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + } + } }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true + "jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "dev": true, + "requires": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + } }, "jest-worker": { - "version": "27.3.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.3.1.tgz", - "integrity": "sha512-ks3WCzsiZaOPJl/oMsDjaf0TRiSv7ctNgs0FqRr2nARsovz6AWWy4oLElwcquGSz692DzgZQrCLScPNs5YlC4g==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, "requires": { "@types/node": "*", @@ -14070,18 +15508,6 @@ } } }, - "jju": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", - "integrity": "sha1-o6vicYryQaKykE+EpiWXDzia4yo=", - "dev": true - }, - "js-base64": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", - "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", - "dev": true - }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -14097,11 +15523,48 @@ "esprima": "^4.0.0" } }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true + "jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dev": true, + "requires": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "acorn": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "dev": true + } + } }, "jsesc": { "version": "2.5.2", @@ -14109,21 +15572,6 @@ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, - "json-in-place": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-in-place/-/json-in-place-1.0.1.tgz", - "integrity": "sha1-ih7NJaac4ZAFUs1xUr2TdU3k4fA=", - "dev": true, - "requires": { - "json-lexer": "1.1.1" - } - }, - "json-lexer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/json-lexer/-/json-lexer-1.1.1.tgz", - "integrity": "sha1-vT7V1+Vgudma0iNPKMpwb7N3t9Q=", - "dev": true - }, "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", @@ -14136,12 +15584,6 @@ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -14154,79 +15596,11 @@ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "jszip": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.5.tgz", - "integrity": "sha512-5W8NUaFRFRqTOL7ZDDrx5qWHJyBXy6velVudIzQUSoqAAYqzSh2Z7/m0Rf1QbmQJccegD0r+YZxBjzqoBiEeJQ==", - "dev": true, - "requires": { - "core-js": "~2.3.0", - "es6-promise": "~3.0.2", - "lie": "~3.1.0", - "pako": "~1.0.2", - "readable-stream": "~2.0.6" - }, - "dependencies": { - "es6-promise": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", - "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=", - "dev": true - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", - "dev": true - }, - "readable-stream": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true }, "kind-of": { "version": "6.0.3", @@ -14234,20 +15608,23 @@ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, "klona": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", "dev": true }, - "lazystream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", - "dev": true, - "requires": { - "readable-stream": "^2.0.5" - } + "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==", + "dev": true }, "levn": { "version": "0.4.1", @@ -14259,19 +15636,10 @@ "type-check": "~0.4.0" } }, - "lie": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", - "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", - "dev": true, - "requires": { - "immediate": "~3.0.5" - } - }, "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, "loader-runner": { @@ -14303,7 +15671,23 @@ "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "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==" + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", "dev": true }, "lodash.merge": { @@ -14344,12 +15728,44 @@ "yallist": "^4.0.0" } }, - "map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "lz-string": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", + "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "requires": { + "tmpl": "1.0.5" + } + }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -14357,42 +15773,14 @@ "dev": true }, "memfs": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.3.0.tgz", - "integrity": "sha512-BEE62uMfKOavX3iG7GYX43QJ+hAeeWnwIAuJ/R6q96jaMtiLzhsxHJC8B1L7fK7Pt/vXDRwb3SG/yBpNGDPqzg==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz", + "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==", "dev": true, "requires": { "fs-monkey": "1.0.3" } }, - "meow": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", - "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", - "dev": true, - "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.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "dev": true - } - } - }, "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", @@ -14418,13 +15806,13 @@ "dev": true }, "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "braces": "^3.0.2", + "picomatch": "^2.3.1" } }, "mime": { @@ -14434,18 +15822,18 @@ "dev": true }, "mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true }, "mime-types": { - "version": "2.1.34", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", - "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, "requires": { - "mime-db": "1.51.0" + "mime-db": "1.52.0" } }, "mimic-fn": { @@ -14467,56 +15855,29 @@ "dev": true }, "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, - "minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - } - }, - "minipass": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz", - "integrity": "sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" + "minimist": "^1.2.6" } }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -14539,22 +15900,15 @@ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", "dev": true }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "nan": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", - "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", - "dev": true + "nanoclone": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/nanoclone/-/nanoclone-0.2.1.tgz", + "integrity": "sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==" }, "nanoid": { - "version": "3.1.30", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz", - "integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz", + "integrity": "sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==", "dev": true }, "natural-compare": { @@ -14563,16 +15917,10 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, - "ncp": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz", - "integrity": "sha1-q8xsvT7C7Spyn/bnwfqPAXhKhXQ=", - "dev": true - }, "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true }, "neo-async": { @@ -14591,138 +15939,65 @@ "tslib": "^2.0.3" } }, - "node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" - }, - "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "dev": true - }, - "node-gyp": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", - "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", + "node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", "dev": true, "requires": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.3", - "nopt": "^5.0.0", - "npmlog": "^4.1.2", - "request": "^2.88.2", - "rimraf": "^3.0.2", - "semver": "^7.3.2", - "tar": "^6.0.2", - "which": "^2.0.2" + "lodash": "^4.17.21" } }, - "node-releases": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", - "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", - "dev": true - }, - "node-sass": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-6.0.1.tgz", - "integrity": "sha512-f+Rbqt92Ful9gX0cGtdYwjTrWAaGURgaK5rZCWOgCNyGWusFYHhbqCCBoFBeat+HKETOU02AyTxNhJV0YZf2jQ==", + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", "dev": true, "requires": { - "async-foreach": "^0.1.3", - "chalk": "^1.1.1", - "cross-spawn": "^7.0.3", - "gaze": "^1.0.0", - "get-stdin": "^4.0.1", - "glob": "^7.0.3", - "lodash": "^4.17.15", - "meow": "^9.0.0", - "nan": "^2.13.2", - "node-gyp": "^7.1.0", - "npmlog": "^4.0.0", - "request": "^2.88.0", - "sass-graph": "2.2.5", - "stdout-stream": "^1.4.0", - "true-case-path": "^1.0.2" + "whatwg-url": "^5.0.0" }, "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", "dev": true }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", "dev": true }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true } } }, - "nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "dev": true, - "requires": { - "abbrev": "1" - } + "node-forge": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.0.tgz", + "integrity": "sha512-08ARB91bUi6zNKzVmaj3QO7cr397uiDT2nJ63cHjyNtCTWIgvS47j3eT0WfzUwS9+6Z5YshRaoasFkXCKrIYbA==", + "dev": true }, - "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==", - "dev": true, - "requires": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - } + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node-releases": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz", + "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==", + "dev": true }, "normalize-path": { "version": "3.0.0", @@ -14731,32 +16006,12 @@ "dev": true }, "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - }, - "dependencies": { - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - } - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "path-key": "^3.0.0" } }, "nth-check": { @@ -14768,16 +16023,10 @@ "boolbase": "^1.0.0" } }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", "dev": true }, "object-assign": { @@ -14786,9 +16035,9 @@ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "object-inspect": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", - "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==" + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==" }, "object-is": { "version": "1.1.5", @@ -14816,17 +16065,6 @@ "object-keys": "^1.1.1" } }, - "object.getownpropertydescriptors": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", - "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - } - }, "obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", @@ -14857,12 +16095,6 @@ "wrappy": "1" } }, - "onecolor": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/onecolor/-/onecolor-2.5.0.tgz", - "integrity": "sha1-Ila2UdyAfBAfAK7b1JklxXpEMcE=", - "dev": true - }, "onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", @@ -14897,33 +16129,6 @@ "word-wrap": "^1.2.3" } }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "p-event": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", - "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", - "dev": true, - "requires": { - "p-timeout": "^3.1.0" - } - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, "p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -14961,27 +16166,12 @@ "retry": "^0.13.1" } }, - "p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", - "dev": true, - "requires": { - "p-finally": "^1.0.0" - } - }, "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==", "dev": true }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, "param-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", @@ -15013,6 +16203,12 @@ "lines-and-columns": "^1.1.6" } }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -15065,12 +16261,6 @@ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, "picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -15078,9 +16268,15 @@ "dev": true }, "picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", "dev": true }, "pkg-dir": { @@ -15092,12 +16288,6 @@ "find-up": "^4.0.0" } }, - "pkginfo": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", - "integrity": "sha1-tUGO8EOd5UJfxJlQQtztFPsqhP8=", - "dev": true - }, "portfinder": { "version": "1.0.28", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", @@ -15109,15 +16299,6 @@ "mkdirp": "^0.5.5" }, "dependencies": { - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - }, "debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", @@ -15126,27 +16307,18 @@ "requires": { "ms": "^2.1.1" } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } } } }, "postcss": { - "version": "8.3.11", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.11.tgz", - "integrity": "sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA==", + "version": "8.4.12", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz", + "integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==", "dev": true, "requires": { - "nanoid": "^3.1.30", + "nanoid": "^3.3.1", "picocolors": "^1.0.0", - "source-map-js": "^0.6.2" + "source-map-js": "^1.0.2" } }, "postcss-modules-extract-imports": { @@ -15186,9 +16358,9 @@ } }, "postcss-selector-parser": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", - "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz", + "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==", "dev": true, "requires": { "cssesc": "^3.0.0", @@ -15196,9 +16368,9 @@ } }, "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, "prelude-ls": { @@ -15208,9 +16380,9 @@ "dev": true }, "prettier": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.4.1.tgz", - "integrity": "sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.1.tgz", + "integrity": "sha512-8UVbTBYGwN37Bs9LERmxCPjdvPxlEowx2urIL6urHzdb3SDq4B/Z6xLFCblrSnE4iKWcS6ziJ3aOYrc1kz/E2A==", "dev": true, "peer": true }, @@ -15233,6 +16405,25 @@ "renderkid": "^3.0.0" } }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "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.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } + } + }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -15245,29 +16436,38 @@ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, - "prompt": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/prompt/-/prompt-0.2.14.tgz", - "integrity": "sha1-V3VPZPVD/XsIRXB8gY7OYY8F/9w=", + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, "requires": { - "pkginfo": "0.x.x", - "read": "1.0.x", - "revalidator": "0.1.x", - "utile": "0.2.x", - "winston": "0.8.x" + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" } }, "prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/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.8.1" + "react-is": "^16.13.1" + }, + "dependencies": { + "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==" + } } }, + "property-expr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.5.tgz", + "integrity": "sha512-IJUkICM5dP5znhCckHSv30Q4b5/JA5enCtkRHYaOVOAocnH/1BQEYTC5NMfT3AVl/iXKdr3aqQbQn9DxyWknwA==" + }, "proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -15286,12 +16486,6 @@ } } }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, "psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", @@ -15305,26 +16499,9 @@ "dev": true }, "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, - "query-string": { - "version": "6.14.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz", - "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==", - "requires": { - "decode-uri-component": "^0.2.0", - "filter-obj": "^1.1.0", - "split-on-first": "^1.0.0", - "strict-uri-encode": "^2.0.0" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", "dev": true }, "queue-microtask": { @@ -15333,12 +16510,6 @@ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, - "quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true - }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -15355,21 +16526,21 @@ "dev": true }, "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz", + "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==", "dev": true, "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", + "bytes": "3.1.2", + "http-errors": "1.8.1", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, "dependencies": { "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true } } @@ -15395,96 +16566,30 @@ "scheduler": "^0.19.1" } }, - "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==" - }, - "read": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", - "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", - "dev": true, - "requires": { - "mute-stream": "~0.0.4" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "react-error-boundary": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz", + "integrity": "sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==", "dev": true, "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "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==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "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==", - "dev": true - } + "@babel/runtime": "^7.12.5" } }, - "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==", - "dev": true, - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "dependencies": { - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - } - } + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true }, "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } }, "readdirp": { @@ -15515,10 +16620,21 @@ "strip-indent": "^3.0.0" } }, + "reduce-flatten": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", + "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + }, "regexp.prototype.flags": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", - "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz", + "integrity": "sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -15537,12 +16653,6 @@ "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", "dev": true }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, "renderkid": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", @@ -15556,34 +16666,6 @@ "strip-ansi": "^6.0.1" } }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -15596,12 +16678,6 @@ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -15609,13 +16685,14 @@ "dev": true }, "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", "dev": true, "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } }, "resolve-cwd": { @@ -15641,6 +16718,12 @@ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, + "resolve.exports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", + "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", + "dev": true + }, "retry": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", @@ -15653,12 +16736,6 @@ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true }, - "revalidator": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz", - "integrity": "sha1-/s5hv6DBtSoga9axgZgYS91SOjs=", - "dev": true - }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -15689,34 +16766,36 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, - "sass-graph": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", - "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", + "sass": { + "version": "1.49.9", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.49.9.tgz", + "integrity": "sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A==", "dev": true, "requires": { - "glob": "^7.0.0", - "lodash": "^4.0.0", - "scss-tokenizer": "^0.2.3", - "yargs": "^13.3.2" + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" } }, "sass-loader": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.3.0.tgz", - "integrity": "sha512-6l9qwhdOb7qSrtOu96QQ81LVl8v6Dp9j1w3akOm0aWHyrTYtagDt5+kS32N4yq4hHk3M+rdqoRMH+lIdqvW6HA==", + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", + "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "dev": true, + "requires": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + } + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", "dev": true, "requires": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" + "xmlchars": "^2.2.0" } }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, "scheduler": { "version": "0.19.1", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", @@ -15739,9 +16818,9 @@ }, "dependencies": { "ajv": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.1.tgz", - "integrity": "sha512-6CiMNDrzv0ZR916u2T+iRunnD60uWmNn8SkdB44/6stVORUg0aAkWO7PkOhpCmjmW8f2I/G/xnowD66fxGyQJg==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -15751,9 +16830,9 @@ } }, "ajv-keywords": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.0.0.tgz", - "integrity": "sha512-ULd1QMjRoH6JDNUQIfDLrlE+OgZlFaxyYCjzt58uNuUQtKXt8/U+vK/8Ql0gyn/C5mqZzUWtKMqr/4YquvTrWA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, "requires": { "fast-deep-equal": "^3.1.3" @@ -15767,27 +16846,6 @@ } } }, - "scss-tokenizer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", - "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", - "dev": true, - "requires": { - "js-base64": "^2.1.8", - "source-map": "^0.4.2" - }, - "dependencies": { - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "requires": { - "amdefine": ">=0.0.4" - } - } - } - }, "select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", @@ -15795,12 +16853,12 @@ "dev": true }, "selfsigned": { - "version": "1.10.11", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", - "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz", + "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==", "dev": true, "requires": { - "node-forge": "^0.10.0" + "node-forge": "^1" } }, "semver": { @@ -15813,9 +16871,9 @@ } }, "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", + "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", "dev": true, "requires": { "debug": "2.6.9", @@ -15825,9 +16883,9 @@ "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.7.2", + "http-errors": "1.8.1", "mime": "1.6.0", - "ms": "2.1.1", + "ms": "2.1.3", "on-finished": "~2.3.0", "range-parser": "~1.2.1", "statuses": "~1.5.0" @@ -15851,9 +16909,9 @@ } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true } } @@ -15924,27 +16982,21 @@ } }, "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", + "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", "dev": true, "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.1" + "send": "0.17.2" } }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true }, "shallow-clone": { @@ -15971,12 +17023,6 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, - "shelljs": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz", - "integrity": "sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM=", - "dev": true - }, "side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", @@ -15988,9 +17034,15 @@ } }, "signal-exit": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", - "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", "dev": true }, "slash": { @@ -16008,39 +17060,41 @@ "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", "is-fullwidth-code-point": "^3.0.0" - }, - "dependencies": { - "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==", - "dev": true - } } }, "sockjs": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", - "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", "dev": true, "requires": { "faye-websocket": "^0.11.3", - "uuid": "^3.4.0", + "uuid": "^8.3.2", "websocket-driver": "^0.7.4" } }, "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, "source-map-js": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", - "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", "dev": true }, + "source-map-resolve": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0" + } + }, "source-map-support": { "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", @@ -16049,48 +17103,8 @@ "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" } }, - "spdx-license-ids": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", - "dev": true - }, "spdy": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", @@ -16116,110 +17130,73 @@ "obuf": "^1.1.2", "readable-stream": "^3.0.6", "wbuf": "^1.7.3" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } } }, - "split-on-first": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", - "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==" - }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", "dev": true, "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "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==", + "dev": true + } } }, - "stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", - "dev": true - }, "statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "dev": true }, - "stdout-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", - "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "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==", "dev": true, "requires": { - "readable-stream": "^2.0.1" + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "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==", + "dev": true + } } }, - "strict-uri-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", - "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=" - }, - "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==", + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" } }, "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" } }, "string.fromcodepoint": { @@ -16279,10 +17256,10 @@ "ansi-regex": "^5.0.1" } }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "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==", "dev": true }, "strip-final-newline": { @@ -16322,10 +17299,32 @@ "has-flag": "^4.0.0" } }, + "supports-hyperlinks": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", + "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, "table": { - "version": "6.7.3", - "resolved": "https://registry.npmjs.org/table/-/table-6.7.3.tgz", - "integrity": "sha512-5DkIxeA7XERBqMwJq0aHZOdMadBx4e6eDoFRuyT5VR82J0Ycg2DwM6GfA/EQAhJ+toRTaS1lIdSQCqgrmhPnlw==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", + "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", "dev": true, "requires": { "ajv": "^8.0.1", @@ -16336,9 +17335,9 @@ }, "dependencies": { "ajv": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.1.tgz", - "integrity": "sha512-6CiMNDrzv0ZR916u2T+iRunnD60uWmNn8SkdB44/6stVORUg0aAkWO7PkOhpCmjmW8f2I/G/xnowD66fxGyQJg==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -16347,34 +17346,37 @@ "uri-js": "^4.2.2" } }, - "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==", - "dev": true - }, - "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==", - "dev": true - }, "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==", "dev": true + } + } + }, + "table-layout": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", + "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==", + "dev": true, + "requires": { + "array-back": "^4.0.1", + "deep-extend": "~0.6.0", + "typical": "^5.2.0", + "wordwrapjs": "^4.0.0" + }, + "dependencies": { + "array-back": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", + "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", + "dev": true }, - "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==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } + "typical": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "dev": true } } }, @@ -16384,62 +17386,61 @@ "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true }, - "tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "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==", "dev": 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" + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" } }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "terser": { + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz", + "integrity": "sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==", "dev": true, "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "acorn": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "dev": true + }, + "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==", + "dev": true + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } } }, "terser-webpack-plugin": { - "version": "5.2.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.5.tgz", - "integrity": "sha512-3luOVHku5l0QBeYS8r4CdHYWEGMmIj3H1U64jgkdZzECcSOJAyJ9TjuqcQZvw1Y+4AOBN9SeYJPJmFn2cM4/2g==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz", + "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==", "dev": true, "requires": { - "jest-worker": "^27.0.6", + "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.0", "source-map": "^0.6.1", "terser": "^5.7.2" }, "dependencies": { - "acorn": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz", - "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==", - "dev": true, - "optional": true, - "peer": true - }, - "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==", - "dev": true - }, "schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", @@ -16450,97 +17451,31 @@ "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "terser": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz", - "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.20" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } - } } } }, + "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==", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, - "tfx-cli": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/tfx-cli/-/tfx-cli-0.9.3.tgz", - "integrity": "sha512-9f5iWGAs3wSNBEgyQB8K0RyhdGNPQp5CuJ0xHOxye1F8cmkMRxGyh5s+0yIJY0NMGDC/aA7Kb1NirBHj/3G4Vw==", - "dev": true, - "requires": { - "app-root-path": "1.0.0", - "archiver": "2.0.3", - "async": "^1.4.0", - "azure-devops-node-api": "^8.1.1", - "clipboardy": "~1.2.3", - "colors": "~1.3.0", - "glob": "7.1.2", - "jju": "^1.4.0", - "json-in-place": "^1.0.1", - "jszip": "~3.1.5", - "lodash": "~4.17.11", - "minimist": "^1.1.2", - "mkdirp": "^0.5.1", - "onecolor": "^2.5.0", - "os-homedir": "^1.0.1", - "prompt": "^0.2.14", - "read": "^1.0.6", - "shelljs": "^0.5.1", - "tmp": "0.0.26", - "tracer": "0.7.4", - "util.promisify": "^1.0.0", - "uuid": "^3.0.1", - "validator": "^3.43.0", - "winreg": "0.0.12", - "xml2js": "^0.4.16" - }, - "dependencies": { - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - } - } + "throat": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", + "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", + "dev": true }, "thunky": { "version": "1.1.0", @@ -16548,25 +17483,10 @@ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, - "tinytim": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/tinytim/-/tinytim-0.1.1.tgz", - "integrity": "sha1-yWih5VWa2VUyJO92J7qzTjyu+Kg=", - "dev": true - }, - "tmp": { - "version": "0.0.26", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.26.tgz", - "integrity": "sha1-nvqCDOKhD4H4l5VVus4/FVJs4fI=", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.0" - } - }, - "to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true }, "to-fast-properties": { @@ -16585,59 +17505,56 @@ } }, "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true }, + "toposort": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", + "integrity": "sha1-riF2gXXRVZ1IvvNUILL0li8JwzA=" + }, "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", "dev": true, "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" } }, - "tracer": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/tracer/-/tracer-0.7.4.tgz", - "integrity": "sha1-d/oEN8+Ct2vNvNRLhHRHcuWeUlk=", + "tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", "dev": true, "requires": { - "colors": "1.0.3", - "dateformat": "1.0.11", - "tinytim": "0.1.1" - }, - "dependencies": { - "colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", - "dev": true - } + "punycode": "^2.1.1" } }, - "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==", - "dev": true - }, - "true-case-path": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", - "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "ts-jest": { + "version": "27.1.4", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.1.4.tgz", + "integrity": "sha512-qjkZlVPWVctAezwsOD1OPzbZ+k7zA5z3oxII4dGdZo5ggX/PL7kvwTM0pXTr10fAtbiVpJaL3bWd502zAhpgSQ==", "dev": true, "requires": { - "glob": "^7.1.2" + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^27.0.0", + "json5": "2.x", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "20.x" } }, "ts-loader": { - "version": "9.2.6", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.6.tgz", - "integrity": "sha512-QMTC4UFzHmu9wU2VHZEmWWE9cUajjfcdcws+Gh7FhiO+Dy0RnR1bNz0YCHqhI0yRowCE9arVnNxYHqELOy9Hjw==", + "version": "9.2.8", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.8.tgz", + "integrity": "sha512-gxSak7IHUuRtwKf3FIPSW1VpZcqF9+MBrHOvBp9cjHh+525SjtCIJKVGjRKIAfxBwDGDGCFF00rTfzB1quxdSw==", "dev": true, "requires": { "chalk": "^4.1.0", @@ -16668,27 +17585,6 @@ } } }, - "tunnel": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.4.tgz", - "integrity": "sha1-LTeFoVjBdMmhbcLARuxfxfF0IhM=", - "dev": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -16698,6 +17594,12 @@ "prelude-ls": "^1.2.1" } }, + "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==", + "dev": true + }, "type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", @@ -16714,20 +17616,25 @@ "mime-types": "~2.1.24" } }, - "typed-rest-client": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.2.0.tgz", - "integrity": "sha512-FrUshzZ1yxH8YwGR29PWWnfksLEILbWJydU7zfIRkyH7kAEzB62uMAl2WY6EyolWpLpVHeJGgQm45/MaruaHpw==", + "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==", "dev": true, "requires": { - "tunnel": "0.0.4", - "underscore": "1.8.3" + "is-typedarray": "^1.0.0" } }, "typescript": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz", - "integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==", + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", + "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==", + "dev": true + }, + "typical": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", + "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", "dev": true }, "unbox-primitive": { @@ -16741,10 +17648,16 @@ "which-boxed-primitive": "^1.0.2" } }, - "underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=", + "universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", + "dev": true + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true }, "unpipe": { @@ -16762,89 +17675,18 @@ "punycode": "^2.1.0" } }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "util.promisify": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", - "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", - "dev": true, - "requires": { - "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" - } - }, "utila": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", "dev": true }, - "utile": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz", - "integrity": "sha1-kwyI6ZCY1iIINMNWy9mncFItkNc=", - "dev": true, - "requires": { - "async": "~0.2.9", - "deep-equal": "*", - "i": "0.3.x", - "mkdirp": "0.x.x", - "ncp": "0.4.x", - "rimraf": "2.x.x" - }, - "dependencies": { - "async": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", - "dev": true - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", @@ -16852,10 +17694,9 @@ "dev": true }, "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" }, "v8-compile-cache": { "version": "2.3.0", @@ -16863,57 +17704,62 @@ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, - "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==", + "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==", "dev": true, "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } } }, - "validator": { - "version": "3.43.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-3.43.0.tgz", - "integrity": "sha1-lkZLmS1BloM9l6GUv0Cxn/VLrgU=", - "dev": true - }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", "dev": true }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "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==", "dev": true, "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - } + "browser-process-hrtime": "^1.0.0" } }, - "walkdir": { - "version": "0.0.11", - "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz", - "integrity": "sha1-oW0CXrkxvQO1LzCMrtD0D86+lTI=", - "dev": true + "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==", + "dev": true, + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "requires": { + "makeerror": "1.0.12" + } }, "watchpack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", - "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", + "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -16929,14 +17775,20 @@ "minimalistic-assert": "^1.0.0" } }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true + }, "webpack": { - "version": "5.64.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.64.1.tgz", - "integrity": "sha512-b4FHmRgaaAjP+aVOVz41a9Qa5SmkUPQ+u8FntTQ1roPHahSComB6rXnLwc976VhUY4CqTaLu5mCswuHiNhOfVw==", + "version": "5.70.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz", + "integrity": "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==", "dev": true, "requires": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.50", + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/wasm-edit": "1.11.1", "@webassemblyjs/wasm-parser": "1.11.1", @@ -16944,12 +17796,12 @@ "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.3", + "enhanced-resolve": "^5.9.2", "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.4", + "graceful-fs": "^4.2.9", "json-parse-better-errors": "^1.0.2", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", @@ -16957,14 +17809,14 @@ "schema-utils": "^3.1.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.2.0", - "webpack-sources": "^3.2.2" + "watchpack": "^2.3.1", + "webpack-sources": "^3.2.3" }, "dependencies": { "acorn": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz", - "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", "dev": true }, "acorn-import-assertions": { @@ -16988,15 +17840,15 @@ } }, "webpack-cli": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz", - "integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==", + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz", + "integrity": "sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==", "dev": true, "requires": { "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.1.0", - "@webpack-cli/info": "^1.4.0", - "@webpack-cli/serve": "^1.6.0", + "@webpack-cli/configtest": "^1.1.1", + "@webpack-cli/info": "^1.4.1", + "@webpack-cli/serve": "^1.6.1", "colorette": "^2.0.14", "commander": "^7.0.0", "execa": "^5.0.0", @@ -17012,91 +17864,58 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "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==", - "dev": true - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } } } }, "webpack-dev-middleware": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.2.2.tgz", - "integrity": "sha512-DjZyYrsHhkikAFNvSNKrpnziXukU1EChFAh9j4LAm6ndPLPW8cN0KhM7T+RAiOqsQ6ABfQ8hoKIs9IWMTjov+w==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.1.tgz", + "integrity": "sha512-81EujCKkyles2wphtdrnPg/QqegC/AtqNH//mQkBYSMqwFVCQrxM6ktB2O/SPlZy7LqeEfTbV3cZARGQz6umhg==", "dev": true, "requires": { "colorette": "^2.0.10", - "memfs": "^3.2.2", + "memfs": "^3.4.1", "mime-types": "^2.1.31", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" } }, "webpack-dev-server": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.5.0.tgz", - "integrity": "sha512-Ss4WptsUjYa+3hPI4iYZYEc8FrtnfkaPrm5WTjk9ux5kiCS718836srs0ppKMHRaCHP5mQ6g4JZGcfDdGbCjpQ==", + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.7.4.tgz", + "integrity": "sha512-nfdsb02Zi2qzkNmgtZjkrMOcXnYZ6FLKcQwpxT7MvmHKc+oTtDsBju8j+NMyAygZ9GW1jMEUpy3itHtqgEhe1A==", "dev": true, "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/sockjs": "^0.3.33", + "@types/ws": "^8.2.2", "ansi-html-community": "^0.0.8", "bonjour": "^3.5.0", - "chokidar": "^3.5.2", + "chokidar": "^3.5.3", "colorette": "^2.0.10", "compression": "^1.7.4", "connect-history-api-fallback": "^1.6.0", + "default-gateway": "^6.0.3", "del": "^6.0.0", "express": "^4.17.1", "graceful-fs": "^4.2.6", "html-entities": "^2.3.2", "http-proxy-middleware": "^2.0.0", - "internal-ip": "^6.2.0", "ipaddr.js": "^2.0.1", "open": "^8.0.9", "p-retry": "^4.5.0", "portfinder": "^1.0.28", - "schema-utils": "^3.1.0", - "selfsigned": "^1.10.11", + "schema-utils": "^4.0.0", + "selfsigned": "^2.0.0", "serve-index": "^1.9.1", "sockjs": "^0.3.21", "spdy": "^4.0.2", "strip-ansi": "^7.0.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^5.2.1", - "ws": "^8.1.0" + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.4.2" }, "dependencies": { "ansi-regex": { @@ -17105,17 +17924,6 @@ "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, "strip-ansi": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", @@ -17124,6 +17932,13 @@ "requires": { "ansi-regex": "^6.0.1" } + }, + "ws": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", + "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", + "dev": true, + "requires": {} } } }, @@ -17138,9 +17953,9 @@ } }, "webpack-sources": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.2.tgz", - "integrity": "sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw==", + "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==", "dev": true }, "websocket-driver": { @@ -17160,11 +17975,37 @@ "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", "dev": true }, + "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==", + "dev": true, + "requires": { + "iconv-lite": "0.4.24" + } + }, "whatwg-fetch": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.1.tgz", "integrity": "sha512-gPeS9Ef8bSigQwAZiSbQyyU/sBQP1Qo6r112A2shGw5B6+4YT1D8O0oXXwF3zgXXLrrfxbIeP8fM3JmsoWU4Vw==" }, + "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==", + "dev": true + }, + "whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dev": true, + "requires": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + } + }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -17186,167 +18027,45 @@ "is-symbol": "^1.0.3" } }, - "which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", - "dev": true, - "requires": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "which-typed-array": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.7.tgz", - "integrity": "sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-abstract": "^1.18.5", - "foreach": "^2.0.5", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.7" - } - }, - "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==", - "dev": true, - "requires": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, "wildcard": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", "dev": true }, - "winreg": { - "version": "0.0.12", - "resolved": "https://registry.npmjs.org/winreg/-/winreg-0.0.12.tgz", - "integrity": "sha1-BxBVVLoanQiXklHRKUdb/64wBrc=", + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true }, - "winston": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/winston/-/winston-0.8.3.tgz", - "integrity": "sha1-ZLar9M0Brcrv1QCTk7HY6L7BnbA=", + "wordwrapjs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz", + "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==", "dev": true, "requires": { - "async": "0.2.x", - "colors": "0.6.x", - "cycle": "1.0.x", - "eyes": "0.1.x", - "isstream": "0.1.x", - "pkginfo": "0.3.x", - "stack-trace": "0.0.x" + "reduce-flatten": "^2.0.0", + "typical": "^5.2.0" }, "dependencies": { - "async": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", - "dev": true - }, - "colors": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", - "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=", - "dev": true - }, - "pkginfo": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz", - "integrity": "sha1-Wyn2qB9wcXFC4J52W76rl7T4HiE=", + "typical": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", "dev": true } } }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "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==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" } }, "wrappy": { @@ -17355,39 +18074,47 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, + "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==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, "ws": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", - "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", + "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==", "dev": true, "requires": {} }, - "xml2js": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", - "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", - "dev": true, - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - } + "xml": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", + "integrity": "sha1-eLpyAgApxbyHuKgaPPzXS0ovweU=", + "dev": true }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "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==", "dev": true }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true }, "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true }, "yallist": { @@ -17397,99 +18124,18 @@ "dev": true }, "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", "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" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" } }, "yargs-parser": { @@ -17498,16 +18144,18 @@ "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true }, - "zip-stream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", - "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=", - "dev": true, + "yup": { + "version": "0.32.11", + "resolved": "https://registry.npmjs.org/yup/-/yup-0.32.11.tgz", + "integrity": "sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg==", "requires": { - "archiver-utils": "^1.3.0", - "compress-commons": "^1.2.0", - "lodash": "^4.8.0", - "readable-stream": "^2.0.0" + "@babel/runtime": "^7.15.4", + "@types/lodash": "^4.14.175", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "nanoclone": "^0.2.1", + "property-expr": "^2.0.4", + "toposort": "^2.0.2" } } } diff --git a/package.json b/package.json index 5b903b1..3461b68 100644 --- a/package.json +++ b/package.json @@ -3,9 +3,15 @@ "private": true, "version": "0.0.1", "devDependencies": { + "@joachimdalen/azext": "^0.7.0", + "@testing-library/jest-dom": "^5.15.1", + "@testing-library/react": "^12.1.2", + "@testing-library/react-hooks": "^7.0.2", + "@types/jest": "^27.0.3", "@types/node": "^16.11.8", "@types/react": "^16.14.14", "@types/react-dom": "^16.9.14", + "@types/uuid": "^8.3.3", "@types/webpack-env": "^1.16.3", "@typescript-eslint/eslint-plugin": "^3.10.1", "@typescript-eslint/parser": "^3.10.1", @@ -20,36 +26,75 @@ "eslit": "^6.0.0", "file-loader": "^6.2.0", "html-webpack-plugin": "^5.5.0", - "node-sass": "^6.0.1", + "jest": "^27.4.0", + "jest-junit-reporter": "^1.1.0", "rimraf": "^3.0.2", + "sass": "^1.45.1", "sass-loader": "^12.3.0", "style-loader": "^3.3.1", - "tfx-cli": "^0.9.3", + "ts-jest": "^27.0.7", "ts-loader": "^9.2.6", "typescript": "^4.5.2", "webpack": "^5.64.1", "webpack-cli": "^4.9.1", - "webpack-dev-server": "^4.5.0" + "webpack-dev-server": "^4.5.0", + "webpack-merge": "^5.8.0" }, "dependencies": { "@fluentui/react": "^8.42.4", "@fluentui/react-hooks": "^8.3.6", + "@joachimdalen/azdevops-ext-core": "^0.10.0", "azure-devops-extension-api": "^1.158.0", - "azure-devops-sdk": "^1.1.2", "azure-devops-ui": "^2.167.22", "react": "^16.14.0", - "react-dom": "^16.14.0" + "react-dom": "^16.14.0", + "uuid": "^8.3.2", + "yup": "^0.32.11" }, "scripts": { - "package-release": "tfx extension create --root ./ --output-path ./joachimdalen-npm-audit-report.vsix --manifest-globs ./vss-extension.json --overrides-file ./vss-extension.release.json", - "package-dev": "tfx extension create --root ./ --output-path ./joachimdalen-acceptance-criterias-dev.vsix --manifest-globs ./vss-extension.dev.json", - "copy-dev-docs": "cp docs/CHANGELOG-DEV.md docs/CHANGELOG.md", - "copy-prod-docs": "cp docs/CHANGELOG-PROD.md docs/CHANGELOG.md", - "compile:dev": "webpack --mode development --config ./webpack.config.js", - "serve:dev": "npx webpack serve", + "prepare:dev": "npm run compile:dev && npm run changelog:prod && npm run docs:readme && npm run package:dev", + "package:dev": "tfx extension create --root ./ --manifest-globs ./vss-extension.dev.json --rev-version", + "package:qa": "tfx extension create --root ./ --manifest-globs ./vss-extension.qa.json --rev-version", + "changelog": "azext changelog generate --output CHANGELOG.md --format", + "changelog:prod": "azext changelog generate --output ./marketplace/docs/CHANGELOG.md --format", + "changelog:prod:version": "azext changelog generate --output ./marketplace/docs/CHANGELOG-RELEASE.md --format", + "compile:dev": "webpack --mode development --config ./build-scripts/webpack.config.dev.js", + "compile:qa": "webpack --config ./build-scripts/webpack.config.prod.js", + "compile:prod": "webpack --config ./build-scripts/webpack.config.prod.js", + "serve:dev": "npx webpack serve --config ./build-scripts/webpack.config.dev.js", + "docs:readme": "azext readme generate --input ./marketplace/raw/README.md --output ./marketplace/docs/README.md", "clean-build": "rimraf dist", "lint": "eslint src --ignore-path .eslintignore --ext ts --ext tsx --ext js --ext jsx", "lint:fix": "eslint --fix src --ignore-path .eslintignore --ext ts --ext tsx --ext js --ext jsx", - "de": "webpack --watch & webpack-dev-server --inline --progress --colors" + "test": "env TEST_REPORT_FILENAME=test-results.xml jest --verbose", + "test:coverage": "env TEST_REPORT_FILENAME=test-results.xml jest --verbose --coverage" + }, + "jest": { + "setupFilesAfterEnv": [ + "/src/setupTests.ts" + ], + "testEnvironment": "jsdom", + "transform": { + "^.+\\.(js|ts|tsx|jsx)$": "ts-jest" + }, + "transformIgnorePatterns": [ + "node_modules/(?!(react-native|azure-devops-ui|azure-devops-extension-sdk|azure-devops-extension-api|@joachimdalen/azdevops-ext-core)/)" + ], + "moduleNameMapper": { + "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "/src/__mocks__/fileMock.js", + "\\.(css|less|scss)$": "/src/__mocks__/styleMock.js" + }, + "preset": "ts-jest/presets/js-with-babel", + "testResultsProcessor": "./node_modules/jest-junit-reporter", + "collectCoverageFrom": [ + "src/**", + "!src/__test-utils__/*", + "!src/**/*.json" + ], + "coverageReporters": [ + "json", + "html", + "cobertura" + ] } } diff --git a/src/__mocks__/@joachimdalen/azdevops-ext-core/DevOpsService.ts b/src/__mocks__/@joachimdalen/azdevops-ext-core/DevOpsService.ts new file mode 100644 index 0000000..c3270ce --- /dev/null +++ b/src/__mocks__/@joachimdalen/azdevops-ext-core/DevOpsService.ts @@ -0,0 +1,19 @@ +import { IProjectInfo } from 'azure-devops-extension-api'; + +export const mockGetDevOpsProject = jest.fn(); +export const mockGetDevOpsQueryParameters = jest.fn(); + +export class DevOpsService { + public getProject(): Promise { + return new Promise(resolve => resolve(mockGetDevOpsProject())); + } + + public getQueryParameters(): Promise< + | { + [key: string]: string; + } + | undefined + > { + return new Promise(resolve => resolve(mockGetDevOpsQueryParameters())); + } +} diff --git a/src/__mocks__/azure-devops-extension-api/Common/RestClientBase.ts b/src/__mocks__/azure-devops-extension-api/Common/RestClientBase.ts new file mode 100644 index 0000000..d8841d6 --- /dev/null +++ b/src/__mocks__/azure-devops-extension-api/Common/RestClientBase.ts @@ -0,0 +1,3 @@ +export class RestClientBase { + +} \ No newline at end of file diff --git a/src/__mocks__/azure-devops-extension-api/Common/index.ts b/src/__mocks__/azure-devops-extension-api/Common/index.ts new file mode 100644 index 0000000..f14f595 --- /dev/null +++ b/src/__mocks__/azure-devops-extension-api/Common/index.ts @@ -0,0 +1,17 @@ +import { CoreRestClient } from "../Core"; +import { GitRestClient } from "../Git"; +import { WikiRestClient } from "../Wiki"; + + +export function getClient(clientClass: any) { + switch (new clientClass().TYPE) { + case 'CoreRestClient': + return new CoreRestClient({}) as any; + case 'WikiRestClient': + return new WikiRestClient({}) as any; + case 'GitRestClient': + return new GitRestClient({}) as any; + default: + throw new Error('Failed to get mock client'); + } +} diff --git a/src/__mocks__/azure-devops-extension-api/Core.ts b/src/__mocks__/azure-devops-extension-api/Core.ts new file mode 100644 index 0000000..2a36047 --- /dev/null +++ b/src/__mocks__/azure-devops-extension-api/Core.ts @@ -0,0 +1,13 @@ +import { IVssRestClientOptions } from 'azure-devops-extension-api'; +import { ProjectProperty } from 'azure-devops-extension-api/Core'; + +export const mockGetProjectProperties = jest.fn().mockRejectedValue(new Error('Not implemented')); + +export class CoreRestClient { + public TYPE = 'CoreRestClient'; + constructor(options: IVssRestClientOptions) {} + + getProjectProperties(projectId: string, keys?: string[]): Promise { + return new Promise(resolve => resolve(mockGetProjectProperties(projectId, keys))); + } +} diff --git a/src/__mocks__/azure-devops-extension-api/Git.ts b/src/__mocks__/azure-devops-extension-api/Git.ts new file mode 100644 index 0000000..7c342a2 --- /dev/null +++ b/src/__mocks__/azure-devops-extension-api/Git.ts @@ -0,0 +1,31 @@ +import { IVssRestClientOptions } from 'azure-devops-extension-api'; +import { GitRepository } from 'azure-devops-extension-api/Git'; + +export const mockGetRepository = jest.fn().mockRejectedValue(new Error('Not implemented')); + +export class GitRestClient { + public TYPE = 'GitRestClient'; + constructor(options: IVssRestClientOptions) {} + + getRepository(repositoryId: string, project?: string): Promise { + return new Promise(resolve => resolve(mockGetRepository(repositoryId, project))); + } +} +export enum VersionControlRecursionType { + /** + * Only return the specified item. + */ + None = 0, + /** + * Return the specified item and its direct children. + */ + OneLevel = 1, + /** + * Return the specified item and its direct children, as well as recursive chains of nested child folders that only contain a single folder. + */ + OneLevelPlusNestedEmptyFolders = 4, + /** + * Return specified item and all descendants + */ + Full = 120 +} diff --git a/src/__mocks__/azure-devops-extension-api/Graph.ts b/src/__mocks__/azure-devops-extension-api/Graph.ts new file mode 100644 index 0000000..4cdf536 --- /dev/null +++ b/src/__mocks__/azure-devops-extension-api/Graph.ts @@ -0,0 +1,19 @@ +import { IVssRestClientOptions } from 'azure-devops-extension-api'; +import { GraphMembership, GraphTraversalDirection } from 'azure-devops-extension-api/Graph'; + +export const mockListMemberships = jest.fn().mockRejectedValue(new Error('Not implemented')); +export class GraphRestClient { + constructor(options: IVssRestClientOptions) {} + public TYPE = 'GraphRestClient'; + static readonly RESOURCE_AREA_ID: string; + + listMemberships( + subjectDescriptor: string, + direction?: GraphTraversalDirection, + depth?: number + ): Promise { + return new Promise(resolve => + resolve(mockListMemberships(subjectDescriptor, direction, depth)) + ); + } +} diff --git a/src/__mocks__/azure-devops-extension-api/Identities.ts b/src/__mocks__/azure-devops-extension-api/Identities.ts new file mode 100644 index 0000000..4849b56 --- /dev/null +++ b/src/__mocks__/azure-devops-extension-api/Identities.ts @@ -0,0 +1,3 @@ +export class PeoplePickerProvider { + +} \ No newline at end of file diff --git a/src/__mocks__/azure-devops-extension-api/Wiki.ts b/src/__mocks__/azure-devops-extension-api/Wiki.ts new file mode 100644 index 0000000..caa048d --- /dev/null +++ b/src/__mocks__/azure-devops-extension-api/Wiki.ts @@ -0,0 +1,26 @@ +import { IVssRestClientOptions } from 'azure-devops-extension-api'; +import { VersionControlRecursionType } from 'azure-devops-extension-api/Git'; +import { WikiV2 } from 'azure-devops-extension-api/Wiki'; + +export const mockGetWiki = jest.fn().mockRejectedValue(new Error('Not implemented')); +export const mockGetPageByIdText = jest.fn().mockRejectedValue(new Error('Not implemented')); + +export class WikiRestClient { + public TYPE = 'WikiRestClient'; + constructor(options: IVssRestClientOptions) {} + + getWiki(wikiIdentifier: string, project?: string): Promise { + return new Promise(resolve => resolve(mockGetWiki(wikiIdentifier, project))); + } + getPageByIdText( + project: string, + wikiIdentifier: string, + id: number, + recursionLevel?: VersionControlRecursionType, + includeContent?: boolean + ): Promise { + return new Promise(resolve => + resolve(mockGetPageByIdText(project, wikiIdentifier, id, recursionLevel, includeContent)) + ); + } +} diff --git a/src/__mocks__/azure-devops-extension-api/WorkItemTracking.ts b/src/__mocks__/azure-devops-extension-api/WorkItemTracking.ts new file mode 100644 index 0000000..7b7a298 --- /dev/null +++ b/src/__mocks__/azure-devops-extension-api/WorkItemTracking.ts @@ -0,0 +1,94 @@ +/** Needed to not break the mock with AMD related ReferenceError: define is not defined */ +export const WorkItemTrackingServiceIds = { + WorkItemFormService: 'ms.vss-work-web.work-item-form' +}; +import { IVssRestClientOptions } from 'azure-devops-extension-api'; +import { JsonPatchDocument } from 'azure-devops-extension-api/WebApi'; +import { + WorkItem, + WorkItemErrorPolicy, + WorkItemType +} from 'azure-devops-extension-api/WorkItemTracking'; +export enum WorkItemExpand { + /** + * Default behavior. + */ + None = 0, + /** + * Relations work item expand. + */ + Relations = 1, + /** + * Fields work item expand. + */ + Fields = 2, + /** + * Links work item expand. + */ + Links = 3, + /** + * Expands all. + */ + All = 4 +} +export const mockGetWorkItem = jest.fn().mockRejectedValue(new Error('Not implemented')); +export const mockGetWorkItems = jest.fn().mockRejectedValue(new Error('Not implemented')); +export const mockUpdateWorkItem = jest.fn().mockRejectedValue(new Error('Not implemented')); +export const mockGetWorkItemTypes = jest.fn().mockRejectedValue(new Error('Not implemented')); + +export class WorkItemTrackingRestClient { + public TYPE = 'WorkItemTrackingRestClient'; + constructor(options: IVssRestClientOptions) {} + + getWorkItem( + id: number, + project?: string, + fields?: string[], + asOf?: Date, + expand?: WorkItemExpand + ): Promise { + return new Promise(resolve => resolve(mockGetWorkItem(id, project, fields, asOf, expand))); + } + + getWorkItems( + ids: number[], + project?: string, + fields?: string[], + asOf?: Date, + expand?: WorkItemExpand, + errorPolicy?: WorkItemErrorPolicy + ): Promise { + return new Promise(resolve => + resolve(mockGetWorkItems(ids, project, fields, asOf, expand, errorPolicy)) + ); + } + + updateWorkItem( + document: JsonPatchDocument, + id: number, + project?: string, + validateOnly?: boolean, + bypassRules?: boolean, + suppressNotifications?: boolean, + expand?: WorkItemExpand + ): Promise { + return new Promise(resolve => + resolve( + mockUpdateWorkItem( + document, + id, + project, + validateOnly, + bypassRules, + suppressNotifications, + expand + ) + ) + ); + } + getWorkItemTypes(project: string): Promise { + return new Promise(resolve => { + resolve(mockGetWorkItemTypes(project)); + }); + } +} diff --git a/src/__mocks__/azure-devops-extension-api/WorkItemTrackingProcess.ts b/src/__mocks__/azure-devops-extension-api/WorkItemTrackingProcess.ts new file mode 100644 index 0000000..d696dbe --- /dev/null +++ b/src/__mocks__/azure-devops-extension-api/WorkItemTrackingProcess.ts @@ -0,0 +1,28 @@ +import { IVssRestClientOptions } from 'azure-devops-extension-api'; +import { + GetProcessExpandLevel, + GetWorkItemTypeExpand, + ProcessInfo, + ProcessWorkItemType +} from 'azure-devops-extension-api/WorkItemTrackingProcess'; + +export const mockGetProcessWorkItemTypes = jest + .fn() + .mockRejectedValue(new Error('Not implemented')); + +export const mockGetProcessByItsId = jest.fn().mockRejectedValue(new Error('Not implemented')); + +export class WorkItemTrackingProcessRestClient { + public TYPE = 'WorkItemTrackingProcessRestClient'; + constructor(options: IVssRestClientOptions) {} + + getProcessWorkItemTypes( + processId: string, + expand?: GetWorkItemTypeExpand + ): Promise { + return new Promise(resolve => resolve(mockGetProcessWorkItemTypes(processId, expand))); + } + getProcessByItsId(processTypeId: string, expand?: GetProcessExpandLevel): Promise { + return new Promise(resolve => resolve(mockGetProcessByItsId(processTypeId, expand))); + } +} diff --git a/src/__mocks__/azure-devops-extension-api/index.ts b/src/__mocks__/azure-devops-extension-api/index.ts new file mode 100644 index 0000000..6dbb200 --- /dev/null +++ b/src/__mocks__/azure-devops-extension-api/index.ts @@ -0,0 +1 @@ +export * from './Common/index'; diff --git a/src/__mocks__/azure-devops-extension-sdk.ts b/src/__mocks__/azure-devops-extension-sdk.ts new file mode 100644 index 0000000..1487416 --- /dev/null +++ b/src/__mocks__/azure-devops-extension-sdk.ts @@ -0,0 +1,176 @@ +import { IDocumentOptions, IExtensionDataManager } from 'azure-devops-extension-api'; +import { + IWorkItemChangedArgs, + IWorkItemFieldChangedArgs, + IWorkItemLoadedArgs, + WorkItemTrackingServiceIds +} from 'azure-devops-extension-api/WorkItemTracking'; +import { IExtensionContext } from 'azure-devops-extension-sdk'; +export const mockInit = jest.fn(); +export const mockRegister = jest.fn(); +export const mockGetContributionId = jest.fn().mockReturnValue('someContributionId'); +/** + * This is a minimal mock version to test WorkItemFormGroup + * for additional mocks please look here: + * https://github.com/h2floh/azure-dev-ops-react-ui-unit-testing/blob/main/src/__mocks__/azure-devops-extension-sdk.ts + */ + +/** + * Mocked Init Function to return resolve + */ +export function init(): Promise { + return new Promise((resolve, reject) => resolve(mockInit())); +} + +/** + * Mocked getContributionId returns some Id + */ +export function getContributionId() { + return mockGetContributionId(); +} + +/** + * Type and Accessor for WorkItem events + */ +// tslint:disable-next-line: class-name +type workItemCallBackType = { + // tslint:disable-next-line: completed-docs + onFieldChanged: (args: IWorkItemFieldChangedArgs) => Promise; + // tslint:disable-next-line: completed-docs + onLoaded: (args: IWorkItemLoadedArgs) => Promise; + // tslint:disable-next-line: completed-docs + onUnloaded: (args: IWorkItemChangedArgs) => Promise; + // tslint:disable-next-line: completed-docs + onSaved: (args: IWorkItemChangedArgs) => Promise; + // tslint:disable-next-line: completed-docs + onReset: (args: IWorkItemChangedArgs) => Promise; + // tslint:disable-next-line: completed-docs + onRefreshed: (args: IWorkItemChangedArgs) => Promise; +}; + +/** Spy eventHook to test WorkItemForm Events */ +export let spyWorkItemCallBackAccessor: workItemCallBackType; +/** + * Mocked register returns empty data structure + */ +export function register(instanceId: string, instance: any) { + if (instanceId.indexOf('work-item-wiki-control') > -1) { + spyWorkItemCallBackAccessor = instance; + } + + mockRegister(instanceId, instance); +} + +/** + * Accessors to Mocked getService methods + */ +export const mockSetFieldValue = jest.fn(); +export const mockGetProject = jest.fn(); +export const mockAddToast = jest.fn(); +export const mockOpenPanel = jest.fn(); +export const mockOpenNewWindow = jest.fn(); +export const mockGetQueryParams = jest.fn().mockRejectedValue(new Error('Not implemented')); +export const mockGetDocument = jest.fn(); +export const mockGetUser = jest.fn(); +export const mockGetResourceAreaLocation = jest + .fn() + .mockRejectedValue(new Error('Not implemented')); + +/** + * Mocked getService returns mocked methods + */ +export function getService(contributionId: string) { + switch (contributionId) { + case WorkItemTrackingServiceIds.WorkItemFormService: + return { + // WorkItemFormService + setFieldValue: mockSetFieldValue + }; + case 'ms.vss-tfs-web.tfs-page-data-service': { + return { + getProject: mockGetProject + }; + } + case 'ms.vss-tfs-web.tfs-global-messages-service': { + return { + addToast: mockAddToast + }; + } + case 'ms.vss-features.host-page-layout-service': { + return { + openPanel: mockOpenPanel + }; + } + case 'ms.vss-features.host-navigation-service': { + return { + getQueryParams: mockGetQueryParams, + openNewWindow: mockOpenNewWindow + }; + } + case 'ms.vss-features.location-service': { + return { + getResourceAreaLocation: mockGetResourceAreaLocation + }; + } + case 'ms.vss-features.extension-data-service': { + return { + getExtensionDataManager: (extensionId: string, accessToken: string) => { + const dm: Partial = { + getDocument: ( + collectionName: string, + id: string, + documentOptions?: IDocumentOptions + ): Promise => { + return new Promise(resolve => + resolve(mockGetDocument(collectionName, id, documentOptions)) + ); + } + }; + + return dm; + } + }; + } + } +} + +export const mockResize = jest.fn(); +export const mockReady = jest.fn(); +export const mockGetConfiguration = jest.fn(); + +export const mockNotifyLoadSucceeded = jest.fn(); +export const mockGetAccessToken = jest.fn().mockReturnValue('Token'); +export const mockGetExtensionContext = jest.fn().mockReturnValue({ + id: 'as-pub.acceptance-criterias', + publisherId: 'as-pub', + extensionId: 'acceptance-criterias', + version: '0.1.1' +}); +export const mockNotifyLoadFailed = jest.fn(); + +export function resize(width?: number, height?: number) { + mockResize(width, height); +} + +export function ready() { + return new Promise(resolve => resolve(mockReady())); +} +export function notifyLoadSucceeded() { + mockNotifyLoadSucceeded(); +} +export function getConfiguration() { + return mockGetConfiguration(); +} +export function getUser() { + return mockGetUser(); +} + +export function getExtensionContext(): IExtensionContext { + return mockGetExtensionContext(); +} +export function notifyLoadFailed(e: Error | string): Promise { + return new Promise(resolve => resolve(mockNotifyLoadFailed(e))); +} +export function getAccessToken(): Promise { + return new Promise(resolve => resolve(mockGetAccessToken())); +} diff --git a/src/__mocks__/styleMock.js b/src/__mocks__/styleMock.js new file mode 100644 index 0000000..b4a9dd9 --- /dev/null +++ b/src/__mocks__/styleMock.js @@ -0,0 +1,3 @@ +// __mocks__/styleMock.js + +export default {}; diff --git a/src/__tests__/common/chunkUtil.test.ts b/src/__tests__/common/chunkUtil.test.ts new file mode 100644 index 0000000..adc3631 --- /dev/null +++ b/src/__tests__/common/chunkUtil.test.ts @@ -0,0 +1,24 @@ +import { chunk } from '../../common/chunkUtil'; + +describe('chunkUtil', () => { + it('should create correct chunks', () => { + const items = Array(...Array(5)).map(function (x, i) { + return i; + }); + + const chunks = chunk(items, 2); + expect(chunks.length).toEqual(3); + expect(chunks[0].length).toEqual(2); + expect(chunks[1].length).toEqual(2); + expect(chunks[2].length).toEqual(1); + }); + it('should create single chunk if smaller than size', () => { + const items = Array(...Array(5)).map(function (x, i) { + return i; + }); + + const chunks = chunk(items, 10); + expect(chunks.length).toEqual(1); + expect(chunks[0].length).toEqual(5); + }); +}); diff --git a/src/__tests__/common/common.test.tsx b/src/__tests__/common/common.test.tsx new file mode 100644 index 0000000..77c1cbe --- /dev/null +++ b/src/__tests__/common/common.test.tsx @@ -0,0 +1,45 @@ +import { + mockGetContributionId, + mockGetProject, + mockGetResourceAreaLocation +} from '../../__mocks__/azure-devops-extension-sdk'; +import { chunk } from '../../common/chunkUtil'; +import { capitalizeFirstLetter, getUrl, move } from '../../common/common'; + +describe('common', () => { + describe('capitalizeFirstLetter', () => { + it('should capitalize first letter', () => { + expect(capitalizeFirstLetter('mystring')).toEqual('Mystring'); + }); + }); + describe('move', () => { + it('should move item', () => { + const items = [1, 2, 3, 4]; + move(items, 1, -1); + expect(items).toEqual([2, 1, 3, 4]); + }); + it('should not move item from end to start', () => { + const items = [1, 2, 3, 4]; + move(items, 3, 1); + expect(items).toEqual([1, 2, 3, 4]); + }); + }); + describe('getUrl', () => { + it('should throw if project is null', async () => { + mockGetResourceAreaLocation.mockResolvedValue('https://myapp.local/'); + mockGetProject.mockResolvedValue(undefined); + + expect(async () => await getUrl({ id: '12345-rit' })).rejects.toThrowError( + 'Cannot get project' + ); + }); + it('should return correct url', async () => { + mockGetResourceAreaLocation.mockResolvedValue('https://myapp.local/'); + mockGetProject.mockResolvedValue({ name: 'MyProject' }); + mockGetContributionId.mockReturnValue('criteria.hub'); + const url = await getUrl({ id: '12345-rit' }); + + expect(url).toEqual('https://myapp.local/MyProject/_apps/hub/criteria.hub?id=12345-rit'); + }); + }); +}); diff --git a/src/__tests__/common/components/ApproverDisplay.test.tsx b/src/__tests__/common/components/ApproverDisplay.test.tsx new file mode 100644 index 0000000..a5278d8 --- /dev/null +++ b/src/__tests__/common/components/ApproverDisplay.test.tsx @@ -0,0 +1,59 @@ +import { IInternalIdentity } from '@joachimdalen/azdevops-ext-core/CommonTypes'; +import { prettyDOM, render, screen } from '@testing-library/react'; + +import ApproverDisplay from '../../../common/components/ApproverDisplay'; +import { getLocalItem, getRawLocalItem, LocalStorageRawKeys } from '../../../common/localStorage'; + +jest.mock('../../../common/localStorage', () => ({ + ...jest.requireActual('../../../common/localStorage'), + getRawLocalItem: jest.fn() +})); +describe('ApproverDisplay', () => { + afterEach(() => { + jest.clearAllMocks(); + }); + + const identity: IInternalIdentity = { + displayName: 'Test User', + entityId: '1234', + entityType: 'User', + id: '54321', + descriptor: 'user1234', + image: '/image.png' + }; + + it('should show unassigned if identity is undefined', async () => { + render(); + + await screen.findAllByText(/Unassigned/); + }); + it('should show persona when defined', async () => { + render(); + + await screen.findAllByText(/Test User/); + }); + it('should show persona with correct url', async () => { + (getRawLocalItem as any).mockReturnValue('https://myapp.local'); + render(); + + const image: HTMLImageElement = await screen.findByRole('img'); + + expect(image.src).toEqual('https://myapp.local/image.png'); + }); + it('should show persona with correct url if already absolute', async () => { + (getRawLocalItem as any).mockReturnValue('https://myapp.local'); + render(); + + const image: HTMLImageElement = await screen.findByRole('img'); + + expect(image.src).toEqual('https://myapp.local/image.png'); + }); + it('should show persona with relative url if failing to get', async () => { + (getRawLocalItem as any).mockReturnValue(undefined); + render(); + + const image: HTMLImageElement = await screen.findByRole('img'); + + expect(image.src).toEqual('http://localhost/image.png'); + }); +}); diff --git a/src/__tests__/common/components/CriteriaTypeDisplay.test.tsx b/src/__tests__/common/components/CriteriaTypeDisplay.test.tsx new file mode 100644 index 0000000..901b3a7 --- /dev/null +++ b/src/__tests__/common/components/CriteriaTypeDisplay.test.tsx @@ -0,0 +1,21 @@ +import { render, screen } from '@testing-library/react'; + +import CriteriaTypeDisplay from '../../../common/components/CriteriaTypeDisplay'; + +describe('CriteriaTypeDisplay', () => { + it('should show text criteria', async () => { + render(); + + await screen.findAllByText(/Text/); + }); + it('should show scenario criteria', async () => { + render(); + + await screen.findAllByText(/Scenario/); + }); + it('should show checklist criteria', async () => { + render(); + + await screen.findAllByText(/Checklist/); + }); +}); diff --git a/src/__tests__/common/components/FullStatusTag.test.tsx b/src/__tests__/common/components/FullStatusTag.test.tsx new file mode 100644 index 0000000..eb45c6b --- /dev/null +++ b/src/__tests__/common/components/FullStatusTag.test.tsx @@ -0,0 +1,12 @@ +import { render, screen } from '@testing-library/react'; + +import FullStatusTag from '../../../common/components/FullStatusTag'; +import { FullCriteriaStatus } from '../../../common/types'; + +describe('FullStatusTag', () => { + it('should show status', async () => { + render(); + + await screen.findAllByText(/approved/); + }); +}); diff --git a/src/__tests__/common/components/ProgressBar.test.tsx b/src/__tests__/common/components/ProgressBar.test.tsx new file mode 100644 index 0000000..a43fe48 --- /dev/null +++ b/src/__tests__/common/components/ProgressBar.test.tsx @@ -0,0 +1,16 @@ +import { render, screen, waitFor } from '@testing-library/react'; + +import ProgressBar from '../../../common/components/ProgressBar'; + +describe('ProgressBar', () => { + it('should show correct counter', async () => { + render(); + + await waitFor(() => screen.findAllByText(/\(10\/100\)/)); + }); + it('should show correct percentage counter', async () => { + render(); + + await waitFor(() => screen.findAllByText(/10%/)); + }); +}); diff --git a/src/__tests__/common/components/StatusTag.test.tsx b/src/__tests__/common/components/StatusTag.test.tsx new file mode 100644 index 0000000..f638d1e --- /dev/null +++ b/src/__tests__/common/components/StatusTag.test.tsx @@ -0,0 +1,17 @@ +import { render, screen } from '@testing-library/react'; + +import StatusTag from '../../../common/components/StatusTag'; +import { AcceptanceCriteriaState } from '../../../common/types'; + +describe('StatusTag', () => { + it('should show correct status', async () => { + render(); + + await screen.findAllByText(/Approved/); + }); + it('should format states correctly', async () => { + render(); + + await screen.findAllByText(/Awaiting Approval/); + }); +}); diff --git a/src/__tests__/common/criteriaUtils.test.ts b/src/__tests__/common/criteriaUtils.test.ts new file mode 100644 index 0000000..2431f36 --- /dev/null +++ b/src/__tests__/common/criteriaUtils.test.ts @@ -0,0 +1,71 @@ +import { chunk } from '../../common/chunkUtil'; +import { getWorkItemIdFromCriteriaId, isCompleted, isProcessed } from '../../common/criteriaUtils'; +import { + AcceptanceCriteriaState, + CriteriaDetailDocument, + IAcceptanceCriteria +} from '../../common/types'; + +describe('criteriaUtils', () => { + describe('isProcessed', () => { + it('should return true when processed', () => { + const crit: IAcceptanceCriteria = { + id: '', + state: AcceptanceCriteriaState.Approved, + title: 'Title', + type: 'checklist' + }; + const details: CriteriaDetailDocument = { + id: '', + processed: { + processedBy: { + displayName: '', + entityId: '', + entityType: 'Custom', + id: '1' + } + } + }; + + expect(isProcessed(crit, details)).toBeTruthy(); + }); + it('should return false when missing details', () => { + const crit: IAcceptanceCriteria = { + id: '', + state: AcceptanceCriteriaState.Approved, + title: 'Title', + type: 'checklist' + }; + + expect(isProcessed(crit)).toBeFalsy(); + }); + }); + describe('isCompleted', () => { + it('should return true when completed', () => { + const crit: IAcceptanceCriteria = { + id: '', + state: AcceptanceCriteriaState.Approved, + title: 'Title', + type: 'checklist' + }; + expect(isCompleted(crit)).toBeTruthy(); + }); + it('should return false when completed', () => { + const crit: IAcceptanceCriteria = { + id: '', + state: AcceptanceCriteriaState.New, + title: 'Title', + type: 'checklist' + }; + expect(isCompleted(crit)).toBeFalsy(); + }); + }); + describe('getWorkItemIdFromCriteriaId', () => { + it('should return id when correct format', () => { + expect(getWorkItemIdFromCriteriaId('AC-12345-123')).toEqual('12345'); + }); + it('should return undefined when wrong format', () => { + expect(getWorkItemIdFromCriteriaId('AC-12345')).toBeUndefined(); + }); + }); +}); diff --git a/src/__tests__/common/hooks/useCriteriaId.test.tsx b/src/__tests__/common/hooks/useCriteriaId.test.tsx new file mode 100644 index 0000000..5a55bff --- /dev/null +++ b/src/__tests__/common/hooks/useCriteriaId.test.tsx @@ -0,0 +1,28 @@ +import { renderHook } from '@testing-library/react-hooks'; + +import { mockGetDevOpsQueryParameters } from '../../../__mocks__/@joachimdalen/azdevops-ext-core/DevOpsService'; +import useCriteriaId from '../../../common/hooks/useCriteriaId'; + +describe('useCriteriaId', () => { + afterEach(() => { + jest.clearAllMocks(); + }); + it('should return undefined when no query params', async () => { + mockGetDevOpsQueryParameters.mockReturnValue({}); + const { result } = renderHook(() => useCriteriaId()); + expect(result.current).toBeUndefined(); + }); + it('should return undefined when query params but not expected', () => { + mockGetDevOpsQueryParameters.mockReturnValue({ hello: 'john' }); + const { result } = renderHook(() => useCriteriaId()); + + expect(result.current).toBeUndefined(); + }); + it('should return id when query params', async () => { + mockGetDevOpsQueryParameters.mockResolvedValue({ criteriaId: '1234' }); + const { result, waitForNextUpdate } = renderHook(() => useCriteriaId()); + await waitForNextUpdate(); + + expect(result.current).toEqual('1234'); + }); +}); diff --git a/src/__tests__/common/services/CriteriaService.test.ts b/src/__tests__/common/services/CriteriaService.test.ts new file mode 100644 index 0000000..4eb33b0 --- /dev/null +++ b/src/__tests__/common/services/CriteriaService.test.ts @@ -0,0 +1,170 @@ +import { mockGetDevOpsProject } from '../../../__mocks__/@joachimdalen/azdevops-ext-core/DevOpsService'; +import { mockGetDocument, mockGetProject } from '../../../__mocks__/azure-devops-extension-sdk'; +import CriteriaService from '../../../common/services/CriteriaService'; +import { + AcceptanceCriteriaState, + CriteriaDocument, + FullCriteriaStatus +} from '../../../common/types'; + +describe('CriteriaService', () => { + describe('setFullState', () => { + it('should be new when all is new', () => { + const service = new CriteriaService(); + const document: CriteriaDocument = { + id: '1', + state: FullCriteriaStatus.New, + criterias: [ + { + id: '12', + state: AcceptanceCriteriaState.New, + type: 'text', + title: 'Test criteria' + } + ], + counter: 1 + }; + const result = service.setFullState(document); + expect(result.state).toEqual(FullCriteriaStatus.New); + }); + it('should be partial when mixex', () => { + const service = new CriteriaService(); + const document: CriteriaDocument = { + id: '1', + state: FullCriteriaStatus.New, + criterias: [ + { + id: '12', + state: AcceptanceCriteriaState.New, + type: 'text', + title: 'Test criteria' + }, + { + id: '12', + state: AcceptanceCriteriaState.Completed, + type: 'text', + title: 'Test criteria' + } + ], + counter: 1 + }; + const result = service.setFullState(document); + expect(result.state).toEqual(FullCriteriaStatus.Partial); + }); + it('should be completed when all is completed', () => { + const service = new CriteriaService(); + const document: CriteriaDocument = { + id: '1', + state: FullCriteriaStatus.New, + criterias: [ + { + id: '12', + state: AcceptanceCriteriaState.Completed, + type: 'text', + title: 'Test criteria' + }, + { + id: '12', + state: AcceptanceCriteriaState.Completed, + type: 'text', + title: 'Test criteria' + } + ], + counter: 1 + }; + const result = service.setFullState(document); + expect(result.state).toEqual(FullCriteriaStatus.Completed); + }); + it('should be approved when all is approved', () => { + const service = new CriteriaService(); + const document: CriteriaDocument = { + id: '1', + state: FullCriteriaStatus.New, + criterias: [ + { + id: '12', + state: AcceptanceCriteriaState.Approved, + type: 'text', + title: 'Test criteria' + }, + { + id: '12', + state: AcceptanceCriteriaState.Approved, + type: 'text', + title: 'Test criteria' + } + ], + counter: 1 + }; + const result = service.setFullState(document); + expect(result.state).toEqual(FullCriteriaStatus.Approved); + }); + it('should be rejected when all is rejected', () => { + const service = new CriteriaService(); + const document: CriteriaDocument = { + id: '1', + state: FullCriteriaStatus.New, + criterias: [ + { + id: '12', + state: AcceptanceCriteriaState.Rejected, + type: 'text', + title: 'Test criteria' + }, + { + id: '12', + state: AcceptanceCriteriaState.Rejected, + type: 'text', + title: 'Test criteria' + } + ], + counter: 1 + }; + const result = service.setFullState(document); + expect(result.state).toEqual(FullCriteriaStatus.Rejected); + }); + it('should be partial when all is awaitingapproval', () => { + const service = new CriteriaService(); + const document: CriteriaDocument = { + id: '1', + state: FullCriteriaStatus.New, + criterias: [ + { + id: '12', + state: AcceptanceCriteriaState.AwaitingApproval, + type: 'text', + title: 'Test criteria' + }, + { + id: '12', + state: AcceptanceCriteriaState.AwaitingApproval, + type: 'text', + title: 'Test criteria' + } + ], + counter: 1 + }; + const result = service.setFullState(document); + expect(result.state).toEqual(FullCriteriaStatus.Partial); + }); + }); + describe('load', () => { + describe('singleItem', () => { + beforeEach(() => { + mockGetDevOpsProject.mockResolvedValue({ + name: 'MyProject', + id: 'ac8bc00e-6c55-4c23-ab83-dd3763ccd974' + }); + }); + it('should set empty array if data is undefined', async () => { + const service = new CriteriaService(); + mockGetDocument.mockReturnValue(undefined); + + const result = await service.load(undefined, '1'); + + expect(result.success).toBeTruthy(); + expect(result.data).toEqual([]); + }); + }); + }); +}); diff --git a/src/__tests__/confirmation-dialog/ConfirmationDialog.test.tsx b/src/__tests__/confirmation-dialog/ConfirmationDialog.test.tsx new file mode 100644 index 0000000..3f4d30a --- /dev/null +++ b/src/__tests__/confirmation-dialog/ConfirmationDialog.test.tsx @@ -0,0 +1,104 @@ +import { render, screen, waitFor } from '@testing-library/react'; +import { MessageBarSeverity } from 'azure-devops-ui/MessageBar'; + +import { + mockGetConfiguration, + mockGetContributionId +} from '../../__mocks__/azure-devops-extension-sdk'; +import { IConfirmationConfig } from '../../common/common'; +import ConfirmationDialog from '../../confirmation-dialog/ConfirmationDialog'; + +describe('ConfirmationDialog', () => { + it('should show error when failing to load config', async () => { + mockGetConfiguration.mockReturnValue(undefined); + render(); + await waitFor(() => screen.findAllByText(/Error/)); + }); + it('should render correctly', async () => { + const config: IConfirmationConfig = { + cancelButton: { + text: 'Cancel' + }, + confirmButton: { + text: 'Ok' + }, + content: 'This is the dialog content' + }; + mockGetConfiguration.mockReturnValue(config); + + render(); + + await waitFor(() => screen.findAllByText(/This is the dialog content/)); + + const okButton = screen.getByRole('button', { + name: 'Ok' + }); + const cancelButton = screen.getByRole('button', { + name: 'Ok' + }); + + expect(okButton).not.toBeUndefined(); + expect(cancelButton).not.toBeUndefined(); + }); + it('should not render "Do not show again" unless configured', async () => { + const config: IConfirmationConfig = { + cancelButton: { + text: 'Cancel' + }, + confirmButton: { + text: 'Ok' + }, + content: 'This is the dialog content' + }; + mockGetConfiguration.mockReturnValue(config); + + render(); + + await waitFor(() => screen.findAllByText(/This is the dialog content/)); + + const dnsa = screen.queryByRole('checkbox'); + + expect(dnsa).toBeNull(); + }); + it('should render message bar', async () => { + const config: IConfirmationConfig = { + cancelButton: { + text: 'Cancel' + }, + confirmButton: { + text: 'Ok' + }, + content: 'This is the dialog content', + messageBar: { + severity: MessageBarSeverity.Error + }, + messageBarContent: 'This is mb content' + }; + mockGetConfiguration.mockReturnValue(config); + + render(); + + await waitFor(() => screen.findAllByText(/This is mb content/)); + }); + it('should render array content', async () => { + const config: IConfirmationConfig = { + cancelButton: { + text: 'Cancel' + }, + confirmButton: { + text: 'Ok' + }, + content: ['This is the dialog content', 'And this is the row'], + messageBar: { + severity: MessageBarSeverity.Error + }, + messageBarContent: 'This is mb content' + }; + mockGetConfiguration.mockReturnValue(config); + + render(); + + await waitFor(() => screen.findAllByText(/This is the dialog content/)); + await waitFor(() => screen.findAllByText(/And this is the row/)); + }); +}); diff --git a/src/__tests__/criteria-panel/CriteriaPanel.test.tsx b/src/__tests__/criteria-panel/CriteriaPanel.test.tsx new file mode 100644 index 0000000..47a5d76 --- /dev/null +++ b/src/__tests__/criteria-panel/CriteriaPanel.test.tsx @@ -0,0 +1,228 @@ +import { prettyDOM, render, screen, waitFor } from '@testing-library/react'; + +import { mockGetDevOpsProject } from '../../__mocks__/@joachimdalen/azdevops-ext-core/DevOpsService'; +import { mockGetConfiguration, mockGetUser } from '../../__mocks__/azure-devops-extension-sdk'; +import { StorageService } from '../../common/services/StorageService'; +import { + AcceptanceCriteriaState, + CriteriaDetailDocument, + CriteriaDocument, + CriteriaPanelConfig, + FullCriteriaStatus +} from '../../common/types'; +import CriteriaPanel from '../../criteria-panel/CriteriaPanel'; +import { CriteriaPanelProvider } from '../../criteria-panel/CriteriaPanelContext'; +import { getApprover, getTextCriteria } from '../../testdata'; + +type CpCon = (CriteriaPanelConfig & { panel: any }) | undefined; + +describe('CriteriaPanel', () => { + const getSettingsSpy = jest.spyOn(StorageService.prototype, 'getSettings'); + const getCriteriaDetailsSpy = jest.spyOn(StorageService.prototype, 'getCriteriaDetail'); + const getCriteriaSpy = jest.spyOn(StorageService.prototype, 'getCriteriasForWorkItem'); + + beforeEach(() => { + jest.clearAllMocks(); + }); + + it('should render default edit mode', async () => { + const config: CpCon = { + panel: true, + workItemId: '1', + canEdit: true + }; + + mockGetConfiguration.mockReturnValue(config); + getSettingsSpy.mockResolvedValue({ + id: 'Global', + limitAllowedCriteriaTypes: false, + allowedCriteriaTypes: [], + requireApprovers: false, + __etag: -1 + }); + + render( + + + + ); + + await waitFor(() => screen.findAllByText(/Title/)); + }); + + it('should fetch and render criteria', async () => { + const config: CpCon = { + panel: { + onClose: jest.fn() + }, + workItemId: '1', + canEdit: true, + criteriaId: 'AC-1-1' + }; + const { criteria, details } = getTextCriteria( + '1', + FullCriteriaStatus.New, + AcceptanceCriteriaState.New, + '1' + ); + + mockGetConfiguration.mockReturnValue(config); + getCriteriaDetailsSpy.mockResolvedValue(details); + getCriteriaSpy.mockResolvedValue(criteria); + getSettingsSpy.mockResolvedValue({ + id: 'Global', + limitAllowedCriteriaTypes: false, + allowedCriteriaTypes: [], + requireApprovers: false, + __etag: -1 + }); + + render( + + + + ); + + await waitFor(() => screen.findAllByText(/This is the content/)); + }); + it('should render complete container', async () => { + const config: CpCon = { + panel: { + onClose: jest.fn() + }, + workItemId: '1', + isReadOnly: true, + criteriaId: 'AC-1-1' + }; + const { criteria, details } = getTextCriteria( + '1', + FullCriteriaStatus.New, + AcceptanceCriteriaState.New, + '1' + ); + + mockGetConfiguration.mockReturnValue(config); + getCriteriaDetailsSpy.mockResolvedValue(details); + getCriteriaSpy.mockResolvedValue(criteria); + getSettingsSpy.mockResolvedValue({ + id: 'Global', + limitAllowedCriteriaTypes: false, + allowedCriteriaTypes: [], + requireApprovers: false, + __etag: -1 + }); + + render( + + + + ); + + await waitFor(() => screen.findAllByText(/Complete criteria\?/)); + }); + it('should render completed container', async () => { + const config: CpCon = { + panel: { + onClose: jest.fn() + }, + workItemId: '1', + isReadOnly: true, + criteriaId: 'AC-1-1' + }; + const { criteria, details } = getTextCriteria( + '1', + FullCriteriaStatus.Completed, + AcceptanceCriteriaState.Completed, + '1' + ); + mockGetConfiguration.mockReturnValue(config); + getCriteriaDetailsSpy.mockResolvedValue(details); + getCriteriaSpy.mockResolvedValue(criteria); + getSettingsSpy.mockResolvedValue({ + id: 'Global', + limitAllowedCriteriaTypes: false, + allowedCriteriaTypes: [], + requireApprovers: false, + __etag: -1 + }); + + render( + + + + ); + + await waitFor(() => screen.findAllByText(/This criteria was completed/)); + }); + it('should render ready for approval container', async () => { + const config: CpCon = { + panel: { + onClose: jest.fn() + }, + workItemId: '1', + isReadOnly: true, + criteriaId: 'AC-1-1' + }; + const { criteria, details } = getTextCriteria( + '1', + FullCriteriaStatus.New, + AcceptanceCriteriaState.New, + '1', + getApprover() + ); + mockGetConfiguration.mockReturnValue(config); + getCriteriaDetailsSpy.mockResolvedValue(details); + getCriteriaSpy.mockResolvedValue(criteria); + getSettingsSpy.mockResolvedValue({ + id: 'Global', + limitAllowedCriteriaTypes: false, + allowedCriteriaTypes: [], + requireApprovers: false, + __etag: -1 + }); + + render( + + + + ); + + await waitFor(() => screen.findAllByText(/Ready for approval/)); + }); + it('should render approval container', async () => { + const config: CpCon = { + panel: { + onClose: jest.fn() + }, + workItemId: '1', + isReadOnly: true, + criteriaId: 'AC-1-1' + }; + const { criteria, details } = getTextCriteria( + '1', + FullCriteriaStatus.New, + AcceptanceCriteriaState.AwaitingApproval, + '1', + getApprover() + ); + mockGetUser.mockReturnValue(getApprover()); + mockGetConfiguration.mockReturnValue(config); + getCriteriaDetailsSpy.mockResolvedValue(details); + getCriteriaSpy.mockResolvedValue(criteria); + getSettingsSpy.mockResolvedValue({ + id: 'Global', + limitAllowedCriteriaTypes: false, + allowedCriteriaTypes: [], + requireApprovers: false, + __etag: -1 + }); + + render( + + + + ); + + await waitFor(() => screen.findAllByText(/This criteria needs your attention/)); + }); +}); diff --git a/src/__tests__/criteria-panel/components/CheckListCriteriaSection.test.tsx b/src/__tests__/criteria-panel/components/CheckListCriteriaSection.test.tsx new file mode 100644 index 0000000..9aa2124 --- /dev/null +++ b/src/__tests__/criteria-panel/components/CheckListCriteriaSection.test.tsx @@ -0,0 +1,175 @@ +import { fireEvent, render, screen, waitFor } from '@testing-library/react'; + +import CheckListCriteriaSection from '../../../criteria-panel/components/CheckListCriteriaSection'; +import { CriteriaPanelProvider } from '../../../criteria-panel/CriteriaPanelContext'; + +describe('CheckListCriteriaSection', () => { + it('should be empty initially', async () => { + render( + + + + ); + + await waitFor(() => screen.findAllByText(/Add your checklist items/)); + }); + it('should add row when button is pressed', async () => { + render( + + + + ); + + await waitFor(() => screen.findAllByText(/Add your checklist items/)); + const save = screen.getByRole('button'); + fireEvent.click(save); + + const boxes = screen.getAllByRole('textbox', { name: 'Some criteria...' }); + expect(boxes.length).toEqual(1); + }); + it('should show second toolbar with 3 items', async () => { + render( + + + + ); + + await waitFor(() => screen.findAllByText(/Add your checklist items/)); + const save = screen.getByRole('button'); + fireEvent.click(save); + fireEvent.click(save); + fireEvent.click(save); + + const addButtons = screen.getAllByRole('button', { name: 'Add item' }); + expect(addButtons.length).toEqual(2); + }); + it('should render items when passed', async () => { + render( + + + + ); + + const boxes = screen.getAllByRole('textbox', { name: 'Some criteria...' }); + expect(boxes.length).toEqual(1); + expect(boxes[0].value).toEqual('This item'); + }); + it('should remove item when clicked', async () => { + render( + + + + ); + + const removeBtn = screen.getByTestId('__bolt-1234-remove'); + fireEvent.click(removeBtn); + + const boxes = screen.getAllByRole('textbox', { name: 'Some criteria...' }); + expect(boxes.length).toEqual(1); + }); + it('should update item', async () => { + render( + + + + ); + + const text = screen.getByRole('textbox', { name: 'Some criteria...' }); + expect(text.value).toEqual('This item'); + fireEvent.change(text, { target: { value: 'New text' } }); + + const text2 = screen.getByRole('textbox', { name: 'Some criteria...' }); + expect(text2.value).toEqual('New text'); + }); + + it('should move item up when clicked', async () => { + render( + + + + ); + + const inputs = screen.getAllByRole('textbox'); + + expect(inputs[0].value).toEqual('This item'); + expect(inputs[1].value).toEqual('This item 2'); + + const upBtn = screen.getByTestId('__bolt-4321-up'); + fireEvent.click(upBtn); + + const inputsNew = screen.getAllByRole('textbox'); + + expect(inputsNew[0].value).toEqual('This item 2'); + expect(inputsNew[1].value).toEqual('This item'); + }); + + it('should move item down when clicked', async () => { + render( + + + + ); + + const inputs = screen.getAllByRole('textbox'); + + expect(inputs[0].value).toEqual('This item'); + expect(inputs[1].value).toEqual('This item 2'); + + const upBtn = screen.getByTestId('__bolt-1234-down'); + fireEvent.click(upBtn); + + const inputsNew = screen.getAllByRole('textbox'); + + expect(inputsNew[0].value).toEqual('This item 2'); + expect(inputsNew[1].value).toEqual('This item'); + }); +}); diff --git a/src/__tests__/criteria-panel/components/CompletedProcessContainer.test.tsx b/src/__tests__/criteria-panel/components/CompletedProcessContainer.test.tsx new file mode 100644 index 0000000..f19e273 --- /dev/null +++ b/src/__tests__/criteria-panel/components/CompletedProcessContainer.test.tsx @@ -0,0 +1,26 @@ +import { fireEvent, render, screen, waitFor } from '@testing-library/react'; + +import CompletedProcessContainer from '../../../criteria-panel/components/CompletedProcessContainer'; + +describe('CompletedProcessContainer', () => { + it('should show correct texts for approve', async () => { + const process = jest.fn(); + + render(); + + const reset = screen.getByRole('button'); + + await waitFor(() => screen.findAllByText(/This criteria was completed/)); + expect(reset).toHaveTextContent('Reset to new'); + }); + it('should pass correct information on reset', async () => { + const process = jest.fn(); + + render(); + + const reset = screen.getByRole('button'); + fireEvent.click(reset); + + expect(process).toHaveBeenCalledWith('1', 'new'); + }); +}); diff --git a/src/__tests__/criteria-panel/components/CompletionContainer.test.tsx b/src/__tests__/criteria-panel/components/CompletionContainer.test.tsx new file mode 100644 index 0000000..d076d6e --- /dev/null +++ b/src/__tests__/criteria-panel/components/CompletionContainer.test.tsx @@ -0,0 +1,47 @@ +import { render, screen, waitFor } from '@testing-library/react'; + +import { AcceptanceCriteriaState, IAcceptanceCriteria } from '../../../common/types'; +import CompletionContainer from '../../../criteria-panel/components/CompletionContainer'; + +describe('CompletionContainer', () => { + it('should show correct texts for approve', async () => { + const process = jest.fn(); + + const criteria: IAcceptanceCriteria = { + id: '1', + state: AcceptanceCriteriaState.New, + title: 'Title', + type: 'checklist', + requiredApprover: { + displayName: 'Approver', + entityId: '', + entityType: 'Group', + id: '1' + } + }; + + render(); + + const save = screen.getByRole('button'); + + await waitFor(() => screen.findAllByText(/Ready for approval\?/)); + expect(save).toHaveTextContent('Send to approval'); + }); + it('should show correct texts for complete', async () => { + const process = jest.fn(); + + const criteria: IAcceptanceCriteria = { + id: '1', + state: AcceptanceCriteriaState.New, + title: 'Title', + type: 'checklist' + }; + + render(); + + const save = screen.getByRole('button'); + + await waitFor(() => screen.findAllByText(/Complete criteria\?/)); + expect(save).toHaveTextContent('Complete'); + }); +}); diff --git a/src/__tests__/criteria-panel/components/ProcessingContainer.test.tsx b/src/__tests__/criteria-panel/components/ProcessingContainer.test.tsx new file mode 100644 index 0000000..0ace723 --- /dev/null +++ b/src/__tests__/criteria-panel/components/ProcessingContainer.test.tsx @@ -0,0 +1,32 @@ +import { fireEvent, render, screen } from '@testing-library/react'; + +import ProcessingContainer from '../../../criteria-panel/components/ProcessingContainer'; + +describe('ProcessingContainer', () => { + it('should approve when selected', async () => { + const process = jest.fn(); + render(); + + const approve = screen.getByRole('radio', { name: 'Approve' }); + + const save = screen.getByRole('button'); + + fireEvent.click(approve); + fireEvent.click(save); + + expect(process).toHaveBeenCalledWith('1234', true); + }); + it('should reject when selected', async () => { + const process = jest.fn(); + render(); + + const reject = screen.getByRole('radio', { name: 'Reject' }); + + const save = screen.getByRole('button'); + + fireEvent.click(reject); + fireEvent.click(save); + + expect(process).toHaveBeenCalledWith('1234', false); + }); +}); diff --git a/src/__tests__/criteria-panel/components/RejectionProcessContainer.test.tsx b/src/__tests__/criteria-panel/components/RejectionProcessContainer.test.tsx new file mode 100644 index 0000000..c785f3b --- /dev/null +++ b/src/__tests__/criteria-panel/components/RejectionProcessContainer.test.tsx @@ -0,0 +1,32 @@ +import { fireEvent, render, screen } from '@testing-library/react'; + +import RejectionProcessContainer from '../../../criteria-panel/components/RejectionProcessContainer'; + +describe('RejectionProcessContainer', () => { + it('should reset to new when selected', async () => { + const process = jest.fn(); + render(); + + const setNew = screen.getByRole('radio', { name: 'Reset to new' }); + + const save = screen.getByRole('button'); + + fireEvent.click(setNew); + fireEvent.click(save); + + expect(process).toHaveBeenCalledWith('1234', 'new'); + }); + it('should resubmit for approval when selected', async () => { + const process = jest.fn(); + render(); + + const resubmit = screen.getByRole('radio', { name: 'Resubmit for approval' }); + + const save = screen.getByRole('button'); + + fireEvent.click(resubmit); + fireEvent.click(save); + + expect(process).toHaveBeenCalledWith('1234', 'resubmit'); + }); +}); diff --git a/src/__tests__/criteria-panel/components/ScenarioCriteriaSection.test.tsx b/src/__tests__/criteria-panel/components/ScenarioCriteriaSection.test.tsx new file mode 100644 index 0000000..07d9a17 --- /dev/null +++ b/src/__tests__/criteria-panel/components/ScenarioCriteriaSection.test.tsx @@ -0,0 +1,104 @@ +import { fireEvent, render, screen, waitFor } from '@testing-library/react'; + +import ScenarioCriteriaSection from '../../../criteria-panel/components/ScenarioCriteriaSection'; +import { CriteriaPanelProvider } from '../../../criteria-panel/CriteriaPanelContext'; + +describe('ScenarioCriteriaSection', () => { + it('should be empty initially', async () => { + render( + + + + ); + + await waitFor(() => screen.findAllByText(/Add your Given\/When\/Then sequence elements/)); + }); + it('should add row when button is pressed', async () => { + render( + + + + ); + + await waitFor(() => screen.findAllByText(/Add your Given\/When\/Then sequence elements/)); + const save = screen.getByRole('button', { name: 'Given' }); + fireEvent.click(save); + + const boxes = screen.getAllByRole('textbox', { name: 'Given' }); + expect(boxes.length).toEqual(1); + }); + + it('should render items when passed', async () => { + render( + + + + ); + + const boxes = screen.getAllByRole('textbox', { name: 'Given' }); + expect(boxes.length).toEqual(1); + expect(boxes[0].value).toEqual('Given this is true'); + }); + it('should remove item when clicked', async () => { + render( + + + + ); + + const removeBtn = screen.getByTestId('__bolt-2-remove'); + fireEvent.click(removeBtn); + + const boxes = screen.getAllByRole('textbox', { name: 'And' }); + expect(boxes.length).toEqual(1); + }); + it('should update item', async () => { + render( + + + + ); + + const text = screen.getByRole('textbox', { name: 'Given' }); + expect(text.value).toEqual('Given this is true'); + fireEvent.change(text, { target: { value: 'New text' } }); + + const text2 = screen.getByRole('textbox', { name: 'Given' }); + expect(text2.value).toEqual('New text'); + }); +}); diff --git a/src/__tests__/criteria-panel/components/TextCriteriaSection.test.tsx b/src/__tests__/criteria-panel/components/TextCriteriaSection.test.tsx new file mode 100644 index 0000000..a1b9d81 --- /dev/null +++ b/src/__tests__/criteria-panel/components/TextCriteriaSection.test.tsx @@ -0,0 +1,37 @@ +import { render, screen } from '@testing-library/react'; + +import TextCriteriaSection from '../../../criteria-panel/components/TextCriteriaSection'; +import { CriteriaPanelProvider } from '../../../criteria-panel/CriteriaPanelContext'; + +describe('TextCriteriaSection', () => { + it('should be empty initially', async () => { + render( + + + + ); + + const input = screen.getByRole('textbox'); + expect(input).toHaveTextContent(''); + }); + + it('should render items when passed', async () => { + render( + + + + ); + + const input = screen.getByRole('textbox'); + expect(input).toHaveTextContent('Hello there'); + }); +}); diff --git a/src/__tests__/criteria-panel/components/view/TextCriteriaViewSection.text.tsx b/src/__tests__/criteria-panel/components/view/TextCriteriaViewSection.text.tsx new file mode 100644 index 0000000..0fb08ea --- /dev/null +++ b/src/__tests__/criteria-panel/components/view/TextCriteriaViewSection.text.tsx @@ -0,0 +1,21 @@ +import { render, screen, waitFor } from '@testing-library/react'; + +import TextCriteriaViewSection from '../../../../criteria-panel/components/view/TextCriteriaViewSection'; + +describe('TextCriteriaViewSection', () => { + it('should show text', async () => { + render( + + ); + + await waitFor(() => screen.findAllByText(/This is the text description/)); + }); +}); diff --git a/src/admin-hub/AdminPage.tsx b/src/admin-hub/AdminPage.tsx index 8431f61..bafba43 100644 --- a/src/admin-hub/AdminPage.tsx +++ b/src/admin-hub/AdminPage.tsx @@ -1,18 +1,19 @@ -import { CommonServiceIds, IHostNavigationService } from 'azure-devops-extension-api'; -import * as DevOps from 'azure-devops-extension-sdk'; +import { DevOpsService } from '@joachimdalen/azdevops-ext-core/DevOpsService'; import { ConditionalChildren } from 'azure-devops-ui/ConditionalChildren'; import { Header } from 'azure-devops-ui/Header'; import { IHeaderCommandBarItem } from 'azure-devops-ui/HeaderCommandBar'; import { Page } from 'azure-devops-ui/Page'; import { Surface, SurfaceBackground } from 'azure-devops-ui/Surface'; import { Tab, TabBar, TabSize } from 'azure-devops-ui/Tabs'; -import React, { useState } from 'react'; +import React, { useMemo, useState } from 'react'; import AdminConfigurationTab from './tabs/AdminConfigurationTab'; -import AreaConfigurationTab from './tabs/AreaConfigurationTab'; +import DocumentTab from './tabs/DocumentTab'; +import OrphanedDocumentsTab from './tabs/orphaned/OrphanedDocumentsTab'; const AdminPage = (): React.ReactElement => { - const [selectedTab, setSelectedTab] = useState('areas'); + const [devOpsService] = useMemo(() => [new DevOpsService()], []); + const [selectedTab, setSelectedTab] = useState('configuration'); const commandBarItems: IHeaderCommandBarItem[] = [ { @@ -20,13 +21,8 @@ const AdminPage = (): React.ReactElement => { text: 'Open docs', iconProps: { iconName: 'Help' }, onActivate: () => { - DevOps.getService('ms.vss-features.host-navigation-service').then( - value => { - value.openNewWindow( - 'https://github.com/joachimdalen/azdevops-acceptance-criterias', - '' - ); - } + devOpsService.openLink( + 'https://docs.devops-extensions.dev/docs/extensions/acceptance-criterias' ); } } @@ -37,24 +33,31 @@ const AdminPage = (): React.ReactElement => {
setSelectedTab(tab)} selectedTabId={selectedTab} - tabSize={TabSize.Tall} + tabSize={TabSize.Compact} > - + {/* */} + - - - - - - + + + + + + {/* + + */} + + + + ); diff --git a/src/admin-hub/components/PageWrapper.tsx b/src/admin-hub/components/PageWrapper.tsx index cdc0893..71d3696 100644 --- a/src/admin-hub/components/PageWrapper.tsx +++ b/src/admin-hub/components/PageWrapper.tsx @@ -1,7 +1,27 @@ +import { ISurfaceContext, SurfaceBackground, SurfaceContext } from 'azure-devops-ui/Surface'; +import cx from 'classnames'; export interface PageWrapperProps { children: React.ReactElement | React.ReactElement[]; } const PageWrapper = ({ children }: PageWrapperProps): React.ReactElement => { - return
{children}
; + return ( + + {({ background }: ISurfaceContext) => ( +
+ {children} +
+ )} +
+ ); }; export default PageWrapper; diff --git a/src/admin-hub/index.scss b/src/admin-hub/index.scss index 9b7ed11..0959aa3 100644 --- a/src/admin-hub/index.scss +++ b/src/admin-hub/index.scss @@ -1,3 +1,11 @@ +@import 'azure-devops-ui/Core/override.css'; @import 'azure-devops-ui/Core/_platformCommon.scss'; -@import '../styles/mixins.scss'; +@import '@joachimdalen/azdevops-ext-core/styles/mixins.scss'; +@import '../styles/criteria-list'; +@import '../styles/common'; + @include extension-container('admin-hub-container'); + +.admin-container { + background-color: var(--background-color, rgba(255, 255, 255, 1)); +} diff --git a/src/admin-hub/module.json b/src/admin-hub/module.json new file mode 100644 index 0000000..2bf22cf --- /dev/null +++ b/src/admin-hub/module.json @@ -0,0 +1,8 @@ +{ + "id": "admin-hub", + "version": { + "Major": 1, + "Minor": 0, + "Patch": 0 + } +} diff --git a/src/admin-hub/module.tsx b/src/admin-hub/module.tsx index 80983be..1973a7e 100644 --- a/src/admin-hub/module.tsx +++ b/src/admin-hub/module.tsx @@ -1,11 +1,12 @@ import './index.scss'; import { createTheme, initializeIcons, loadTheme } from '@fluentui/react'; +import { appTheme } from '@joachimdalen/azdevops-ext-core/azure-devops-theme'; +import { showRootComponent } from '@joachimdalen/azdevops-ext-core/showRootComponent'; +import { WebLogger } from '@joachimdalen/azdevops-ext-core/WebLogger'; import * as DevOps from 'azure-devops-extension-sdk'; import { useEffect } from 'react'; -import { appTheme } from '../control/azure-devops-theme'; -import { showRootComponent } from '../control/common'; import AdminPage from './AdminPage'; initializeIcons(); @@ -14,7 +15,7 @@ const AdminHub = () => { useEffect(() => { loadTheme(createTheme(appTheme)); DevOps.init().then(async () => { - console.log('Loaded admin hub...'); + WebLogger.information('Loaded admin hub...'); }); }, []); diff --git a/src/admin-hub/tabs/AdminConfigurationTab.tsx b/src/admin-hub/tabs/AdminConfigurationTab.tsx index 4f9cf3c..e2cc4c1 100644 --- a/src/admin-hub/tabs/AdminConfigurationTab.tsx +++ b/src/admin-hub/tabs/AdminConfigurationTab.tsx @@ -1,54 +1,201 @@ -import { WorkItemField } from 'azure-devops-extension-api/WorkItemTracking'; +import { useBooleanToggle } from '@joachimdalen/azdevops-ext-core/useBooleanToggle'; import { Button } from 'azure-devops-ui/Button'; -import { FormItem } from 'azure-devops-ui/Components/FormItem/FormItem'; -import { TextField } from 'azure-devops-ui/TextField'; -import { useEffect, useState } from 'react'; +import { Card } from 'azure-devops-ui/Card'; +import { Surface, SurfaceBackground } from 'azure-devops-ui/Surface'; +import { Toggle } from 'azure-devops-ui/Toggle'; +import { useEffect, useMemo, useState } from 'react'; -import { WorkItemFieldNames } from '../../common/constants'; -import WorkItemService from '../../common/services/WorkItemService'; +import { StorageService } from '../../common/services/StorageService'; +import { CriteriaTypes, GlobalSettingsDocument } from '../../common/types'; import PageWrapper from '../components/PageWrapper'; -const CreateFieldForm = (): React.ReactElement => { - const [name, setName] = useState(''); +interface SettingSection { + title: string; + setting: SettingRow; + toggle: (key: string, value: boolean) => Promise; +} + +interface SettingRow { + title: string; + description?: string; + checked: boolean; + options?: { id: string; checked: boolean; title: string }[]; +} + +const SettingRow = ({ + settings, + toggle +}: { + settings: SettingRow; + toggle: (key: string, value: boolean) => Promise; +}) => { return ( -
- - setName(v)} /> - -
+ + + {sections.map(section => { + return ( + +
+ +
+
+ ); + })} + + ); }; diff --git a/src/admin-hub/tabs/AreaConfigurationTab.tsx b/src/admin-hub/tabs/AreaConfigurationTab.tsx deleted file mode 100644 index 320d846..0000000 --- a/src/admin-hub/tabs/AreaConfigurationTab.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import PageWrapper from '../components/PageWrapper'; - -const AreaConfigurationTab = (): React.ReactElement => { - return ( - -
Areas
-
- ); -}; - -export default AreaConfigurationTab; diff --git a/src/admin-hub/tabs/DocumentTab.tsx b/src/admin-hub/tabs/DocumentTab.tsx new file mode 100644 index 0000000..d158ac1 --- /dev/null +++ b/src/admin-hub/tabs/DocumentTab.tsx @@ -0,0 +1,45 @@ +import { getClient } from 'azure-devops-extension-api'; +import { Operation } from 'azure-devops-extension-api/WebApi'; +import { WorkItemTrackingRestClient } from 'azure-devops-extension-api/WorkItemTracking'; +import { Button } from 'azure-devops-ui/Button'; +import { useEffect, useMemo, useState } from 'react'; +import { validate } from 'uuid'; + +import { StorageService } from '../../common/services/StorageService'; +import { CriteriaDocument, FullCriteriaStatus } from '../../common/types'; +import PageWrapper from '../components/PageWrapper'; + +const DocumentTab = (): React.ReactElement => { + const service = useMemo(() => new StorageService(), []); + + const [documents, setDocuments] = useState([]); + + useEffect(() => { + service.getAllCriterias().then(x => setDocuments(x)); + }, []); + + return ( + +
Areas
+ +
+ {documents.map(x => { + return ( +
+ {x.id} + +
+ ); + })} +
+
+ ); +}; + +export default DocumentTab; diff --git a/src/admin-hub/tabs/orphaned/OrphanedDocumentsTab.tsx b/src/admin-hub/tabs/orphaned/OrphanedDocumentsTab.tsx new file mode 100644 index 0000000..d544b3a --- /dev/null +++ b/src/admin-hub/tabs/orphaned/OrphanedDocumentsTab.tsx @@ -0,0 +1,36 @@ +import { ConditionalChildren } from 'azure-devops-ui/ConditionalChildren'; +import { Tab, TabBar, TabSize } from 'azure-devops-ui/Tabs'; +import { useState } from 'react'; + +import PageWrapper from '../../components/PageWrapper'; +import OrphanedCriteriaDetailsTab from './tabs/OrphanedCriteriaDetailsTab'; +import OrphanedCriteriasTab from './tabs/OrphanedCriteriasTab'; + +const OrphanedDocumentsTab = (): React.ReactElement => { + const [selectedTab, setSelectedTab] = useState('criterias'); + + return ( + + setSelectedTab(tab)} + selectedTabId={selectedTab} + tabSize={TabSize.Compact} + > + + + + +
+ + + + + + +
+
+ ); +}; + +export default OrphanedDocumentsTab; diff --git a/src/admin-hub/tabs/orphaned/tabs/OrphanedCriteriaDetailsTab.tsx b/src/admin-hub/tabs/orphaned/tabs/OrphanedCriteriaDetailsTab.tsx new file mode 100644 index 0000000..ac23294 --- /dev/null +++ b/src/admin-hub/tabs/orphaned/tabs/OrphanedCriteriaDetailsTab.tsx @@ -0,0 +1,208 @@ +import { LoadingSection } from '@joachimdalen/azdevops-ext-core/LoadingSection'; +import { useBooleanToggle } from '@joachimdalen/azdevops-ext-core/useBooleanToggle'; +import { getClient } from 'azure-devops-extension-api'; +import { WorkItemTrackingRestClient } from 'azure-devops-extension-api/WorkItemTracking'; +import { Button } from 'azure-devops-ui/Button'; +import { ButtonGroup } from 'azure-devops-ui/ButtonGroup'; +import { ConditionalChildren } from 'azure-devops-ui/ConditionalChildren'; +import { ObservableValue } from 'azure-devops-ui/Core/Observable'; +import { Dialog } from 'azure-devops-ui/Dialog'; +import { ListSelection } from 'azure-devops-ui/List'; +import { + ColumnMore, + ColumnSelect, + ISimpleTableCell, + ITableColumn, + renderSimpleCell, + SimpleTableCell, + Table +} from 'azure-devops-ui/Table'; +import { ArrayItemProvider } from 'azure-devops-ui/Utilities/Provider'; +import { ZeroData } from 'azure-devops-ui/ZeroData'; +import { useEffect, useMemo, useState } from 'react'; + +import CriteriaTypeDisplay from '../../../../common/components/CriteriaTypeDisplay'; +import ProgressBar from '../../../../common/components/ProgressBar'; +import { StorageService } from '../../../../common/services/StorageService'; +import { CriteriaDetailDocument, CriteriaTypes } from '../../../../common/types'; + +const OrphanedCriteriaDetailsTab = (): React.ReactElement => { + const [loading, toggleLoading] = useBooleanToggle(false); + const [service, workItemService] = useMemo( + () => [new StorageService(), getClient(WorkItemTrackingRestClient)], + [] + ); + const [documents, setDocuments] = useState([]); + const [showDelete, toggleShowDelete] = useBooleanToggle(); + + const [progress, setProgress] = useState<{ max: number; current: number }>({ + max: 0, + current: 0 + }); + + const selection = useMemo(() => { + return new ListSelection({ selectOnFocus: false, multiSelect: true }); + }, []); + + const getType = (det: CriteriaDetailDocument): 'Unknown' | CriteriaTypes => { + if (det.checklist !== undefined) return 'checklist'; + if (det.scenario !== undefined) return 'scenario'; + if (det.text !== undefined) return 'text'; + return 'Unknown'; + }; + + useEffect(() => { + async function init() { + toggleLoading(true); + const criterias = await service.getAllCriterias(); + const details = await service.getAllCriteriaDetails(); + const ids = criterias.flatMap(x => x.criterias.map(y => y.id)); + const exists = details.filter(x => !ids.some(y => x.id === y)); + setDocuments(exists); + toggleLoading(false); + } + + init(); + }, []); + + interface OrphanedCriteriaDetail extends ISimpleTableCell { + id: string; + type: 'Unknown' | CriteriaTypes; + } + + const provider = useMemo(() => { + const items: OrphanedCriteriaDetail[] = documents.flatMap(doc => { + return { + id: doc.id, + type: getType(doc) + }; + }); + return new ArrayItemProvider(items); + }, [documents]); + + const columns: ITableColumn[] = [ + new ColumnSelect() as any, + { + id: 'id', + name: 'Criteria Id', + renderCell: renderSimpleCell, + onSize: onSize, + readonly: true, + width: new ObservableValue(250) + }, + { + id: 'type', + name: 'Type', + renderCell: ( + rowIndex: number, + columnIndex: number, + tableColumn: ITableColumn, + tableItem: OrphanedCriteriaDetail, + ariaRowIndex?: number + ) => { + console.log('rerender'); + return ( + + {tableItem.type === 'Unknown' ? ( + 'Unknwon' + ) : ( + + )} + + ); + }, + width: new ObservableValue(-100) + }, + new ColumnMore((item: OrphanedCriteriaDetail) => { + return { + id: 'sub-menu', + items: [ + { + id: 'delete', + text: 'Delete', + iconProps: { iconName: 'Delete' }, + onActivate: () => { + service.deleteCriteriaDocument(item.id); + service.deleteCriteriaDetilsDocument(item.id); + } + } + ] + }; + }) + ]; + function onSize(event: MouseEvent, index: number, width: number) { + (columns[index].width as ObservableValue).value = width; + } + + async function deleteDocuments() { + const selectedGroups = selection.value.flatMap(x => { + const slice = documents.slice(x.beginIndex, x.endIndex + 1); + return slice; + }); + setProgress({ max: selectedGroups.length, current: 0 }); + toggleShowDelete(); + + for (const item of selectedGroups) { + await service.deleteCriteriaDetilsDocument(item.id); + setProgress(prg => ({ max: prg.max, current: prg.current + 1 })); + } + + const newItems = documents.filter(x => !selectedGroups.some(y => x.id === y.id)); + setDocuments(newItems); + selection.clear(); + } + + if (loading) return ; + + return ( +
+ 0}> + +