diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index a05bc6b36912..17c0189dcafd 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,28 +1,26 @@ // For format details, see https://aka.ms/vscode-remote/devcontainer.json or the definition README at // https://github.com/microsoft/vscode-dev-containers/tree/master/containers/typescript-node-8 { - "name": "Node.js 8 & TypeScript", - "dockerFile": "Dockerfile", + "name": "Node.js 8 & TypeScript", + "dockerFile": "Dockerfile", - // Use 'settings' to set *default* container specific settings.json values on container create. - // You can edit these settings after create using File > Preferences > Settings > Remote. - "settings": { - "terminal.integrated.shell.linux": "/bin/bash" - }, + // Use 'settings' to set *default* container specific settings.json values on container create. + // You can edit these settings after create using File > Preferences > Settings > Remote. + "settings": { + "terminal.integrated.shell.linux": "/bin/bash" + }, - // Uncomment the next line if you want to publish any ports. - // "appPort": [], - - // Uncomment the next line to run commands after the container is created. - // "postCreateCommand": "yarn install", + // Uncomment the next line if you want to publish any ports. + // "appPort": [], - // Uncomment the next line to use a non-root user. On Linux, this will prevent - // new files getting created as root, but you may need to update the USER_UID - // and USER_GID in .devcontainer/Dockerfile to match your user if not 1000. - // "runArgs": [ "-u", "node" ], + // Uncomment the next line to run commands after the container is created. + // "postCreateCommand": "yarn install", - // Add the IDs of extensions you want installed when the container is created in the array below. - "extensions": [ - "ms-vscode.vscode-typescript-tslint-plugin" - ] -} \ No newline at end of file + // Uncomment the next line to use a non-root user. On Linux, this will prevent + // new files getting created as root, but you may need to update the USER_UID + // and USER_GID in .devcontainer/Dockerfile to match your user if not 1000. + // "runArgs": [ "-u", "node" ], + + // Add the IDs of extensions you want installed when the container is created in the array below. + "extensions": ["ms-vscode.vscode-typescript-tslint-plugin"] +} diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 000000000000..fabe7499fa8c --- /dev/null +++ b/.eslintignore @@ -0,0 +1,1503 @@ +# Disable ESLint on all existing js, jsx, ts and tsx files in build/ and src/, +# except for src/client/pythonEnvironments and src/test/pythonEnvironments. + +build/constants.js +build/util.js + +build/ci/postInstall.js +build/ci/scripts/runFunctionalTests.js +build/ci/performance/checkPerformanceResults.js +build/ci/performance/createNewPerformanceBenchmark.js +build/ci/performance/savePerformanceResults.js + +build/webpack/webpack.datascience-ui.config.js +build/webpack/webpack.extension.config.js +build/webpack/webpack.datascience-ui-notebooks.config.js +build/webpack/plugins/less-plugin-base64.js +build/webpack/webpack.datascience-ui.config.builder.js +build/webpack/pdfkit.js +build/webpack/webpack.extension.dependencies.config.js +build/webpack/common.js +build/webpack/webpack.datascience-ui-viewers.config.js +build/webpack/webpack.datascience-ui-renderers.config.js +build/webpack/loaders/fixNodeFetch.js +build/webpack/loaders/remarkLoader.js +build/webpack/loaders/jsonloader.js +build/webpack/loaders/externalizeDependencies.js + +build/tslint-rules/messagesMustBeLocalizedRule.js +build/tslint-rules/baseRuleWalker.js + +build/debug/replaceWithWebBrowserPanel.js + +src/test/mocks/mementos.ts +src/test/mocks/process.ts +src/test/mocks/moduleInstaller.ts +src/test/mocks/proc.ts +src/test/mocks/autoSelector.ts +src/test/mocks/vsc/extHostedTypes.ts +src/test/mocks/vsc/uuid.ts +src/test/mocks/vsc/strings.ts +src/test/mocks/vsc/charCode.ts +src/test/mocks/vsc/htmlContent.ts +src/test/mocks/vsc/selection.ts +src/test/mocks/vsc/position.ts +src/test/mocks/vsc/uri.ts +src/test/mocks/vsc/telemetryReporter.ts +src/test/mocks/vsc/range.ts +src/test/mocks/vsc/index.ts +src/test/mocks/vsc/arrays.ts + +src/test/smoke/common.ts +src/test/smoke/datascience.smoke.test.ts +src/test/smoke/runInTerminal.smoke.test.ts +src/test/smoke/languageServer.smoke.test.ts + +src/test/analysisEngineTest.ts +src/test/ciConstants.ts +src/test/common.ts +src/test/constants.ts +src/test/core.ts +src/test/debuggerTest.ts +src/test/extension-version.functional.test.ts +src/test/fixtures.ts +src/test/index.ts +src/test/initialize.ts +src/test/mockClasses.ts +src/test/multiRootTest.ts +src/test/performanceTest.ts +src/test/proc.ts +src/test/serviceRegistry.ts +src/test/smokeTest.ts +src/test/standardTest.ts +src/test/startupTelemetry.unit.test.ts +src/test/sourceMapSupport.test.ts +src/test/sourceMapSupport.unit.test.ts +src/test/testBootstrap.ts +src/test/testLogger.ts +src/test/testRunner.ts +src/test/textUtils.ts +src/test/unittests.ts +src/test/vscode-mock.ts + +src/test/interpreters/mocks.ts +src/test/interpreters/interpreterVersion.unit.test.ts +src/test/interpreters/virtualEnvs/index.unit.test.ts +src/test/interpreters/virtualEnvs/condaInheritEnvPrompt.unit.test.ts +src/test/interpreters/virtualEnvs/virtualEnvPrompt.unit.test.ts +src/test/interpreters/autoSelection/proxy.unit.test.ts +src/test/interpreters/autoSelection/interpreterSecurity/interpreterSecurityStorage.unit.test.ts +src/test/interpreters/autoSelection/interpreterSecurity/interpreterEvaluation.unit.test.ts +src/test/interpreters/autoSelection/interpreterSecurity/interpreterSecurityService.unit.test.ts +src/test/interpreters/autoSelection/index.unit.test.ts +src/test/interpreters/autoSelection/rules/settings.unit.test.ts +src/test/interpreters/autoSelection/rules/cached.unit.test.ts +src/test/interpreters/autoSelection/rules/winRegistry.unit.test.ts +src/test/interpreters/autoSelection/rules/base.unit.test.ts +src/test/interpreters/autoSelection/rules/currentPath.unit.test.ts +src/test/interpreters/autoSelection/rules/workspaceEnv.unit.test.ts +src/test/interpreters/autoSelection/rules/system.unit.test.ts +src/test/interpreters/virtualEnvManager.unit.test.ts +src/test/interpreters/pythonPathUpdaterFactory.unit.test.ts +src/test/interpreters/interpreterService.unit.test.ts +src/test/interpreters/activation/service.unit.test.ts +src/test/interpreters/activation/wrapperEnvironmentActivationService.unit.test.ts +src/test/interpreters/activation/preWarmVariables.unit.test.ts +src/test/interpreters/activation/terminalEnvironmentActivationService.unit.test.ts +src/test/interpreters/helpers.unit.test.ts +src/test/interpreters/serviceRegistry.unit.test.ts +src/test/interpreters/currentPathService.unit.test.ts +src/test/interpreters/display/progressDisplay.unit.test.ts +src/test/interpreters/display/interpreterSelectionTip.unit.test.ts +src/test/interpreters/display.unit.test.ts + +src/test/configuration/interpreterSelector/interpreterSelector.unit.test.ts +src/test/configuration/interpreterSelector/commands/resetInterpreter.unit.test.ts +src/test/configuration/interpreterSelector/commands/setInterpreter.unit.test.ts + +src/test/install/channelManager.channels.test.ts +src/test/install/channelManager.messages.test.ts + +src/test/terminals/serviceRegistry.unit.test.ts +src/test/terminals/activation.unit.test.ts +src/test/terminals/codeExecution/terminalCodeExec.unit.test.ts +src/test/terminals/codeExecution/helper.test.ts +src/test/terminals/codeExecution/codeExecutionManager.unit.test.ts +src/test/terminals/codeExecution/djangoShellCodeExect.unit.test.ts + +src/test/markdown/restTextConverter.test.ts + +src/test/languageServers/jedi/autocomplete/base.test.ts +src/test/languageServers/jedi/autocomplete/pep526.test.ts +src/test/languageServers/jedi/autocomplete/pep484.test.ts +src/test/languageServers/jedi/signature/signature.jedi.test.ts +src/test/languageServers/jedi/completionSource.unit.test.ts +src/test/languageServers/jedi/symbolProvider.unit.test.ts +src/test/languageServers/jedi/pythonSignatureProvider.unit.test.ts +src/test/languageServers/jedi/definitions/parallel.jedi.test.ts +src/test/languageServers/jedi/definitions/navigation.test.ts +src/test/languageServers/jedi/definitions/hover.jedi.test.ts + +src/test/providers/foldingProvider.test.ts +src/test/providers/importSortProvider.unit.test.ts +src/test/providers/terminal.unit.test.ts +src/test/providers/repl.unit.test.ts +src/test/providers/codeActionProvider/main.unit.test.ts +src/test/providers/codeActionProvider/pythonCodeActionsProvider.unit.test.ts +src/test/providers/codeActionProvider/launchJsonCodeActionProvider.unit.test.ts +src/test/providers/shebangCodeLenseProvider.unit.test.ts +src/test/providers/serviceRegistry.unit.test.ts + +src/test/activation/aaTesting.unit.test.ts +src/test/activation/activationService.unit.test.ts +src/test/activation/languageServer/downloadChannelRules.unit.test.ts +src/test/activation/languageServer/platformData.unit.test.ts +src/test/activation/languageServer/languageServer.unit.test.ts +src/test/activation/languageServer/languageServerFolderService.unit.test.ts +src/test/activation/languageServer/languageServerPackageRepository.unit.test.ts +src/test/activation/languageServer/languageServerPackageService.test.ts +src/test/activation/languageServer/manager.unit.test.ts +src/test/activation/languageServer/analysisOptions.unit.test.ts +src/test/activation/languageServer/languageServerCompatibilityService.unit.test.ts +src/test/activation/languageServer/activator.unit.test.ts +src/test/activation/languageServer/downloader.unit.test.ts +src/test/activation/languageServer/languageServerExtension.unit.test.ts +src/test/activation/languageServer/languageClientFactory.unit.test.ts +src/test/activation/languageServer/outputChannel.unit.test.ts +src/test/activation/languageServer/languageServerPackageService.unit.test.ts +src/test/activation/activeResource.unit.test.ts +src/test/activation/serviceRegistry.unit.test.ts +src/test/activation/node/languageServerFolderService.unit.test.ts +src/test/activation/node/languageServerChangeHandler.unit.test.ts +src/test/activation/node/activator.unit.test.ts +src/test/activation/extensionSurvey.unit.test.ts +src/test/activation/activationManager.unit.test.ts + +src/test/utils/interpreters.ts +src/test/utils/fs.ts + +src/test/language/braceCounter.unit.test.ts +src/test/language/textRangeCollection.unit.test.ts +src/test/language/characterStream.unit.test.ts +src/test/language/languageConfiguration.unit.test.ts +src/test/language/textIterator.unit.test.ts +src/test/language/textBuilder.unit.test.ts +src/test/language/textRange.unit.test.ts +src/test/language/tokenizer.unit.test.ts + +src/test/api.functional.test.ts + +src/test/testing/argsService.test.ts +src/test/testing/mocks.ts +src/test/testing/debugger.test.ts +src/test/testing/serviceRegistry.ts +src/test/testing/unittest/unittest.test.ts +src/test/testing/unittest/unittest.discovery.unit.test.ts +src/test/testing/unittest/unittest.diagnosticService.unit.test.ts +src/test/testing/unittest/unittest.discovery.test.ts +src/test/testing/unittest/unittest.run.test.ts +src/test/testing/unittest/unittest.argsService.unit.test.ts +src/test/testing/unittest/unittest.unit.test.ts +src/test/testing/codeLenses/testFiles.unit.test.ts +src/test/testing/nosetest/nosetest.test.ts +src/test/testing/nosetest/nosetest.discovery.unit.test.ts +src/test/testing/nosetest/nosetest.disovery.test.ts +src/test/testing/nosetest/nosetest.argsService.unit.test.ts +src/test/testing/nosetest/nosetest.run.test.ts +src/test/testing/pytest/pytest.testMessageService.test.ts +src/test/testing/pytest/pytest_unittest_parser_data.ts +src/test/testing/pytest/pytest.discovery.test.ts +src/test/testing/pytest/pytest.test.ts +src/test/testing/pytest/pytest_run_tests_data.ts +src/test/testing/pytest/pytest.argsService.unit.test.ts +src/test/testing/pytest/pytest.run.test.ts +src/test/testing/pytest/services/discoveryService.unit.test.ts +src/test/testing/configurationFactory.unit.test.ts +src/test/testing/rediscover.test.ts +src/test/testing/helper.ts +src/test/testing/navigation/fileNavigator.unit.test.ts +src/test/testing/navigation/functionNavigator.unit.test.ts +src/test/testing/navigation/suiteNavigator.unit.test.ts +src/test/testing/navigation/serviceRegistry.unit.test.ts +src/test/testing/navigation/commandHandlers.unit.test.ts +src/test/testing/navigation/helper.unit.test.ts +src/test/testing/navigation/symbolNavigator.unit.test.ts +src/test/testing/configuration.unit.test.ts +src/test/testing/explorer/testTreeViewItem.unit.test.ts +src/test/testing/explorer/treeView.unit.test.ts +src/test/testing/explorer/testExplorerCommandHandler.unit.test.ts +src/test/testing/explorer/failedTestHandler.unit.test.ts +src/test/testing/explorer/testTreeViewProvider.unit.test.ts +src/test/testing/explorer/explorerTestData.ts +src/test/testing/stoppingDiscoverAndTest.test.ts +src/test/testing/banners/proposeNewLanguageServerBanner.unit.test.ts +src/test/testing/common/argsHelper.unit.test.ts +src/test/testing/common/trackEnablement.unit.test.ts +src/test/testing/common/debugLauncher.unit.test.ts +src/test/testing/common/managers/baseTestManager.unit.test.ts +src/test/testing/common/managers/testConfigurationManager.unit.test.ts +src/test/testing/common/xUnitParser.unit.test.ts +src/test/testing/common/testUtils.unit.test.ts +src/test/testing/common/testVisitors/resultResetVisitor.unit.test.ts +src/test/testing/common/services/discoveredTestParser.unit.test.ts +src/test/testing/common/services/storageService.unit.test.ts +src/test/testing/common/services/testStatusService.unit.test.ts +src/test/testing/common/services/testResultsService.unit.test.ts +src/test/testing/common/services/discovery.unit.test.ts +src/test/testing/common/services/configSettingService.unit.test.ts +src/test/testing/common/services/contextService.unit.test.ts +src/test/testing/main.unit.test.ts +src/test/testing/results.ts +src/test/testing/display/picker.functional.test.ts +src/test/testing/display/main.unit.test.ts +src/test/testing/display/picker.unit.test.ts + +src/test/common/exitCIAfterTestReporter.ts +src/test/common/crypto.unit.test.ts +src/test/common/configuration/service.test.ts +src/test/common/configuration/service.unit.test.ts +src/test/common/net/fileDownloader.unit.test.ts +src/test/common/net/httpClient.unit.test.ts +src/test/common/moduleInstaller.test.ts +src/test/common/terminals/activator/index.unit.test.ts +src/test/common/terminals/activator/base.unit.test.ts +src/test/common/terminals/activator/powerShellFailedHandler.unit.test.ts +src/test/common/terminals/activation.conda.unit.test.ts +src/test/common/terminals/shellDetector.unit.test.ts +src/test/common/terminals/activation.bash.unit.test.ts +src/test/common/terminals/commandPrompt.unit.test.ts +src/test/common/terminals/service.unit.test.ts +src/test/common/terminals/synchronousTerminalService.unit.test.ts +src/test/common/terminals/serviceRegistry.unit.test.ts +src/test/common/terminals/helper.unit.test.ts +src/test/common/terminals/activation.commandPrompt.unit.test.ts +src/test/common/terminals/factory.unit.test.ts +src/test/common/terminals/pyenvActivationProvider.unit.test.ts +src/test/common/terminals/activation.unit.test.ts +src/test/common/terminals/shellDetectors/shellDetectors.unit.test.ts +src/test/common/terminals/environmentActivationProviders/pipEnvActivationProvider.unit.test.ts +src/test/common/terminals/environmentActivationProviders/terminalActivation.testvirtualenvs.ts +src/test/common/misc.test.ts +src/test/common/socketStream.test.ts +src/test/common/configSettings.test.ts +src/test/common/experiments/service.unit.test.ts +src/test/common/experiments/manager.unit.test.ts +src/test/common/experiments/telemetry.unit.test.ts +src/test/common/platform/filesystem.unit.test.ts +src/test/common/platform/pathUtils.functional.test.ts +src/test/common/platform/errors.unit.test.ts +src/test/common/platform/platformService.test.ts +src/test/common/platform/utils.ts +src/test/common/platform/fs-temp.unit.test.ts +src/test/common/platform/fs-temp.functional.test.ts +src/test/common/platform/serviceRegistry.unit.test.ts +src/test/common/platform/filesystem.functional.test.ts +src/test/common/platform/fs-paths.unit.test.ts +src/test/common/platform/fs-paths.functional.test.ts +src/test/common/platform/filesystem.test.ts +src/test/common/utils/async.unit.test.ts +src/test/common/utils/text.unit.test.ts +src/test/common/utils/regexp.unit.test.ts +src/test/common/utils/cacheUtils.unit.test.ts +src/test/common/utils/decorators.unit.test.ts +src/test/common/utils/localize.functional.test.ts +src/test/common/utils/version.unit.test.ts +src/test/common/utils/workerPool.functional.test.ts +src/test/common/configSettings/configSettings.pythonPath.unit.test.ts +src/test/common/configSettings/configSettings.unit.test.ts +src/test/common/featureDeprecationManager.unit.test.ts +src/test/common/dotnet/compatibilityService.unit.test.ts +src/test/common/dotnet/serviceRegistry.unit.test.ts +src/test/common/dotnet/services/linuxCompatibilityService.unit.test.ts +src/test/common/dotnet/services/winCompatibilityService.unit.test.ts +src/test/common/dotnet/services/unknownOsCompatibilityService.unit.test.ts +src/test/common/dotnet/services/macCompatibilityService.unit.test.ts +src/test/common/serviceRegistry.unit.test.ts +src/test/common/extensions.unit.test.ts +src/test/common/variables/envVarsService.functional.test.ts +src/test/common/variables/envVarsService.test.ts +src/test/common/variables/envVarsService.unit.test.ts +src/test/common/variables/serviceRegistry.unit.test.ts +src/test/common/variables/environmentVariablesProvider.unit.test.ts +src/test/common/variables/envVarsProvider.multiroot.test.ts +src/test/common/nuget/nugetService.unit.test.ts +src/test/common/nuget/azureBobStoreRepository.functional.test.ts +src/test/common/nuget/nugetRepository.unit.test.ts +src/test/common/nuget/azureBobStoreRepository.unit.test.ts +src/test/common/helpers.test.ts +src/test/common/application/commands/reloadCommand.unit.test.ts +src/test/common/installer/channelManager.unit.test.ts +src/test/common/installer/condaInstaller.unit.test.ts +src/test/common/installer/installer.unit.test.ts +src/test/common/installer/pipInstaller.unit.test.ts +src/test/common/installer/installer.invalidPath.unit.test.ts +src/test/common/installer/moduleInstaller.unit.test.ts +src/test/common/installer/pipEnvInstaller.unit.test.ts +src/test/common/installer/productPath.unit.test.ts +src/test/common/installer/serviceRegistry.unit.test.ts +src/test/common/installer/poetryInstaller.unit.test.ts +src/test/common/installer/extensionBuildInstaller.unit.test.ts +src/test/common/socketCallbackHandler.test.ts +src/test/common/installer.test.ts +src/test/common/process/decoder.test.ts +src/test/common/process/pythonDaemonPool.unit.test.ts +src/test/common/process/processFactory.unit.test.ts +src/test/common/process/pythonToolService.unit.test.ts +src/test/common/process/proc.observable.test.ts +src/test/common/process/currentProcess.test.ts +src/test/common/process/serviceRegistry.unit.test.ts +src/test/common/process/pythonProc.simple.multiroot.test.ts +src/test/common/process/execFactory.test.ts +src/test/common/process/pythonEnvironment.unit.test.ts +src/test/common/process/logger.unit.test.ts +src/test/common/process/pythonDaemonPool.functional.test.ts +src/test/common/process/proc.exec.test.ts +src/test/common/process/pythonDaemon.functional.test.ts +src/test/common/process/pythonProcess.unit.test.ts +src/test/common/process/pythonExecutionFactory.unit.test.ts +src/test/common/process/proc.unit.test.ts +src/test/common/asyncDump.ts +src/test/common/interpreterPathService.unit.test.ts +src/test/common/insidersBuild/downloadChannelRules.unit.test.ts +src/test/common/insidersBuild/insidersExtensionPrompt.unit.test.ts +src/test/common/insidersBuild/downloadChannelService.unit.test.ts +src/test/common/insidersBuild/insidersExtensionService.unit.test.ts + +src/test/pythonFiles/formatting/dummy.ts + +src/test/format/extension.dispatch.test.ts +src/test/format/extension.format.ds.test.ts +src/test/format/extension.onTypeFormat.test.ts +src/test/format/extension.lineFormatter.test.ts +src/test/format/extension.sort.test.ts +src/test/format/extension.onEnterFormat.test.ts +src/test/format/extension.format.test.ts +src/test/format/format.helper.test.ts +src/test/format/formatter.unit.test.ts + +src/test/debugger/extension/configuration/debugConfigurationService.unit.test.ts +src/test/debugger/extension/configuration/providers/moduleLaunch.unit.test.ts +src/test/debugger/extension/configuration/providers/pyramidLaunch.unit.test.ts +src/test/debugger/extension/configuration/providers/flaskLaunch.unit.test.ts +src/test/debugger/extension/configuration/providers/fileLaunch.unit.test.ts +src/test/debugger/extension/configuration/providers/djangoLaunch.unit.test.ts +src/test/debugger/extension/configuration/providers/providerFactory.unit.test.ts +src/test/debugger/extension/configuration/providers/remoteAttach.unit.test.ts +src/test/debugger/extension/configuration/providers/pidAttach.unit.test.ts +src/test/debugger/extension/configuration/resolvers/base.unit.test.ts +src/test/debugger/extension/configuration/resolvers/common.ts +src/test/debugger/extension/configuration/resolvers/attach.unit.test.ts +src/test/debugger/extension/configuration/resolvers/launch.unit.test.ts +src/test/debugger/extension/configuration/launch.json/updaterServer.unit.test.ts +src/test/debugger/extension/configuration/launch.json/completionProvider.unit.test.ts +src/test/debugger/extension/configuration/launch.json/interpreterPathCommand.unit.test.ts +src/test/debugger/extension/banner.unit.test.ts +src/test/debugger/extension/adapter/adapter.test.ts +src/test/debugger/extension/adapter/outdatedDebuggerPrompt.unit.test.ts +src/test/debugger/extension/adapter/remoteLaunchers.unit.test.ts +src/test/debugger/extension/adapter/factory.unit.test.ts +src/test/debugger/extension/adapter/activator.unit.test.ts +src/test/debugger/extension/adapter/logging.unit.test.ts +src/test/debugger/extension/serviceRegistry.unit.test.ts +src/test/debugger/extension/hooks/childProcessAttachHandler.unit.test.ts +src/test/debugger/extension/hooks/childProcessAttachService.unit.test.ts +src/test/debugger/extension/attachQuickPick/provider.unit.test.ts +src/test/debugger/extension/attachQuickPick/wmicProcessParser.unit.test.ts +src/test/debugger/extension/attachQuickPick/factory.unit.test.ts +src/test/debugger/extension/attachQuickPick/psProcessParser.unit.test.ts +src/test/debugger/utils.ts +src/test/debugger/common/constants.ts +src/test/debugger/common/protocolparser.test.ts +src/test/debugger/envVars.test.ts + +src/test/startPage/startPage.unit.test.ts +src/test/startPage/startPage.functional.test.tsx + +src/test/telemetry/index.unit.test.ts +src/test/telemetry/importTracker.unit.test.ts +src/test/telemetry/envFileTelemetry.unit.test.ts +src/test/telemetry/extensionInstallTelemetry.unit.test.ts + +src/test/linters/pylint.unit.test.ts +src/test/linters/mypy.unit.test.ts +src/test/linters/lint.provider.test.ts +src/test/linters/lint.unit.test.ts +src/test/linters/linter.availability.unit.test.ts +src/test/linters/common.ts +src/test/linters/lintengine.test.ts +src/test/linters/lint.multilinter.test.ts +src/test/linters/lint.test.ts +src/test/linters/linterinfo.unit.test.ts +src/test/linters/serviceRegistry.unit.test.ts +src/test/linters/pylint.test.ts +src/test/linters/lint.manager.unit.test.ts +src/test/linters/lint.args.test.ts +src/test/linters/linterCommands.unit.test.ts +src/test/linters/lint.functional.test.ts +src/test/linters/linterManager.unit.test.ts +src/test/linters/lint.multiroot.test.ts + +src/test/application/diagnostics/checks/macPythonInterpreter.unit.test.ts +src/test/application/diagnostics/checks/upgradeCodeRunner.unit.test.ts +src/test/application/diagnostics/checks/pythonPathDeprecated.unit.test.ts +src/test/application/diagnostics/checks/pythonInterpreter.unit.test.ts +src/test/application/diagnostics/checks/invalidLaunchJsonDebugger.unit.test.ts +src/test/application/diagnostics/checks/updateTestSettings.unit.test.ts +src/test/application/diagnostics/checks/powerShellActivation.unit.test.ts +src/test/application/diagnostics/checks/invalidPythonPathInDebugger.unit.test.ts +src/test/application/diagnostics/checks/envPathVariable.unit.test.ts +src/test/application/diagnostics/checks/lsNotSupported.unit.test.ts +src/test/application/diagnostics/applicationDiagnostics.unit.test.ts +src/test/application/diagnostics/promptHandler.unit.test.ts +src/test/application/diagnostics/sourceMapSupportService.unit.test.ts +src/test/application/diagnostics/serviceRegistry.unit.test.ts +src/test/application/diagnostics/filter.unit.test.ts +src/test/application/diagnostics/commands/ignore.unit.test.ts +src/test/application/diagnostics/commands/launchBrowser.unit.test.ts +src/test/application/diagnostics/commands/execVSCCommands.unit.test.ts +src/test/application/diagnostics/commands/factory.unit.test.ts +src/test/application/misc/joinMailingListPrompt.unit.test.ts + +src/test/performance/load.perf.test.ts + +src/test/datascience/mockLanguageServerCache.ts +src/test/datascience/debugLocationTracker.unit.test.ts +src/test/datascience/mockLiveShare.ts +src/test/datascience/liveshare.functional.test.tsx +src/test/datascience/mountedWebViewFactory.ts +src/test/datascience/data-viewing/dataViewerPDependencyService.unit.test.ts +src/test/datascience/data-viewing/dataViewer.unit.test.ts +src/test/datascience/mockPythonService.ts +src/test/datascience/testHelpersCore.ts +src/test/datascience/shiftEnterBanner.unit.test.ts +src/test/datascience/executionServiceMock.ts +src/test/datascience/mockJupyterManager.ts +src/test/datascience/mockCommandManager.ts +src/test/datascience/mockCustomEditorService.ts +src/test/datascience/mockInputBox.ts +src/test/datascience/reactHelpers.ts +src/test/datascience/helpers.ts +src/test/datascience/jupyterUriProviderRegistration.unit.test.ts +src/test/datascience/mockDocumentManager.ts +src/test/datascience/errorHandler.unit.test.ts +src/test/datascience/cellMatcher.unit.test.ts +src/test/datascience/crossProcessLock.unit.test.ts +src/test/datascience/uiTests/helpers.ts +src/test/datascience/uiTests/webBrowserPanel.ts +src/test/datascience/uiTests/notebookUi.ts +src/test/datascience/uiTests/webBrowserPanelProvider.ts +src/test/datascience/uiTests/recorder.ts +src/test/datascience/uiTests/notebookHelpers.ts +src/test/datascience/uiTests/ipywidget.ui.functional.test.ts +src/test/datascience/mockWorkspaceConfiguration.ts +src/test/datascience/mockTextEditor.ts +src/test/datascience/mockLanguageServerAnalysisOptions.ts +src/test/datascience/mockLanguageServerProxy.ts +src/test/datascience/interactiveWindowCommandListener.unit.test.ts +src/test/datascience/trustedNotebooks.functional.test.tsx +src/test/datascience/mockPythonSettings.ts +src/test/datascience/progress/progressReporter.unit.test.ts +src/test/datascience/progress/decorators.unit.test.ts +src/test/datascience/kernel-launcher/kernelDaemonPool.unit.test.ts +src/test/datascience/kernel-launcher/kernelDaemonPoolPreWarmer.unit.test.ts +src/test/datascience/kernel-launcher/kernelLauncherDaemon.unit.test.ts +src/test/datascience/ipywidgets/ipyWidgetScriptSourceProvider.unit.test.ts +src/test/datascience/ipywidgets/cdnWidgetScriptSourceProvider.unit.test.ts +src/test/datascience/ipywidgets/localWidgetScriptSourceProvider.unit.test.ts +src/test/datascience/ipywidgets/incompatibleWidgetHandler.unit.test.ts +src/test/datascience/mockKernelFinder.ts +src/test/datascience/datascienceSurveyBanner.unit.test.ts +src/test/datascience/intellisense.functional.test.tsx +src/test/datascience/nativeEditor.toolbar.functional.test.tsx +src/test/datascience/mockDocument.ts +src/test/datascience/raw-kernel/rawKernelTestHelpers.ts +src/test/datascience/raw-kernel/rawKernel.functional.test.ts +src/test/datascience/color.test.ts +src/test/datascience/nativeEditorViewTracker.unit.test.ts +src/test/datascience/mockCode2ProtocolConverter.ts +src/test/datascience/mockFileSystem.ts +src/test/datascience/interactive-common/trustService.unit.test.ts +src/test/datascience/interactive-common/notebookProvider.unit.test.ts +src/test/datascience/interactive-common/notebookServerProvider.unit.test.ts +src/test/datascience/interactive-common/trustCommandHandler.unit.test.ts +src/test/datascience/mockStatusProvider.ts +src/test/datascience/extensionapi/exampleextension/ms-ai-tools-test/webpack.config.js +src/test/datascience/extensionapi/exampleextension/ms-ai-tools-test/.eslintrc.js +src/test/datascience/extensionapi/exampleextension/ms-ai-tools-test/src/typings/python.d.ts +src/test/datascience/extensionapi/exampleextension/ms-ai-tools-test/src/extension.ts +src/test/datascience/extensionapi/exampleextension/ms-ai-tools-test/src/serverPicker.ts +src/test/datascience/common.unit.test.ts +src/test/datascience/testexecutionLogger.ts +src/test/datascience/interactiveWindow.functional.test.tsx +src/test/datascience/mockQuickPick.ts +src/test/datascience/dsTestSetup.ts +src/test/datascience/mockLanguageServer.ts +src/test/datascience/debugger.functional.test.tsx +src/test/datascience/testInteractiveWindowProvider.ts +src/test/datascience/dataScienceIocContainer.ts +src/test/datascience/dataviewer.functional.test.tsx +src/test/datascience/jupyterUtils.unit.test.ts +src/test/datascience/preWarmVariables.unit.test.ts +src/test/datascience/mockJupyterNotebook.ts +src/test/datascience/remoteTestHelpers.ts +src/test/datascience/mockWorkspaceFolder.ts +src/test/datascience/variableexplorer.functional.test.tsx +src/test/datascience/mockJupyterSession.ts +src/test/datascience/jupyterUriProviderRegistration.functional.test.ts +src/test/datascience/mockJupyterRequest.ts +src/test/datascience/inputHistory.unit.test.ts +src/test/datascience/jupyterHelpers.ts +src/test/datascience/mockJupyterServer.ts +src/test/datascience/mockJupyterManagerFactory.ts +src/test/datascience/mainState.unit.test.ts +src/test/datascience/mockDebugService.ts +src/test/datascience/nativeEditorTestHelpers.tsx +src/test/datascience/datascience.unit.test.ts +src/test/datascience/kernelLauncher.functional.test.ts +src/test/datascience/interactive-ipynb/nativeEditorStorage.unit.test.ts +src/test/datascience/interactive-ipynb/nativeEditorProvider.functional.test.ts +src/test/datascience/kernelFinder.unit.test.ts +src/test/datascience/plotViewer.functional.test.tsx +src/test/datascience/mockExtensions.ts +src/test/datascience/mockProtocol2CodeConverter.ts +src/test/datascience/editor-integration/helpers.ts +src/test/datascience/editor-integration/cellhashprovider.unit.test.ts +src/test/datascience/editor-integration/gotocell.functional.test.ts +src/test/datascience/editor-integration/codelensprovider.unit.test.ts +src/test/datascience/editor-integration/codewatcher.unit.test.ts +src/test/datascience/jupyterPasswordConnect.unit.test.ts +src/test/datascience/commands/serverSelector.unit.test.ts +src/test/datascience/commands/commandRegistry.unit.test.ts +src/test/datascience/commands/notebookCommands.functional.test.ts +src/test/datascience/testHelpers.tsx +src/test/datascience/notebook.functional.test.ts +src/test/datascience/mockLanguageClient.ts +src/test/datascience/errorHandler.functional.test.tsx +src/test/datascience/notebook/notebookStorage.unit.test.ts +src/test/datascience/notebook/notebookTrust.ds.test.ts +src/test/datascience/notebook/rendererExtensionDownloader.unit.test.ts +src/test/datascience/notebook/survey.unit.test.ts +src/test/datascience/notebook/interrupRestart.ds.test.ts +src/test/datascience/notebook/contentProvider.ds.test.ts +src/test/datascience/notebook/helper.ts +src/test/datascience/notebook/contentProvider.unit.test.ts +src/test/datascience/notebook/edit.ds.test.ts +src/test/datascience/notebook/rendererExension.unit.test.ts +src/test/datascience/notebook/saving.ds.test.ts +src/test/datascience/notebook/notebookEditorProvider.ds.test.ts +src/test/datascience/notebook/helpers.unit.test.ts +src/test/datascience/notebook/executionService.ds.test.ts +src/test/datascience/notebook/cellOutput.ds.test.ts +src/test/datascience/interactiveWindowTestHelpers.tsx +src/test/datascience/export/exportUtil.test.ts +src/test/datascience/export/exportToHTML.test.ts +src/test/datascience/export/exportToPython.test.ts +src/test/datascience/export/exportFileOpener.unit.test.ts +src/test/datascience/export/exportManager.test.ts +src/test/datascience/intellisense.unit.test.ts +src/test/datascience/nativeEditor.functional.test.tsx +src/test/datascience/markdownManipulation.unit.test.ts +src/test/datascience/interactivePanel.functional.test.tsx +src/test/datascience/variableTestHelpers.ts +src/test/datascience/activation.unit.test.ts +src/test/datascience/testPersistentStateFactory.ts +src/test/datascience/jupyter/interpreter/jupyterInterpreterSubCommandExecutionService.unit.test.ts +src/test/datascience/jupyter/interpreter/jupyterInterpreterDependencyService.unit.test.ts +src/test/datascience/jupyter/interpreter/jupyterInterpreterStateStore.unit.test.ts +src/test/datascience/jupyter/interpreter/jupyterInterpreterService.unit.test.ts +src/test/datascience/jupyter/interpreter/jupyterInterpreterSelectionCommand.unit.test.ts +src/test/datascience/jupyter/interpreter/jupyterInterpreterSelector.unit.test.ts +src/test/datascience/jupyter/serverSelector.unit.test.ts +src/test/datascience/jupyter/kernels/kernelSelector.unit.test.ts +src/test/datascience/jupyter/kernels/kernelSelections.unit.test.ts +src/test/datascience/jupyter/kernels/kernelDependencyService.unit.test.ts +src/test/datascience/jupyter/kernels/kernelSwitcher.unit.test.ts +src/test/datascience/jupyter/kernels/kernelService.unit.test.ts +src/test/datascience/jupyter/jupyterCellOutputMimeTypeTracker.unit.test.ts +src/test/datascience/jupyter/jupyterSession.unit.test.ts +src/test/datascience/jupyter/jupyterConnection.unit.test.ts +src/test/datascience/jupyter/serverCache.unit.test.ts +src/test/datascience/mockWorkspaceConfig.ts +src/test/datascience/mountedWebView.ts +src/test/datascience/execution.unit.test.ts +src/test/datascience/mockProcessService.ts +src/test/datascience/testNativeEditorProvider.ts +src/test/datascience/cellFactory.unit.test.ts + +src/test/refactor/extension.refactor.extract.method.test.ts +src/test/refactor/extension.refactor.extract.var.test.ts +src/test/refactor/rename.test.ts + +src/test/workspaceSymbols/provider.unit.test.ts +src/test/workspaceSymbols/common.ts +src/test/workspaceSymbols/main.unit.test.ts +src/test/workspaceSymbols/generator.unit.test.ts + +src/ipywidgets/types/require.js.d.ts +src/ipywidgets/types/index.d.ts +src/ipywidgets/webpack.config.js +src/ipywidgets/scripts/copyfiles.js +src/ipywidgets/scripts/clean.js +src/ipywidgets/src/manager.ts +src/ipywidgets/src/widgetLoader.ts +src/ipywidgets/src/libembed.ts +src/ipywidgets/src/index.ts +src/ipywidgets/src/embed.ts +src/ipywidgets/src/signal.ts +src/ipywidgets/src/documentContext.ts + +src/datascience-ui/native-editor/index.tsx +src/datascience-ui/native-editor/nativeCell.tsx +src/datascience-ui/native-editor/addCellLine.tsx +src/datascience-ui/native-editor/toolbar.tsx +src/datascience-ui/native-editor/nativeEditor.tsx +src/datascience-ui/native-editor/redux/mapping.ts +src/datascience-ui/native-editor/redux/actions.ts +src/datascience-ui/native-editor/redux/reducers/movement.ts +src/datascience-ui/native-editor/redux/reducers/index.ts +src/datascience-ui/native-editor/redux/reducers/creation.ts +src/datascience-ui/native-editor/redux/reducers/execution.ts +src/datascience-ui/native-editor/redux/reducers/effects.ts +src/datascience-ui/native-editor/redux/store.ts +src/datascience-ui/renderers/index.tsx +src/datascience-ui/renderers/webviewApi.d.ts +src/datascience-ui/renderers/constants.ts +src/datascience-ui/renderers/render.tsx +src/datascience-ui/plot/index.tsx +src/datascience-ui/plot/testSvg.ts +src/datascience-ui/plot/toolbar.tsx +src/datascience-ui/plot/mainPanel.tsx +src/datascience-ui/ipywidgets/manager.ts +src/datascience-ui/ipywidgets/container.tsx +src/datascience-ui/ipywidgets/types.ts +src/datascience-ui/ipywidgets/index.ts +src/datascience-ui/ipywidgets/kernel.ts +src/datascience-ui/ipywidgets/requirejsRegistry.ts +src/datascience-ui/ipywidgets/incompatibleWidgetHandler.ts +src/datascience-ui/interactive-common/trimmedOutputLink.tsx +src/datascience-ui/interactive-common/trustMessage.tsx +src/datascience-ui/interactive-common/variableExplorerRowRenderer.tsx +src/datascience-ui/interactive-common/variableExplorerHeaderCellFormatter.tsx +src/datascience-ui/interactive-common/code.tsx +src/datascience-ui/interactive-common/buildSettingsCss.ts +src/datascience-ui/interactive-common/markdown.tsx +src/datascience-ui/interactive-common/editor.tsx +src/datascience-ui/interactive-common/mainState.ts +src/datascience-ui/interactive-common/collapseButton.tsx +src/datascience-ui/interactive-common/utils.ts +src/datascience-ui/interactive-common/images.d.ts +src/datascience-ui/interactive-common/tokenizer.ts +src/datascience-ui/interactive-common/cellInput.tsx +src/datascience-ui/interactive-common/variableExplorerEmptyRows.tsx +src/datascience-ui/interactive-common/variablePanel.tsx +src/datascience-ui/interactive-common/jupyterInfo.tsx +src/datascience-ui/interactive-common/executionCount.tsx +src/datascience-ui/interactive-common/handlers.ts +src/datascience-ui/interactive-common/variableExplorer.tsx +src/datascience-ui/interactive-common/intellisenseProvider.ts +src/datascience-ui/interactive-common/variableExplorerButtonCellFormatter.tsx +src/datascience-ui/interactive-common/markdownManipulation.ts +src/datascience-ui/interactive-common/variableExplorerCellFormatter.tsx +src/datascience-ui/interactive-common/cellOutput.tsx +src/datascience-ui/interactive-common/informationMessages.tsx +src/datascience-ui/interactive-common/redux/helpers.ts +src/datascience-ui/interactive-common/redux/reducers/helpers.ts +src/datascience-ui/interactive-common/redux/reducers/monaco.ts +src/datascience-ui/interactive-common/redux/reducers/transfer.ts +src/datascience-ui/interactive-common/redux/reducers/types.ts +src/datascience-ui/interactive-common/redux/reducers/variables.ts +src/datascience-ui/interactive-common/redux/reducers/commonEffects.ts +src/datascience-ui/interactive-common/redux/reducers/kernel.ts +src/datascience-ui/interactive-common/redux/postOffice.ts +src/datascience-ui/interactive-common/redux/store.ts +src/datascience-ui/interactive-common/transforms.tsx +src/datascience-ui/interactive-common/contentPanel.tsx +src/datascience-ui/interactive-common/inputHistory.ts +src/datascience-ui/history-react/index.tsx +src/datascience-ui/history-react/interactivePanel.tsx +src/datascience-ui/history-react/interactiveCell.tsx +src/datascience-ui/history-react/redux/mapping.ts +src/datascience-ui/history-react/redux/actions.ts +src/datascience-ui/history-react/redux/reducers/index.ts +src/datascience-ui/history-react/redux/reducers/creation.ts +src/datascience-ui/history-react/redux/reducers/execution.ts +src/datascience-ui/history-react/redux/reducers/effects.ts +src/datascience-ui/history-react/redux/store.ts +src/datascience-ui/react-common/arePathsSame.ts +src/datascience-ui/react-common/imageButton.tsx +src/datascience-ui/react-common/monacoHelpers.ts +src/datascience-ui/react-common/svgViewer.tsx +src/datascience-ui/react-common/relativeImage.tsx +src/datascience-ui/react-common/progress.tsx +src/datascience-ui/react-common/styleInjector.tsx +src/datascience-ui/react-common/reduxUtils.ts +src/datascience-ui/react-common/monacoEditor.tsx +src/datascience-ui/react-common/textMeasure.ts +src/datascience-ui/react-common/flyout.tsx +src/datascience-ui/react-common/logger.ts +src/datascience-ui/react-common/svgList.tsx +src/datascience-ui/react-common/constants.ts +src/datascience-ui/react-common/settingsReactSide.ts +src/datascience-ui/react-common/locReactSide.ts +src/datascience-ui/react-common/button.tsx +src/datascience-ui/react-common/themeDetector.ts +src/datascience-ui/react-common/image.tsx +src/datascience-ui/react-common/event.ts +src/datascience-ui/react-common/codicon/codicon.ts +src/datascience-ui/react-common/postOffice.ts +src/datascience-ui/react-common/errorBoundary.tsx +src/datascience-ui/common/main.ts +src/datascience-ui/common/cellFactory.ts +src/datascience-ui/common/index.ts +src/datascience-ui/startPage/index.tsx +src/datascience-ui/startPage/startPage.tsx +src/datascience-ui/data-explorer/index.tsx +src/datascience-ui/data-explorer/cellFormatter.tsx +src/datascience-ui/data-explorer/globalJQueryImports.ts +src/datascience-ui/data-explorer/emptyRowsView.tsx +src/datascience-ui/data-explorer/progressBar.tsx +src/datascience-ui/data-explorer/testData.ts +src/datascience-ui/data-explorer/reactSlickGridFilterBox.tsx +src/datascience-ui/data-explorer/mainPanel.tsx +src/datascience-ui/data-explorer/reactSlickGrid.tsx + +src/client/interpreter/interpreterService.ts +src/client/interpreter/configuration/interpreterComparer.ts +src/client/interpreter/configuration/interpreterSelector/commands/base.ts +src/client/interpreter/configuration/interpreterSelector/commands/setInterpreter.ts +src/client/interpreter/configuration/interpreterSelector/commands/resetInterpreter.ts +src/client/interpreter/configuration/interpreterSelector/commands/setShebangInterpreter.ts +src/client/interpreter/configuration/interpreterSelector/interpreterSelector.ts +src/client/interpreter/configuration/pythonPathUpdaterService.ts +src/client/interpreter/configuration/pythonPathUpdaterServiceFactory.ts +src/client/interpreter/configuration/types.ts +src/client/interpreter/configuration/services/globalUpdaterService.ts +src/client/interpreter/configuration/services/workspaceUpdaterService.ts +src/client/interpreter/configuration/services/workspaceFolderUpdaterService.ts +src/client/interpreter/serviceRegistry.ts +src/client/interpreter/helpers.ts +src/client/interpreter/virtualEnvs/condaInheritEnvPrompt.ts +src/client/interpreter/virtualEnvs/types.ts +src/client/interpreter/virtualEnvs/virtualEnvPrompt.ts +src/client/interpreter/virtualEnvs/index.ts +src/client/interpreter/autoSelection/interpreterSecurity/interpreterSecurityStorage.ts +src/client/interpreter/autoSelection/interpreterSecurity/interpreterEvaluation.ts +src/client/interpreter/autoSelection/interpreterSecurity/interpreterSecurityService.ts +src/client/interpreter/autoSelection/types.ts +src/client/interpreter/autoSelection/constants.ts +src/client/interpreter/autoSelection/proxy.ts +src/client/interpreter/autoSelection/rules/baseRule.ts +src/client/interpreter/autoSelection/rules/winRegistry.ts +src/client/interpreter/autoSelection/rules/settings.ts +src/client/interpreter/autoSelection/rules/currentPath.ts +src/client/interpreter/autoSelection/rules/cached.ts +src/client/interpreter/autoSelection/rules/workspaceEnv.ts +src/client/interpreter/autoSelection/rules/system.ts +src/client/interpreter/autoSelection/index.ts +src/client/interpreter/interpreterVersion.ts +src/client/interpreter/contracts.ts +src/client/interpreter/activation/wrapperEnvironmentActivationService.ts +src/client/interpreter/activation/terminalEnvironmentActivationService.ts +src/client/interpreter/activation/preWarmVariables.ts +src/client/interpreter/activation/types.ts +src/client/interpreter/activation/service.ts +src/client/interpreter/locators/types.ts +src/client/interpreter/display/shebangCodeLensProvider.ts +src/client/interpreter/display/index.ts +src/client/interpreter/display/progressDisplay.ts +src/client/interpreter/display/interpreterSelectionTip.ts + +src/client/api.ts +src/client/constants.ts +src/client/extension.ts +src/client/extensionActivation.ts +src/client/extensionInit.ts +src/client/sourceMapSupport.ts +src/client/startupTelemetry.ts + +src/client/typeFormatters/blockFormatProvider.ts +src/client/typeFormatters/contracts.ts +src/client/typeFormatters/codeBlockFormatProvider.ts +src/client/typeFormatters/onEnterFormatter.ts +src/client/typeFormatters/dispatcher.ts + +src/client/terminals/serviceRegistry.ts +src/client/terminals/activation.ts +src/client/terminals/types.ts +src/client/terminals/codeExecution/helper.ts +src/client/terminals/codeExecution/djangoShellCodeExecution.ts +src/client/terminals/codeExecution/repl.ts +src/client/terminals/codeExecution/terminalCodeExecution.ts +src/client/terminals/codeExecution/codeExecutionManager.ts +src/client/terminals/codeExecution/djangoContext.ts + +src/client/providers/objectDefinitionProvider.ts +src/client/providers/serviceRegistry.ts +src/client/providers/symbolProvider.ts +src/client/providers/completionSource.ts +src/client/providers/renameProvider.ts +src/client/providers/hoverProvider.ts +src/client/providers/itemInfoSource.ts +src/client/providers/formatProvider.ts +src/client/providers/importSortProvider.ts +src/client/providers/replProvider.ts +src/client/providers/codeActionProvider/main.ts +src/client/providers/codeActionProvider/launchJsonCodeActionProvider.ts +src/client/providers/codeActionProvider/pythonCodeActionProvider.ts +src/client/providers/types.ts +src/client/providers/docStringFoldingProvider.ts +src/client/providers/linterProvider.ts +src/client/providers/providerUtilities.ts +src/client/providers/simpleRefactorProvider.ts +src/client/providers/completionProvider.ts +src/client/providers/jediProxy.ts +src/client/providers/definitionProvider.ts +src/client/providers/referenceProvider.ts +src/client/providers/terminalProvider.ts +src/client/providers/signatureProvider.ts + +src/client/activation/serviceRegistry.ts +src/client/activation/languageServer/manager.ts +src/client/activation/languageServer/languageServerExtension.ts +src/client/activation/languageServer/languageServerProxy.ts +src/client/activation/languageServer/languageClientFactory.ts +src/client/activation/languageServer/platformData.ts +src/client/activation/languageServer/languageServerCompatibilityService.ts +src/client/activation/languageServer/languageServerPackageRepository.ts +src/client/activation/languageServer/languageServerFolderService.ts +src/client/activation/languageServer/outputChannel.ts +src/client/activation/languageServer/languageServerPackageService.ts +src/client/activation/languageServer/analysisOptions.ts +src/client/activation/languageServer/activator.ts +src/client/activation/commands.ts +src/client/activation/activationManager.ts +src/client/activation/progress.ts +src/client/activation/extensionSurvey.ts +src/client/activation/types.ts +src/client/activation/common/languageServerChangeHandler.ts +src/client/activation/common/activatorBase.ts +src/client/activation/common/languageServerFolderService.ts +src/client/activation/common/languageServerPackageService.ts +src/client/activation/common/downloader.ts +src/client/activation/common/packageRepository.ts +src/client/activation/common/analysisOptions.ts +src/client/activation/common/downloadChannelRules.ts +src/client/activation/aaTesting.ts +src/client/activation/refCountedLanguageServer.ts +src/client/activation/jedi.ts +src/client/activation/languageClientMiddleware.ts +src/client/activation/activationService.ts +src/client/activation/node/manager.ts +src/client/activation/node/cancellationUtils.ts +src/client/activation/node/languageServerProxy.ts +src/client/activation/node/languageClientFactory.ts +src/client/activation/node/languageServerPackageRepository.ts +src/client/activation/node/languageServerFolderService.ts +src/client/activation/node/languageServerPackageService.ts +src/client/activation/node/analysisOptions.ts +src/client/activation/node/activator.ts +src/client/activation/none/activator.ts + +src/client/formatters/blackFormatter.ts +src/client/formatters/serviceRegistry.ts +src/client/formatters/helper.ts +src/client/formatters/dummyFormatter.ts +src/client/formatters/autoPep8Formatter.ts +src/client/formatters/lineFormatter.ts +src/client/formatters/types.ts +src/client/formatters/yapfFormatter.ts +src/client/formatters/baseFormatter.ts + +src/client/language/languageConfiguration.ts +src/client/language/characters.ts +src/client/language/textRangeCollection.ts +src/client/language/tokenizer.ts +src/client/language/characterStream.ts +src/client/language/textIterator.ts +src/client/language/types.ts +src/client/language/iterableTextRange.ts +src/client/language/braceCounter.ts +src/client/language/unicode.ts +src/client/language/textBuilder.ts + +src/client/testing/serviceRegistry.ts +src/client/testing/unittest/main.ts +src/client/testing/unittest/helper.ts +src/client/testing/unittest/testConfigurationManager.ts +src/client/testing/unittest/socketServer.ts +src/client/testing/unittest/runner.ts +src/client/testing/unittest/services/parserService.ts +src/client/testing/unittest/services/argsService.ts +src/client/testing/unittest/services/discoveryService.ts +src/client/testing/codeLenses/main.ts +src/client/testing/codeLenses/testFiles.ts +src/client/testing/nosetest/main.ts +src/client/testing/nosetest/testConfigurationManager.ts +src/client/testing/nosetest/runner.ts +src/client/testing/nosetest/services/parserService.ts +src/client/testing/nosetest/services/argsService.ts +src/client/testing/nosetest/services/discoveryService.ts +src/client/testing/main.ts +src/client/testing/pytest/main.ts +src/client/testing/pytest/testConfigurationManager.ts +src/client/testing/pytest/runner.ts +src/client/testing/pytest/services/argsService.ts +src/client/testing/pytest/services/discoveryService.ts +src/client/testing/pytest/services/testMessageService.ts +src/client/testing/configurationFactory.ts +src/client/testing/navigation/serviceRegistry.ts +src/client/testing/navigation/symbolProvider.ts +src/client/testing/navigation/helper.ts +src/client/testing/navigation/commandHandler.ts +src/client/testing/navigation/suiteNavigator.ts +src/client/testing/navigation/types.ts +src/client/testing/navigation/functionNavigator.ts +src/client/testing/navigation/fileNavigator.ts +src/client/testing/explorer/testTreeViewItem.ts +src/client/testing/explorer/testTreeViewProvider.ts +src/client/testing/explorer/commandHandlers.ts +src/client/testing/explorer/failedTestHandler.ts +src/client/testing/explorer/treeView.ts +src/client/testing/types.ts +src/client/testing/common/argumentsHelper.ts +src/client/testing/common/enablementTracker.ts +src/client/testing/common/debugLauncher.ts +src/client/testing/common/managers/testConfigurationManager.ts +src/client/testing/common/managers/baseTestManager.ts +src/client/testing/common/types.ts +src/client/testing/common/constants.ts +src/client/testing/common/testUtils.ts +src/client/testing/common/xUnitParser.ts +src/client/testing/common/updateTestSettings.ts +src/client/testing/common/testVisitors/visitor.ts +src/client/testing/common/testVisitors/flatteningVisitor.ts +src/client/testing/common/testVisitors/resultResetVisitor.ts +src/client/testing/common/runner.ts +src/client/testing/common/services/discoveredTestParser.ts +src/client/testing/common/services/contextService.ts +src/client/testing/common/services/testResultsService.ts +src/client/testing/common/services/storageService.ts +src/client/testing/common/services/types.ts +src/client/testing/common/services/unitTestDiagnosticService.ts +src/client/testing/common/services/testsStatusService.ts +src/client/testing/common/services/discovery.ts +src/client/testing/common/services/configSettingService.ts +src/client/testing/common/services/testManagerService.ts +src/client/testing/common/services/workspaceTestManagerService.ts +src/client/testing/display/main.ts +src/client/testing/display/picker.ts +src/client/testing/configuration.ts + +src/client/common/configuration/service.ts +src/client/common/serviceRegistry.ts +src/client/common/helpers.ts +src/client/common/net/browser.ts +src/client/common/net/fileDownloader.ts +src/client/common/net/httpClient.ts +src/client/common/net/socket/socketCallbackHandler.ts +src/client/common/net/socket/socketServer.ts +src/client/common/net/socket/SocketStream.ts +src/client/common/asyncDisposableRegistry.ts +src/client/common/editor.ts +src/client/common/contextKey.ts +src/client/common/markdown/restTextConverter.ts +src/client/common/featureDeprecationManager.ts +src/client/common/experiments/manager.ts +src/client/common/experiments/groups.ts +src/client/common/experiments/telemetry.ts +src/client/common/experiments/service.ts +src/client/common/refBool.ts +src/client/common/open.ts +src/client/common/platform/serviceRegistry.ts +src/client/common/platform/errors.ts +src/client/common/platform/fs-temp.ts +src/client/common/platform/fs-paths.ts +src/client/common/platform/platformService.ts +src/client/common/platform/types.ts +src/client/common/platform/constants.ts +src/client/common/platform/fileSystem.ts +src/client/common/platform/registry.ts +src/client/common/platform/pathUtils.ts +src/client/common/persistentState.ts +src/client/common/terminal/activator/base.ts +src/client/common/terminal/activator/powershellFailedHandler.ts +src/client/common/terminal/activator/index.ts +src/client/common/terminal/helper.ts +src/client/common/terminal/syncTerminalService.ts +src/client/common/terminal/factory.ts +src/client/common/terminal/types.ts +src/client/common/terminal/commandPrompt.ts +src/client/common/terminal/service.ts +src/client/common/terminal/shellDetector.ts +src/client/common/terminal/shellDetectors/userEnvironmentShellDetector.ts +src/client/common/terminal/shellDetectors/vscEnvironmentShellDetector.ts +src/client/common/terminal/shellDetectors/terminalNameShellDetector.ts +src/client/common/terminal/shellDetectors/settingsShellDetector.ts +src/client/common/terminal/shellDetectors/baseShellDetector.ts +src/client/common/terminal/environmentActivationProviders/pipEnvActivationProvider.ts +src/client/common/terminal/environmentActivationProviders/baseActivationProvider.ts +src/client/common/terminal/environmentActivationProviders/condaActivationProvider.ts +src/client/common/terminal/environmentActivationProviders/commandPrompt.ts +src/client/common/terminal/environmentActivationProviders/bash.ts +src/client/common/terminal/environmentActivationProviders/pyenvActivationProvider.ts +src/client/common/utils/decorators.ts +src/client/common/utils/enum.ts +src/client/common/utils/async.ts +src/client/common/utils/text.ts +src/client/common/utils/localize.ts +src/client/common/utils/regexp.ts +src/client/common/utils/platform.ts +src/client/common/utils/multiStepInput.ts +src/client/common/utils/stopWatch.ts +src/client/common/utils/random.ts +src/client/common/utils/serializers.ts +src/client/common/utils/icons.ts +src/client/common/utils/sysTypes.ts +src/client/common/utils/version.ts +src/client/common/utils/misc.ts +src/client/common/utils/logging.ts +src/client/common/utils/cacheUtils.ts +src/client/common/utils/workerPool.ts +src/client/common/crypto.ts +src/client/common/extensions.ts +src/client/common/dotnet/compatibilityService.ts +src/client/common/dotnet/serviceRegistry.ts +src/client/common/dotnet/types.ts +src/client/common/dotnet/services/unknownOsCompatibilityService.ts +src/client/common/dotnet/services/macCompatibilityService.ts +src/client/common/dotnet/services/linuxCompatibilityService.ts +src/client/common/dotnet/services/windowsCompatibilityService.ts +src/client/common/types.ts +src/client/common/logger.ts +src/client/common/configSettings.ts +src/client/common/constants.ts +src/client/common/variables/serviceRegistry.ts +src/client/common/variables/environment.ts +src/client/common/variables/types.ts +src/client/common/variables/environmentVariablesProvider.ts +src/client/common/variables/sysTypes.ts +src/client/common/variables/systemVariables.ts +src/client/common/nuget/azureBlobStoreNugetRepository.ts +src/client/common/nuget/nugetRepository.ts +src/client/common/nuget/types.ts +src/client/common/nuget/nugetService.ts +src/client/common/cancellation.ts +src/client/common/interpreterPathService.ts +src/client/common/startPage/startPage.ts +src/client/common/startPage/types.ts +src/client/common/startPage/startPageMessageListener.ts +src/client/common/application/customEditorService.ts +src/client/common/application/commands.ts +src/client/common/application/applicationShell.ts +src/client/common/application/languageService.ts +src/client/common/application/notebook.ts +src/client/common/application/clipboard.ts +src/client/common/application/workspace.ts +src/client/common/application/debugSessionTelemetry.ts +src/client/common/application/extensions.ts +src/client/common/application/types.ts +src/client/common/application/activeResource.ts +src/client/common/application/commandManager.ts +src/client/common/application/documentManager.ts +src/client/common/application/webPanels/webPanelProvider.ts +src/client/common/application/webPanels/webPanel.ts +src/client/common/application/debugService.ts +src/client/common/application/commands/reloadCommand.ts +src/client/common/application/terminalManager.ts +src/client/common/application/applicationEnvironment.ts +src/client/common/errors/errorUtils.ts +src/client/common/errors/moduleNotInstalledError.ts +src/client/common/installer/serviceRegistry.ts +src/client/common/installer/productNames.ts +src/client/common/installer/condaInstaller.ts +src/client/common/installer/extensionBuildInstaller.ts +src/client/common/installer/productInstaller.ts +src/client/common/installer/channelManager.ts +src/client/common/installer/moduleInstaller.ts +src/client/common/installer/types.ts +src/client/common/installer/poetryInstaller.ts +src/client/common/installer/pipEnvInstaller.ts +src/client/common/installer/productService.ts +src/client/common/installer/pipInstaller.ts +src/client/common/installer/productPath.ts +src/client/common/process/currentProcess.ts +src/client/common/process/processFactory.ts +src/client/common/process/serviceRegistry.ts +src/client/common/process/pythonDaemon.ts +src/client/common/process/pythonToolService.ts +src/client/common/process/internal/python.ts +src/client/common/process/internal/scripts/testing_tools.ts +src/client/common/process/internal/scripts/vscode_datascience_helpers.ts +src/client/common/process/internal/scripts/index.ts +src/client/common/process/pythonDaemonPool.ts +src/client/common/process/pythonDaemonFactory.ts +src/client/common/process/types.ts +src/client/common/process/logger.ts +src/client/common/process/baseDaemon.ts +src/client/common/process/constants.ts +src/client/common/process/pythonProcess.ts +src/client/common/process/proc.ts +src/client/common/process/pythonEnvironment.ts +src/client/common/process/decoder.ts +src/client/common/process/pythonExecutionFactory.ts +src/client/common/insidersBuild/insidersExtensionPrompt.ts +src/client/common/insidersBuild/insidersExtensionService.ts +src/client/common/insidersBuild/types.ts +src/client/common/insidersBuild/downloadChannelService.ts +src/client/common/insidersBuild/downloadChannelRules.ts + +src/client/debugger/extension/configuration/providers/moduleLaunch.ts +src/client/debugger/extension/configuration/providers/flaskLaunch.ts +src/client/debugger/extension/configuration/providers/fileLaunch.ts +src/client/debugger/extension/configuration/providers/remoteAttach.ts +src/client/debugger/extension/configuration/providers/djangoLaunch.ts +src/client/debugger/extension/configuration/providers/providerFactory.ts +src/client/debugger/extension/configuration/providers/pyramidLaunch.ts +src/client/debugger/extension/configuration/providers/pidAttach.ts +src/client/debugger/extension/configuration/resolvers/base.ts +src/client/debugger/extension/configuration/resolvers/helper.ts +src/client/debugger/extension/configuration/resolvers/launch.ts +src/client/debugger/extension/configuration/resolvers/attach.ts +src/client/debugger/extension/configuration/types.ts +src/client/debugger/extension/configuration/debugConfigurationService.ts +src/client/debugger/extension/configuration/launch.json/updaterService.ts +src/client/debugger/extension/configuration/launch.json/interpreterPathCommand.ts +src/client/debugger/extension/configuration/launch.json/completionProvider.ts +src/client/debugger/extension/banner.ts +src/client/debugger/extension/serviceRegistry.ts +src/client/debugger/extension/adapter/remoteLaunchers.ts +src/client/debugger/extension/adapter/outdatedDebuggerPrompt.ts +src/client/debugger/extension/adapter/factory.ts +src/client/debugger/extension/adapter/types.ts +src/client/debugger/extension/adapter/activator.ts +src/client/debugger/extension/adapter/logging.ts +src/client/debugger/extension/types.ts +src/client/debugger/extension/hooks/eventHandlerDispatcher.ts +src/client/debugger/extension/hooks/types.ts +src/client/debugger/extension/hooks/constants.ts +src/client/debugger/extension/hooks/childProcessAttachHandler.ts +src/client/debugger/extension/hooks/childProcessAttachService.ts +src/client/debugger/extension/attachQuickPick/wmicProcessParser.ts +src/client/debugger/extension/attachQuickPick/factory.ts +src/client/debugger/extension/attachQuickPick/types.ts +src/client/debugger/extension/attachQuickPick/psProcessParser.ts +src/client/debugger/extension/attachQuickPick/provider.ts +src/client/debugger/extension/attachQuickPick/picker.ts +src/client/debugger/extension/helpers/protocolParser.ts +src/client/debugger/types.ts +src/client/debugger/constants.ts + +src/client/languageServices/jediProxyFactory.ts +src/client/languageServices/proposeLanguageServerBanner.ts + +src/client/telemetry/types.ts +src/client/telemetry/importTracker.ts +src/client/telemetry/constants.ts +src/client/telemetry/index.ts +src/client/telemetry/envFileTelemetry.ts +src/client/telemetry/extensionInstallTelemetry.ts + +src/client/linters/pydocstyle.ts +src/client/linters/serviceRegistry.ts +src/client/linters/linterAvailability.ts +src/client/linters/lintingEngine.ts +src/client/linters/prospector.ts +src/client/linters/pycodestyle.ts +src/client/linters/linterInfo.ts +src/client/linters/bandit.ts +src/client/linters/linterCommands.ts +src/client/linters/flake8.ts +src/client/linters/errorHandlers/baseErrorHandler.ts +src/client/linters/errorHandlers/errorHandler.ts +src/client/linters/errorHandlers/notInstalled.ts +src/client/linters/errorHandlers/standard.ts +src/client/linters/types.ts +src/client/linters/mypy.ts +src/client/linters/baseLinter.ts +src/client/linters/constants.ts +src/client/linters/linterManager.ts +src/client/linters/pylama.ts +src/client/linters/pylint.ts + +src/client/application/serviceRegistry.ts +src/client/application/types.ts +src/client/application/diagnostics/surceMapSupportService.ts +src/client/application/diagnostics/base.ts +src/client/application/diagnostics/applicationDiagnostics.ts +src/client/application/diagnostics/serviceRegistry.ts +src/client/application/diagnostics/filter.ts +src/client/application/diagnostics/checks/upgradeCodeRunner.ts +src/client/application/diagnostics/checks/powerShellActivation.ts +src/client/application/diagnostics/checks/envPathVariable.ts +src/client/application/diagnostics/checks/invalidLaunchJsonDebugger.ts +src/client/application/diagnostics/checks/pythonPathDeprecated.ts +src/client/application/diagnostics/checks/lsNotSupported.ts +src/client/application/diagnostics/checks/macPythonInterpreter.ts +src/client/application/diagnostics/checks/invalidPythonPathInDebugger.ts +src/client/application/diagnostics/checks/pythonInterpreter.ts +src/client/application/diagnostics/promptHandler.ts +src/client/application/diagnostics/types.ts +src/client/application/diagnostics/constants.ts +src/client/application/diagnostics/commands/base.ts +src/client/application/diagnostics/commands/ignore.ts +src/client/application/diagnostics/commands/factory.ts +src/client/application/diagnostics/commands/execVSCCommand.ts +src/client/application/diagnostics/commands/types.ts +src/client/application/diagnostics/commands/launchBrowser.ts +src/client/application/misc/joinMailingListPrompt.ts + +src/client/datascience/baseJupyterSession.ts +src/client/datascience/data-viewing/jupyterVariableDataProviderFactory.ts +src/client/datascience/data-viewing/dataViewerMessageListener.ts +src/client/datascience/data-viewing/jupyterVariableDataProvider.ts +src/client/datascience/data-viewing/types.ts +src/client/datascience/data-viewing/dataViewer.ts +src/client/datascience/data-viewing/dataViewerDependencyService.ts +src/client/datascience/data-viewing/dataViewerFactory.ts +src/client/datascience/shiftEnterBanner.ts +src/client/datascience/dataScienceSurveyBanner.ts +src/client/datascience/serviceRegistry.ts +src/client/datascience/gather/gatherLogger.ts +src/client/datascience/gather/gatherListener.ts +src/client/datascience/webViewHost.ts +src/client/datascience/context/activeEditorContext.ts +src/client/datascience/progress/progressReporter.ts +src/client/datascience/progress/messages.ts +src/client/datascience/progress/types.ts +src/client/datascience/progress/decorator.ts +src/client/datascience/codeCssGenerator.ts +src/client/datascience/kernel-launcher/helpers.ts +src/client/datascience/kernel-launcher/kernelFinder.ts +src/client/datascience/kernel-launcher/kernelProcess.ts +src/client/datascience/kernel-launcher/types.ts +src/client/datascience/kernel-launcher/kernelDaemonPool.ts +src/client/datascience/kernel-launcher/kernelLauncherDaemon.ts +src/client/datascience/kernel-launcher/kernelDaemon.ts +src/client/datascience/kernel-launcher/kernelDaemonPreWarmer.ts +src/client/datascience/kernel-launcher/kernelLauncher.ts +src/client/datascience/ipywidgets/localWidgetScriptSourceProvider.ts +src/client/datascience/ipywidgets/ipyWidgetScriptSourceProvider.ts +src/client/datascience/ipywidgets/ipyWidgetScriptSource.ts +src/client/datascience/ipywidgets/cdnWidgetScriptSourceProvider.ts +src/client/datascience/ipywidgets/types.ts +src/client/datascience/ipywidgets/remoteWidgetScriptSourceProvider.ts +src/client/datascience/ipywidgets/constants.ts +src/client/datascience/ipywidgets/ipyWidgetMessageDispatcher.ts +src/client/datascience/ipywidgets/ipywidgetHandler.ts +src/client/datascience/ipywidgets/ipyWidgetMessageDispatcherFactory.ts +src/client/datascience/themeFinder.ts +src/client/datascience/multiplexingDebugService.ts +src/client/datascience/interactive-window/identity.ts +src/client/datascience/interactive-window/interactiveWindow.ts +src/client/datascience/interactive-window/interactiveWindowCommandListener.ts +src/client/datascience/interactive-window/interactiveWindowProvider.ts +src/client/datascience/datascience.ts +src/client/datascience/liveshare/liveshare.ts +src/client/datascience/liveshare/serviceProxy.ts +src/client/datascience/liveshare/liveshareProxy.ts +src/client/datascience/liveshare/postOffice.ts +src/client/datascience/jupyterUriProviderRegistration.ts +src/client/datascience/messages.ts +src/client/datascience/raw-kernel/rawJupyterSession.ts +src/client/datascience/raw-kernel/rawNotebookProvider.ts +src/client/datascience/raw-kernel/rawNotebookSupportedService.ts +src/client/datascience/raw-kernel/liveshare/guestRawNotebookProvider.ts +src/client/datascience/raw-kernel/liveshare/hostRawNotebookProvider.ts +src/client/datascience/raw-kernel/rawKernel.ts +src/client/datascience/raw-kernel/rawSession.ts +src/client/datascience/raw-kernel/rawSocket.ts +src/client/datascience/raw-kernel/rawNotebookProviderWrapper.ts +src/client/datascience/crossProcessLock.ts +src/client/datascience/debugLocationTrackerFactory.ts +src/client/datascience/preWarmVariables.ts +src/client/datascience/common.ts +src/client/datascience/kernelSocketWrapper.ts +src/client/datascience/jupyterDebugService.ts +src/client/datascience/utils.ts +src/client/datascience/interactive-common/serialization.ts +src/client/datascience/interactive-common/showPlotListener.ts +src/client/datascience/interactive-common/debugListener.ts +src/client/datascience/interactive-common/interactiveBase.ts +src/client/datascience/interactive-common/types.ts +src/client/datascience/interactive-common/linkProvider.ts +src/client/datascience/interactive-common/notebookUsageTracker.ts +src/client/datascience/interactive-common/interactiveWindowTypes.ts +src/client/datascience/interactive-common/synchronization.ts +src/client/datascience/interactive-common/notebookProvider.ts +src/client/datascience/interactive-common/interactiveWindowMessageListener.ts +src/client/datascience/interactive-common/intellisense/wordHelper.ts +src/client/datascience/interactive-common/intellisense/intellisenseDocument.ts +src/client/datascience/interactive-common/intellisense/intellisenseLine.ts +src/client/datascience/interactive-common/intellisense/conversion.ts +src/client/datascience/interactive-common/intellisense/intellisenseProvider.ts +src/client/datascience/interactive-common/notebookServerProvider.ts +src/client/datascience/activation.ts +src/client/datascience/jupyterUriProviderWrapper.ts +src/client/datascience/types.ts +src/client/datascience/errorHandler/errorHandler.ts +src/client/datascience/cellMatcher.ts +src/client/datascience/notebookStorage/notebookModel.ts +src/client/datascience/notebookStorage/notebookModelEditEvent.ts +src/client/datascience/notebookStorage/notebookStorageProvider.ts +src/client/datascience/notebookStorage/nativeEditorStorage.ts +src/client/datascience/notebookStorage/factory.ts +src/client/datascience/notebookStorage/types.ts +src/client/datascience/notebookStorage/nativeEditorProvider.ts +src/client/datascience/notebookStorage/vscNotebookModel.ts +src/client/datascience/notebookStorage/baseModel.ts +src/client/datascience/debugLocationTracker.ts +src/client/datascience/plotting/plotViewerMessageListener.ts +src/client/datascience/plotting/types.ts +src/client/datascience/plotting/plotViewer.ts +src/client/datascience/plotting/plotViewerProvider.ts +src/client/datascience/constants.ts +src/client/datascience/monacoMessages.ts +src/client/datascience/interactive-ipynb/nativeEditorRunByLineListener.ts +src/client/datascience/interactive-ipynb/nativeEditorViewTracker.ts +src/client/datascience/interactive-ipynb/trustCommandHandler.ts +src/client/datascience/interactive-ipynb/nativeEditorOldWebView.ts +src/client/datascience/interactive-ipynb/nativeEditorSynchronizer.ts +src/client/datascience/interactive-ipynb/nativeEditor.ts +src/client/datascience/interactive-ipynb/trustService.ts +src/client/datascience/interactive-ipynb/digestStorage.ts +src/client/datascience/interactive-ipynb/nativeEditorProviderOld.ts +src/client/datascience/interactive-ipynb/nativeEditorCommandListener.ts +src/client/datascience/interactive-ipynb/autoSaveService.ts +src/client/datascience/editor-integration/hoverProvider.ts +src/client/datascience/editor-integration/codeLensFactory.ts +src/client/datascience/editor-integration/codewatcher.ts +src/client/datascience/editor-integration/decorator.ts +src/client/datascience/editor-integration/codelensprovider.ts +src/client/datascience/editor-integration/cellhashprovider.ts +src/client/datascience/commands/commandLineSelector.ts +src/client/datascience/commands/notebookCommands.ts +src/client/datascience/commands/exportCommands.ts +src/client/datascience/commands/commandRegistry.ts +src/client/datascience/commands/serverSelector.ts +src/client/datascience/cellFactory.ts +src/client/datascience/notebook/contentProvider.ts +src/client/datascience/notebook/notebookDisposeService.ts +src/client/datascience/notebook/serviceRegistry.ts +src/client/datascience/notebook/notebookEditor.ts +src/client/datascience/notebook/notebookEditorCompatibilitySupport.ts +src/client/datascience/notebook/kernelProvider.ts +src/client/datascience/notebook/integration.ts +src/client/datascience/notebook/types.ts +src/client/datascience/notebook/notebookEditorProvider.ts +src/client/datascience/notebook/constants.ts +src/client/datascience/notebook/notebookEditorProviderWrapper.ts +src/client/datascience/notebook/renderer.ts +src/client/datascience/notebook/rendererExtensionDownloader.ts +src/client/datascience/notebook/helpers/multiCancellationToken.ts +src/client/datascience/notebook/helpers/helpers.ts +src/client/datascience/notebook/helpers/executionHelpers.ts +src/client/datascience/notebook/survey.ts +src/client/datascience/notebook/rendererExtension.ts +src/client/datascience/export/exportToHTML.ts +src/client/datascience/export/exportToPython.ts +src/client/datascience/export/exportUtil.ts +src/client/datascience/export/exportManager.ts +src/client/datascience/export/types.ts +src/client/datascience/export/exportToPDF.ts +src/client/datascience/export/exportManagerFilePicker.ts +src/client/datascience/export/exportBase.ts +src/client/datascience/export/exportDependencyChecker.ts +src/client/datascience/export/exportFileOpener.ts +src/client/datascience/notebookAndInteractiveTracker.ts +src/client/datascience/statusProvider.ts +src/client/datascience/jupyter/interpreter/jupyterInterpreterSelectionCommand.ts +src/client/datascience/jupyter/interpreter/jupyterCommand.ts +src/client/datascience/jupyter/interpreter/jupyterInterpreterStateStore.ts +src/client/datascience/jupyter/interpreter/jupyterInterpreterDependencyService.ts +src/client/datascience/jupyter/interpreter/jupyterInterpreterOldCacheStateStore.ts +src/client/datascience/jupyter/interpreter/jupyterInterpreterSubCommandExecutionService.ts +src/client/datascience/jupyter/interpreter/jupyterInterpreterSelector.ts +src/client/datascience/jupyter/interpreter/jupyterInterpreterService.ts +src/client/datascience/jupyter/kernels/kernelSelector.ts +src/client/datascience/jupyter/kernels/jupyterKernelPromiseFailedError.ts +src/client/datascience/jupyter/kernels/helpers.ts +src/client/datascience/jupyter/kernels/kernelExecution.ts +src/client/datascience/jupyter/kernels/kernelSwitcher.ts +src/client/datascience/jupyter/kernels/kernelService.ts +src/client/datascience/jupyter/kernels/kernelProvider.ts +src/client/datascience/jupyter/kernels/types.ts +src/client/datascience/jupyter/kernels/kernelSelections.ts +src/client/datascience/jupyter/kernels/jupyterKernelSpec.ts +src/client/datascience/jupyter/kernels/kernelDependencyService.ts +src/client/datascience/jupyter/kernels/kernel.ts +src/client/datascience/jupyter/kernels/cellExecution.ts +src/client/datascience/jupyter/jupyterNotebook.ts +src/client/datascience/jupyter/jupyterExecutionFactory.ts +src/client/datascience/jupyter/jupyterSession.ts +src/client/datascience/jupyter/serverPreload.ts +src/client/datascience/jupyter/jupyterRequest.ts +src/client/datascience/jupyter/jupyterNotebookProvider.ts +src/client/datascience/jupyter/commandLineSelector.ts +src/client/datascience/jupyter/jupyterVariables.ts +src/client/datascience/jupyter/jupyterDebugger.ts +src/client/datascience/jupyter/liveshare/hostJupyterServer.ts +src/client/datascience/jupyter/liveshare/roleBasedFactory.ts +src/client/datascience/jupyter/liveshare/guestJupyterNotebook.ts +src/client/datascience/jupyter/liveshare/hostJupyterNotebook.ts +src/client/datascience/jupyter/liveshare/responseQueue.ts +src/client/datascience/jupyter/liveshare/hostJupyterExecution.ts +src/client/datascience/jupyter/liveshare/liveShareParticipantMixin.ts +src/client/datascience/jupyter/liveshare/utils.ts +src/client/datascience/jupyter/liveshare/guestJupyterSessionManager.ts +src/client/datascience/jupyter/liveshare/guestJupyterSessionManagerFactory.ts +src/client/datascience/jupyter/liveshare/types.ts +src/client/datascience/jupyter/liveshare/guestJupyterServer.ts +src/client/datascience/jupyter/liveshare/serverCache.ts +src/client/datascience/jupyter/liveshare/guestJupyterExecution.ts +src/client/datascience/jupyter/kernelVariables.ts +src/client/datascience/jupyter/jupyterSessionManagerFactory.ts +src/client/datascience/jupyter/jupyterDebuggerPortBlockedError.ts +src/client/datascience/jupyter/jupyterConnectError.ts +src/client/datascience/jupyter/jupyterExecution.ts +src/client/datascience/jupyter/debuggerVariableRegistration.ts +src/client/datascience/jupyter/jupyterDebuggerRemoteNotSupported.ts +src/client/datascience/jupyter/jupyterConnection.ts +src/client/datascience/jupyter/jupyterPasswordConnect.ts +src/client/datascience/jupyter/jupyterDebuggerNotInstalledError.ts +src/client/datascience/jupyter/jupyterSelfCertsError.ts +src/client/datascience/jupyter/jupyterDebuggerPortNotAvailableError.ts +src/client/datascience/jupyter/jupyterWebSocket.ts +src/client/datascience/jupyter/jupyterServer.ts +src/client/datascience/jupyter/jupyterInvalidKernelError.ts +src/client/datascience/jupyter/jupyterExporter.ts +src/client/datascience/jupyter/notebookStarter.ts +src/client/datascience/jupyter/jupyterZMQBinariesNotFoundError.ts +src/client/datascience/jupyter/serverSelector.ts +src/client/datascience/jupyter/jupyterUtils.ts +src/client/datascience/jupyter/jupyterSessionManager.ts +src/client/datascience/jupyter/jupyterDataRateLimitError.ts +src/client/datascience/jupyter/variableScriptLoader.ts +src/client/datascience/jupyter/jupyterServerWrapper.ts +src/client/datascience/jupyter/jupyterImporter.ts +src/client/datascience/jupyter/jupyterInstallError.ts +src/client/datascience/jupyter/oldJupyterVariables.ts +src/client/datascience/jupyter/jupyterInterruptError.ts +src/client/datascience/jupyter/invalidNotebookFileError.ts +src/client/datascience/jupyter/jupyterWaitForIdleError.ts +src/client/datascience/jupyter/jupyterCellOutputMimeTypeTracker.ts +src/client/datascience/jupyter/debuggerVariables.ts +src/client/datascience/dataScienceFileSystem.ts +src/client/logging/levels.ts +src/client/logging/transports.ts +src/client/logging/_global.ts +src/client/logging/logger.ts +src/client/logging/util.ts +src/client/logging/index.ts +src/client/logging/formatters.ts +src/client/logging/trace.ts +src/client/ioc/serviceManager.ts +src/client/ioc/container.ts +src/client/ioc/types.ts +src/client/ioc/index.ts +src/client/refactor/proxy.ts +src/client/workspaceSymbols/main.ts +src/client/workspaceSymbols/contracts.ts +src/client/workspaceSymbols/generator.ts +src/client/workspaceSymbols/parser.ts +src/client/workspaceSymbols/provider.ts + diff --git a/.eslintrc b/.eslintrc index 1b6649bb0880..3e84dbf6fe39 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,17 +1,103 @@ - { - "env": { - "node": true, - "es6": true - }, - "rules": { - "no-console": 0, - "no-cond-assign": 0, - "no-unused-vars": 1, - "no-extra-semi": "warn", - "semi": "warn", - "prettier/prettier": "error" - }, - "extends": ["eslint:recommended", "prettier"], - "plugins": ["prettier"] + "env": { + "node": true, + "es6": true, + "mocha": true + }, + "parser": "@typescript-eslint/parser", + "plugins": ["@typescript-eslint"], + "extends": [ + "airbnb", + "plugin:@typescript-eslint/recommended", + "plugin:import/errors", + "plugin:import/warnings", + "plugin:import/typescript" + ], + "rules": { + // Overriding ESLint rules with Typescript-specific ones + "@typescript-eslint/ban-ts-comment": [ + "error", + { + "ts-ignore": "allow-with-description" + } + ], + "no-bitwise": "off", + "no-dupe-class-members": "off", + "@typescript-eslint/no-dupe-class-members": "error", + "no-empty-function": "off", + "@typescript-eslint/no-empty-function": ["error"], + "@typescript-eslint/no-empty-interface": "off", + "@typescript-eslint/no-non-null-assertion": "off", + "no-unused-vars": "off", + "@typescript-eslint/no-unused-vars": "error", + "no-use-before-define": "off", + "@typescript-eslint/no-use-before-define": [ + "error", + { + "functions": false + } + ], + "no-useless-constructor": "off", + "@typescript-eslint/no-useless-constructor": "error", + "@typescript-eslint/no-var-requires": "off", + // Other rules + "func-names": "off", + "import/extensions": "off", + "import/namespace": "off", + "import/no-extraneous-dependencies": "off", + "import/no-unresolved": [ + "error", + { + "ignore": ["monaco-editor", "vscode"] + } + ], + "import/prefer-default-export": "off", + "indent": [ + "error", + 4, + { + "SwitchCase": 1 + } + ], + "linebreak-style": "off", + "max-len": [ + "warn", + { + "code": 120, + "ignorePattern": "^import\\s.+\\sfrom\\s.+;$", + "ignoreStrings": true, + "ignoreTemplateLiterals": true, + "ignoreUrls": true + } + ], + "no-confusing-arrow": [ + "error", + { + "allowParens": true + } + ], + "no-console": "off", + "no-control-regex": "off", + "no-extend-native": "off", + "no-multi-str": "off", + "no-param-reassign": "off", + "no-prototype-builtins": "off", + "no-template-curly-in-string": "off", + "no-underscore-dangle": "off", + "no-useless-escape": "off", + "no-void": [ + "error", + { + "allowAsStatement": true + } + ], + "operator-assignment": "off", + "react/jsx-filename-extension": [ + 1, + { + "extensions": [".tsx"] + } + ], + "strict": "off" + } } diff --git a/.gitattributes b/.gitattributes index f36040d43639..e25c2877c07f 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,3 @@ package.json text eol=lf package-lock.json text eol=lf +requirements.txt text eol=lf diff --git a/.github/ISSUE_TEMPLATE/1_ds_bug_report.md b/.github/ISSUE_TEMPLATE/1_ds_bug_report.md index e331ff168600..f9f2a490d336 100644 --- a/.github/ISSUE_TEMPLATE/1_ds_bug_report.md +++ b/.github/ISSUE_TEMPLATE/1_ds_bug_report.md @@ -3,6 +3,7 @@ name: Bug report for Notebook Editor, Interactive Window, Python Editor cells about: Create a report to help us improve labels: type-bug, data science --- + # Bug: Notebook Editor, Interactive Window, Editor cells ## Steps to cause the bug to occur + 1. ## Actual behavior @@ -25,22 +27,23 @@ https://github.com/phw/peek or https://www.screentogif.com/ to create one. -------------------------------------------------------------------------------------------------> ### Your Jupyter and/or Python environment -*Please provide as much info as you readily know* -- **Jupyter server running:** Local | Remote | N/A -- **Extension version:** 20YY.MM.#####-xxx -- **VS Code version:** #.## -- **Setting python.jediEnabled:** true | false -- **Python and/or Anaconda version:** #.#.# -- **OS:** Windows | Mac | Linux (distro): -- **Virtual environment:** conda | venv | virtualenv | N/A | ... - -## Developer Tools Console Output - -Microsoft Data Science for VS Code Engineering Team: @rchiodo, @IanMatthewHuff, @DavidKutu, @DonJayamanne, @greazer +_Please provide as much info as you readily know_ +- **Jupyter server running:** Local | Remote | N/A +- **Extension version:** 20YY.MM.#####-xxx +- **VS Code version:** #.## +- **Setting python.jediEnabled:** true | false +- **Setting python.languageServer:** Jedi | Microsoft | None +- **Python and/or Anaconda version:** #.#.# +- **OS:** Windows | Mac | Linux (distro): +- **Virtual environment:** conda | venv | virtualenv | N/A | ... + +## Python Output + + +Microsoft Data Science for VS Code Engineering Team: @rchiodo, @IanMatthewHuff, @DavidKutu, @DonJayamanne, @greazer, @joyceerhl diff --git a/.github/ISSUE_TEMPLATE/2_bug_report.md b/.github/ISSUE_TEMPLATE/2_bug_report.md index 1f4fac77efb1..63ebddf67b47 100644 --- a/.github/ISSUE_TEMPLATE/2_bug_report.md +++ b/.github/ISSUE_TEMPLATE/2_bug_report.md @@ -8,15 +8,16 @@ labels: classify, type-bug ## Environment data -- VS Code version: XXX -- Extension version (available under the Extensions sidebar): XXX -- OS and version: XXX -- Python version (& distribution if applicable, e.g. Anaconda): XXX -- Type of virtual environment used (N/A | venv | virtualenv | conda | ...): XXX -- Relevant/affected Python packages and their versions: XXX -- Relevant/affected Python-related VS Code extensions and their versions: XXX -- Jedi or Language Server? (i.e. what is `"python.jediEnabled"` set to; more info #3977): XXX -- Value of the `python.languageServer` setting: XXX +- VS Code version: XXX +- Extension version (available under the Extensions sidebar): XXX +- OS and version: XXX +- Python version (& distribution if applicable, e.g. Anaconda): XXX +- Type of virtual environment used (N/A | venv | virtualenv | conda | ...): XXX +- Relevant/affected Python packages and their versions: XXX +- Relevant/affected Python-related VS Code extensions and their versions: XXX +- Value of the `python.languageServer` setting: XXX + +[**NOTE**: If you suspect that your issue is related to the Microsoft Python Language Server (`python.languageServer: 'Microsoft'`), please download our new language server [Pylance](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance) from the VS Code marketplace to see if that fixes your issue] ## Expected behaviour @@ -27,6 +28,7 @@ XXX XXX ## Steps to reproduce: + [**NOTE**: Self-contained, minimal reproducing code samples are **extremely** helpful and will expedite addressing your issue] 1. XXX @@ -36,14 +38,17 @@ Note: If you think a GIF of what is happening would be helpful, consider tools l --> ## Logs -Output for `Python` in the `Output` panel (`View`→`Output`, change the drop-down the upper-right of the `Output` panel to `Python`) -``` -XXX -``` +
+ +Output for Python in the Output panel (ViewOutput, change the drop-down the upper-right of the Output panel to Python) + -Output from `Console` under the `Developer Tools` panel (toggle Developer Tools on under `Help`; turn on source maps to make any tracebacks be useful by running `Enable source map support for extension debugging`) +

``` XXX ``` + +

+
diff --git a/.github/ISSUE_TEMPLATE/3_ds_feature_request.md b/.github/ISSUE_TEMPLATE/3_ds_feature_request.md index db573d9f8dac..71876c9f3aad 100644 --- a/.github/ISSUE_TEMPLATE/3_ds_feature_request.md +++ b/.github/ISSUE_TEMPLATE/3_ds_feature_request.md @@ -3,6 +3,7 @@ name: Feature request for Notebook Editor, Interactive Window, Editor cells about: Suggest an idea for this project labels: type-enhancement, data science --- + # Feature: Notebook Editor, Interactive Window, Python Editor cells -- [ ] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR). -- [ ] Title summarizes what is changing. -- [ ] Has a [news entry](https://github.com/Microsoft/vscode-python/tree/master/news) file (remember to thank yourself!). -- [ ] Appropriate comments and documentation strings in the code. -- [ ] Has sufficient logging. -- [ ] Has telemetry for enhancements. -- [ ] Unit tests & system/integration tests are added/updated. -- [ ] [Test plan](https://github.com/Microsoft/vscode-python/blob/master/.github/test_plan.md) is updated as appropriate. -- [ ] [`package-lock.json`](https://github.com/Microsoft/vscode-python/blob/master/package-lock.json) has been regenerated by running `npm install` (if dependencies have changed). -- [ ] The wiki is updated with any design decisions/details. + +- [ ] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR). +- [ ] Title summarizes what is changing. +- [ ] Has a [news entry](https://github.com/Microsoft/vscode-python/tree/main/news) file (remember to thank yourself!). +- [ ] Appropriate comments and documentation strings in the code. +- [ ] Has sufficient logging. +- [ ] Has telemetry for enhancements. +- [ ] Unit tests & system/integration tests are added/updated. +- [ ] [Test plan](https://github.com/Microsoft/vscode-python/blob/main/.github/test_plan.md) is updated as appropriate. +- [ ] [`package-lock.json`](https://github.com/Microsoft/vscode-python/blob/main/package-lock.json) has been regenerated by running `npm install` (if dependencies have changed). +- [ ] The wiki is updated with any design decisions/details. diff --git a/.github/actions/build-vsix/action.yml b/.github/actions/build-vsix/action.yml new file mode 100644 index 000000000000..787bb999022e --- /dev/null +++ b/.github/actions/build-vsix/action.yml @@ -0,0 +1,34 @@ +name: 'Build VSIX' +description: "Build the extension's VSIX" + +outputs: + path: + description: 'Path to the VSIX' + value: 'ms-python-insiders.vsix' + +runs: + using: 'composite' + steps: + # For faster/better builds of sdists. + - run: python -m pip install wheel + shell: bash + + - run: python -m pip --disable-pip-version-check install -t ./pythonFiles/lib/python --no-cache-dir --implementation py --no-deps --upgrade -r requirements.txt + shell: bash + + - run: | + python -m pip --disable-pip-version-check install -r build/debugger-install-requirements.txt + python ./pythonFiles/install_debugpy.py + shell: bash + + - run: npm ci --prefer-offline + shell: bash + + # Use the GITHUB_RUN_ID environment variable to update the build number. + # GITHUB_RUN_ID is a unique number for each run within a repository. + # This number does not change if you re-run the workflow run. + - run: npm run updateBuildNumber -- --buildNumber $GITHUB_RUN_ID + shell: bash + + - run: npm run package + shell: bash diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000000..e2e077e3a7d1 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,21 @@ +version: 2 +updates: + - package-ecosystem: 'github-actions' + directory: / + schedule: + interval: daily + + - package-ecosystem: 'pip' + directory: / + schedule: + interval: daily + + - package-ecosystem: 'pip' + directory: /news + schedule: + interval: monthly + # Activate when we feel ready to keep up with frequency. + # - package-ecosystem: 'npm' + # directory: / + # schedule: + # interval: daily diff --git a/.github/release_plan.md b/.github/release_plan.md index 99844d429930..540e141b56f1 100644 --- a/.github/release_plan.md +++ b/.github/release_plan.md @@ -1,88 +1,92 @@ # Prerequisites -* Python 3.7 and higher -* run `python3 -m pip install --user -r news/requirements.txt` -* run `python3 -m pip install --user -r tpn/requirements.txt` - +- Python 3.7 and higher +- run `python3 -m pip install --user -r news/requirements.txt` # Release candidate (Monday, XXX XX) -- [ ] Announce the code freeze (not just to team but also to ptvsd and language server) -- [ ] Update master for the release - - [ ] Create a branch against `master` for a pull request - - [ ] Change the version in [`package.json`](https://github.com/Microsoft/vscode-python/blob/master/package.json) from a `-dev` suffix to `-rc` (🤖) - - [ ] Run `npm install` to make sure [`package-lock.json`](https://github.com/Microsoft/vscode-python/blob/master/package.json) is up-to-date (🤖) - - [ ] Update `requirements.txt` to point to latest release version of [ptvsd](https://github.com/microsoft/ptvsd). - - [ ] Update `languageServerVersion` in `package.json` to point to the latest version (???) of [the Language Server](https://github.com/Microsoft/python-language-server). - - [ ] Update [`CHANGELOG.md`](https://github.com/Microsoft/vscode-python/blob/master/CHANGELOG.md) (🤖) - - [ ] Run [`news`](https://github.com/Microsoft/vscode-python/tree/master/news) (typically `python news --final --update CHANGELOG.md | code-insiders -`) - - [ ] Copy over the "Thanks" section from the previous release - - [ ] Make sure the "Thanks" section is up-to-date (e.g. compare to versions in requirements.json) - - [ ] Touch up news entries (e.g. add missing periods) - - [ ] Check the Markdown rendering to make sure everything looks good - - [ ] Add any relevant news entries for ptvsd and the language server if they were updated - - [ ] Update [`ThirdPartyNotices-Distribution.txt`](https://github.com/Microsoft/vscode-python/blob/master/ThirdPartyNotices-Distribution.txt) by using https://tools.opensource.microsoft.com/notice (see team notes) - - [ ] Update [`ThirdPartyNotices-Repository.txt`](https://github.com/Microsoft/vscode-python/blob/master/ThirdPartyNotices-Repository.txt) as appropriate - - [ ] Create a pull request against `master` (🤖) - - [ ] Merge pull request into `master` -- [ ] Update the [`release` branch](https://github.com/microsoft/vscode-python/branches) - - [ ] Delete the `release` branch in the repo - - [ ] Create a new `release` branch from `master` - - (alternately, force-push the master branch to the GitHub "release" branch) - - [ ] (if necessary) Request that the branch be set anew as "protected" -- [ ] Update master post-release (🤖) - - [ ] Bump the version number to the next monthly ("YYYY.M.0-dev") release in the `master` branch - - [ ] `package.json` - - [ ] `package-lock.json` - - [ ] Create a pull request against `master` - - [ ] Merge pull request into `master` -- [ ] Announce the code freeze is over -- [ ] Update [Component Governance](https://dev.azure.com/ms/vscode-python/_componentGovernance) (Click on "microsoft/vscode-python" on that page) - - [ ] Provide details for any automatically detected npm dependencies - - [ ] Manually add any repository dependencies -- [ ] GDPR bookkeeping (@brettcannon) (🤖; see team notes) -- [ ] Open appropriate [documentation issues](https://github.com/microsoft/vscode-docs/issues?q=is%3Aissue+is%3Aopen+label%3Apython) - + new features - + settings changes - + etc. (ask the team) -- [ ] Begin drafting a [blog](http://aka.ms/pythonblog) post -- [ ] Ask CTI to test the release candidate - +- [ ] Announce the code freeze on both Teams and e-mail, leave enough time for teams to surface any last minute issues that need to get in before freeze. Make sure debugger and Language Server teams are looped in as well. +- [ ] Update `main` for the release + - [ ] Create a branch against `main` for a pull request + - [ ] Change the version in [`package.json`](https://github.com/Microsoft/vscode-python/blob/main/package.json) from a `-dev` suffix to `-rc` (🤖) + - [ ] Run `npm install` to make sure [`package-lock.json`](https://github.com/Microsoft/vscode-python/blob/main/package.json) is up-to-date (🤖) + - [ ] Extension will pick up latest version of `debugpy`. If you need to pin to a particular version see `install_debugpy.py`. + - [ ] Update `languageServerVersion` in `package.json` to point to the latest version of the [Language Server](https://github.com/Microsoft/python-language-server). Check with the language server team if this needs updating. + - [ ] Update [`CHANGELOG.md`](https://github.com/Microsoft/vscode-python/blob/main/CHANGELOG.md) (🤖) + - [ ] Run [`news`](https://github.com/Microsoft/vscode-python/tree/main/news) (typically `python news --final --update CHANGELOG.md | code-insiders -`) + - [ ] Copy over the "Thanks" section from the previous release into the "Thanks" section for the new release + - [ ] Make sure the "Thanks" section is up-to-date (e.g. compare to versions in [`requirements.txt`](https://github.com/microsoft/vscode-python/blob/main/requirements.txt)) + - [ ] Touch up news entries (e.g. add missing periods) + - [ ] Check the Markdown rendering to make sure everything looks good + - [ ] Add any relevant news entries for `debugpy` and the language server if they were updated + - [ ] Update [`ThirdPartyNotices-Distribution.txt`](https://github.com/Microsoft/vscode-python/blob/main/ThirdPartyNotices-Distribution.txt) by using https://tools.opensource.microsoft.com/notice (Notes for this process are in the Team OneNote under Python VS Code -> Dev Process -> Third-Party Notices / TPN file) + - [ ] Update [`ThirdPartyNotices-Repository.txt`](https://github.com/Microsoft/vscode-python/blob/main/ThirdPartyNotices-Repository.txt) as appropriate. This file is manually edited so you can check with the teams if anything needs to be added here. + - [ ] Create a pull request against `main` (🤖) + - [ ] Merge pull request into `main` +- [ ] Update the [`release` branch](https://github.com/microsoft/vscode-python/branches) + - [ ] If there are `release` branches that are two versions old (e.g. release-2020.[current month - 2]) you can delete them at this time + - [ ] Create a new `release-YYYY.MM` branch from `main` +- [ ] Update `main` post-release (🤖) + - [ ] Bump the version number to the next monthly ("YYYY.MM.0-dev") release in the `main` branch + - [ ] `package.json` + - [ ] `package-lock.json` + - [ ] Create a pull request against `main` + - [ ] Merge pull request into `main` +- [ ] Announce the code freeze is over on the same channels +- [ ] Update [Component Governance](https://dev.azure.com/ms/vscode-python/_componentGovernance) (Click on "microsoft/vscode-python" on that page). Notes are in the OneNote under Python VS Code -> Dev Process -> Component Governance. + - [ ] Provide details for any automatically detected npm dependencies + - [ ] Manually add any repository dependencies +- [ ] GDPR bookkeeping (@brettcannon) (🤖; Notes in OneNote under Python VS Code -> Dev Process -> GDPR) +- [ ] Open appropriate [documentation issues](https://github.com/microsoft/vscode-docs/issues?q=is%3Aissue+is%3Aopen+label%3Apython) + - new features + - settings changes + - etc. (ask the team) +- [ ] Schedule a bug bash. Aim for close after freeze so there is still time to fix release bugs before release. Ask teams before bash for specific areas that need testing. +- [ ] Begin drafting a [blog](http://aka.ms/pythonblog) post. Contact the PM team for this. +- [ ] Ask CTI to test the release candidate # Final (Monday, XXX XX) ## Preparation -- [ ] Make sure the [appropriate pull requests](https://github.com/microsoft/vscode-docs/pulls) for the [documentation](https://code.visualstudio.com/docs/python/python-tutorial) -- including the [WOW](https://code.visualstudio.com/docs/languages/python) page -- are ready -- [ ] final updates to the `release` branch - - [ ] Create a branch against `release` for a pull request - - [ ] Update the version in [`package.json`](https://github.com/Microsoft/vscode-python/blob/master/package.json) (🤖) - - [ ] Run `npm install` to make sure [`package-lock.json`](https://github.com/Microsoft/vscode-python/blob/master/package.json) is up-to-date (the only update should be the version number if `package-lock.json` has been kept up-to-date) (🤖) - - [ ] Update [`CHANGELOG.md`](https://github.com/Microsoft/vscode-python/blob/master/CHANGELOG.md) (🤖) - - [ ] Update version and date for the release section - - [ ] Run [`news`](https://github.com/Microsoft/vscode-python/tree/master/news) and copy-and-paste new entries (typically `python news --final | code-insiders -`; quite possibly nothing new to add) - - [ ] Update [`ThirdPartyNotices-Distribution.txt`](https://github.com/Microsoft/vscode-python/blob/master/ThirdPartyNotices-Distribution.txt) by using https://tools.opensource.microsoft.com/notice (🤖; see team notes) - - [ ] Update [`ThirdPartyNotices-Repository.txt`](https://github.com/Microsoft/vscode-python/blob/master/ThirdPartyNotices-Repository.txt) manually if necessary - - [ ] Create pull request against `release` (🤖) - - [ ] Merge pull request into `release` -- [ ] Make sure component governance is happy +- [ ] Make sure the [appropriate pull requests](https://github.com/microsoft/vscode-docs/pulls) for the [documentation](https://code.visualstudio.com/docs/python/python-tutorial) -- including the [WOW](https://code.visualstudio.com/docs/languages/python) page -- are ready +- [ ] Final updates to the `release-YYYY.MM` branch + - [ ] Create a branch against `release-YYYY.MM` for a pull request + - [ ] Update the version in [`package.json`](https://github.com/Microsoft/vscode-python/blob/main/package.json) to remove the `-rc` (🤖) + - [ ] Run `npm install` to make sure [`package-lock.json`](https://github.com/Microsoft/vscode-python/blob/main/package.json) is up-to-date (the only update should be the version number if `package-lock.json` has been kept up-to-date) (🤖) + - [ ] Update [`CHANGELOG.md`](https://github.com/Microsoft/vscode-python/blob/main/CHANGELOG.md) (🤖) + - [ ] Update version and date for the release section + - [ ] Run [`news`](https://github.com/Microsoft/vscode-python/tree/main/news) and copy-and-paste new entries (typically `python news --final | code-insiders -`; quite possibly nothing new to add) + - [ ] Update [`ThirdPartyNotices-Distribution.txt`](https://github.com/Microsoft/vscode-python/blob/main/ThirdPartyNotices-Distribution.txt) by using https://tools.opensource.microsoft.com/notice (🤖; see team notes) + - [ ] Update [`ThirdPartyNotices-Repository.txt`](https://github.com/Microsoft/vscode-python/blob/main/ThirdPartyNotices-Repository.txt) manually if necessary + - [ ] Create pull request against `release-YYYY.MM` (🤖) + - [ ] Merge pull request into `release-YYYY.MM` +- [ ] Make sure component governance is happy ## Release -- [ ] Publish the release via Azure DevOps - - [ ] Make sure [CI](https://github.com/Microsoft/vscode-python/blob/master/CONTRIBUTING.md) is passing - - [ ] Make sure the "Upload" stage on the release page succeeded - - [ ] Make sure no extraneous files are being included in the `.vsix` file (make sure to check for hidden files) - - [ ] Deploy the "Publish" stage -- [ ] Publish [documentation changes](https://github.com/Microsoft/vscode-docs/pulls?q=is%3Apr+is%3Aopen+label%3Apython) -- [ ] Publish the [blog](http://aka.ms/pythonblog) post -- [ ] Determine if a hotfix is needed -- [ ] Merge `release` back into `master` (🤖) +- [ ] Publish the release via Azure DevOps + - [ ] Make sure [CI](https://github.com/Microsoft/vscode-python/blob/main/CONTRIBUTING.md) is passing. Try a re-run on any failing CI test stages. If tests still won't pass contact the owning team. + - [ ] On Azure DevOps on the page for the CI run after it succeeds there will now be a "Releases" tab which is populated with a release entry. Click that entry to go to the release page, which shows the "Upload" and "Publish" stages + - [ ] Click the deploy button on the "Upload" stage and make sure that it succeeds + - [ ] Make sure no extraneous files are being included in the `.vsix` file (make sure to check for hidden files) + - [ ] Click the deploy button on the "Publish" stage, this will push out the release to the public + - [ ] From a VSCode instance uninstall the python extension. After the publish see if the new version is available from the extensions tab. Download it and quick sanity check to make sure the extension loads. +- [ ] Create a [GitHub release](https://github.com/microsoft/vscode-python/releases) + - [ ] The previous publish step should have created a release here, but it needs to be edited + - [ ] Edit the tag to match the version of the released extension + - [ ] Copy the changelog entry into the release as the description +- [ ] Publish [documentation changes](https://github.com/Microsoft/vscode-docs/pulls?q=is%3Apr+is%3Aopen+label%3Apython) +- [ ] Publish the [blog](http://aka.ms/pythonblog) post +- [ ] Determine if a hotfix is needed +- [ ] Merge `release-YYYY.MM` back into `main`. Don't overwrite the `-dev` version in package.json. (🤖) ## Clean up after _this_ release -- [ ] Go through [`info needed` issues](https://github.com/Microsoft/vscode-python/issues?q=is%3Aopen+label%3A%22info+needed%22+-label%3A%22data+science%22+sort%3Aupdated-asc) and close any that have no activity for over a month (🤖) -- [ ] GDPR bookkeeping (🤖) + +- [ ] Go through [`info needed` issues](https://github.com/Microsoft/vscode-python/issues?q=is%3Aopen+label%3A%22info+needed%22+-label%3A%22data+science%22+sort%3Aupdated-asc) and close any that have no activity for over a month (🤖) +- [ ] GDPR bookkeeping (🤖) ## Prep for the _next_ release -- [ ] Create a new [release plan](https://raw.githubusercontent.com/microsoft/vscode-python/master/.github/release_plan.md) (🤖) -- [ ] [(Un-)pin](https://help.github.com/en/articles/pinning-an-issue-to-your-repository) [release plan issues](https://github.com/Microsoft/vscode-python/labels/release%20plan) (🤖) + +- [ ] Create a new [release plan](https://raw.githubusercontent.com/microsoft/vscode-python/main/.github/release_plan.md) (🤖) +- [ ] [(Un-)pin](https://help.github.com/en/articles/pinning-an-issue-to-your-repository) [release plan issues](https://github.com/Microsoft/vscode-python/labels/release%20plan) (🤖) diff --git a/.github/test_plan.md b/.github/test_plan.md index fbe7ce98f45b..fe7e2ee9d424 100644 --- a/.github/test_plan.md +++ b/.github/test_plan.md @@ -2,41 +2,45 @@ ## Environment -- OS: XXX (Windows, macOS, latest Ubuntu LTS) - - Shell: XXX (Command Prompt, PowerShell, bash, fish) -- Python - - Distribution: XXX (CPython, miniconda) - - Version: XXX (2.7, latest 3.x) -- VS Code: XXX (Insiders) +- OS: XXX (Windows, macOS, latest Ubuntu LTS) + - Shell: XXX (Command Prompt, PowerShell, bash, fish) +- Python + - Distribution: XXX (CPython, miniconda) + - Version: XXX (2.7, latest 3.x) +- VS Code: XXX (Insiders) ## Tests **ALWAYS**: -- Check the `Output` window under `Python` for logged errors -- Have `Developer Tools` open to detect any errors -- Consider running the tests in a multi-folder workspace -- Focus on in-development features (i.e. experimental debugger and language server) + +- Check the `Output` window under `Python` for logged errors +- Have `Developer Tools` open to detect any errors +- Consider running the tests in a multi-folder workspace +- Focus on in-development features (i.e. experimental debugger and language server)
Scenarios ### [Environment](https://code.visualstudio.com/docs/python/environments) + #### Interpreters -- [ ] Interpreter is [shown in the status bar](https://code.visualstudio.com/docs/python/environments#_choosing-an-environment) -- [ ] An interpreter can be manually specified using the [`Select Interpreter` command](https://code.visualstudio.com/docs/python/environments#_choosing-an-environment) -- [ ] Detected system-installed interpreters -- [ ] Detected an Anaconda installation -- [ ] (Linux/macOS) Detected all interpreters installed w/ [pyenv](https://github.com/pyenv/pyenv) detected -- [ ] [`"python.pythonPath"`](https://code.visualstudio.com/docs/python/environments#_manually-specifying-an-interpreter) triggers an update in the status bar -- [ ] `Run Python File in Terminal` -- [ ] `Run Selection/Line in Python Terminal` - - [ ] Right-click - - [ ] Command - - [ ] `Shift+Enter` +- [ ] Interpreter is [shown in the status bar](https://code.visualstudio.com/docs/python/environments#_choosing-an-environment) +- [ ] An interpreter can be manually specified using the [`Select Interpreter` command](https://code.visualstudio.com/docs/python/environments#_choosing-an-environment) +- [ ] Detected system-installed interpreters +- [ ] Detected an Anaconda installation +- [ ] (Linux/macOS) Detected all interpreters installed w/ [pyenv](https://github.com/pyenv/pyenv) detected +- [ ] [`"python.pythonPath"`](https://code.visualstudio.com/docs/python/environments#_manually-specifying-an-interpreter) triggers an update in the status bar +- [ ] `Run Python File in Terminal` +- [ ] `Run Selection/Line in Python Terminal` + - [ ] Right-click + - [ ] Command + - [ ] `Shift+Enter` #### Terminal + Sample file: + ```python import requests request = requests.get("https://drive.google.com/uc?export=download&id=1_9On2-nsBQIw3JiY43sWbrF8EjrqrR4U") @@ -50,128 +54,141 @@ shutil.move('survey2017/survey_results_public.csv','survey2017.csv') shutil.rmtree('survey2017') os.remove('survey2017.zip') ``` -- [ ] *Shift+Enter* to send selected code in sample file to terminal works + +- [ ] _Shift+Enter_ to send selected code in sample file to terminal works #### Virtual environments **ALWAYS**: -- Use the latest version of Anaconda -- Realize that `conda` is slow -- Create an environment with a space in their path somewhere as well as upper and lowercase characters -- Make sure that you do not have `python.pythonPath` specified in your `settings.json` when testing automatic detection -- Do note that the `Select Interpreter` drop-down window scrolls - -- [ ] Detected a single virtual environment at the top-level of the workspace folder on Mac when when `python` command points to default Mac Python installation or `python` command fails in the terminal. - - [ ] Appropriate suffix label specified in status bar (e.g. `(venv)`) -- [ ] Detected a single virtual environment at the top-level of the workspace folder on Windows when `python` fails in the terminal. - - [ ] Appropriate suffix label specified in status bar (e.g. `(venv)`) -- [ ] Detected a single virtual environment at the top-level of the workspace folder - - [ ] Appropriate suffix label specified in status bar (e.g. `(venv)`) - - [ ] [`Create Terminal`](https://code.visualstudio.com/docs/python/environments#_activating-an-environment-in-the-terminal) works - - [ ] Steals focus - - [ ] `"python.terminal.activateEnvironment": false` deactivates automatically running the activation script in the terminal - - [ ] After the language server downloads it is able to complete its analysis of the environment w/o requiring a restart -- [ ] Detect multiple virtual environments contained in the directory specified in `"python.venvPath"` -- [ ] Detected all [conda environments created with an interpreter](https://code.visualstudio.com/docs/python/environments#_conda-environments) - - [ ] Appropriate suffix label specified in status bar (e.g. `(condaenv)`) - - [ ] Prompted to install Pylint - - [ ] Asked whether to install using conda or pip - - [ ] Installs into environment - - [ ] [`Create Terminal`](https://code.visualstudio.com/docs/python/environments#_activating-an-environment-in-the-terminal) works - - [ ] `"python.terminal.activateEnvironment": false` deactivates automatically running the activation script in the terminal - - [ ] After the language server downloads it is able to complete its analysis of the environment w/o requiring a restart -- [ ] (Linux/macOS until [`-m` is supported](https://github.com/Microsoft/vscode-python/issues/978)) Detected the virtual environment created by [pipenv](https://docs.pipenv.org/) - - [ ] Appropriate suffix label specified in status bar (e.g. `(pipenv)`) - - [ ] Prompt to install Pylint uses `pipenv install --dev` - - [ ] [`Create Terminal`](https://code.visualstudio.com/docs/python/environments#_activating-an-environment-in-the-terminal) works - - [ ] `"python.terminal.activateEnvironment": false` deactivates automatically running the activation script in the terminal - - [ ] After the language server downloads it is able to complete its analysis of the environment w/o requiring a restart -- [ ] (Linux/macOS) Virtual environments created under `{workspaceFolder}/.direnv/python-{python_version}` are detected (for [direnv](https://direnv.net/) and its [`layout python3`](https://github.com/direnv/direnv/blob/master/stdlib.sh) support) - - [ ] Appropriate suffix label specified in status bar (e.g. `(venv)`) + +- Use the latest version of Anaconda +- Realize that `conda` is slow +- Create an environment with a space in their path somewhere as well as upper and lowercase characters +- Make sure that you do not have `python.pythonPath` specified in your `settings.json` when testing automatic detection +- Do note that the `Select Interpreter` drop-down window scrolls + +- [ ] Detected a single virtual environment at the top-level of the workspace folder on Mac when when `python` command points to default Mac Python installation or `python` command fails in the terminal. + - [ ] Appropriate suffix label specified in status bar (e.g. `(venv)`) +- [ ] Detected a single virtual environment at the top-level of the workspace folder on Windows when `python` fails in the terminal. + - [ ] Appropriate suffix label specified in status bar (e.g. `(venv)`) +- [ ] Detected a single virtual environment at the top-level of the workspace folder + - [ ] Appropriate suffix label specified in status bar (e.g. `(venv)`) + - [ ] [`Create Terminal`](https://code.visualstudio.com/docs/python/environments#_activating-an-environment-in-the-terminal) works + - [ ] Steals focus + - [ ] `"python.terminal.activateEnvironment": false` deactivates automatically running the activation script in the terminal + - [ ] After the language server downloads it is able to complete its analysis of the environment w/o requiring a restart +- [ ] Detect multiple virtual environments contained in the directory specified in `"python.venvPath"` +- [ ] Detected all [conda environments created with an interpreter](https://code.visualstudio.com/docs/python/environments#_conda-environments) + - [ ] Appropriate suffix label specified in status bar (e.g. `(condaenv)`) + - [ ] Prompted to install Pylint + - [ ] Asked whether to install using conda or pip + - [ ] Installs into environment + - [ ] [`Create Terminal`](https://code.visualstudio.com/docs/python/environments#_activating-an-environment-in-the-terminal) works + - [ ] `"python.terminal.activateEnvironment": false` deactivates automatically running the activation script in the terminal + - [ ] After the language server downloads it is able to complete its analysis of the environment w/o requiring a restart +- [ ] (Linux/macOS until [`-m` is supported](https://github.com/Microsoft/vscode-python/issues/978)) Detected the virtual environment created by [pipenv](https://docs.pipenv.org/) + - [ ] Appropriate suffix label specified in status bar (e.g. `(pipenv)`) + - [ ] Prompt to install Pylint uses `pipenv install --dev` + - [ ] [`Create Terminal`](https://code.visualstudio.com/docs/python/environments#_activating-an-environment-in-the-terminal) works + - [ ] `"python.terminal.activateEnvironment": false` deactivates automatically running the activation script in the terminal + - [ ] After the language server downloads it is able to complete its analysis of the environment w/o requiring a restart +- [ ] (Linux/macOS) Virtual environments created under `{workspaceFolder}/.direnv/python-{python_version}` are detected (for [direnv](https://direnv.net/) and its [`layout python3`](https://github.com/direnv/direnv/blob/master/stdlib.sh) support) + - [ ] Appropriate suffix label specified in status bar (e.g. `(venv)`) #### [Environment files](https://code.visualstudio.com/docs/python/environments#_environment-variable-definitions-file) + Sample files: + ```python # example.py import os print('Hello,', os.environ.get('WHO'), '!') ``` + ``` # .env WHO=world PYTHONPATH=some/path/somewhere SPAM='hello ${WHO}' -```` +``` **ALWAYS**: -- Make sure to use `Reload Window` between tests to reset your environment -- Note that environment files only apply under the debugger and Jedi -- [ ] Environment variables in a `.env` file are exposed when running under the debugger -- [ ] `"python.envFile"` allows for specifying an environment file manually (e.g. Jedi picks up `PYTHONPATH` changes) -- [ ] `envFile` in a `launch.json` configuration works -- [ ] simple variable substitution works +- Make sure to use `Reload Window` between tests to reset your environment +- Note that environment files only apply under the debugger and Jedi + +- [ ] Environment variables in a `.env` file are exposed when running under the debugger +- [ ] `"python.envFile"` allows for specifying an environment file manually (e.g. Jedi picks up `PYTHONPATH` changes) +- [ ] `envFile` in a `launch.json` configuration works +- [ ] simple variable substitution works #### [Debugging](https://code.visualstudio.com/docs/python/environments#_python-interpreter-for-debugging) -- [ ] `pythonPath` setting in your `launch.json` overrides your `python.pythonPath` default setting +- [ ] `pythonPath` setting in your `launch.json` overrides your `python.pythonPath` default setting ### [Linting](https://code.visualstudio.com/docs/python/linting) **ALWAYS**: -- Check under the `Problems` tab to see e.g. if a linter is raising errors + +- Check under the `Problems` tab to see e.g. if a linter is raising errors #### Language server -- [ ] LS is downloaded using HTTP (no SSL) when the "http.proxyStrictSSL" setting is false -- [ ] Installing [`requests`](https://pypi.org/project/requests/) in virtual environment is detected - - [ ] Import of `requests` without package installed is flagged as unresolved - - [ ] Create a virtual environment - - [ ] Install `requests` into the virtual environment +- [ ] LS is downloaded using HTTP (no SSL) when the "http.proxyStrictSSL" setting is false +- [ ] An item with a cloud icon appears in the status bar indicating progress while downloading the language server +- [ ] Installing [`requests`](https://pypi.org/project/requests/) in virtual environment is detected + - [ ] Import of `requests` without package installed is flagged as unresolved + - [ ] Create a virtual environment + - [ ] Install `requests` into the virtual environment #### Pylint/default linting + [Prompting to install Pylint is covered under `Environments` above] For testing the disablement of the default linting rules for Pylint: + ```ini # pylintrc [MESSAGES CONTROL] enable=bad-names ``` + ```python3 # example.py -foo = 42 # Marked as a blacklisted name. +foo = 42 # Marked as a disallowed name. ``` -- [ ] Installation via the prompt installs Pylint as appropriate - - [ ] Uses `--user` for system-install of Python - - [ ] Installs into a virtual environment environment directly -- [ ] Pylint works -- [ ] `"python.linting.pylintUseMinimalCheckers": false` turns off the default rules w/ no `pylintrc` file present -- [ ] The existence of a `pylintrc` file turns off the default rules + +- [ ] Installation via the prompt installs Pylint as appropriate + - [ ] Uses `--user` for system-install of Python + - [ ] Installs into a virtual environment environment directly +- [ ] Pylint works +- [ ] `"python.linting.pylintUseMinimalCheckers": false` turns off the default rules w/ no `pylintrc` file present +- [ ] The existence of a `pylintrc` file turns off the default rules #### Other linters **Note**: -- You can use the `Run Linting` command to run a newly installed linter -- When the extension installs a new linter, it turns off all other linters - -- [ ] flake8 works - - [ ] `Select linter` lists the linter and installs it if necessary -- [ ] mypy works - - [ ] `Select linter` lists the linter and installs it if necessary -- [ ] pycodestyle works - - [ ] `Select linter` lists the linter and installs it if necessary -- [ ] prospector works - - [ ] `Select linter` lists the linter and installs it if necessary -- [ ] pydocstyle works - - [ ] `Select linter` lists the linter and installs it if necessary -- [ ] pylama works - - [ ] `Select linter` lists the linter and installs it if necessary -- [ ] 3 or more linters work simultaneously (make sure you have turned on the linters in your `settings.json`) - - [ ] `Run Linting` runs all activated linters - - [ ] `"python.linting.enabled": false` disables all linters - - [ ] The `Enable Linting` command changes `"python.linting.enabled"` -- [ ] `"python.linting.lintOnSave` works + +- You can use the `Run Linting` command to run a newly installed linter +- When the extension installs a new linter, it turns off all other linters + +- [ ] flake8 works + - [ ] `Select linter` lists the linter and installs it if necessary +- [ ] mypy works + - [ ] `Select linter` lists the linter and installs it if necessary +- [ ] pycodestyle works + - [ ] `Select linter` lists the linter and installs it if necessary +- [ ] prospector works + - [ ] `Select linter` lists the linter and installs it if necessary +- [ ] pydocstyle works + - [ ] `Select linter` lists the linter and installs it if necessary +- [ ] pylama works + - [ ] `Select linter` lists the linter and installs it if necessary +- [ ] 3 or more linters work simultaneously (make sure you have turned on the linters in your `settings.json`) + - [ ] `Run Linting` runs all activated linters + - [ ] `"python.linting.enabled": false` disables all linters + - [ ] The `Enable Linting` command changes `"python.linting.enabled"` +- [ ] `"python.linting.lintOnSave` works ### [Editing](https://code.visualstudio.com/docs/python/editing) @@ -179,73 +196,76 @@ foo = 42 # Marked as a blacklisted name. Please also test for general accuracy on the most "interesting" code you can find. -- [ ] `"python.autoComplete.extraPaths"` works -- [ ] `"python.autocomplete.addBrackets": true` causes auto-completion of functions to append `()` -- [ ] Auto-completions works +- [ ] `"python.autoComplete.extraPaths"` works +- [ ] `"python.autocomplete.addBrackets": true` causes auto-completion of functions to append `()` +- [ ] Auto-completions works #### [Formatting](https://code.visualstudio.com/docs/python/editing#_formatting) + Sample file: + ```python # There should be _some_ change after running `Format Document`. import os,sys; def foo():pass ``` -- [ ] Prompted to install a formatter if none installed and `Format Document` is run - - [ ] Installing `autopep8` works - - [ ] Installing `black` works - - [ ] Installing `yapf` works -- [ ] Formatters work with default settings (i.e. `"python.formatting.provider"` is specified but not matching `*Path`or `*Args` settings) - - [ ] autopep8 - - [ ] black - - [ ] yapf -- [ ] Formatters work when appropriate `*Path` and `*Args` settings are specified (use absolute paths; use `~` if possible) - - [ ] autopep8 - - [ ] black - - [ ] yapf -- [ ] `"editor.formatOnType": true` works and has expected results +- [ ] Prompted to install a formatter if none installed and `Format Document` is run + - [ ] Installing `autopep8` works + - [ ] Installing `black` works + - [ ] Installing `yapf` works +- [ ] Formatters work with default settings (i.e. `"python.formatting.provider"` is specified but not matching `*Path`or `*Args` settings) + - [ ] autopep8 + - [ ] black + - [ ] yapf +- [ ] Formatters work when appropriate `*Path` and `*Args` settings are specified (use absolute paths; use `~` if possible) + - [ ] autopep8 + - [ ] black + - [ ] yapf +- [ ] `"editor.formatOnType": true` works and has expected results #### [Refactoring](https://code.visualstudio.com/docs/python/editing#_refactoring) -- [ ] [`Extract Variable`](https://code.visualstudio.com/docs/python/editing#_extract-variable) works - - [ ] You are prompted to install `rope` if it is not already available -- [ ] [`Extract method`](https://code.visualstudio.com/docs/python/editing#_extract-method) works - - [ ] You are prompted to install `rope` if it is not already available -- [ ] [`Sort Imports`](https://code.visualstudio.com/docs/python/editing#_sort-imports) works +- [ ] [`Extract Variable`](https://code.visualstudio.com/docs/python/editing#_extract-variable) works + - [ ] You are prompted to install `rope` if it is not already available +- [ ] [`Extract method`](https://code.visualstudio.com/docs/python/editing#_extract-method) works + - [ ] You are prompted to install `rope` if it is not already available +- [ ] [`Sort Imports`](https://code.visualstudio.com/docs/python/editing#_sort-imports) works ### [Debugging](https://code.visualstudio.com/docs/python/debugging) -- [ ] [Configurations](https://code.visualstudio.com/docs/python/debugging#_debugging-specific-app-types) work (see [`package.json`](https://github.com/Microsoft/vscode-python/blob/master/package.json) and the `"configurationSnippets"` section for all of the possible configurations) -- [ ] Running code from start to finish w/ no special debugging options (e.g. no breakpoints) -- [ ] Breakpoint-like things - - [ ] Breakpoint - - [ ] Set - - [ ] Hit - - [ ] Conditional breakpoint - - [ ] Expression - - [ ] Set - - [ ] Hit - - [ ] Hit count - - [ ] Set - - [ ] Hit - - [ ] Logpoint - - [ ] Set - - [ ] Hit -- [ ] Stepping - - [ ] Over - - [ ] Into - - [ ] Out -- [ ] Can inspect variables - - [ ] Through hovering over variable in code - - [ ] `Variables` section of debugger sidebar -- [ ] [Remote debugging](https://code.visualstudio.com/docs/python/debugging#_remote-debugging) works - - [ ] ... over SSH - - [ ] ... on other branches -- [ ] [App Engine](https://code.visualstudio.com/docs/python/debugging#_google-app-engine-debugging) +- [ ] [Configurations](https://code.visualstudio.com/docs/python/debugging#_debugging-specific-app-types) work (see [`package.json`](https://github.com/Microsoft/vscode-python/blob/main/package.json) and the `"configurationSnippets"` section for all of the possible configurations) +- [ ] Running code from start to finish w/ no special debugging options (e.g. no breakpoints) +- [ ] Breakpoint-like things + - [ ] Breakpoint + - [ ] Set + - [ ] Hit + - [ ] Conditional breakpoint + - [ ] Expression + - [ ] Set + - [ ] Hit + - [ ] Hit count + - [ ] Set + - [ ] Hit + - [ ] Logpoint + - [ ] Set + - [ ] Hit +- [ ] Stepping + - [ ] Over + - [ ] Into + - [ ] Out +- [ ] Can inspect variables + - [ ] Through hovering over variable in code + - [ ] `Variables` section of debugger sidebar +- [ ] [Remote debugging](https://code.visualstudio.com/docs/python/debugging#_remote-debugging) works + - [ ] ... over SSH + - [ ] ... on other branches +- [ ] [App Engine](https://code.visualstudio.com/docs/python/debugging#_google-app-engine-debugging) ### [Unit testing](https://code.visualstudio.com/docs/python/unit-testing) #### [`unittest`](https://code.visualstudio.com/docs/python/unit-testing#_unittest-configuration-settings) + ```python import unittest @@ -291,17 +311,19 @@ class FailingTests(unittest.TestCase): def test_failure_still(self): self.assertEqual("I'm right!", "no, I am!") ``` -- [ ] `Run All Unit Tests` triggers the prompt to configure the test runner -- [ ] Tests are discovered (as shown by code lenses on each test) - - [ ] Code lens for a class runs all tests for that class - - [ ] Code lens for a method runs just that test - - [ ] `Run Test` works - - [ ] `Debug Test` works - - [ ] Module/suite setup methods are also run (run the `test_setup` method to verify) -- [ ] while debugging tests, an uncaught exception in a test does not - cause ptvsd to raise SystemExit + +- [ ] `Run All Unit Tests` triggers the prompt to configure the test runner +- [ ] Tests are discovered (as shown by code lenses on each test) + - [ ] Code lens for a class runs all tests for that class + - [ ] Code lens for a method runs just that test + - [ ] `Run Test` works + - [ ] `Debug Test` works + - [ ] Module/suite setup methods are also run (run the `test_setup` method to verify) +- [ ] while debugging tests, an uncaught exception in a test does not + cause `debugpy` to raise `SystemExit` exception. #### [`pytest`](https://code.visualstudio.com/docs/python/unit-testing#_pytest-configuration-settings) + ```python def test_passing(): assert 42 == 42 @@ -310,17 +332,18 @@ def test_failure(): assert 42 == -13 ``` -- [ ] `Run All Unit Tests` triggers the prompt to configure the test runner - - [ ] `pytest` gets installed -- [ ] Tests are discovered (as shown by code lenses on each test) - - [ ] `Run Test` works - - [ ] `Debug Test` works -- [ ] A `Diagnostic` is shown in the problems pane for each failed/skipped test - - [ ] The `Diagnostic`s are organized according to the file the test was executed from (not necessarily the file it was defined in) - - [ ] The appropriate `DiagnosticRelatedInformation` is shown for each `Diagnostic` - - [ ] The `DiagnosticRelatedInformation` reflects the traceback for the test +- [ ] `Run All Unit Tests` triggers the prompt to configure the test runner + - [ ] `pytest` gets installed +- [ ] Tests are discovered (as shown by code lenses on each test) + - [ ] `Run Test` works + - [ ] `Debug Test` works +- [ ] A `Diagnostic` is shown in the problems pane for each failed/skipped test + - [ ] The `Diagnostic`s are organized according to the file the test was executed from (not necessarily the file it was defined in) + - [ ] The appropriate `DiagnosticRelatedInformation` is shown for each `Diagnostic` + - [ ] The `DiagnosticRelatedInformation` reflects the traceback for the test #### [`nose`](https://code.visualstudio.com/docs/python/unit-testing#_nose-configuration-settings) + ```python def test_passing(): assert 42 == 42 @@ -329,43 +352,45 @@ def test_failure(): assert 42 == -13 ``` -- [ ] `Run All Unit Tests` triggers the prompt to configure the test runner - - [ ] Nose gets installed -- [ ] Tests are discovered (as shown by code lenses on each test) - - [ ] `Run Test` works - - [ ] `Debug Test` works +- [ ] `Run All Unit Tests` triggers the prompt to configure the test runner + - [ ] Nose gets installed +- [ ] Tests are discovered (as shown by code lenses on each test) + - [ ] `Run Test` works + - [ ] `Debug Test` works #### General -- [ ] Code lenses appears - - [ ] `Run Test` lens works (and status bar updates as appropriate) - - [ ] `Debug Test` lens works - - [ ] Appropriate ✔/❌ shown for each test -- [ ] Status bar is functioning - - [ ] Appropriate test results displayed - - [ ] `Run All Unit Tests` works - - [ ] `Discover Unit Tests` works (resets tests result display in status bar) - - [ ] `Run Unit Test Method ...` works - - [ ] `View Unit Test Output` works - - [ ] After having at least one failure, `Run Failed Tests` works -- [ ] `Configure Unit Tests` works - - [ ] quick pick for framework (and its settings) - - [ ] selected framework enabled in workspace settings - - [ ] framework's config added (and old config removed) - - [ ] other frameworks disabled in workspace settings -- [ ] `Configure Unit Tests` does not close if it loses focus -- [ ] Cancelling configuration does not leave incomplete settings -- [ ] The first `"request": "test"` entry in launch.json is used for running unit tests +- [ ] Code lenses appears + - [ ] `Run Test` lens works (and status bar updates as appropriate) + - [ ] `Debug Test` lens works + - [ ] Appropriate ✔/❌ shown for each test +- [ ] Status bar is functioning + - [ ] Appropriate test results displayed + - [ ] `Run All Unit Tests` works + - [ ] `Discover Unit Tests` works (resets tests result display in status bar) + - [ ] `Run Unit Test Method ...` works + - [ ] `View Unit Test Output` works + - [ ] After having at least one failure, `Run Failed Tests` works +- [ ] `Configure Unit Tests` works + - [ ] quick pick for framework (and its settings) + - [ ] selected framework enabled in workspace settings + - [ ] framework's config added (and old config removed) + - [ ] other frameworks disabled in workspace settings +- [ ] `Configure Unit Tests` does not close if it loses focus +- [ ] Cancelling configuration does not leave incomplete settings +- [ ] The first `"request": "test"` entry in launch.json is used for running unit tests ### [Data Science](https://code.visualstudio.com/docs/python/jupyter-support) + #### P0 Test Scenarios -- [ ] Start and connect to local Jupyter server + +- [ ] Start and connect to local Jupyter server 1. Open the file src/test/datascience/manualTestFiles/manualTestFile.py in VSCode 1. At the top of the file it will list the things that you need installed in your Python environment 1. On the first cell click `Run Below` 1. Interactive Window should open, show connection information, and execute cells 1. The first thing in the window should have a line like this: `Jupyter Server URI: http://localhost:[port number]/?token=[token value]` -- [ ] Verify Basic Notebook Editor +- [ ] Verify Basic Notebook Editor 1. Create a new file in VS code with the extension .ipynb 1. Open the file 1. The Notebook Editor should open @@ -381,23 +406,23 @@ def test_failure(): 1. Add a cell with the plus button on the cell 1. Verify cell appears below 1. Repeat with the topmost toolbar -- [ ] Verify basic outputs +- [ ] Verify basic outputs 1. Run all the cells in manualTestFile.py 1. Check to make sure that no outputs have errors 1. Verify that graphs and progress bars are shown -- [ ] Verify export / import +- [ ] Verify export / import 1. With the results from `Start and connect to local server` open click the `Export as Jupyter Notebook` button in the Interactive Window 1. Choose a file location and save the generated .ipynb file 1. When the prompt comes up in the lower right choose to open the file in the browser 1. The file should open in the web browser and contain the output from the Interactive Window 1. Try the same steps and choose to open the file in the ipynb editor. 1. The file should open in the Notebook Editor. -- [ ] Verify text entry +- [ ] Verify text entry 1. In the Interactive Window type in some new code `print('testing')` and submit it to the Interactive Windows 1. Verify the output from what you added -- [ ] Verify dark and light main themes +- [ ] Verify dark and light main themes 1. Repeat the `Start and connect to local server` and `Verify basic outputs` steps using `Default Dark+` and `Default Light+` themes -- [ ] Verify Variable Explorer +- [ ] Verify Variable Explorer 1. After manualTestFile.py has been run drop down the Variables section at the top of the Interactive Window 1. In the Variables list there should be an entry for all variables created. These variables might change as more is added to manualTestFile.py. 1. Check that variables have expected values. They will be truncated for longer items @@ -409,10 +434,10 @@ def test_failure(): 1. Open the variable explorer and verify the same variables are there 1. Add a new cell with a variable in it. 1. Run the cell and verify the variable shows up in the variable explorer -- [ ] Verify Data Explorer +- [ ] Verify Data Explorer 1. From the listed types in the Variable explorer open up the Data Viewer by clicking the button or double clicking the row 1. Inspect the data in the Data Viewer for the expected values - [ ] Verify Sorting and Filtering + [ ] Verify Sorting and Filtering 1. Open up the myDataFrame item 1. Sort the name column ascending and descending 1. Sort one of the numerical columns ascending and descending @@ -421,13 +446,13 @@ def test_failure(): 1. In one of the numerical columns input a number 1 - 9 to filter to just that column 1. Open the myList variable in the explorer 1. Make sure that you can scroll all the way to the end of the entries - [ ] Verify notebook outputs + [ ] Verify notebook outputs 1. Open the src/test/datascience/manualTestFiles/manualTestFile.py in VSCode. 1. Run all of the cells in the file. 1. Interactive Window should open 1. Export the cells in the interactive window and open the notebook editor 1. Run all the cells in the notebook editor and verify the same outputs appear as in the interactive window -- [ ] Verify Notebook Editor Intellisense +- [ ] Verify Notebook Editor Intellisense 1. Open the src/test/datascience/manualTestFiles/manualTestFile.py in VSCode. 1. Run all of the cells in the file. 1. Interactive Window should open @@ -437,7 +462,7 @@ def test_failure(): 1. Add `import sys` and `sys.executable` to the cell 1. Move the cell around and verify intellisense hover still works on the `import sys` 1. Delete and readd the cell and verify intellisense hover still works. -- [ ] Verify Notebook Keyboard Shortcuts +- [ ] Verify Notebook Keyboard Shortcuts 1. Using the notebook generated from the manualTestFile.py, do the following 1. Select a cell by clicking on it 1. Move selection up and down with j,k and arrow keys. @@ -456,7 +481,7 @@ def test_failure(): 1. Hit `shift+enter` and verify a cell runs and selection moves to the next cell 1. Hit `alt+enter` and verify a cell runs and a new cell is added below 1. Hit `ctrl+enter` and verify a cell runs and selection does not change -- [ ] Verify debugging +- [ ] Verify debugging 1. Open the file src/test/datascience/manualTestFiles/manualTestFile.py in VSCode 1. On the first cell click `Run Below` 1. Interactive Window should open, show connection information, and execute cells @@ -469,7 +494,8 @@ def test_failure(): 1. Output from the cell should show up in the Interactive Window (sometimes you have to finish debugging the cell first) #### P1 Test Scenarios -- [ ] Connect to a `remote` server + +- [ ] Connect to a `remote` server 1. Open up a valid python command prompt that can run `jupyter notebook` (a default Anaconda prompt works well) 1. Run `jupyter notebook` to start up a local Jupyter server 1. In the command window that launched Jupyter look for the server / token name like so: http://localhost:8888/?token=bf9eae43641cd75015df9104f814b8763ef0e23ffc73720d @@ -478,12 +504,12 @@ def test_failure(): 1. Now run the cells in the manualTestFile.py 1. Verify that you see the server name in the initial connection message 1. Verify the outputs of the cells -- [ ] Interactive Window commands - - [ ] Verify per-cell commands +- [ ] Interactive Window commands + - [ ] Verify per-cell commands 1. Expand and collapse the input area of a cell 1. Use the `X` button to remove a cell 1. Use the `Goto Code` button to jump to the part of the .py file that submitted the code - - [ ] Verify top menu commands + - [ ] Verify top menu commands 1. Use `X` to delete all cells 1. Undo the delete action with `Undo` 1. Redo the delete action with `Redo` @@ -491,7 +517,7 @@ def test_failure(): 1. The progress bar should be interrupted and you should see a KeyboardInterrupt error message in the output 1. Test the `Restart iPython kernel` command. Kernel should be restarted and you should see a status output message for the kernel restart 1. Use the expand all input and collapse all input commands to collapse all cell inputs -- [ ] Verify theming works +- [ ] Verify theming works 1. Start Python Interactive window 1. Add a cell with some comments 1. Switch VS Code theme to something else @@ -502,32 +528,32 @@ def test_failure(): 1. Enable the 'ignoreVscodeTheme' setting 1. Close the Python Interactive window and reopen it. The theme in just the 'Python Interactive' window should be light 1. Switch to a dark theme. Make sure the interactive window remains in the light theme. -- [ ] Verify code lenses +- [ ] Verify code lenses 1. Check that `Run Cell` `Run Above` and `Run Below` all do the correct thing -- [ ] Verify context menu navigation commands +- [ ] Verify context menu navigation commands 1. Check the `Run Current Cell` and `Run Current Cell And Advance` context menu commands 1. If run on the last cell of the file `Run Current Cell And Advance` should create a new empty cell and advance to it -- [ ] Verify command palette commands +- [ ] Verify command palette commands 1. Close the Interactive Window then pick `Python: Show Interactive Window` 1. Restart the kernel and pick `Python: Run Current File In Python Interactive Window` it should run the whole file again -- [ ] Verify shift-enter +- [ ] Verify shift-enter 1. Move to the top cell in the .py file 1. Shift-enter should run each cell and advance to the next 1. Shift-enter on the final cell should create a new cell and move to it -- [ ] Verify file without cells +- [ ] Verify file without cells 1. Open the manualTestFileNoCells.py file 1. Select a chunk of code, shift-enter should send it to the terminal 1. Open VSCode settings, change `Send Selection To Interactive Window` to true 1. Select a chunk of code, shift-enter should send that selection to the Interactive Windows 1. Move your cursor to a line, but don't select anything. Shift-enter should send that line to the Interactive Window -- [ ] Multiple installs +- [ ] Multiple installs 1. Close and re-open VSCode to make sure that all jupyter servers are closed 1. Also make sure you are set to locally launch Jupyter and not to connect to an existing URI 1. In addition to your main testing environment install a new python or miniconda install (conda won't work as it has Jupyter by default) 1. In VS code change the python interpreter to the new install 1. Try `Run Cell` 1. You should get a message that Jupyter was not found and that it is defaulting back to launch on the python instance that has Jupyter -- [ ] LiveShare Support +- [ ] LiveShare Support 1. Install the LiveShare VSCode Extension 1. Open manualTestFile.py in VSCode 1. Run the first cell in the file @@ -549,19 +575,56 @@ def test_failure(): 1. Open the notebook editor on the host 1. Run a cell on the host 1. Verify the editor opens on the guest and the cell is run there too +- [ ] Jupyter Hub support + + 1. Windows install instructions + + 1. Install Docker Desktop onto a machine + 1. Create a folder with a file 'Dockerfile' in it. + 1. Mark the file to look like so: + + ``` + ARG BASE_CONTAINER=jupyterhub/jupyterhub + FROM $BASE_CONTAINER + + USER root + + USER $NB_UID + ``` + + 1. From a command prompt (in the same folder as the Dockerfile), run `docker build -t jupyterhubcontainer:1.0 .` + 1. Run `docker container create --name jupyterhub jupyterhubcontainer:1.0 jupyterhub` + 1. From the docker desktop app, start the jupyterhub container. + 1. From the docker desktop app, run the CLI + + 1. OR Mac / Linux install instructions + 1. Install docker + 1. From the terminal `docker run -p 8000:8000 -d --name jupyterhub jupyterhub/jupyterhub jupyterhub` + 1. Open a terminal in the docker container with `docker exec -it jupyterhub bash` + 1. From that terminal run `python3 -m pip install notebook` + 1. From the new command prompt, run `adduser testuser` + 1. Follow the series of prompts to add a password for this user + 1. Open VS code + 1. Open a folder with a python file in it. + 1. Run the `Python: Specify local or remote Jupyter server for connections` command. + 1. Pick 'Existing' + 1. Enter `http://localhost:8000` (assuming the jupyter hub container was successful in launching) + 1. Reload VS code and reopen this folder. + 1. Run a cell in a python file. + [ ] Verify results 1. Verify you are asked first for a user name and then a password. 1. Verify a cell runs once you enter the user name and password 1. Verify that the python that is running in the interactive window is from the docker container (if on windows it should show a linux path) #### P2 Test Scenarios -- [ ] Directory change - - [ ] Verify directory change in export + +- [ ] Directory change + - [ ] Verify directory change in export 1. Follow the previous steps for export, but export the ipynb to a directory outside of the current workspace 1. Open the file in the browser, you should get an initial cell added to change directory back to your workspace directory - - [ ] Verify directory change in import + - [ ] Verify directory change in import 1. Follow the previous steps for import, but import an ipynb that is located outside of your current workspace 1. Open the file in the editor. There should be python code at the start to change directory to the previous location of the .ipynb file -- [ ] Interactive Window input history history +- [ ] Interactive Window input history history 1. Start up an Interactive Window session 1. Input several lines into the Interactive Window terminal 1. Press up to verify that those previously entered lines show in the Interactive Window terminal history -- [ ] Extra themes - 1. Try several of the themes that come with VSCode that are not the default Dark+ and Light+ +- [ ] Extra themes 1. Try several of the themes that come with VSCode that are not the default Dark+ and Light+
diff --git a/.github/workflows/ci.yml b/.github/workflows/insiders.yml similarity index 57% rename from .github/workflows/ci.yml rename to .github/workflows/insiders.yml index 09ece7dbf3c7..3f21070166c5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/insiders.yml @@ -1,99 +1,81 @@ -name: CI +name: Insiders Build on: push: branches: - # Run the CI workflow only on master for microsoft/vscode-python for now. - - master + - main env: PYTHON_VERSION: 3.8 + MOCHA_REPORTER_JUNIT: true # Use the mocha-multi-reporters and send output to both console (spec) and JUnit (mocha-junit-reporter). Also enables a reporter which exits the process running the tests if it haven't already. CACHE_NPM_DEPS: cache-npm CACHE_OUT_DIRECTORY: cache-out-directory CACHE_PIP_DEPS: cache-pip # Key for the cache created at the end of the the 'Cache ./pythonFiles/lib/python' step. CACHE_PYTHONFILES: cache-pvsc-pythonFiles ARTIFACT_NAME_VSIX: ms-python-insiders-vsix + VSIX_NAME: ms-python-insiders.vsix COVERAGE_REPORTS: tests-coverage-reports TEST_RESULTS_DIRECTORY: . - LKG_TAG: ci-lkg jobs: - ### Initialization: retrieve, install and cache dependencies - python-deps: - name: Install Python Requirements + build-vsix: + name: Build VSIX runs-on: ubuntu-latest if: github.repository == 'microsoft/vscode-python' steps: - name: Checkout uses: actions/checkout@v2 + - name: Cache pip files + uses: actions/cache@v2 + with: + path: ~/.cache/pip + key: ${{runner.os}}-${{env.CACHE_PIP_DEPS}}-${{env.PYTHON_VERSION}}-${{hashFiles('requirements.txt')}}-${{hashFiles('build/debugger-install-requirements.txt')}} + + - name: Cache npm files + uses: actions/cache@v2 + with: + path: ~/.npm + key: ${{runner.os}}-${{env.CACHE_NPM_DEPS}}-${{hashFiles('package-lock.json')}} + - name: Use Python ${{env.PYTHON_VERSION}} - uses: actions/setup-python@v1 + uses: actions/setup-python@v2 with: python-version: ${{env.PYTHON_VERSION}} - name: Upgrade pip run: python -m pip install -U pip - - name: Install Python requirements - run: | - python -m pip --disable-pip-version-check install -t ./pythonFiles/lib/python --no-cache-dir --implementation py --no-deps --upgrade -r requirements.txt - python -m pip --disable-pip-version-check install -t ./pythonFiles/lib/python/old_ptvsd --no-cache-dir --implementation py --no-deps --upgrade 'ptvsd==4.3.2' - python -m pip --disable-pip-version-check install -t ./pythonFiles/lib/python/debugpy/no_wheels --no-cache-dir --implementation py --no-deps --upgrade --pre debugpy - - - name: Install debugpy wheels - run: | - python -m pip --disable-pip-version-check install -r build/debugger-install-requirements.txt - python ./pythonFiles/install_debugpy.py + - name: Build VSIX + uses: ./.github/actions/build-vsix + id: build-vsix - # Retrieve the list of debugpy versions from PyPI in order to increase the specificity of the pip cache key, - # so that the cache gets invalidated as necessary. - # See https://github.com/microsoft/vscode-python/pull/9843#discussion_r373635221 - - name: curl PyPI to get debugpy versions - run: curl --output debugpy.json https://pypi.org/pypi/debugpy/json + - name: Rename VSIX + if: steps.build-vsix.outputs.path != env.VSIX_NAME + run: mv ${{ steps.build-vsix.outputs.path }} ${{ env.VSIX_NAME }} - - name: Cache pip files - uses: actions/cache@v1 + - uses: actions/upload-artifact@v2 with: - path: ~/.cache/pip - key: ${{runner.os}}-${{env.CACHE_PIP_DEPS}}-pip-${{env.PYTHON_VERSION}}-${{hashFiles('requirements.txt')}}-${{hashFiles('build/debugger-install-requirements.txt')}}-${{hashFiles('debugpy.json')}} - - - name: Cache ./pythonFiles/lib/python - uses: actions/cache@v1 - with: - path: ./pythonFiles/lib/python - key: ${{runner.os}}-${{env.CACHE_PYTHONFILES}}-pythonFiles-${{env.PYTHON_VERSION}}-${{hashFiles('requirements.txt')}}-${{hashFiles('build/debugger-install-requirements.txt')}}-${{hashFiles('debugpy.json')}} + name: ${{env.ARTIFACT_NAME_VSIX}} + path: ${{env.VSIX_NAME}} - js-ts-deps: - name: Install npm dependencies + lint: + name: Lint runs-on: ubuntu-latest if: github.repository == 'microsoft/vscode-python' steps: - name: Checkout uses: actions/checkout@v2 - - name: Install dependencies (npm ci) - run: npm ci --prefer-offline - - - name: Cache npm files - uses: actions/cache@v1 + - name: Cache pip files + uses: actions/cache@v2 with: - path: ~/.npm - key: ${{runner.os}}-${{env.CACHE_NPM_DEPS}}-${{hashFiles('package-lock.json')}} - - ### Hygiene + VSIX upload - compile-hygiene: - name: Compile, lint, check for errors - runs-on: ubuntu-latest - if: github.repository == 'microsoft/vscode-python' - needs: [js-ts-deps, python-deps] - steps: - - name: Checkout - uses: actions/checkout@v2 + path: ~/.cache/pip + key: ${{runner.os}}-${{env.CACHE_PIP_DEPS}}-${{env.PYTHON_VERSION}}-${{hashFiles('requirements.txt')}}-${{hashFiles('build/debugger-install-requirements.txt')}} - - name: Retrieve cached npm files - uses: actions/cache@v1 + - name: Cache npm files + uses: actions/cache@v2 with: path: ~/.npm key: ${{runner.os}}-${{env.CACHE_NPM_DEPS}}-${{hashFiles('package-lock.json')}} @@ -105,7 +87,7 @@ jobs: run: npx gulp prePublishNonBundle - name: Cache the out/ directory - uses: actions/cache@v1 + uses: actions/cache@v2 with: path: ./out key: ${{runner.os}}-${{env.CACHE_OUT_DIRECTORY}}-${{hashFiles('src/**')}} @@ -123,7 +105,7 @@ jobs: run: npx prettier 'build/**/*.js' --check - name: Use Python ${{env.PYTHON_VERSION}} - uses: actions/setup-python@v1 + uses: actions/setup-python@v2 with: python-version: ${{env.PYTHON_VERSION}} @@ -133,58 +115,14 @@ jobs: python -m black . --check working-directory: pythonFiles - build-vsix: - name: Build VSIX - runs-on: ubuntu-latest - if: github.repository == 'microsoft/vscode-python' - needs: [python-deps, js-ts-deps] - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Retrieve cached npm files - uses: actions/cache@v1 - with: - path: ~/.npm - key: ${{runner.os}}-${{env.CACHE_NPM_DEPS}}-${{hashFiles('package-lock.json')}} - - - name: curl PyPI to get debugpy versions - run: curl --output debugpy.json https://pypi.org/pypi/debugpy/json - - - name: Retrieve cached pythonFiles/ directory - uses: actions/cache@v1 - with: - path: ./pythonFiles/lib/python - key: ${{runner.os}}-${{env.CACHE_PYTHONFILES}}-pythonFiles-${{env.PYTHON_VERSION}}-${{hashFiles('requirements.txt')}}-${{hashFiles('build/debugger-install-requirements.txt')}}-${{hashFiles('debugpy.json')}} - - - name: Install dependencies (npm ci) - run: npm ci --prefer-offline - - - name: Clean directory - run: npm run clean - - # Use the GITHUB_RUN_ID environment variable to update the build number. - # GITHUB_RUN_ID is a unique number for each run within a repository. - # This number does not change if you re-run the workflow run. - - name: Update build number - run: npm run updateBuildNumber -- --buildNumber $GITHUB_RUN_ID - - - name: Package the VSIX - run: npm run package - - - uses: actions/upload-artifact@v1 - with: - name: ${{env.ARTIFACT_NAME_VSIX}} - path: ms-python-insiders.vsix - ### Non-smoke tests tests: name: Tests # The value of runs-on is the OS of the current job (specified in the strategy matrix below) instead of being hardcoded. runs-on: ${{ matrix.os }} if: github.repository == 'microsoft/vscode-python' - needs: [python-deps, js-ts-deps] strategy: + fail-fast: false matrix: # We're not running CI on macOS for now because it's one less matrix entry to lower the number of runners used, # macOS runners are expensive, and we assume that Ubuntu is enough to cover the UNIX case. @@ -196,127 +134,153 @@ jobs: # Something in Node 12.16.0 breaks the TS debug adapter, and ubuntu-latest bundles Node 12.16.1. # We can remove this when we switch over to the python-based DA in https://github.com/microsoft/vscode-python/issues/7136. # See https://github.com/microsoft/ptvsd/issues/2068 + # At this point pinning is only needed for consistency. We no longer have TS debug adapter. NODE_VERSION: 12.15.0 steps: - name: Checkout uses: actions/checkout@v2 - - name: Retrieve cached npm files - uses: actions/cache@v1 + - name: Cache pip files + uses: actions/cache@v2 + with: + path: ~/.cache/pip + key: ${{runner.os}}-${{env.CACHE_PIP_DEPS}}-${{env.PYTHON_VERSION}}-${{hashFiles('requirements.txt')}}-${{hashFiles('build/debugger-install-requirements.txt')}} + + - name: Cache npm files + uses: actions/cache@v2 with: path: ~/.npm key: ${{runner.os}}-${{env.CACHE_NPM_DEPS}}-${{hashFiles('package-lock.json')}} - - name: Install dependencies (npm ci) - run: npm ci - - - name: Retrieve cached compile output directory + - name: Cache compiled TS files # Use an id for this step so that its cache-hit output can be accessed and checked in the next step. id: out-cache - uses: actions/cache@v1 + uses: actions/cache@v2 with: path: ./out key: ${{runner.os}}-${{env.CACHE_OUT_DIRECTORY}}-${{hashFiles('src/**')}} + - name: Install dependencies (npm ci) + run: npm ci + - name: Compile if not cached run: npx gulp prePublishNonBundle if: steps.out-cache.outputs.cache-hit == false - name: Use Python ${{matrix.python}} - uses: actions/setup-python@v1 + uses: actions/setup-python@v2 with: python-version: ${{matrix.python}} - name: Use Node ${{env.NODE_VERSION}} - uses: actions/setup-node@v1 + uses: actions/setup-node@v2.1.1 with: node-version: ${{env.NODE_VERSION}} - - name: curl PyPI to get debugpy versions - run: curl --output debugpy.json https://pypi.org/pypi/debugpy/json - - - name: Retrieve cached pythonFiles/ directory - uses: actions/cache@v1 - # Use an id for this step so that its cache-hit output can be accessed and checked in the next step. - id: pythonFiles-cache - with: - path: ./pythonFiles/lib/python - key: ${{runner.os}}-${{env.CACHE_PYTHONFILES}}-pythonFiles-${{env.PYTHON_VERSION}}-${{hashFiles('requirements.txt')}}-${{hashFiles('build/debugger-install-requirements.txt')}}-${{hashFiles('debugpy.json')}} - - - name: Install Python requirements if not cached + - name: Install Python requirements run: | python -m pip --disable-pip-version-check install -t ./pythonFiles/lib/python --no-cache-dir --implementation py --no-deps --upgrade -r requirements.txt - python -m pip --disable-pip-version-check install -t ./pythonFiles/lib/python/old_ptvsd --no-cache-dir --implementation py --no-deps --upgrade 'ptvsd==4.3.2' - python -m pip --disable-pip-version-check install -t ./pythonFiles/lib/python/debugpy/no_wheels --no-cache-dir --implementation py --no-deps --upgrade --pre debugpy - if: steps.pythonFiles-cache.outputs.cache-hit == false - - - name: Install debugpy wheels if not cached - run: | - python -m pip --disable-pip-version-check install -r build/debugger-install-requirements.txt - python ./pythonFiles/install_debugpy.py - if: steps.pythonFiles-cache.outputs.cache-hit == false + # We need to have debugpy so that tests relying on it keep passing, but we don't need install_debugpy's logic in the test phase. + python -m pip --disable-pip-version-check install -t ./pythonFiles/lib/python --no-cache-dir --implementation py --no-deps --upgrade --pre debugpy - name: Install test requirements run: python -m pip install --upgrade -r build/test-requirements.txt - - name: Install IPython test requirements + - name: pip install ipython requirements run: | python -m pip install numpy python -m pip install --upgrade -r ./build/ipython-test-requirements.txt if: matrix.test-suite == 'python-unit' + - name: Install debugpy wheels (python 3.8) + run: | + python -m pip install wheel + python -m pip --disable-pip-version-check install -r build/debugger-install-requirements.txt + python ./pythonFiles/install_debugpy.py + shell: bash + if: matrix.test-suite == 'debugger' && matrix.python == 3.8 + + - name: Install debugpy (python 2.7) + run: | + python -m pip --disable-pip-version-check install -t ./pythonFiles/lib/python --no-cache-dir --implementation py --no-deps --upgrade --pre debugpy + shell: bash + if: matrix.test-suite == 'debugger' && matrix.python == 2.7 + - name: Install functional test requirements run: | python -m pip install numpy python -m pip install --upgrade -r ./build/functional-test-requirements.txt if: matrix.test-suite == 'functional' - - name: Prepare environment for venv tests + - name: Prepare pipenv for venv tests env: TEST_FILES_SUFFIX: testvirtualenvs PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' + shell: pwsh + if: matrix.test-suite == 'venv' run: | - # venv/bin or venv\\Scripts (windows)? - $environmentExecutableFolder = 'bin' - if ('${{runner.os}}' -match 'windows-latest') { - $environmentExecutableFolder = 'Scripts' - } - - # pipenv python -m pip install pipenv - python -m pipenv run python build/ci/addEnvPath.py ${{env.PYTHON_VIRTUAL_ENVS_LOCATION}} pipenvPath + python -m pipenv run python ./build/ci/addEnvPath.py ${{env.PYTHON_VIRTUAL_ENVS_LOCATION}} pipenvPath - # venv - if ('${{matrix.python}}' -like '3.?') { - python -m venv .venv - & ".venv/$environmentExecutableFolder/python" ./build/ci/addEnvPath.py ${{env.PYTHON_VIRTUAL_ENVS_LOCATION}} venvPath - } - - # virtualenv + - name: Prepare virtualenv for venv tests + env: + TEST_FILES_SUFFIX: testvirtualenvs + PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' + shell: pwsh + if: matrix.test-suite == 'venv' + run: | python -m pip install virtualenv - python -m virtualenv .virtualenv - & ".virtualenv/$environmentExecutableFolder/python" ./build/ci/addEnvPath.py ${{env.PYTHON_VIRTUAL_ENVS_LOCATION}} virtualEnvPath + python -m virtualenv .virtualenv/ + if ('${{matrix.os}}' -match 'windows-latest') { + & ".virtualenv/Scripts/python.exe" ./build/ci/addEnvPath.py ${{env.PYTHON_VIRTUAL_ENVS_LOCATION}} virtualEnvPath + } else { + & ".virtualenv/bin/python" ./build/ci/addEnvPath.py ${{env.PYTHON_VIRTUAL_ENVS_LOCATION}} virtualEnvPath + } - # conda + - name: Prepare venv for venv tests + env: + TEST_FILES_SUFFIX: testvirtualenvs + PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' + shell: pwsh + if: matrix.test-suite == 'venv' && startsWith(matrix.python, 3.) + run: | + python -m venv .venv + if ('${{matrix.os}}' -match 'windows-latest') { + & ".venv/Scripts/python.exe" ./build/ci/addEnvPath.py ${{env.PYTHON_VIRTUAL_ENVS_LOCATION}} venvPath + } else { + & ".venv/bin/python" ./build/ci/addEnvPath.py ${{env.PYTHON_VIRTUAL_ENVS_LOCATION}} venvPath + } + - name: Prepare conda for venv tests + env: + TEST_FILES_SUFFIX: testvirtualenvs + PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' + shell: pwsh + if: matrix.test-suite == 'venv' + run: | # 1. For `terminalActivation.testvirtualenvs.test.ts` - - $condaExecPath = Join-Path -Path $Env:CONDA -ChildPath $environmentExecutableFolder | Join-Path -ChildPath conda - if ('${{runner.os}}' -match 'windows-latest') { - $condaPythonPath = Join-Path -Path $Env:CONDA -ChildPath python + if ('${{matrix.os}}' -match 'windows-latest') { + $condaPythonPath = Join-Path -Path $Env:CONDA -ChildPath python.exe + $condaExecPath = Join-Path -Path $Env:CONDA -ChildPath Scripts | Join-Path -ChildPath conda } else{ - $condaPythonPath = Join-Path -Path $Env:CONDA -ChildPath $environmentExecutableFolder | Join-Path -ChildPath python - & $condaPythonPath ./build/ci/addEnvPath.py ${{env.PYTHON_VIRTUAL_ENVS_LOCATION}} condaExecPath $condaExecPath + $condaPythonPath = Join-Path -Path $Env:CONDA -ChildPath bin | Join-Path -ChildPath python + $condaExecPath = Join-Path -Path $Env:CONDA -ChildPath bin | Join-Path -ChildPath conda } + & $condaPythonPath ./build/ci/addEnvPath.py ${{env.PYTHON_VIRTUAL_ENVS_LOCATION}} condaExecPath $condaExecPath & $condaPythonPath ./build/ci/addEnvPath.py ${{env.PYTHON_VIRTUAL_ENVS_LOCATION}} condaPath # 2. For `interpreterLocatorService.testvirtualenvs.ts` & $condaExecPath create -n "test_env1" -y python & $condaExecPath create -p "./test_env2" -y python - & $condaExecPath create -p "$Env:HOME/test_env3" -y python - shell: pwsh - if: matrix.test-suite == 'venv' + & $condaExecPath create -p "~/test_env3" -y python + + - name: Set CI_PYTHON_PATH and CI_DISABLE_AUTO_SELECTION + run: | + echo "::set-env name=CI_PYTHON_PATH::python" + echo "::set-env name=CI_DISABLE_AUTO_SELECTION::1" + shell: bash + if: matrix.test-suite != 'ts-unit' # Run TypeScript unit tests only for Python 3.X. - name: Run TypeScript unit tests @@ -345,25 +309,34 @@ jobs: # run tests and then clean up the process once the tests ran. # See https://github.com/GabrielBB/xvfb-action - name: Run venv tests - uses: GabrielBB/xvfb-action@v1.0 + env: + TEST_FILES_SUFFIX: testvirtualenvs + CI_PYTHON_VERSION: ${{matrix.python}} + uses: GabrielBB/xvfb-action@v1.4 with: run: npm run testSingleWorkspace if: matrix.test-suite == 'venv' - name: Run single-workspace tests - uses: GabrielBB/xvfb-action@v1.0 + env: + CI_PYTHON_VERSION: ${{matrix.python}} + uses: GabrielBB/xvfb-action@v1.4 with: run: npm run testSingleWorkspace if: matrix.test-suite == 'single-workspace' - name: Run multi-workspace tests - uses: GabrielBB/xvfb-action@v1.0 + env: + CI_PYTHON_VERSION: ${{matrix.python}} + uses: GabrielBB/xvfb-action@v1.4 with: run: npm run testMultiWorkspace if: matrix.test-suite == 'multi-workspace' - name: Run debugger tests - uses: GabrielBB/xvfb-action@v1.0 + env: + CI_PYTHON_VERSION: ${{matrix.python}} + uses: GabrielBB/xvfb-action@v1.4 with: run: npm run testDebugger if: matrix.test-suite == 'debugger' @@ -376,47 +349,79 @@ jobs: name: Smoke tests # The value of runs-on is the OS of the current job (specified in the strategy matrix below) instead of being hardcoded. runs-on: ${{ matrix.os }} - needs: [build-vsix] if: github.repository == 'microsoft/vscode-python' + needs: [build-vsix] strategy: + fail-fast: false matrix: # We're not running CI on macOS for now because it's one less matrix entry to lower the number of runners used, # macOS runners are expensive, and we assume that Ubuntu is enough to cover the UNIX case. os: [ubuntu-latest, windows-latest] python: [3.8] steps: + # Need the source to have the tests available. - name: Checkout uses: actions/checkout@v2 - - name: Retrieve cached npm files - uses: actions/cache@v1 + - name: Cache pip files + uses: actions/cache@v2 + with: + path: ~/.cache/pip + key: ${{runner.os}}-${{env.CACHE_PIP_DEPS}}-${{env.PYTHON_VERSION}}-${{hashFiles('requirements.txt')}}-${{hashFiles('build/debugger-install-requirements.txt')}} + + - name: Cache npm files + uses: actions/cache@v2 with: path: ~/.npm key: ${{runner.os}}-${{env.CACHE_NPM_DEPS}}-${{hashFiles('package-lock.json')}} + - name: Use Python ${{matrix.python}} + uses: actions/setup-python@v2 + with: + python-version: ${{matrix.python}} + - name: Install dependencies (npm ci) run: npm ci --prefer-offline + - name: pip install system test requirements + run: | + python -m pip install --upgrade -r build/test-requirements.txt + python -m pip --disable-pip-version-check install -t ./pythonFiles/lib/python --no-cache-dir --implementation py --no-deps --upgrade -r requirements.txt + python -m pip --disable-pip-version-check install -t ./pythonFiles/lib/python --no-cache-dir --implementation py --no-deps --upgrade --pre debugpy + shell: bash + + - name: pip install ipython requirements + run: | + python -m pip install numpy + python -m pip install --upgrade -r ./build/ipython-test-requirements.txt + + - name: pip install jupyter + run: | + python -m pip install --upgrade jupyter + + # Save time by reusing bits from the VSIX. - name: Download VSIX - uses: actions/download-artifact@v1 + uses: actions/download-artifact@v2 with: name: ${{env.ARTIFACT_NAME_VSIX}} - # Extract the artifact from its download folder (./${{env.ARTIFACT_NAME_VSIX}}) to the repo root, - # then delete the download folder and compile the source code. + # Compile the test files. - name: Prepare for smoke tests + run: npx tsc -p ./ + shell: bash + + - name: Set CI_PYTHON_PATH and CI_DISABLE_AUTO_SELECTION run: | - mv ${{env.ARTIFACT_NAME_VSIX}}/* . - rm -r ${{env.ARTIFACT_NAME_VSIX}} - npx tsc -p ./ + echo "::set-env name=CI_PYTHON_PATH::python" + echo "::set-env name=CI_DISABLE_AUTO_SELECTION::1" shell: bash - name: Run smoke tests env: DISPLAY: 10 - uses: GabrielBB/xvfb-action@v1.0 + uses: GabrielBB/xvfb-action@v1.4 with: - run: node ./out/test/smokeTest.js + run: node --no-force-async-hooks-checks ./out/test/smokeTest.js coverage: name: Coverage reports upload @@ -427,8 +432,8 @@ jobs: - name: Checkout uses: actions/checkout@v2 - - name: Retrieve cached npm files - uses: actions/cache@v1 + - name: Cache npm files + uses: actions/cache@v2 with: path: ~/.npm key: ${{runner.os}}-${{env.CACHE_NPM_DEPS}}-${{hashFiles('package-lock.json')}} @@ -457,31 +462,31 @@ jobs: - name: Upload coverage to codecov uses: codecov/codecov-action@v1 with: - CODECOV_TOKEN: ${{secrets.CODECOV_TOKEN}} + token: ${{ secrets.CODECOV_TOKEN }} file: ./coverage/cobertura-coverage.xml - lkg-tag: - # LKG = last known good - name: Tag successful build as CI LKG + upload: + name: Upload VSIX to Azure Blob Storage runs-on: ubuntu-latest - needs: [tests, smoke-tests] if: github.repository == 'microsoft/vscode-python' + needs: [tests, smoke-tests, build-vsix] + env: + BLOB_CONTAINER_NAME: extension-builds + BLOB_NAME: ms-python-gha-insiders.vsix # So named to avoid clobbering Azure Pipelines upload. + steps: - - name: Delete existing tag - run: | - curl -s -X DELETE https://api.github.com/repos/microsoft/vscode-python/git/refs/tags/${{env.LKG_TAG}} \ - -H "Authorization: token ${{secrets.GITHUB_TOKEN}}" + - name: Download VSIX + uses: actions/download-artifact@v2 + with: + name: ${{ env.ARTIFACT_NAME_VSIX }} - # We only need to create a tag reference for lightweight tags. - # See https://developer.github.com/v3/git/tags/#create-a-tag-object - # And https://developer.github.com/v3/git/refs/#create-a-reference - - name: Create a tag reference - run: | - curl -s -X POST "https://api.github.com/repos/microsoft/vscode-python/git/refs" \ - -H "Authorization: token ${{secrets.GITHUB_TOKEN}}" \ - -d @- << EOF - { - "ref": "refs/tags/${{env.LKG_TAG}}", - "sha": "${{github.sha}}" - } - EOF + - name: Azure Login + uses: azure/login@v1 + with: + creds: ${{ secrets.AZURE_CREDENTIALS }} + + - name: Upload to Blob Storage + run: az storage blob upload --file ${{ env.VSIX_NAME }} --account-name pvsc --container-name ${{ env.BLOB_CONTAINER_NAME }} --name ${{ env.BLOB_NAME }} --auth-mode login + + - name: Get URL to uploaded VSIX + run: az storage blob url --account-name pvsc --container-name ${{ env.BLOB_CONTAINER_NAME }} --name ${{ env.BLOB_NAME }} --auth-mode login diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 000000000000..71eb74d3213a --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,397 @@ +name: Release Build + +on: + push: + branches: + - 'release' + - 'release/*' + - 'release-*' + +env: + PYTHON_VERSION: 3.8 + MOCHA_REPORTER_JUNIT: false # Use the mocha-multi-reporters and send output to both console (spec) and JUnit (mocha-junit-reporter). Also enables a reporter which exits the process running the tests if it hasn't already. + CACHE_NPM_DEPS: cache-npm + CACHE_OUT_DIRECTORY: cache-out-directory + CACHE_PIP_DEPS: cache-pip + # Key for the cache created at the end of the the 'Cache ./pythonFiles/lib/python' step. + CACHE_PYTHONFILES: cache-pvsc-pythonFiles + ARTIFACT_NAME_VSIX: ms-python-release-vsix + VSIX_NAME: ms-python-release.vsix + COVERAGE_REPORTS: tests-coverage-reports + TEST_RESULTS_DIRECTORY: . + +jobs: + build-vsix: + name: Build VSIX + runs-on: ubuntu-latest + if: github.repository == 'microsoft/vscode-python' + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Cache pip files + uses: actions/cache@v2 + with: + path: ~/.cache/pip + key: ${{runner.os}}-${{env.CACHE_PIP_DEPS}}-${{env.PYTHON_VERSION}}-${{hashFiles('requirements.txt')}}-${{hashFiles('build/debugger-install-requirements.txt')}} + + - name: Cache npm files + uses: actions/cache@v2 + with: + path: ~/.npm + key: ${{runner.os}}-${{env.CACHE_NPM_DEPS}}-${{hashFiles('package-lock.json')}} + + - name: Use Python ${{env.PYTHON_VERSION}} + uses: actions/setup-python@v2 + with: + python-version: ${{env.PYTHON_VERSION}} + + - name: Upgrade pip + run: python -m pip install -U pip + + - name: Build VSIX + uses: ./.github/actions/build-vsix + id: build-vsix + + - name: Rename VSIX + if: steps.build-vsix.outputs.path != env.VSIX_NAME + run: mv ${{ steps.build-vsix.outputs.path }} ${{ env.VSIX_NAME }} + + - uses: actions/upload-artifact@v2 + with: + name: ${{ env.ARTIFACT_NAME_VSIX }} + path: ${{ env.VSIX_NAME }} + + lint: + # Unlike for the insiders build, we skip linting file formatting as that + # will be caught when we merge back into 'main'. + name: Lint + runs-on: ubuntu-latest + if: github.repository == 'microsoft/vscode-python' + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Cache npm files + uses: actions/cache@v2 + with: + path: ~/.npm + key: ${{runner.os}}-${{env.CACHE_NPM_DEPS}}-${{hashFiles('package-lock.json')}} + + - name: Install dependencies (npm ci) + run: npm ci --prefer-offline + + - name: Run gulp prePublishNonBundle + run: npx gulp prePublishNonBundle + + - name: Cache the out/ directory + uses: actions/cache@v2 + with: + path: ./out + key: ${{runner.os}}-${{env.CACHE_OUT_DIRECTORY}}-${{hashFiles('src/**')}} + + - name: Check dependencies + run: npm run checkDependencies + + - name: Run linting on TypeScript code + run: npx tslint --project tsconfig.json + + ### Non-smoke tests + tests: + name: Tests + # The value of runs-on is the OS of the current job (specified in the strategy matrix below) instead of being hardcoded. + runs-on: ${{ matrix.os }} + if: github.repository == 'microsoft/vscode-python' + strategy: + fail-fast: false + matrix: + # We're not running CI on macOS for now because it's one less matrix entry to lower the number of runners used, + # macOS runners are expensive, and we assume that Ubuntu is enough to cover the UNIX case. + os: [ubuntu-latest, windows-latest] + # Run the tests on the oldest and most recent versions of Python. + python: [2.7, 3.8] + test-suite: [ts-unit, python-unit, venv, single-workspace, multi-workspace, debugger, functional] + env: + # Something in Node 12.16.0 breaks the TS debug adapter, and ubuntu-latest bundles Node 12.16.1. + # We can remove this when we switch over to the python-based DA in https://github.com/microsoft/vscode-python/issues/7136. + # See https://github.com/microsoft/ptvsd/issues/2068 + # At this point pinning is only needed for consistency. We no longer have TS debug adapter. + NODE_VERSION: 12.15.0 + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Cache pip files + uses: actions/cache@v2 + with: + path: ~/.cache/pip + key: ${{runner.os}}-${{env.CACHE_PIP_DEPS}}-${{env.PYTHON_VERSION}}-${{hashFiles('requirements.txt')}}-${{hashFiles('build/debugger-install-requirements.txt')}} + + - name: Cache npm files + uses: actions/cache@v2 + with: + path: ~/.npm + key: ${{runner.os}}-${{env.CACHE_NPM_DEPS}}-${{hashFiles('package-lock.json')}} + + - name: Cache compiled TS files + # Use an id for this step so that its cache-hit output can be accessed and checked in the next step. + id: out-cache + uses: actions/cache@v2 + with: + path: ./out + key: ${{runner.os}}-${{env.CACHE_OUT_DIRECTORY}}-${{hashFiles('src/**')}} + + - name: Install dependencies (npm ci) + run: npm ci + + - name: Compile if not cached + run: npx gulp prePublishNonBundle + if: steps.out-cache.outputs.cache-hit == false + + - name: Use Python ${{matrix.python}} + uses: actions/setup-python@v2 + with: + python-version: ${{matrix.python}} + + - name: Use Node ${{env.NODE_VERSION}} + uses: actions/setup-node@v2.1.1 + with: + node-version: ${{env.NODE_VERSION}} + + - name: Install Python requirements + run: | + python -m pip --disable-pip-version-check install -t ./pythonFiles/lib/python --no-cache-dir --implementation py --no-deps --upgrade -r requirements.txt + # We need to have debugpy so that tests relying on it keep passing, but we don't need install_debugpy's logic in the test phase. + python -m pip --disable-pip-version-check install -t ./pythonFiles/lib/python --no-cache-dir --implementation py --no-deps --upgrade --pre debugpy + + - name: Install test requirements + run: python -m pip install --upgrade -r build/test-requirements.txt + + - name: pip install ipython requirements + run: | + python -m pip install numpy + python -m pip install --upgrade -r ./build/ipython-test-requirements.txt + if: matrix.test-suite == 'python-unit' + + - name: Install debugpy wheels (python 3.8) + run: | + python -m pip install wheel + python -m pip --disable-pip-version-check install -r build/debugger-install-requirements.txt + python ./pythonFiles/install_debugpy.py + shell: bash + if: matrix.test-suite == 'debugger' && matrix.python == 3.8 + + - name: Install debugpy (python 2.7) + run: | + python -m pip --disable-pip-version-check install -t ./pythonFiles/lib/python --no-cache-dir --implementation py --no-deps --upgrade --pre debugpy + shell: bash + if: matrix.test-suite == 'debugger' && matrix.python == 2.7 + + - name: Install functional test requirements + run: | + python -m pip install numpy + python -m pip install --upgrade -r ./build/functional-test-requirements.txt + if: matrix.test-suite == 'functional' + + - name: Prepare pipenv for venv tests + env: + TEST_FILES_SUFFIX: testvirtualenvs + PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' + shell: pwsh + if: matrix.test-suite == 'venv' + run: | + python -m pip install pipenv + python -m pipenv run python ./build/ci/addEnvPath.py ${{env.PYTHON_VIRTUAL_ENVS_LOCATION}} pipenvPath + + - name: Prepare virtualenv for venv tests + env: + TEST_FILES_SUFFIX: testvirtualenvs + PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' + shell: pwsh + if: matrix.test-suite == 'venv' + run: | + python -m pip install virtualenv + python -m virtualenv .virtualenv/ + if ('${{matrix.os}}' -match 'windows-latest') { + & ".virtualenv/Scripts/python.exe" ./build/ci/addEnvPath.py ${{env.PYTHON_VIRTUAL_ENVS_LOCATION}} virtualEnvPath + } else { + & ".virtualenv/bin/python" ./build/ci/addEnvPath.py ${{env.PYTHON_VIRTUAL_ENVS_LOCATION}} virtualEnvPath + } + + - name: Prepare venv for venv tests + env: + TEST_FILES_SUFFIX: testvirtualenvs + PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' + shell: pwsh + if: matrix.test-suite == 'venv' && startsWith(matrix.python, 3.) + run: | + python -m venv .venv + if ('${{matrix.os}}' -match 'windows-latest') { + & ".venv/Scripts/python.exe" ./build/ci/addEnvPath.py ${{env.PYTHON_VIRTUAL_ENVS_LOCATION}} venvPath + } else { + & ".venv/bin/python" ./build/ci/addEnvPath.py ${{env.PYTHON_VIRTUAL_ENVS_LOCATION}} venvPath + } + + - name: Prepare conda for venv tests + env: + TEST_FILES_SUFFIX: testvirtualenvs + PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' + shell: pwsh + if: matrix.test-suite == 'venv' + run: | + # 1. For `terminalActivation.testvirtualenvs.test.ts` + if ('${{matrix.os}}' -match 'windows-latest') { + $condaPythonPath = Join-Path -Path $Env:CONDA -ChildPath python.exe + $condaExecPath = Join-Path -Path $Env:CONDA -ChildPath Scripts | Join-Path -ChildPath conda + } else{ + $condaPythonPath = Join-Path -Path $Env:CONDA -ChildPath bin | Join-Path -ChildPath python + $condaExecPath = Join-Path -Path $Env:CONDA -ChildPath bin | Join-Path -ChildPath conda + } + & $condaPythonPath ./build/ci/addEnvPath.py ${{env.PYTHON_VIRTUAL_ENVS_LOCATION}} condaExecPath $condaExecPath + & $condaPythonPath ./build/ci/addEnvPath.py ${{env.PYTHON_VIRTUAL_ENVS_LOCATION}} condaPath + + # 2. For `interpreterLocatorService.testvirtualenvs.ts` + + & $condaExecPath create -n "test_env1" -y python + & $condaExecPath create -p "./test_env2" -y python + & $condaExecPath create -p "~/test_env3" -y python + + - name: Set CI_PYTHON_PATH and CI_DISABLE_AUTO_SELECTION + run: | + echo "::set-env name=CI_PYTHON_PATH::python" + echo "::set-env name=CI_DISABLE_AUTO_SELECTION::1" + shell: bash + if: matrix.test-suite != 'ts-unit' + + # Run TypeScript unit tests only for Python 3.X. + - name: Run TypeScript unit tests + run: npm run test:unittests:cover + if: matrix.test-suite == 'ts-unit' && startsWith(matrix.python, 3.) + + # Run the Python and IPython tests in our codebase. + - name: Run Python and IPython unit tests + run: | + python pythonFiles/tests/run_all.py + python -m IPython pythonFiles/tests/run_all.py + if: matrix.test-suite == 'python-unit' + + # The virtual environment based tests use the `testSingleWorkspace` set of tests + # with the environment variable `TEST_FILES_SUFFIX` set to `testvirtualenvs`, + # which is set in the "Prepare environment for venv tests" step. + # We also use a third-party GitHub Action to install xvfb on Linux, + # run tests and then clean up the process once the tests ran. + # See https://github.com/GabrielBB/xvfb-action + - name: Run venv tests + env: + TEST_FILES_SUFFIX: testvirtualenvs + CI_PYTHON_VERSION: ${{matrix.python}} + uses: GabrielBB/xvfb-action@v1.4 + with: + run: npm run testSingleWorkspace + if: matrix.test-suite == 'venv' + + - name: Run single-workspace tests + env: + CI_PYTHON_VERSION: ${{matrix.python}} + uses: GabrielBB/xvfb-action@v1.4 + with: + run: npm run testSingleWorkspace + if: matrix.test-suite == 'single-workspace' + + - name: Run multi-workspace tests + env: + CI_PYTHON_VERSION: ${{matrix.python}} + uses: GabrielBB/xvfb-action@v1.4 + with: + run: npm run testMultiWorkspace + if: matrix.test-suite == 'multi-workspace' + + - name: Run debugger tests + env: + CI_PYTHON_VERSION: ${{matrix.python}} + uses: GabrielBB/xvfb-action@v1.4 + with: + run: npm run testDebugger + if: matrix.test-suite == 'debugger' + + - name: Run functional tests + run: npm run test:functional + if: matrix.test-suite == 'functional' + + smoke-tests: + name: Smoke tests + # The value of runs-on is the OS of the current job (specified in the strategy matrix below) instead of being hardcoded. + runs-on: ${{ matrix.os }} + if: github.repository == 'microsoft/vscode-python' + needs: [build-vsix] + strategy: + fail-fast: false + matrix: + # We're not running CI on macOS for now because it's one less matrix entry to lower the number of runners used, + # macOS runners are expensive, and we assume that Ubuntu is enough to cover the UNIX case. + os: [ubuntu-latest, windows-latest] + python: [3.8] + steps: + # Need the source to have the tests available. + - name: Checkout + uses: actions/checkout@v2 + + - name: Cache pip files + uses: actions/cache@v2 + with: + path: ~/.cache/pip + key: ${{runner.os}}-${{env.CACHE_PIP_DEPS}}-${{env.PYTHON_VERSION}}-${{hashFiles('requirements.txt')}}-${{hashFiles('build/debugger-install-requirements.txt')}} + + - name: Cache npm files + uses: actions/cache@v2 + with: + path: ~/.npm + key: ${{runner.os}}-${{env.CACHE_NPM_DEPS}}-${{hashFiles('package-lock.json')}} + + - name: Use Python ${{matrix.python}} + uses: actions/setup-python@v2 + with: + python-version: ${{matrix.python}} + + - name: Install dependencies (npm ci) + run: npm ci --prefer-offline + + - name: pip install system test requirements + run: | + python -m pip install --upgrade -r build/test-requirements.txt + python -m pip --disable-pip-version-check install -t ./pythonFiles/lib/python --no-cache-dir --implementation py --no-deps --upgrade -r requirements.txt + python -m pip --disable-pip-version-check install -t ./pythonFiles/lib/python --no-cache-dir --implementation py --no-deps --upgrade --pre debugpy + shell: bash + + - name: pip install ipython requirements + run: | + python -m pip install numpy + python -m pip install --upgrade -r ./build/ipython-test-requirements.txt + + - name: pip install jupyter + run: | + python -m pip install --upgrade jupyter + + # Save time by reusing bits from the VSIX. + - name: Download VSIX + uses: actions/download-artifact@v2 + with: + name: ${{env.ARTIFACT_NAME_VSIX}} + + # Compile the test files. + - name: Prepare for smoke tests + run: npx tsc -p ./ + shell: bash + + - name: Set CI_PYTHON_PATH and CI_DISABLE_AUTO_SELECTION + run: | + echo "::set-env name=CI_PYTHON_PATH::python" + echo "::set-env name=CI_DISABLE_AUTO_SELECTION::1" + shell: bash + + - name: Run smoke tests + env: + DISPLAY: 10 + uses: GabrielBB/xvfb-action@v1.4 + with: + run: node --no-force-async-hooks-checks ./out/test/smokeTest.js diff --git a/.gitignore b/.gitignore index 69db6986a643..a343e9929c81 100644 --- a/.gitignore +++ b/.gitignore @@ -22,7 +22,6 @@ cucumber-report.json **/.venv*/ port.txt precommit.hook -pythonFiles/experimental/ptvsd/** pythonFiles/lib/** debug_coverage*/** languageServer/** @@ -33,14 +32,12 @@ obj/** tmp/** .python-version .vs/ -test-results.xml +test-results*.xml xunit-test-results.xml build/ci/performance/performance-results.json -build/ci/performance/DS_test_benchmark.json !build/ debug*.log -ptvsd*.log +debugpy*.log pydevd*.log nodeLanguageServer/** nodeLanguageServer.*/** - diff --git a/.nvmrc b/.nvmrc index e23e7f3a97dc..764b945d130f 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v12.4.0 +v12.15.0 diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 000000000000..953832c3207c --- /dev/null +++ b/.prettierignore @@ -0,0 +1,3 @@ +# Ignore the pythonEnvironments/ folder because we use ESLint there instead +src/client/pythonEnvironments/* +src/test/pythonEnvironments/* diff --git a/.prettierrc.js b/.prettierrc.js index 9c5f4642ba85..e584661edd38 100644 --- a/.prettierrc.js +++ b/.prettierrc.js @@ -2,6 +2,8 @@ module.exports = { singleQuote: true, printWidth: 120, tabWidth: 4, + endOfLine: 'auto', + trailingComma: 'none', overrides: [ { files: ['*.yml', '*.yaml'], diff --git a/.sonarcloud.properties b/.sonarcloud.properties index c701b54718cf..cee889d8051b 100644 --- a/.sonarcloud.properties +++ b/.sonarcloud.properties @@ -1,4 +1,5 @@ sonar.sources=src/client,src/datascience-ui +sonar.exclusions=src/datascience-ui/**/codicon*.* sonar.tests=src/test sonar.cfamily.build-wrapper-output.bypass=true - +sonar.cpd.exclusions=src/datascience-ui/**/redux/actions.ts,src/client/**/raw-kernel/rawKernel.ts,src/client/datascience/jupyter/*ariable*.ts diff --git a/.vscode/launch.json b/.vscode/launch.json index 65ac14a02553..97916b2b985b 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -7,35 +7,50 @@ "type": "extensionHost", "request": "launch", "runtimeExecutable": "${execPath}", - "args": [ - "--extensionDevelopmentPath=${workspaceFolder}" - ], + "args": ["--extensionDevelopmentPath=${workspaceFolder}"], "stopOnEntry": false, "smartStep": true, "sourceMaps": true, - "outFiles": [ - "${workspaceFolder}/out/**/*" - ], + "outFiles": ["${workspaceFolder}/out/**/*", "!${workspaceFolder}/**/node_modules**/*"], "preLaunchTask": "Compile", - "skipFiles": [ - "/**" - ] + "skipFiles": ["/**"], + "env": { + // Enable this to turn on redux logging during debugging + "XVSC_PYTHON_FORCE_LOGGING": "1", + // Enable this to try out new experiments locally + "VSC_PYTHON_LOAD_EXPERIMENTS_FROM_FILE": "1", + // Enable this to log telemetry to the output during debugging + "XVSC_PYTHON_LOG_TELEMETRY": "1", + // Enable this to log debugger output. Directory must exist ahead of time + "XDEBUGPY_LOG_DIR": "${workspaceRoot}/tmp/Debug_Output_Ex" + } + }, + { + "name": "Extension (DS UI in Browser)", + "type": "extensionHost", + "request": "launch", + "runtimeExecutable": "${execPath}", + "args": ["--extensionDevelopmentPath=${workspaceFolder}"], + "stopOnEntry": false, + "smartStep": true, + "sourceMaps": true, + "outFiles": ["${workspaceFolder}/out/**/*", "!${workspaceFolder}/**/node_modules**/*"], + "preLaunchTask": "Inject DS WebBrowser UI", + "env": { + "VSC_PYTHON_DS_UI_PROMPT": "1" + }, + "skipFiles": ["/**"] }, { "name": "Extension inside container", "type": "extensionHost", "request": "launch", "runtimeExecutable": "${execPath}", - "args": [ - "--extensionDevelopmentPath=${workspaceFolder}", - "${workspaceFolder}/data" - ], + "args": ["--extensionDevelopmentPath=${workspaceFolder}", "${workspaceFolder}/data"], "stopOnEntry": false, "smartStep": true, "sourceMaps": true, - "outFiles": [ - "${workspaceFolder}/out/**/*" - ], + "outFiles": ["${workspaceFolder}/out/**/*", "!${workspaceFolder}/**/node_modules**/*"], "preLaunchTask": "Compile" }, { @@ -44,9 +59,7 @@ "request": "launch", "module": "IPython", "console": "integratedTerminal", - "args": [ - "${file}" - ] // Additional args should be prefixed with a '--' first. + "args": ["${file}"] // Additional args should be prefixed with a '--' first. }, { "name": "Python: Current File", @@ -55,26 +68,6 @@ "program": "${file}", "console": "integratedTerminal" }, - { - "name": "Debugger as debugServer", - "type": "node", - "request": "launch", - "program": "${workspaceFolder}/out/client/debugger/debugAdapter/main.js", - "stopOnEntry": false, - "smartStep": true, - "args": [ - "--server=4711" - ], - "sourceMaps": true, - "outFiles": [ - "${workspaceFolder}/out/client/**/*.js" - ], - "cwd": "${workspaceFolder}", - "preLaunchTask": "Compile", - "skipFiles": [ - "/**" - ] - }, { "name": "Tests (Debugger, VS Code, *.test.ts)", "type": "extensionHost", @@ -89,16 +82,12 @@ "stopOnEntry": false, "sourceMaps": true, "smartStep": true, - "outFiles": [ - "${workspaceFolder}/out/**/*" - ], + "outFiles": ["${workspaceFolder}/out/**/*", "!${workspaceFolder}/**/node_modules**/*"], "preLaunchTask": "Compile", "env": { "IS_CI_SERVER_TEST_DEBUGGER": "1" }, - "skipFiles": [ - "/**" - ] + "skipFiles": ["/**"] }, { // Note, for the smoke test you want to debug, you may need to copy the file, @@ -118,13 +107,9 @@ }, "stopOnEntry": false, "sourceMaps": true, - "outFiles": [ - "${workspaceFolder}/out/**/*.js" - ], + "outFiles": ["${workspaceFolder}/out/**/*.js", "!${workspaceFolder}/**/node_modules**/*"], "preLaunchTask": "Compile", - "skipFiles": [ - "/**" - ] + "skipFiles": ["/**"] }, { "name": "Tests (Single Workspace, VS Code, *.test.ts)", @@ -142,13 +127,34 @@ }, "stopOnEntry": false, "sourceMaps": true, - "outFiles": [ - "${workspaceFolder}/out/**/*.js" + "outFiles": ["${workspaceFolder}/out/**/*.js", "!${workspaceFolder}/**/node_modules**/*"], + "preLaunchTask": "Compile", + "skipFiles": ["/**"] + }, + { + "name": "Tests (DataScience, *.ds.test.ts)", + "type": "extensionHost", + "request": "launch", + "runtimeExecutable": "${execPath}", + "args": [ + "${workspaceFolder}/src/test/datascience", + "--disable-extensions", + "--enable-proposed-api", + "--extensionDevelopmentPath=${workspaceFolder}", + "--extensionTestsPath=${workspaceFolder}/out/test" ], + "env": { + "VSC_PYTHON_CI_TEST_GREP": "", // Modify this to run a subset of the single workspace tests + "VSC_PYTHON_CI_TEST_INVERT_GREP": "", // Initialize this to invert the grep (exclude tests with value defined in grep). + + "VSC_PYTHON_LOAD_EXPERIMENTS_FROM_FILE": "true", + "TEST_FILES_SUFFIX": "ds.test" + }, + "stopOnEntry": false, + "sourceMaps": true, + "outFiles": ["${workspaceFolder}/out/**/*.js", "!${workspaceFolder}/**/node_modules**/*"], "preLaunchTask": "Compile", - "skipFiles": [ - "/**" - ] + "skipFiles": ["/**"] }, { "name": "Tests (Multiroot, VS Code, *.test.ts)", @@ -164,13 +170,9 @@ "stopOnEntry": false, "sourceMaps": true, "smartStep": true, - "outFiles": [ - "${workspaceFolder}/out/**/*" - ], + "outFiles": ["${workspaceFolder}/out/**/*", "!${workspaceFolder}/**/node_modules**/*"], "preLaunchTask": "Compile", - "skipFiles": [ - "/**" - ] + "skipFiles": ["/**"] }, { "name": "Unit Tests (without VS Code, *.unit.test.ts)", @@ -188,13 +190,9 @@ //"--grep", "", "--timeout=300000" ], - "outFiles": [ - "${workspaceFolder}/out/**/*.js" - ], + "outFiles": ["${workspaceFolder}/out/**/*.js", "!${workspaceFolder}/**/node_modules**/*"], "preLaunchTask": "Compile", - "skipFiles": [ - "/**" - ] + "skipFiles": ["/**"] }, { "name": "Unit Tests (fast, without VS Code and without react/monaco, *.unit.test.ts)", @@ -209,17 +207,13 @@ "--ui=tdd", "--recursive", "--colors", - //"--grep", "", + // "--grep", "", "--timeout=300000", "--fast" ], - "outFiles": [ - "${workspaceFolder}/out/**/*.js" - ], + "outFiles": ["${workspaceFolder}/out/**/*.js", "!${workspaceFolder}/**/node_modules**/*"], "preLaunchTask": "Compile", - "skipFiles": [ - "/**" - ] + "skipFiles": ["/**"] }, { "name": "Functional Tests (without VS Code, *.functional.test.ts)", @@ -234,45 +228,82 @@ "--ui=tdd", "--recursive", "--colors", - //"--grep", "", - "--timeout=300000" + // "--grep", "", + "--timeout=300000", + "--exit" ], "env": { + // Remove `X` prefix to test with real browser to host DS ui (for DS functional tests). + "XVSC_PYTHON_DS_UI_BROWSER": "1", // Remove `X` prefix to test with real python (for DS functional tests). "XVSCODE_PYTHON_ROLLING": "1", // Remove 'X' to turn on all logging in the debug output "XVSC_PYTHON_FORCE_LOGGING": "1", // Remove `X` prefix and update path to test with real python interpreter (for DS functional tests). "XCI_PYTHON_PATH": "", + // Remove 'X' prefix to dump output for debugger. Directory has to exist prior to launch + "XDEBUGPY_LOG_DIR": "${workspaceRoot}/tmp/Debug_Output" }, - "outFiles": [ - "${workspaceFolder}/out/**/*.js" + "outFiles": ["${workspaceFolder}/out/**/*.js", "!${workspaceFolder}/**/node_modules**/*"], + "preLaunchTask": "Compile", + "skipFiles": ["/**"] + }, + { + "name": "Functional DS UI Tests (without VS Code, *.ui.functional.test.ts)", + "type": "node", + "request": "launch", + "program": "${workspaceFolder}/node_modules/mocha/bin/_mocha", + "stopOnEntry": false, + "sourceMaps": true, + "args": [ + "./out/test/**/*.ui.functional.test.js", + "--require=out/test/unittests.js", + "--ui=tdd", + "--recursive", + "--colors", + //"--grep", "", + "--timeout=300000", + "--fast" ], + "env": { + // Remove `X` prefix to test with real browser to host DS ui (for DS functional tests). + "XVSC_PYTHON_DS_UI_BROWSER": "1", + // Remove `X` prefix to test with real python (for DS functional tests). + "XVSCODE_PYTHON_ROLLING": "1", + // Remove 'X' to turn on all logging in the debug output + "XVSC_PYTHON_FORCE_LOGGING": "1", + // Remove `X` prefix and update path to test with real python interpreter (for DS functional tests). + "XCI_PYTHON_PATH": "" + }, + "outFiles": ["${workspaceFolder}/out/**/*.js", "!${workspaceFolder}/**/node_modules**/*"], "preLaunchTask": "Compile", - "skipFiles": [ - "/**" - ] + "skipFiles": ["/**"] }, { "type": "node", "request": "launch", "name": "Gulp tasks (helpful for debugging gulpfile.js)", "program": "${workspaceFolder}/node_modules/gulp/bin/gulp.js", - "args": [ - "watch" - ], + "args": ["watch"], + "skipFiles": ["/**"] + }, + { + "name": "Node: Current File", + "program": "${file}", + "request": "launch", "skipFiles": [ "/**" - ] - } - ], - "compounds": [ + ], + "type": "pwa-node" + }, { - "name": "Extension + Debugger", - "configurations": [ - "Extension", - "Debugger as debugServer" - ] + "name": "Python: Current File", + "type": "python", + "justMyCode": true, + "request": "launch", + "program": "${file}", + "console": "integratedTerminal", + "cwd": "${workspaceFolder}" } ] } diff --git a/.vscode/settings.json b/.vscode/settings.json index 64e62ac725c8..b2dc13efe26e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -45,7 +45,7 @@ "source.fixAll.eslint": true, "source.fixAll.tslint": true }, - "python.jediEnabled": false, + "python.languageServer": "Microsoft", "python.analysis.logLevel": "Trace", "python.analysis.downloadChannel": "beta", "python.linting.pylintEnabled": false, @@ -55,5 +55,6 @@ // Match what black does. "--max-line-length=88" ], - "typescript.preferences.importModuleSpecifier": "relative" + "typescript.preferences.importModuleSpecifier": "relative", + "debug.javascript.usePreview": false } diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 8758e33a5abf..6f0b07bc7214 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -33,7 +33,10 @@ "kind": "build", "isDefault": true }, - "problemMatcher": [] + "problemMatcher": [ + "$tsc-watch", + "$ts-checker-webpack-watch" + ] }, { "label": "Run Unit Tests", @@ -43,6 +46,15 @@ "kind": "test", "isDefault": true } + }, + { + "label": "Inject DS WebBrowser UI", + "type": "shell", + "command": "node", + "args": [ + "build/debug/replaceWithWebBrowserPanel.js" + ], + "problemMatcher": [] } ] } diff --git a/.vscodeignore b/.vscodeignore index c116ab8784e3..d0da6f84ddf9 100644 --- a/.vscodeignore +++ b/.vscodeignore @@ -1,5 +1,6 @@ **/*.map **/*.analyzer.html +!out/datascience-ui/common/node_modules/**/* !out/datascience-ui/notebook/commons.initial.bundle.js.map !out/datascience-ui/notebook/interactiveWindow.js.map !out/datascience-ui/notebook/nativeEditor.js.map @@ -33,6 +34,7 @@ pvsc-dev-ext.py pvsc.code-workspace PYTHON_INTERACTIVE_TROUBLESHOOTING.md requirements.in +sprint-planning.github-issues test.ipynb travis*.log tsconfig*.json @@ -57,6 +59,8 @@ webpack.datascience-*.config.js .vscode test/** languageServer/** languageServer.*/** +nodeLanguageServer/** +nodeLanguageServer.*/** bin/** build/** BuildOutput/** @@ -65,6 +69,7 @@ data/** debug_coverage*/** images/**/*.gif images/**/*.png +ipywidgets/** news/** node_modules/** obj/** @@ -103,6 +108,5 @@ scripts/** src/** test/** tmp/** -tpn/** typings/** types/** diff --git a/CHANGELOG.md b/CHANGELOG.md index 93279f888468..e997502b5489 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,1603 @@ # Changelog -## 2020.3.0-rc (9 March 2020) +## 2020.8.4 (2 September 2020) + +### Enhancements + +1. Make Jupyter Server name clickable to select Jupyter server. + ([#13656](https://github.com/Microsoft/vscode-python/issues/13656)) + +### Fixes + +1. Fixed connection to a Compute Instance from the quickpicks history options. + ([#13387](https://github.com/Microsoft/vscode-python/issues/13387)) +1. Fixed the behavior of the 'python.showStartPage' setting. + ([#13347](https://github.com/microsoft/vscode-python/issues/13347)) + +### Thanks + +Thanks to the following projects which we fully rely on to provide some of +our features: + +- [debugpy](https://pypi.org/project/debugpy/) +- [isort](https://pypi.org/project/isort/) +- [jedi](https://pypi.org/project/jedi/) + and [parso](https://pypi.org/project/parso/) +- [Microsoft Python Language Server](https://github.com/microsoft/python-language-server) +- [Pylance](https://github.com/microsoft/pylance-release) +- [exuberant ctags](http://ctags.sourceforge.net/) (user-installed) +- [rope](https://pypi.org/project/rope/) (user-installed) + +Also thanks to the various projects we provide integrations with which help +make this extension useful: + +- Debugging support: + [Django](https://pypi.org/project/Django/), + [Flask](https://pypi.org/project/Flask/), + [gevent](https://pypi.org/project/gevent/), + [Jinja](https://pypi.org/project/Jinja/), + [Pyramid](https://pypi.org/project/pyramid/), + [PySpark](https://pypi.org/project/pyspark/), + [Scrapy](https://pypi.org/project/Scrapy/), + [Watson](https://pypi.org/project/Watson/) +- Formatting: + [autopep8](https://pypi.org/project/autopep8/), + [black](https://pypi.org/project/black/), + [yapf](https://pypi.org/project/yapf/) +- Interpreter support: + [conda](https://conda.io/), + [direnv](https://direnv.net/), + [pipenv](https://pypi.org/project/pipenv/), + [pyenv](https://github.com/pyenv/pyenv), + [venv](https://docs.python.org/3/library/venv.html#module-venv), + [virtualenv](https://pypi.org/project/virtualenv/) +- Linting: + [bandit](https://pypi.org/project/bandit/), + [flake8](https://pypi.org/project/flake8/), + [mypy](https://pypi.org/project/mypy/), + [prospector](https://pypi.org/project/prospector/), + [pylint](https://pypi.org/project/pylint/), + [pydocstyle](https://pypi.org/project/pydocstyle/), + [pylama](https://pypi.org/project/pylama/) +- Testing: + [nose](https://pypi.org/project/nose/), + [pytest](https://pypi.org/project/pytest/), + [unittest](https://docs.python.org/3/library/unittest.html#module-unittest) + +And finally thanks to the [Python](https://www.python.org/) development team and +community for creating a fantastic programming language and community to be a +part of! + +## 2020.8.3 (31 August 2020) + +### Enhancements + +1. Add telemetry about the install source for the extension. + +### Thanks + +Thanks to the following projects which we fully rely on to provide some of +our features: + +- [debugpy](https://pypi.org/project/debugpy/) +- [isort](https://pypi.org/project/isort/) +- [jedi](https://pypi.org/project/jedi/) + and [parso](https://pypi.org/project/parso/) +- [Microsoft Python Language Server](https://github.com/microsoft/python-language-server) +- [Pylance](https://github.com/microsoft/pylance-release) +- [exuberant ctags](http://ctags.sourceforge.net/) (user-installed) +- [rope](https://pypi.org/project/rope/) (user-installed) + +Also thanks to the various projects we provide integrations with which help +make this extension useful: + +- Debugging support: + [Django](https://pypi.org/project/Django/), + [Flask](https://pypi.org/project/Flask/), + [gevent](https://pypi.org/project/gevent/), + [Jinja](https://pypi.org/project/Jinja/), + [Pyramid](https://pypi.org/project/pyramid/), + [PySpark](https://pypi.org/project/pyspark/), + [Scrapy](https://pypi.org/project/Scrapy/), + [Watson](https://pypi.org/project/Watson/) +- Formatting: + [autopep8](https://pypi.org/project/autopep8/), + [black](https://pypi.org/project/black/), + [yapf](https://pypi.org/project/yapf/) +- Interpreter support: + [conda](https://conda.io/), + [direnv](https://direnv.net/), + [pipenv](https://pypi.org/project/pipenv/), + [pyenv](https://github.com/pyenv/pyenv), + [venv](https://docs.python.org/3/library/venv.html#module-venv), + [virtualenv](https://pypi.org/project/virtualenv/) +- Linting: + [bandit](https://pypi.org/project/bandit/), + [flake8](https://pypi.org/project/flake8/), + [mypy](https://pypi.org/project/mypy/), + [prospector](https://pypi.org/project/prospector/), + [pylint](https://pypi.org/project/pylint/), + [pydocstyle](https://pypi.org/project/pydocstyle/), + [pylama](https://pypi.org/project/pylama/) +- Testing: + [nose](https://pypi.org/project/nose/), + [pytest](https://pypi.org/project/pytest/), + [unittest](https://docs.python.org/3/library/unittest.html#module-unittest) + +And finally thanks to the [Python](https://www.python.org/) development team and +community for creating a fantastic programming language and community to be a +part of! + +## 2020.8.2 (27 August 2020) + +### Enhancements + +1. Update "Tip" notification for new users to either show the existing tip, a link to a feedback survey or nothing. + ([#13535](https://github.com/Microsoft/vscode-python/issues/13535)) + +### Fixes + +1. Fix saving during close and auto backup to actually save a notebook. + ([#11711](https://github.com/Microsoft/vscode-python/issues/11711)) +1. Show the server display string that the user is going to connect to after selecting a compute instance and reloading the window. + ([#13551](https://github.com/Microsoft/vscode-python/issues/13551)) + +### Thanks + +Thanks to the following projects which we fully rely on to provide some of +our features: + +- [debugpy](https://pypi.org/project/debugpy/) +- [isort](https://pypi.org/project/isort/) +- [jedi](https://pypi.org/project/jedi/) + and [parso](https://pypi.org/project/parso/) +- [Microsoft Python Language Server](https://github.com/microsoft/python-language-server) +- [Pylance](https://github.com/microsoft/pylance-release) +- [exuberant ctags](http://ctags.sourceforge.net/) (user-installed) +- [rope](https://pypi.org/project/rope/) (user-installed) + +Also thanks to the various projects we provide integrations with which help +make this extension useful: + +- Debugging support: + [Django](https://pypi.org/project/Django/), + [Flask](https://pypi.org/project/Flask/), + [gevent](https://pypi.org/project/gevent/), + [Jinja](https://pypi.org/project/Jinja/), + [Pyramid](https://pypi.org/project/pyramid/), + [PySpark](https://pypi.org/project/pyspark/), + [Scrapy](https://pypi.org/project/Scrapy/), + [Watson](https://pypi.org/project/Watson/) +- Formatting: + [autopep8](https://pypi.org/project/autopep8/), + [black](https://pypi.org/project/black/), + [yapf](https://pypi.org/project/yapf/) +- Interpreter support: + [conda](https://conda.io/), + [direnv](https://direnv.net/), + [pipenv](https://pypi.org/project/pipenv/), + [pyenv](https://github.com/pyenv/pyenv), + [venv](https://docs.python.org/3/library/venv.html#module-venv), + [virtualenv](https://pypi.org/project/virtualenv/) +- Linting: + [bandit](https://pypi.org/project/bandit/), + [flake8](https://pypi.org/project/flake8/), + [mypy](https://pypi.org/project/mypy/), + [prospector](https://pypi.org/project/prospector/), + [pylint](https://pypi.org/project/pylint/), + [pydocstyle](https://pypi.org/project/pydocstyle/), + [pylama](https://pypi.org/project/pylama/) +- Testing: + [nose](https://pypi.org/project/nose/), + [pytest](https://pypi.org/project/pytest/), + [unittest](https://docs.python.org/3/library/unittest.html#module-unittest) + +And finally thanks to the [Python](https://www.python.org/) development team and +community for creating a fantastic programming language and community to be a +part of! + +## 2020.8.1 (20 August 2020) + +### Fixes + +1. Update LSP to latest to resolve problems with LS settings. + ([#13511](https://github.com/microsoft/vscode-python/pull/13511)) +1. Update debugger to address terminal input issues. +1. Added tooltip to indicate status of server connection + ([#13543](https://github.com/Microsoft/vscode-python/issues/13543)) + +### Thanks + +Thanks to the following projects which we fully rely on to provide some of +our features: + +- [debugpy](https://pypi.org/project/debugpy/) +- [isort](https://pypi.org/project/isort/) +- [jedi](https://pypi.org/project/jedi/) + and [parso](https://pypi.org/project/parso/) +- [Microsoft Python Language Server](https://github.com/microsoft/python-language-server) +- [Pylance](https://github.com/microsoft/pylance-release) +- [exuberant ctags](http://ctags.sourceforge.net/) (user-installed) +- [rope](https://pypi.org/project/rope/) (user-installed) + +Also thanks to the various projects we provide integrations with which help +make this extension useful: + +- Debugging support: + [Django](https://pypi.org/project/Django/), + [Flask](https://pypi.org/project/Flask/), + [gevent](https://pypi.org/project/gevent/), + [Jinja](https://pypi.org/project/Jinja/), + [Pyramid](https://pypi.org/project/pyramid/), + [PySpark](https://pypi.org/project/pyspark/), + [Scrapy](https://pypi.org/project/Scrapy/), + [Watson](https://pypi.org/project/Watson/) +- Formatting: + [autopep8](https://pypi.org/project/autopep8/), + [black](https://pypi.org/project/black/), + [yapf](https://pypi.org/project/yapf/) +- Interpreter support: + [conda](https://conda.io/), + [direnv](https://direnv.net/), + [pipenv](https://pypi.org/project/pipenv/), + [pyenv](https://github.com/pyenv/pyenv), + [venv](https://docs.python.org/3/library/venv.html#module-venv), + [virtualenv](https://pypi.org/project/virtualenv/) +- Linting: + [bandit](https://pypi.org/project/bandit/), + [flake8](https://pypi.org/project/flake8/), + [mypy](https://pypi.org/project/mypy/), + [prospector](https://pypi.org/project/prospector/), + [pylint](https://pypi.org/project/pylint/), + [pydocstyle](https://pypi.org/project/pydocstyle/), + [pylama](https://pypi.org/project/pylama/) +- Testing: + [nose](https://pypi.org/project/nose/), + [pytest](https://pypi.org/project/pytest/), + [unittest](https://docs.python.org/3/library/unittest.html#module-unittest) + +And finally thanks to the [Python](https://www.python.org/) development team and +community for creating a fantastic programming language and community to be a +part of! + +## 2020.8.0 (12 August 2020) + +### Enhancements + +1. Cell id and cell metadata are now passed as the metadata field for execute_request messages. + (thanks [stisa](https://github.com/stisa/)) + ([#13252](https://github.com/Microsoft/vscode-python/issues/13252)) +1. Add "Restart Language Server" command. + ([#3073](https://github.com/Microsoft/vscode-python/issues/3073)) +1. Support multiple and per file interactive windows. See the description for the new 'python.dataScience.interactiveWindowMode' setting. + ([#3104](https://github.com/Microsoft/vscode-python/issues/3104)) +1. Add cell editing shortcuts for python interactive cells. (thanks [@earthastronaut](https://github.com/earthastronaut/)). + ([#12414](https://github.com/Microsoft/vscode-python/issues/12414)) +1. Allow `python.dataScience.runStartupCommands` to be an array. (thanks [@janosh](https://github.com/janosh)). + ([#12827](https://github.com/Microsoft/vscode-python/issues/12827)) +1. Remember remote kernel ids when reopening notebooks. + ([#12828](https://github.com/Microsoft/vscode-python/issues/12828)) +1. The file explorer dialog now has an appropriate title when browsing for an interpreter. (thanks [ziebam](https://github.com/ziebam)). + ([#12959](https://github.com/Microsoft/vscode-python/issues/12959)) +1. Warn users if they are connecting over http without a token. + ([#12980](https://github.com/Microsoft/vscode-python/issues/12980)) +1. Allow a custom display string for remote servers as part of the remote Jupyter server provider extensibility point. + ([#12988](https://github.com/Microsoft/vscode-python/issues/12988)) +1. Update to the latest version of [`jedi`](https://github.com/davidhalter/jedi) (`0.17.2`). This adds support for Python 3.9 and fixes some bugs, but is expected to be the last release to support Python 2.7 and 3.5. (thanks [Peter Law](https://github.com/PeterJCLaw/)). + ([#13037](https://github.com/Microsoft/vscode-python/issues/13037)) +1. Expose `Pylance` setting in `python.languageServer`. If [Pylance extension](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance) is not installed, prompt user to install it. + ([#13122](https://github.com/Microsoft/vscode-python/issues/13122)) +1. Added "pythonArgs" to debugpy launch.json schema. + ([#13218](https://github.com/Microsoft/vscode-python/issues/13218)) +1. Use jupyter inspect to get signature of dynamic functions in notebook editor when language server doesn't provide enough hint. + ([#13259](https://github.com/Microsoft/vscode-python/issues/13259)) +1. The gather icon will change and get disabled while gather is executing. + ([#13177](https://github.com/microsoft/vscode-python/issues/13177)) + +### Fixes + +1. Gathered notebooks will now use the same kernelspec as the notebook it was created from. + ([#10924](https://github.com/Microsoft/vscode-python/issues/10924)) +1. Don't loop selection through all failed tests every time tests are run. + ([#11743](https://github.com/Microsoft/vscode-python/issues/11743)) +1. Some tools (like pytest) rely on the existence of `sys.path[0]`, so + deleting it in the isolation script can sometimes cause problems. The + solution is to point `sys.path[0]` to a bogus directory that we know + does not exist (assuming noone modifies the extension install dir). + ([#11875](https://github.com/Microsoft/vscode-python/issues/11875)) +1. Fix missing css for some ipywidget output. + ([#12202](https://github.com/Microsoft/vscode-python/issues/12202)) +1. Delete backing untitled ipynb notebook files as soon as the remote session has been created. + ([#12510](https://github.com/Microsoft/vscode-python/issues/12510)) +1. Make the data science variable explorer support high contrast color theme. + ([#12766](https://github.com/Microsoft/vscode-python/issues/12766)) +1. The change in PR #12795 led to one particular test suite to take longer + to run. Here we increase the timeout for that suite to get the test + passing. + ([#12833](https://github.com/Microsoft/vscode-python/issues/12833)) +1. Refactor data science filesystem usage to correctly handle files which are potentially remote. + ([#12931](https://github.com/Microsoft/vscode-python/issues/12931)) +1. Allow custom Jupyter server URI providers to have an expiration on their authorization headers. + ([#12987](https://github.com/Microsoft/vscode-python/issues/12987)) +1. If a webpanel fails to load, dispose our webviewhost so that it can try again. + ([#13106](https://github.com/Microsoft/vscode-python/issues/13106)) +1. Ensure terminal is not shown or activated if hideFromUser is set to true. + ([#13117](https://github.com/Microsoft/vscode-python/issues/13117)) +1. Do not automatically start kernel for untrusted notebooks. + ([#13124](https://github.com/Microsoft/vscode-python/issues/13124)) +1. Fix settings links to open correctly in the notebook editor. + ([#13156](https://github.com/Microsoft/vscode-python/issues/13156)) +1. "a" and "b" Jupyter shortcuts should not automatically enter edit mode. + ([#13165](https://github.com/Microsoft/vscode-python/issues/13165)) +1. Scope custom notebook keybindings to Jupyter Notebooks. + ([#13172](https://github.com/Microsoft/vscode-python/issues/13172)) +1. Rename "Count" column in variable explorer to "Size". + ([#13205](https://github.com/Microsoft/vscode-python/issues/13205)) +1. Handle `Save As` of preview Notebooks. + ([#13235](https://github.com/Microsoft/vscode-python/issues/13235)) + +### Code Health + +1. Move non-mock jupyter nightly tests to use raw kernel by default. + ([#10772](https://github.com/Microsoft/vscode-python/issues/10772)) +1. Add new services to data science IOC container and rename misspelled service. + ([#12809](https://github.com/Microsoft/vscode-python/issues/12809)) +1. Disable Notebook icons when Notebook is not trusted. + ([#12893](https://github.com/Microsoft/vscode-python/issues/12893)) +1. Removed control tower code for the start page. + ([#12919](https://github.com/Microsoft/vscode-python/issues/12919)) +1. Add better tests for trusted notebooks in the classic notebook editor. + ([#12966](https://github.com/Microsoft/vscode-python/issues/12966)) +1. Custom renderers for `png/jpeg` images in `Notebooks`. + ([#12977](https://github.com/Microsoft/vscode-python/issues/12977)) +1. Fix broken nightly variable explorer tests. + ([#13075](https://github.com/Microsoft/vscode-python/issues/13075)) +1. Fix nightly flake test failures for startup and shutdown native editor test. + ([#13171](https://github.com/Microsoft/vscode-python/issues/13171)) +1. Fix failing interactive window and variable explorer tests. + ([#13269](https://github.com/Microsoft/vscode-python/issues/13269)) + +### Thanks + +Thanks to the following projects which we fully rely on to provide some of +our features: + +- [debugpy](https://pypi.org/project/debugpy/) +- [isort](https://pypi.org/project/isort/) +- [jedi](https://pypi.org/project/jedi/) + and [parso](https://pypi.org/project/parso/) +- [Microsoft Python Language Server](https://github.com/microsoft/python-language-server) +- [Pylance](https://github.com/microsoft/pylance-release) +- [exuberant ctags](http://ctags.sourceforge.net/) (user-installed) +- [rope](https://pypi.org/project/rope/) (user-installed) + +Also thanks to the various projects we provide integrations with which help +make this extension useful: + +- Debugging support: + [Django](https://pypi.org/project/Django/), + [Flask](https://pypi.org/project/Flask/), + [gevent](https://pypi.org/project/gevent/), + [Jinja](https://pypi.org/project/Jinja/), + [Pyramid](https://pypi.org/project/pyramid/), + [PySpark](https://pypi.org/project/pyspark/), + [Scrapy](https://pypi.org/project/Scrapy/), + [Watson](https://pypi.org/project/Watson/) +- Formatting: + [autopep8](https://pypi.org/project/autopep8/), + [black](https://pypi.org/project/black/), + [yapf](https://pypi.org/project/yapf/) +- Interpreter support: + [conda](https://conda.io/), + [direnv](https://direnv.net/), + [pipenv](https://pypi.org/project/pipenv/), + [pyenv](https://github.com/pyenv/pyenv), + [venv](https://docs.python.org/3/library/venv.html#module-venv), + [virtualenv](https://pypi.org/project/virtualenv/) +- Linting: + [bandit](https://pypi.org/project/bandit/), + [flake8](https://pypi.org/project/flake8/), + [mypy](https://pypi.org/project/mypy/), + [prospector](https://pypi.org/project/prospector/), + [pylint](https://pypi.org/project/pylint/), + [pydocstyle](https://pypi.org/project/pydocstyle/), + [pylama](https://pypi.org/project/pylama/) +- Testing: + [nose](https://pypi.org/project/nose/), + [pytest](https://pypi.org/project/pytest/), + [unittest](https://docs.python.org/3/library/unittest.html#module-unittest) + +And finally thanks to the [Python](https://www.python.org/) development team and +community for creating a fantastic programming language and community to be a +part of! + +## 2020.7.1 (22 July 2020) + +1. Fix language server setting when provided an invalid value, send config event more consistently. + ([#13064](https://github.com/Microsoft/vscode-python/pull/13064)) +1. Add banner for pylance, and remove old LS experiment. + ([#12817](https://github.com/microsoft/vscode-python/pull/12817)) + +## 2020.7.0 (16 July 2020) + +### Enhancements + +1. Support connecting to Jupyter hub servers. Use either the base url of the server (i.e. 'https://111.11.11.11:8000') or your user folder (i.e. 'https://111.11.11.11:8000/user/theuser). + Works with password authentication. + ([#9679](https://github.com/Microsoft/vscode-python/issues/9679)) +1. Added "argsExpansion" to debugpy launch.json schema. + ([#11678](https://github.com/Microsoft/vscode-python/issues/11678)) +1. The extension will now automatically load if a `pyproject.toml` file is present in the workspace root directory. + (thanks [Brandon White](https://github.com/BrandonLWhite)) + ([#12056](https://github.com/Microsoft/vscode-python/issues/12056)) +1. Add ability to check and update whether a notebook is trusted. + ([#12146](https://github.com/Microsoft/vscode-python/issues/12146)) +1. Support formatting of Notebook Cells when using the VS Code Insiders API for Notebooks. + ([#12195](https://github.com/Microsoft/vscode-python/issues/12195)) +1. Added exporting notebooks to HTML. + ([#12375](https://github.com/Microsoft/vscode-python/issues/12375)) +1. Change stock launch.json "attach" config to use "connect". + ([#12446](https://github.com/Microsoft/vscode-python/issues/12446)) +1. Update to the latest version of [`jedi`](https://github.com/davidhalter/jedi) (`0.17.1`). This brings completions for Django (via [`django-stubs`](https://github.com/typeddjango/django-stubs)) as well as support for Python 3.9 and various bugfixes (mostly around generic type annotations). (thanks [Peter Law](https://gitlab.com/PeterJCLaw/)) + ([#12486](https://github.com/Microsoft/vscode-python/issues/12486)) +1. Prompt users that we have deleted pythonPath from their workspace settings when in `Deprecate PythonPath` experiment. + ([#12533](https://github.com/Microsoft/vscode-python/issues/12533)) +1. Changed public API for execution to return an object and provide a callback which is called when interpreter setting changes. + ([#12596](https://github.com/Microsoft/vscode-python/issues/12596)) +1. Allow users to opt out of us checking whether their notebooks can be trusted. This setting is turned off by default and must be manually enabled. + ([#12611](https://github.com/Microsoft/vscode-python/issues/12611)) +1. Include the JUPYTER_PATH environment variable when searching the disk for kernels. + ([#12694](https://github.com/Microsoft/vscode-python/issues/12694)) +1. Added exporting to python, HTML and PDF from the interactive window. + ([#12732](https://github.com/Microsoft/vscode-python/issues/12732)) +1. Show a prompt asking user to upgrade Code runner to new version to keep using it when in Deprecate PythonPath experiment. + ([#12764](https://github.com/Microsoft/vscode-python/issues/12764)) +1. Opening notebooks in the preview Notebook editor for [Visual Studio Code Insiders](https://code.visualstudio.com/insiders/). + ([#10496](https://github.com/Microsoft/vscode-python/issues/10496)) + +### Fixes + +1. Ensure we only have a single isort process running on a single file. + ([#10579](https://github.com/Microsoft/vscode-python/issues/10579)) +1. Provided a method for external partners to participate in jupyter server URI picking/authentication. + ([#10993](https://github.com/Microsoft/vscode-python/issues/10993)) +1. Check for hideFromUser before activating current terminal. + ([#11122](https://github.com/Microsoft/vscode-python/issues/11122)) +1. In Markdown cells, turn HTML links to markdown links so that nteract renders them. + ([#11254](https://github.com/Microsoft/vscode-python/issues/11254)) +1. Prevent incorrect ipywidget display (double plots) due to synchronization issues. + ([#11281](https://github.com/Microsoft/vscode-python/issues/11281)) +1. Removed the Kernel Selection toolbar from the Interactive Window when using a local Jupyter Server. + To show it again, set the setting 'Python > Data Science > Show Kernel Selection On Interactive Window'. + ([#11347](https://github.com/Microsoft/vscode-python/issues/11347)) +1. Get Jupyter connections to work with a Windows store installed Python/Jupyter combination. + ([#11412](https://github.com/Microsoft/vscode-python/issues/11412)) +1. Disable hover intellisense in the interactive window unless the code is expanded. + ([#11459](https://github.com/Microsoft/vscode-python/issues/11459)) +1. Make layout of markdown editors much faster to open. + ([#11584](https://github.com/Microsoft/vscode-python/issues/11584)) +1. Watermark in the interactive window can appear on top of entered text. + ([#11691](https://github.com/Microsoft/vscode-python/issues/11691)) +1. Jupyter can fail to run a kernel if the user's environment contains non string values. + ([#11749](https://github.com/Microsoft/vscode-python/issues/11749)) +1. On Mac meta+Z commands are performing both cell and editor undos. + ([#11758](https://github.com/Microsoft/vscode-python/issues/11758)) +1. Paste can sometimes double paste into a notebook or interactive window editor. + ([#11796](https://github.com/Microsoft/vscode-python/issues/11796)) +1. Fix jupyter connections going down when azure-storage or other extensions with node-fetch are installed. + ([#11830](https://github.com/Microsoft/vscode-python/issues/11830)) +1. Variables should not flash when running by line. + ([#12046](https://github.com/Microsoft/vscode-python/issues/12046)) +1. Discard changes on Notebooks when the user selects 'Don't Save' on the save changes dialog. + ([#12180](https://github.com/Microsoft/vscode-python/issues/12180)) +1. Disable `Extract variable & method` commands in `Notebook Cells`. + ([#12206](https://github.com/Microsoft/vscode-python/issues/12206)) +1. Disable linting in Notebook Cells. + ([#12208](https://github.com/Microsoft/vscode-python/issues/12208)) +1. Register services before extension activates. + ([#12227](https://github.com/Microsoft/vscode-python/issues/12227)) +1. Infinite loop of asking to reload the extension when enabling custom editor. + ([#12231](https://github.com/Microsoft/vscode-python/issues/12231)) +1. Fix raw kernel autostart and remove jupyter execution from interactive base. + ([#12330](https://github.com/Microsoft/vscode-python/issues/12330)) +1. If we fail to start a raw kernel daemon then fall back to using process execution. + ([#12355](https://github.com/Microsoft/vscode-python/issues/12355)) +1. Fix the export button from the interactive window to export again. + ([#12460](https://github.com/Microsoft/vscode-python/issues/12460)) +1. Process Jupyter messages synchronously when possible. + ([#12588](https://github.com/Microsoft/vscode-python/issues/12588)) +1. Open variable explorer when opening variable explorer during debugging. + ([#12773](https://github.com/Microsoft/vscode-python/issues/12773)) +1. Use the given interpreter for launching the non-daemon python + ([#12821](https://github.com/Microsoft/vscode-python/issues/12821)) +1. Correct the color of the 'Collapse All' button in the Interactive Window + ([#12838](https://github.com/microsoft/vscode-python/issues/12838)) + +### Code Health + +1. Move all logging to the Python output channel. + ([#9837](https://github.com/Microsoft/vscode-python/issues/9837)) +1. Add a functional test that opens both the interactive window and a notebook at the same time. + ([#11445](https://github.com/Microsoft/vscode-python/issues/11445)) +1. Added setting `python.logging.level` which carries the logging level value the extension will log at. + ([#11699](https://github.com/Microsoft/vscode-python/issues/11699)) +1. Monkeypatch `console.*` calls to the logger only in CI. + ([#11896](https://github.com/Microsoft/vscode-python/issues/11896)) +1. Replace python.dataScience.ptvsdDistPath with python.dataScience.debugpyDistPath. + ([#11993](https://github.com/Microsoft/vscode-python/issues/11993)) +1. Rename ptvsd to debugpy in Telemetry. + ([#11996](https://github.com/Microsoft/vscode-python/issues/11996)) +1. Update JSDoc annotations for many of the APIs (thanks [Anthony Shaw](https://github.com/tonybaloney)) + ([#12101](https://github.com/Microsoft/vscode-python/issues/12101)) +1. Refactor `LinterId` to an enum instead of a string union. + (thanks to [Anthony Shaw](https://github.com/tonybaloney)) + ([#12116](https://github.com/Microsoft/vscode-python/issues/12116)) +1. Remove webserver used to host contents in WebViews. + ([#12140](https://github.com/Microsoft/vscode-python/issues/12140)) +1. Inline interface due to issues with custom types when using `ts-node`. + ([#12238](https://github.com/Microsoft/vscode-python/issues/12238)) +1. Fix linux nightly tests so they run and report results. Also seems to get rid of stream destroyed messages for raw kernel. + ([#12539](https://github.com/Microsoft/vscode-python/issues/12539)) +1. Log ExP experiments the user belongs to in the output panel. + ([#12656](https://github.com/Microsoft/vscode-python/issues/12656)) +1. Add more telemetry for "Select Interpreter" command. + ([#12722](https://github.com/Microsoft/vscode-python/issues/12722)) +1. Add tests for trusted notebooks. + ([#12554](https://github.com/Microsoft/vscode-python/issues/12554)) +1. Update categories in `package.json`. + ([#12844](https://github.com/Microsoft/vscode-python/issues/12844)) + +### Thanks + +Thanks to the following projects which we fully rely on to provide some of +our features: + +- [debugpy](https://pypi.org/project/debugpy/) +- [isort](https://pypi.org/project/isort/) +- [jedi](https://pypi.org/project/jedi/) + and [parso](https://pypi.org/project/parso/) +- [Microsoft Python Language Server](https://github.com/microsoft/python-language-server) +- [exuberant ctags](http://ctags.sourceforge.net/) (user-installed) +- [rope](https://pypi.org/project/rope/) (user-installed) + +Also thanks to the various projects we provide integrations with which help +make this extension useful: + +- Debugging support: + [Django](https://pypi.org/project/Django/), + [Flask](https://pypi.org/project/Flask/), + [gevent](https://pypi.org/project/gevent/), + [Jinja](https://pypi.org/project/Jinja/), + [Pyramid](https://pypi.org/project/pyramid/), + [PySpark](https://pypi.org/project/pyspark/), + [Scrapy](https://pypi.org/project/Scrapy/), + [Watson](https://pypi.org/project/Watson/) +- Formatting: + [autopep8](https://pypi.org/project/autopep8/), + [black](https://pypi.org/project/black/), + [yapf](https://pypi.org/project/yapf/) +- Interpreter support: + [conda](https://conda.io/), + [direnv](https://direnv.net/), + [pipenv](https://pypi.org/project/pipenv/), + [pyenv](https://github.com/pyenv/pyenv), + [venv](https://docs.python.org/3/library/venv.html#module-venv), + [virtualenv](https://pypi.org/project/virtualenv/) +- Linting: + [bandit](https://pypi.org/project/bandit/), + [flake8](https://pypi.org/project/flake8/), + [mypy](https://pypi.org/project/mypy/), + [prospector](https://pypi.org/project/prospector/), + [pylint](https://pypi.org/project/pylint/), + [pydocstyle](https://pypi.org/project/pydocstyle/), + [pylama](https://pypi.org/project/pylama/) +- Testing: + [nose](https://pypi.org/project/nose/), + [pytest](https://pypi.org/project/pytest/), + [unittest](https://docs.python.org/3/library/unittest.html#module-unittest) + +And finally thanks to the [Python](https://www.python.org/) development team and +community for creating a fantastic programming language and community to be a +part of! + +## 2020.6.3 (30 June 2020) + +### Fixes + +1. Correctly check for ZMQ support, previously it could allow ZMQ to be supported when zmq could not be imported. + ([#12585](https://github.com/Microsoft/vscode-python/issues/12585)) +1. Auto indentation no longer working for notebooks and interactive window. + ([#12389](https://github.com/Microsoft/vscode-python/issues/12389)) +1. Add telemetry for tracking run by line. + ([#12580](https://github.com/Microsoft/vscode-python/issues/12580)) +1. Add more telemetry to distinguish how is the start page opened. + ([#12603](https://github.com/microsoft/vscode-python/issues/12603)) +1. Stop looking for mspythonconfig.json file in subfolders. + ([#12614](https://github.com/Microsoft/vscode-python/issues/12614)) + +## 2020.6.2 (25 June 2020) + +### Fixes + +1. Fix `linting.pylintEnabled` setting check. + ([#12285](https://github.com/Microsoft/vscode-python/issues/12285)) +1. Don't modify LS settings if jediEnabled does not exist. + ([#12429](https://github.com/Microsoft/vscode-python/issues/12429)) + +## 2020.6.1 (17 June 2020) + +### Fixes + +1. Fixed issue when `python.jediEnabled` setting was not removed and `python.languageServer` setting was not updated. + ([#12429](https://github.com/Microsoft/vscode-python/issues/12429)) + +### Thanks + +Thanks to the following projects which we fully rely on to provide some of +our features: + +- [debugpy](https://pypi.org/project/debugpy/) +- [isort](https://pypi.org/project/isort/) +- [jedi](https://pypi.org/project/jedi/) + and [parso](https://pypi.org/project/parso/) +- [Microsoft Python Language Server](https://github.com/microsoft/python-language-server) +- [ptvsd](https://pypi.org/project/ptvsd/) +- [exuberant ctags](http://ctags.sourceforge.net/) (user-installed) +- [rope](https://pypi.org/project/rope/) (user-installed) + +Also thanks to the various projects we provide integrations with which help +make this extension useful: + +- Debugging support: + [Django](https://pypi.org/project/Django/), + [Flask](https://pypi.org/project/Flask/), + [gevent](https://pypi.org/project/gevent/), + [Jinja](https://pypi.org/project/Jinja/), + [Pyramid](https://pypi.org/project/pyramid/), + [PySpark](https://pypi.org/project/pyspark/), + [Scrapy](https://pypi.org/project/Scrapy/), + [Watson](https://pypi.org/project/Watson/) +- Formatting: + [autopep8](https://pypi.org/project/autopep8/), + [black](https://pypi.org/project/black/), + [yapf](https://pypi.org/project/yapf/) +- Interpreter support: + [conda](https://conda.io/), + [direnv](https://direnv.net/), + [pipenv](https://pypi.org/project/pipenv/), + [pyenv](https://github.com/pyenv/pyenv), + [venv](https://docs.python.org/3/library/venv.html#module-venv), + [virtualenv](https://pypi.org/project/virtualenv/) +- Linting: + [bandit](https://pypi.org/project/bandit/), + [flake8](https://pypi.org/project/flake8/), + [mypy](https://pypi.org/project/mypy/), + [prospector](https://pypi.org/project/prospector/), + [pylint](https://pypi.org/project/pylint/), + [pydocstyle](https://pypi.org/project/pydocstyle/), + [pylama](https://pypi.org/project/pylama/) +- Testing: + [nose](https://pypi.org/project/nose/), + [pytest](https://pypi.org/project/pytest/), + [unittest](https://docs.python.org/3/library/unittest.html#module-unittest) + +And finally thanks to the [Python](https://www.python.org/) development team and +community for creating a fantastic programming language and community to be a +part of! + +## 2020.6.0 (16 June 2020) + +### Enhancements + +1. Removed `python.jediEnabled` setting in favor of `python.languageServer`. Instead of `"python.jediEnabled": true` please use `"python.languageServer": "Jedi"`. + ([#7010](https://github.com/Microsoft/vscode-python/issues/7010)) +1. Added a start page for the extension. It opens to new users or when there is a new release. It can be disabled with the setting 'Python: Show Start Page'. + ([#11057](https://github.com/Microsoft/vscode-python/issues/11057)) +1. Preliminary support using other languages for the kernel. + ([#11919](https://github.com/Microsoft/vscode-python/issues/11919)) +1. Enable the use of the custom editor for native notebooks. + ([#10744](https://github.com/Microsoft/vscode-python/issues/10744)) + +### Fixes + +1. Ensure sorting imports in a modified file picks up the proper configuration. + thanks [Peter Law](https://github.com/PeterJCLaw)) + ([#4891](https://github.com/Microsoft/vscode-python/issues/4891)) +1. Made variable explorer (from IPython Notebook interface) resizable. + ([#5382](https://github.com/Microsoft/vscode-python/issues/5382)) +1. Add junit family to pytest runner args to remove pytest warning. + ([#10673](https://github.com/Microsoft/vscode-python/issues/10673)) +1. Switch order of restart and cancel buttons in interactive window to be consistent with ordering in notebook toolbar. + ([#11091](https://github.com/Microsoft/vscode-python/issues/11091)) +1. Support opening other URI schemes besides 'file' and 'vsls'. + ([#11393](https://github.com/Microsoft/vscode-python/issues/11393)) +1. Fix issue with formatting when the first line is blank. + ([#11416](https://github.com/Microsoft/vscode-python/issues/11416)) +1. Force interactive window to always scroll long output. Don't allow scrollbars within scrollbars. + ([#11421](https://github.com/Microsoft/vscode-python/issues/11421)) +1. Hover on notebooks or interactive window seems to stutter. + ([#11422](https://github.com/Microsoft/vscode-python/issues/11422)) +1. Make shift+tab work again in the interactive window. Escaping focus from the prompt is now relegated to 'Shift+Esc'. + ([#11495](https://github.com/Microsoft/vscode-python/issues/11495)) +1. Keep import and export working with raw kernel mode. Also allow for installing dependencies if running an import before jupyter was ever launched. + ([#11501](https://github.com/Microsoft/vscode-python/issues/11501)) +1. Extra kernels that just say "Python 3 - python" are showing up in the raw kernel kernel picker. + ([#11552](https://github.com/Microsoft/vscode-python/issues/11552)) +1. Fix intermittent launch failure with raw kernels on windows. + ([#11574](https://github.com/Microsoft/vscode-python/issues/11574)) +1. Don't register a kernelspec when switching to an interpreter in raw kernel mode. + ([#11575](https://github.com/Microsoft/vscode-python/issues/11575)) +1. Keep the notebook input prompt up if you focus out of vscode. + ([#11581](https://github.com/Microsoft/vscode-python/issues/11581)) +1. Fix install message to reference run by line instead of debugging. + ([#11661](https://github.com/Microsoft/vscode-python/issues/11661)) +1. Run by line does not scroll to the line that is being run. + ([#11662](https://github.com/Microsoft/vscode-python/issues/11662)) +1. For direct kernel connection, don't replace a notebook's metadata default kernelspec with a new kernelspec on startup. + ([#11672](https://github.com/Microsoft/vscode-python/issues/11672)) +1. Fixes issue with importing `debupy` in interactive window. + ([#11686](https://github.com/Microsoft/vscode-python/issues/11686)) +1. Reopen all notebooks when rerunning the extension (including untitled ones). + ([#11711](https://github.com/Microsoft/vscode-python/issues/11711)) +1. Make sure to clear 'outputPrepend' when rerunning cells and to also only ever add it once to a cell. + (thanks [Barry Nolte](https://github.com/BarryNolte)) + ([#11726](https://github.com/Microsoft/vscode-python/issues/11726)) +1. Disable pre-warming of Kernel Daemons when user does not belong to the `LocalZMQKernel - experiment` experiment. + ([#11751](https://github.com/Microsoft/vscode-python/issues/11751)) +1. When switching to an invalid kernel (one that is registered but cannot start) in raw mode respect the launch timeout that is passed in. + ([#11752](https://github.com/Microsoft/vscode-python/issues/11752)) +1. Make `python.dataScience.textOutputLimit` apply on subsequent rerun. We were letting the 'outputPrepend' metadata persist from run to run. + (thanks [Barry Nolte](https://github.com/BarryNolte)) + ([#11777](https://github.com/Microsoft/vscode-python/issues/11777)) +1. Use `${command:python.interpreterPath}` to get selected interpreter path in `launch.json` and `tasks.json`. + ([#11789](https://github.com/Microsoft/vscode-python/issues/11789)) +1. Restarting a kernel messes up run by line. + ([#11793](https://github.com/Microsoft/vscode-python/issues/11793)) +1. Correctly show kernel status in raw kernel mode. + ([#11797](https://github.com/Microsoft/vscode-python/issues/11797)) +1. Hovering over variables in a python file can show two hover values if the interactive window is closed and reopened. + ([#11800](https://github.com/Microsoft/vscode-python/issues/11800)) +1. Make sure to use webView.cspSource for all csp sources. + ([#11855](https://github.com/Microsoft/vscode-python/issues/11855)) +1. Use command line arguments to launch our raw kernels as opposed to a connection file. The connection file seems to be causing issues in particular on windows CI machines with permissions. + ([#11883](https://github.com/Microsoft/vscode-python/issues/11883)) +1. Improve our status reporting when launching and connecting to a raw kernel. + ([#11951](https://github.com/Microsoft/vscode-python/issues/11951)) +1. Prewarm raw kernels based on raw kernel support and don't prewarm if jupyter autostart is disabled. + ([#11956](https://github.com/Microsoft/vscode-python/issues/11956)) +1. Don't flood the hard drive when typing in a large notebook file. + ([#12058](https://github.com/Microsoft/vscode-python/issues/12058)) +1. Disable run-by-line and continue buttons in run by line mode when running. + ([#12169](https://github.com/Microsoft/vscode-python/issues/12169)) +1. Disable `Sort Imports` command in `Notebook Cells`. + ([#12193](https://github.com/Microsoft/vscode-python/issues/12193)) +1. Fix debugger continue event to actually change a cell. + ([#12155](https://github.com/Microsoft/vscode-python/issues/12155)) +1. Make Jedi the Default value for the python.languageServer setting. + ([#12225](https://github.com/Microsoft/vscode-python/issues/12225)) +1. Make stop during run by line interrupt the kernel. + ([#12249](https://github.com/Microsoft/vscode-python/issues/12249)) +1. Have raw kernel respect the jupyter server disable auto start setting. + ([#12246](https://github.com/Microsoft/vscode-python/issues/12246)) + +### Code Health + +1. Use ts-loader as a tyepscript loader in webpack. + ([#9061](https://github.com/Microsoft/vscode-python/issues/9061)) +1. Fixed typo from unitest -> unittest. + (thanks [Rameez Khan](https://github.com/Rxmeez)). + ([#10919](https://github.com/Microsoft/vscode-python/issues/10919)) +1. Make functional tests more deterministic. + ([#11058](https://github.com/Microsoft/vscode-python/issues/11058)) +1. Reenable CDN unit tests. + ([#11442](https://github.com/Microsoft/vscode-python/issues/11442)) +1. Run by line for notebook cells minimal implementation. + ([#11607](https://github.com/Microsoft/vscode-python/issues/11607)) +1. Get shape and count when showing debugger variables. + ([#11657](https://github.com/Microsoft/vscode-python/issues/11657)) +1. Add more tests to verify data frames can be opened. + ([#11658](https://github.com/Microsoft/vscode-python/issues/11658)) +1. Support data tips overtop of python files that have had cells run. + ([#11659](https://github.com/Microsoft/vscode-python/issues/11659)) +1. Functional test for run by line functionality. + ([#11660](https://github.com/Microsoft/vscode-python/issues/11660)) +1. Fixed typo in a test from lanaguage -> language. + (thanks [Ashwin Ramaswami](https://github.com/epicfaace)). + ([#11775](https://github.com/Microsoft/vscode-python/issues/11775)) +1. Add bitness information to interpreter telemetry. + ([#11904](https://github.com/Microsoft/vscode-python/issues/11904)) +1. Fix failing linux debugger tests. + ([#11935](https://github.com/Microsoft/vscode-python/issues/11935)) +1. Faster unit tests on CI Pipeline. + ([#12017](https://github.com/Microsoft/vscode-python/issues/12017)) +1. Ensure we can use proposed VS Code API with `ts-node`. + ([#12025](https://github.com/Microsoft/vscode-python/issues/12025)) +1. Faster node unit tests on Azure pipeline. + ([#12027](https://github.com/Microsoft/vscode-python/issues/12027)) +1. Use [deemon](https://www.npmjs.com/package/deemon) package for background compilation with support for restarting VS Code during development. + ([#12059](https://github.com/Microsoft/vscode-python/issues/12059)) + +### Thanks + +Thanks to the following projects which we fully rely on to provide some of +our features: + +- [debugpy](https://pypi.org/project/debugpy/) +- [isort](https://pypi.org/project/isort/) +- [jedi](https://pypi.org/project/jedi/) + and [parso](https://pypi.org/project/parso/) +- [Microsoft Python Language Server](https://github.com/microsoft/python-language-server) +- [ptvsd](https://pypi.org/project/ptvsd/) +- [exuberant ctags](http://ctags.sourceforge.net/) (user-installed) +- [rope](https://pypi.org/project/rope/) (user-installed) + +Also thanks to the various projects we provide integrations with which help +make this extension useful: + +- Debugging support: + [Django](https://pypi.org/project/Django/), + [Flask](https://pypi.org/project/Flask/), + [gevent](https://pypi.org/project/gevent/), + [Jinja](https://pypi.org/project/Jinja/), + [Pyramid](https://pypi.org/project/pyramid/), + [PySpark](https://pypi.org/project/pyspark/), + [Scrapy](https://pypi.org/project/Scrapy/), + [Watson](https://pypi.org/project/Watson/) +- Formatting: + [autopep8](https://pypi.org/project/autopep8/), + [black](https://pypi.org/project/black/), + [yapf](https://pypi.org/project/yapf/) +- Interpreter support: + [conda](https://conda.io/), + [direnv](https://direnv.net/), + [pipenv](https://pypi.org/project/pipenv/), + [pyenv](https://github.com/pyenv/pyenv), + [venv](https://docs.python.org/3/library/venv.html#module-venv), + [virtualenv](https://pypi.org/project/virtualenv/) +- Linting: + [bandit](https://pypi.org/project/bandit/), + [flake8](https://pypi.org/project/flake8/), + [mypy](https://pypi.org/project/mypy/), + [prospector](https://pypi.org/project/prospector/), + [pylint](https://pypi.org/project/pylint/), + [pydocstyle](https://pypi.org/project/pydocstyle/), + [pylama](https://pypi.org/project/pylama/) +- Testing: + [nose](https://pypi.org/project/nose/), + [pytest](https://pypi.org/project/pytest/), + [unittest](https://docs.python.org/3/library/unittest.html#module-unittest) + +And finally thanks to the [Python](https://www.python.org/) development team and +community for creating a fantastic programming language and community to be a +part of! + +## 2020.5.3 (10 June 2020) + +1. Update `debugpy` to use `1.0.0b11` or greater. + +### Thanks + +Thanks to the following projects which we fully rely on to provide some of +our features: + +- [debugpy](https://pypi.org/project/debugpy/) +- [isort](https://pypi.org/project/isort/) +- [jedi](https://pypi.org/project/jedi/) + and [parso](https://pypi.org/project/parso/) +- [Microsoft Python Language Server](https://github.com/microsoft/python-language-server) +- [ptvsd](https://pypi.org/project/ptvsd/) +- [exuberant ctags](http://ctags.sourceforge.net/) (user-installed) +- [rope](https://pypi.org/project/rope/) (user-installed) + +Also thanks to the various projects we provide integrations with which help +make this extension useful: + +- Debugging support: + [Django](https://pypi.org/project/Django/), + [Flask](https://pypi.org/project/Flask/), + [gevent](https://pypi.org/project/gevent/), + [Jinja](https://pypi.org/project/Jinja/), + [Pyramid](https://pypi.org/project/pyramid/), + [PySpark](https://pypi.org/project/pyspark/), + [Scrapy](https://pypi.org/project/Scrapy/), + [Watson](https://pypi.org/project/Watson/) +- Formatting: + [autopep8](https://pypi.org/project/autopep8/), + [black](https://pypi.org/project/black/), + [yapf](https://pypi.org/project/yapf/) +- Interpreter support: + [conda](https://conda.io/), + [direnv](https://direnv.net/), + [pipenv](https://pypi.org/project/pipenv/), + [pyenv](https://github.com/pyenv/pyenv), + [venv](https://docs.python.org/3/library/venv.html#module-venv), + [virtualenv](https://pypi.org/project/virtualenv/) +- Linting: + [bandit](https://pypi.org/project/bandit/), + [flake8](https://pypi.org/project/flake8/), + [mypy](https://pypi.org/project/mypy/), + [prospector](https://pypi.org/project/prospector/), + [pylint](https://pypi.org/project/pylint/), + [pydocstyle](https://pypi.org/project/pydocstyle/), + [pylama](https://pypi.org/project/pylama/) +- Testing: + [nose](https://pypi.org/project/nose/), + [pytest](https://pypi.org/project/pytest/), + [unittest](https://docs.python.org/3/library/unittest.html#module-unittest) + +And finally thanks to the [Python](https://www.python.org/) development team and +community for creating a fantastic programming language and community to be a +part of! + +## 2020.5.2 (8 June 2020) + +### Fixes + +1. Double-check for interpreters when running diagnostics before displaying the "Python is not installed" message. + ([#11870](https://github.com/Microsoft/vscode-python/issues/11870)) +1. Ensure user cannot belong to all experiments in an experiment group. + ([#11943](https://github.com/Microsoft/vscode-python/issues/11943)) +1. Ensure extension features are started when in `Deprecate PythonPath` experiment and opening a file without any folder opened. + ([#12177](https://github.com/Microsoft/vscode-python/issues/12177)) + +### Code Health + +1. Integrate VS Code experiment framework in the extension. + ([#10790](https://github.com/Microsoft/vscode-python/issues/10790)) +1. Update telemetry on errors and exceptions to use [vscode-extension-telemetry](https://www.npmjs.com/package/vscode-extension-telemetry). + ([#11597](https://github.com/Microsoft/vscode-python/issues/11597)) + +### Thanks + +Thanks to the following projects which we fully rely on to provide some of +our features: + +- [debugpy](https://pypi.org/project/debugpy/) +- [isort](https://pypi.org/project/isort/) +- [jedi](https://pypi.org/project/jedi/) + and [parso](https://pypi.org/project/parso/) +- [Microsoft Python Language Server](https://github.com/microsoft/python-language-server) +- [ptvsd](https://pypi.org/project/ptvsd/) +- [exuberant ctags](http://ctags.sourceforge.net/) (user-installed) +- [rope](https://pypi.org/project/rope/) (user-installed) + +Also thanks to the various projects we provide integrations with which help +make this extension useful: + +- Debugging support: + [Django](https://pypi.org/project/Django/), + [Flask](https://pypi.org/project/Flask/), + [gevent](https://pypi.org/project/gevent/), + [Jinja](https://pypi.org/project/Jinja/), + [Pyramid](https://pypi.org/project/pyramid/), + [PySpark](https://pypi.org/project/pyspark/), + [Scrapy](https://pypi.org/project/Scrapy/), + [Watson](https://pypi.org/project/Watson/) +- Formatting: + [autopep8](https://pypi.org/project/autopep8/), + [black](https://pypi.org/project/black/), + [yapf](https://pypi.org/project/yapf/) +- Interpreter support: + [conda](https://conda.io/), + [direnv](https://direnv.net/), + [pipenv](https://pypi.org/project/pipenv/), + [pyenv](https://github.com/pyenv/pyenv), + [venv](https://docs.python.org/3/library/venv.html#module-venv), + [virtualenv](https://pypi.org/project/virtualenv/) +- Linting: + [bandit](https://pypi.org/project/bandit/), + [flake8](https://pypi.org/project/flake8/), + [mypy](https://pypi.org/project/mypy/), + [prospector](https://pypi.org/project/prospector/), + [pylint](https://pypi.org/project/pylint/), + [pydocstyle](https://pypi.org/project/pydocstyle/), + [pylama](https://pypi.org/project/pylama/) +- Testing: + [nose](https://pypi.org/project/nose/), + [pytest](https://pypi.org/project/pytest/), + [unittest](https://docs.python.org/3/library/unittest.html#module-unittest) + +And finally thanks to the [Python](https://www.python.org/) development team and +community for creating a fantastic programming language and community to be a +part of! + +## 2020.5.1 (19 May 2020) + +### Fixes + +1. Do not execute shebang as an interpreter until user has clicked on the codelens enclosing the shebang. + ([#11687](https://github.com/Microsoft/vscode-python/issues/11687)) + +### Thanks + +Thanks to the following projects which we fully rely on to provide some of +our features: + +- [debugpy](https://pypi.org/project/debugpy/) +- [isort](https://pypi.org/project/isort/) +- [jedi](https://pypi.org/project/jedi/) + and [parso](https://pypi.org/project/parso/) +- [Microsoft Python Language Server](https://github.com/microsoft/python-language-server) +- [ptvsd](https://pypi.org/project/ptvsd/) +- [exuberant ctags](http://ctags.sourceforge.net/) (user-installed) +- [rope](https://pypi.org/project/rope/) (user-installed) + +Also thanks to the various projects we provide integrations with which help +make this extension useful: + +- Debugging support: + [Django](https://pypi.org/project/Django/), + [Flask](https://pypi.org/project/Flask/), + [gevent](https://pypi.org/project/gevent/), + [Jinja](https://pypi.org/project/Jinja/), + [Pyramid](https://pypi.org/project/pyramid/), + [PySpark](https://pypi.org/project/pyspark/), + [Scrapy](https://pypi.org/project/Scrapy/), + [Watson](https://pypi.org/project/Watson/) +- Formatting: + [autopep8](https://pypi.org/project/autopep8/), + [black](https://pypi.org/project/black/), + [yapf](https://pypi.org/project/yapf/) +- Interpreter support: + [conda](https://conda.io/), + [direnv](https://direnv.net/), + [pipenv](https://pypi.org/project/pipenv/), + [pyenv](https://github.com/pyenv/pyenv), + [venv](https://docs.python.org/3/library/venv.html#module-venv), + [virtualenv](https://pypi.org/project/virtualenv/) +- Linting: + [bandit](https://pypi.org/project/bandit/), + [flake8](https://pypi.org/project/flake8/), + [mypy](https://pypi.org/project/mypy/), + [prospector](https://pypi.org/project/prospector/), + [pylint](https://pypi.org/project/pylint/), + [pydocstyle](https://pypi.org/project/pydocstyle/), + [pylama](https://pypi.org/project/pylama/) +- Testing: + [nose](https://pypi.org/project/nose/), + [pytest](https://pypi.org/project/pytest/), + [unittest](https://docs.python.org/3/library/unittest.html#module-unittest) + +And finally thanks to the [Python](https://www.python.org/) development team and +community for creating a fantastic programming language and community to be a +part of! + +## 2020.5.0 (12 May 2020) + +### Enhancements + +1. Added ability to manually enter a path to interpreter in the select interpreter dropdown. + ([#216](https://github.com/Microsoft/vscode-python/issues/216)) +1. Add status bar item with icon when installing Insiders/Stable build. + (thanks to [ErwanDL](https://github.com/ErwanDL/)) + ([#10495](https://github.com/Microsoft/vscode-python/issues/10495)) +1. Support for language servers that don't allow incremental document updates inside of notebooks and the interactive window. + ([#10818](https://github.com/Microsoft/vscode-python/issues/10818)) +1. Add telemetry for "Python is not installed" prompt. + ([#10885](https://github.com/Microsoft/vscode-python/issues/10885)) +1. Add basic liveshare support for raw kernels. + ([#10988](https://github.com/Microsoft/vscode-python/issues/10988)) +1. Do a one-off transfer of existing values for `python.pythonPath` setting to new Interpreter storage if in DeprecatePythonPath experiment. + ([#11052](https://github.com/Microsoft/vscode-python/issues/11052)) +1. Ensure the language server can query pythonPath when in the Deprecate PythonPath experiment. + ([#11083](https://github.com/Microsoft/vscode-python/issues/11083)) +1. Added prompt asking users to delete `python.pythonPath` key from their workspace settings when in Deprecate PythonPath experiment. + ([#11108](https://github.com/Microsoft/vscode-python/issues/11108)) +1. Added `getDebuggerPackagePath` extension API to get the debugger package path. + ([#11236](https://github.com/Microsoft/vscode-python/issues/11236)) +1. Expose currently selected interpreter path using API. + ([#11294](https://github.com/Microsoft/vscode-python/issues/11294)) +1. Show a prompt asking user to upgrade Code runner to new version to keep using it when in Deprecate PythonPath experiment. + ([#11327](https://github.com/Microsoft/vscode-python/issues/11327)) +1. Rename string `${config:python.pythonPath}` which is used in `launch.json` to refer to interpreter path set in settings, to `${config:python.interpreterPath}`. + ([#11446](https://github.com/Microsoft/vscode-python/issues/11446)) + +### Fixes + +1. Added 'Enable Scrolling For Cell Outputs' setting. Works together with the 'Max Output Size' setting. + ([#9801](https://github.com/Microsoft/vscode-python/issues/9801)) +1. Fix ctrl+enter on markdown cells. Now they render. + ([#10006](https://github.com/Microsoft/vscode-python/issues/10006)) +1. Cancelling the prompt to restart the kernel should not leave the toolbar buttons disabled. + ([#10356](https://github.com/Microsoft/vscode-python/issues/10356)) +1. Getting environment variables of activated environments should ignore the setting `python.terminal.activateEnvironment`. + ([#10370](https://github.com/Microsoft/vscode-python/issues/10370)) +1. Show notebook path when listing remote kernels. + ([#10521](https://github.com/Microsoft/vscode-python/issues/10521)) +1. Allow filtering on '0' for the Data Viewer. + ([#10552](https://github.com/Microsoft/vscode-python/issues/10552)) +1. Allow interrupting the kernel more than once. + ([#10587](https://github.com/Microsoft/vscode-python/issues/10587)) +1. Make error links in exception tracebacks support multiple cells in the stack and extra spaces. + ([#10708](https://github.com/Microsoft/vscode-python/issues/10708)) +1. Add channel property onto returned ZMQ messages. + ([#10785](https://github.com/Microsoft/vscode-python/issues/10785)) +1. Fix problem with shape not being computed for some types in the variable explorer. + ([#10825](https://github.com/Microsoft/vscode-python/issues/10825)) +1. Enable cell related commands when a Python file is already open. + ([#10884](https://github.com/Microsoft/vscode-python/issues/10884)) +1. Fix issue with parsing long conda environment names. + ([#10942](https://github.com/Microsoft/vscode-python/issues/10942)) +1. Hide progress indicator once `Interactive Window` has loaded. + ([#11065](https://github.com/Microsoft/vscode-python/issues/11065)) +1. Do not perform pipenv interpreter discovery on extension activation. + Fix for [CVE-2020-1171](https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/CVE-2020-1171). + ([#11127](https://github.com/Microsoft/vscode-python/issues/11127)) +1. Ensure arguments are included in log messages when using decorators. + ([#11153](https://github.com/Microsoft/vscode-python/issues/11153)) +1. Fix for opening the interactive window when no workspace is open. + ([#11291](https://github.com/Microsoft/vscode-python/issues/11291)) +1. Conda environments working with raw kernels. + ([#11306](https://github.com/Microsoft/vscode-python/issues/11306)) +1. Ensure isolate script is passed as command argument when installing modules. + ([#11399](https://github.com/Microsoft/vscode-python/issues/11399)) +1. Make raw kernel launch respect launched resource environment. + ([#11451](https://github.com/Microsoft/vscode-python/issues/11451)) +1. When using a kernelspec without a fully qualified python path make sure we use the resource to get the active interpreter. + ([#11469](https://github.com/Microsoft/vscode-python/issues/11469)) +1. For direct kernel launch correctly detect if interpreter has changed since last launch. + ([#11530](https://github.com/Microsoft/vscode-python/issues/11530)) +1. Performance improvements when executing multiple cells in `Notebook` and `Interactive Window`. + ([#11576](https://github.com/Microsoft/vscode-python/issues/11576)) +1. Ensure kernel daemons are disposed correctly when closing notebooks. + ([#11579](https://github.com/Microsoft/vscode-python/issues/11579)) +1. When VS quits, make sure to save contents of notebook for next reopen. + ([#11557](https://github.com/Microsoft/vscode-python/issues/11557)) +1. Fix scrolling when clicking in the interactive window to not jump around. + ([#11554](https://github.com/Microsoft/vscode-python/issues/11554)) +1. Setting "Data Science: Run Startup Commands" is now limited to being a user setting. + Fix for [CVE-2020-1192](https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/CVE-2020-1192). + +### Code Health + +1. Enable the `Self Cert` tests for Notebooks. + ([#10447](https://github.com/Microsoft/vscode-python/issues/10447)) +1. Remove deprecated telemetry and old way of searching for `Jupyter`. + ([#10809](https://github.com/Microsoft/vscode-python/issues/10809)) +1. Add telemetry for pipenv interpreter discovery. + ([#11128](https://github.com/Microsoft/vscode-python/issues/11128)) +1. Update to the latest version of [`jedi`](https://github.com/davidhalter/jedi) (`0.17`). Note that this may be the last version of Jedi to support Python 2 and Python 3.5. (#11221; thanks Peter Law) + ([#11221](https://github.com/Microsoft/vscode-python/issues/11221)) +1. Lazy load types from `jupyterlab/services` and similar `npm modules`. + ([#11297](https://github.com/Microsoft/vscode-python/issues/11297)) +1. Remove IJMPConnection implementation while maintaining tests written for it. + ([#11470](https://github.com/Microsoft/vscode-python/issues/11470)) +1. Implement an IJupyterVariables provider for the debugger. + ([#11542](https://github.com/Microsoft/vscode-python/issues/11542)) + +### Thanks + +Thanks to the following projects which we fully rely on to provide some of +our features: + +- [debugpy](https://pypi.org/project/debugpy/) +- [isort](https://pypi.org/project/isort/) +- [jedi](https://pypi.org/project/jedi/) + and [parso](https://pypi.org/project/parso/) +- [Microsoft Python Language Server](https://github.com/microsoft/python-language-server) +- [ptvsd](https://pypi.org/project/ptvsd/) +- [exuberant ctags](http://ctags.sourceforge.net/) (user-installed) +- [rope](https://pypi.org/project/rope/) (user-installed) + +Also thanks to the various projects we provide integrations with which help +make this extension useful: + +- Debugging support: + [Django](https://pypi.org/project/Django/), + [Flask](https://pypi.org/project/Flask/), + [gevent](https://pypi.org/project/gevent/), + [Jinja](https://pypi.org/project/Jinja/), + [Pyramid](https://pypi.org/project/pyramid/), + [PySpark](https://pypi.org/project/pyspark/), + [Scrapy](https://pypi.org/project/Scrapy/), + [Watson](https://pypi.org/project/Watson/) +- Formatting: + [autopep8](https://pypi.org/project/autopep8/), + [black](https://pypi.org/project/black/), + [yapf](https://pypi.org/project/yapf/) +- Interpreter support: + [conda](https://conda.io/), + [direnv](https://direnv.net/), + [pipenv](https://pypi.org/project/pipenv/), + [pyenv](https://github.com/pyenv/pyenv), + [venv](https://docs.python.org/3/library/venv.html#module-venv), + [virtualenv](https://pypi.org/project/virtualenv/) +- Linting: + [bandit](https://pypi.org/project/bandit/), + [flake8](https://pypi.org/project/flake8/), + [mypy](https://pypi.org/project/mypy/), + [prospector](https://pypi.org/project/prospector/), + [pylint](https://pypi.org/project/pylint/), + [pydocstyle](https://pypi.org/project/pydocstyle/), + [pylama](https://pypi.org/project/pylama/) +- Testing: + [nose](https://pypi.org/project/nose/), + [pytest](https://pypi.org/project/pytest/), + [unittest](https://docs.python.org/3/library/unittest.html#module-unittest) + +And finally thanks to the [Python](https://www.python.org/) development team and +community for creating a fantastic programming language and community to be a +part of! + +## 2020.4.1 (27 April 2020) + +### Fixes + +1. Use node FS APIs when searching for python. This is a temporary change until VSC FS APIs are fixed. + ([#10850](https://github.com/Microsoft/vscode-python/issues/10850)) +1. Show unhandled widget messages in the jupyter output window. + ([#11239](https://github.com/Microsoft/vscode-python/issues/11239)) +1. Warn when using a version of the widget `qgrid` greater than `1.1.1` with the recommendation to downgrade to `1.1.1`. + ([#11245](https://github.com/Microsoft/vscode-python/issues/11245)) +1. Allow user modules import when discovering tests. + ([#11264](https://github.com/Microsoft/vscode-python/issues/11264)) +1. Fix issue where downloading ipywidgets from the CDN might be busy. + ([#11274](https://github.com/Microsoft/vscode-python/issues/11274)) +1. Error: Timeout is shown after running any widget more than once. + ([#11334](https://github.com/Microsoft/vscode-python/issues/11334)) +1. Change "python.dataScience.runStartupCommands" commands to be a global setting, not a workspace setting. + ([#11352](https://github.com/Microsoft/vscode-python/issues/11352)) +1. Closing the interactive window shuts down other active notebook sessions. + ([#11404](https://github.com/Microsoft/vscode-python/issues/11404)) + +### Thanks + +Thanks to the following projects which we fully rely on to provide some of +our features: + +- [debugpy](https://pypi.org/project/debugpy/) +- [isort](https://pypi.org/project/isort/) +- [jedi](https://pypi.org/project/jedi/) + and [parso](https://pypi.org/project/parso/) +- [Microsoft Python Language Server](https://github.com/microsoft/python-language-server) +- [ptvsd](https://pypi.org/project/ptvsd/) +- [exuberant ctags](http://ctags.sourceforge.net/) (user-installed) +- [rope](https://pypi.org/project/rope/) (user-installed) + +Also thanks to the various projects we provide integrations with which help +make this extension useful: + +- Debugging support: + [Django](https://pypi.org/project/Django/), + [Flask](https://pypi.org/project/Flask/), + [gevent](https://pypi.org/project/gevent/), + [Jinja](https://pypi.org/project/Jinja/), + [Pyramid](https://pypi.org/project/pyramid/), + [PySpark](https://pypi.org/project/pyspark/), + [Scrapy](https://pypi.org/project/Scrapy/), + [Watson](https://pypi.org/project/Watson/) +- Formatting: + [autopep8](https://pypi.org/project/autopep8/), + [black](https://pypi.org/project/black/), + [yapf](https://pypi.org/project/yapf/) +- Interpreter support: + [conda](https://conda.io/), + [direnv](https://direnv.net/), + [pipenv](https://pypi.org/project/pipenv/), + [pyenv](https://github.com/pyenv/pyenv), + [venv](https://docs.python.org/3/library/venv.html#module-venv), + [virtualenv](https://pypi.org/project/virtualenv/) +- Linting: + [bandit](https://pypi.org/project/bandit/), + [flake8](https://pypi.org/project/flake8/), + [mypy](https://pypi.org/project/mypy/), + [prospector](https://pypi.org/project/prospector/), + [pylint](https://pypi.org/project/pylint/), + [pydocstyle](https://pypi.org/project/pydocstyle/), + [pylama](https://pypi.org/project/pylama/) +- Testing: + [nose](https://pypi.org/project/nose/), + [pytest](https://pypi.org/project/pytest/), + [unittest](https://docs.python.org/3/library/unittest.html#module-unittest) + +And finally thanks to the [Python](https://www.python.org/) development team and +community for creating a fantastic programming language and community to be a +part of! + +## 2020.4.0 (20 April 2020) + +### Enhancements + +1. Add support for `ipywidgets`. + ([#3429](https://github.com/Microsoft/vscode-python/issues/3429)) +1. Support output and interact ipywidgets. + ([#9524](https://github.com/Microsoft/vscode-python/issues/9524)) +1. Support using 'esc' or 'ctrl+u' to clear the contents of the interactive window input box. + ([#10198](https://github.com/Microsoft/vscode-python/issues/10198)) +1. Use new interpreter storage supporting multiroot workspaces when in Deprecate PythonPath experiment. + ([#10325](https://github.com/Microsoft/vscode-python/issues/10325)) +1. Modified `Select interpreter` command to support setting interpreter at workspace level. + ([#10372](https://github.com/Microsoft/vscode-python/issues/10372)) +1. Added a command `Clear Workspace Interpreter Setting` to clear value of Python interpreter from workspace settings. + ([#10374](https://github.com/Microsoft/vscode-python/issues/10374)) +1. Support reverse connection ("listen" in launch.json) from debug adapter to VSCode. + ([#10437](https://github.com/Microsoft/vscode-python/issues/10437)) +1. Use specific icons when downloading MPLS and Insiders instead of the spinner. + ([#10495](https://github.com/Microsoft/vscode-python/issues/10495)) +1. Notebook metadata is now initialized in alphabetical order. + ([#10571](https://github.com/Microsoft/vscode-python/issues/10571)) +1. Added command translations for Hindi Language. + (thanks [Pai026](https://github.com/Pai026/)) + ([#10711](https://github.com/Microsoft/vscode-python/issues/10711)) +1. Prompt when an "untrusted" workspace Python environment is to be auto selected when in Deprecate PythonPath experiment. + ([#10879](https://github.com/Microsoft/vscode-python/issues/10879)) +1. Added a command `Reset stored info for untrusted Interpreters` to reset "untrusted" interpreters storage when in Deprecate PythonPath experiment. + ([#10912](https://github.com/Microsoft/vscode-python/issues/10912)) +1. Added a user setting `python.defaultInterpreterPath` to set up the default interpreter path when in Deprecate PythonPath experiment. + ([#11021](https://github.com/Microsoft/vscode-python/issues/11021)) +1. Hide "untrusted" interpreters from 'Select interpreter' dropdown list when in DeprecatePythonPath Experiment. + ([#11046](https://github.com/Microsoft/vscode-python/issues/11046)) +1. Make spacing of icons on notebook toolbars match spacing on other VS code toolbars. + ([#10464](https://github.com/Microsoft/vscode-python/issues/10464)) +1. Make jupyter server status centered in the UI and use the same font as the rest of VS code. + ([#10465](https://github.com/Microsoft/vscode-python/issues/10465)) +1. Performa validation of interpreter only when a Notebook is opened instead of when extension activates. + ([#10893](https://github.com/Microsoft/vscode-python/issues/10893)) +1. Scrolling in cells doesn't happen on new line. + ([#10952](https://github.com/Microsoft/vscode-python/issues/10952)) +1. Ensure images in workspace folder are supported within markdown cells in a `Notebook`. + ([#11040](https://github.com/Microsoft/vscode-python/issues/11040)) +1. Make sure ipywidgets have a white background so they display in dark themes. + ([#11060](https://github.com/Microsoft/vscode-python/issues/11060)) +1. Arrowing down through cells put the cursor in the wrong spot. + ([#11094](https://github.com/Microsoft/vscode-python/issues/11094)) + +### Fixes + +1. Ensure plot fits within the page of the `PDF`. + ([#9403](https://github.com/Microsoft/vscode-python/issues/9403)) +1. Fix typing in output of cells to not delete or modify any cells. + ([#9519](https://github.com/Microsoft/vscode-python/issues/9519)) +1. Show an error when ipywidgets cannot be found. + ([#9523](https://github.com/Microsoft/vscode-python/issues/9523)) +1. Experiments no longer block on telemetry. + ([#10008](https://github.com/Microsoft/vscode-python/issues/10008)) +1. Fix interactive window debugging after running cells in a notebook. + ([#10206](https://github.com/Microsoft/vscode-python/issues/10206)) +1. Fix problem with Data Viewer not working when builtin functions are overridden (like max). + ([#10280](https://github.com/Microsoft/vscode-python/issues/10280)) +1. Fix interactive window debugging when debugging the first cell to be run. + ([#10395](https://github.com/Microsoft/vscode-python/issues/10395)) +1. Fix interactive window debugging for extra lines in a function. + ([#10396](https://github.com/Microsoft/vscode-python/issues/10396)) +1. Notebook metadata is now initialized in the correct place. + ([#10544](https://github.com/Microsoft/vscode-python/issues/10544)) +1. Fix save button not working on notebooks. + ([#10647](https://github.com/Microsoft/vscode-python/issues/10647)) +1. Fix toolbars on 3rd party widgets to show correct icons. + ([#10734](https://github.com/Microsoft/vscode-python/issues/10734)) +1. Clicking or double clicking in output of a cell selects or gives focus to a cell. It should only affect the controls in the output. + ([#10749](https://github.com/Microsoft/vscode-python/issues/10749)) +1. Fix for notebooks not becoming dirty when changing a kernel. + ([#10795](https://github.com/Microsoft/vscode-python/issues/10795)) +1. Auto save for focusChange is not respected when switching to non text documents. Menu focus will still not cause a save (no callback from VS code for this), but should work for switching to other apps and non text documents. + ([#10853](https://github.com/Microsoft/vscode-python/issues/10853)) +1. Handle display.update inside of cells. + ([#10873](https://github.com/Microsoft/vscode-python/issues/10873)) +1. ZMQ should not cause local server to fail. + ([#10877](https://github.com/Microsoft/vscode-python/issues/10877)) +1. Fixes issue with spaces in debugger paths when using `getRemoteLauncherCommand`. + ([#10905](https://github.com/Microsoft/vscode-python/issues/10905)) +1. Fix output and interact widgets to work again. + ([#10915](https://github.com/Microsoft/vscode-python/issues/10915)) +1. Make sure the same python is used for the data viewer as the notebook so that pandas can be found. + ([#10926](https://github.com/Microsoft/vscode-python/issues/10926)) +1. Ensure user code in cell is preserved between cell execution and cell edits. + ([#10949](https://github.com/Microsoft/vscode-python/issues/10949)) +1. Make sure the interpreter in the notebook matches the kernel. + ([#10953](https://github.com/Microsoft/vscode-python/issues/10953)) +1. Jupyter notebooks and interactive window crashing on startup. + ([#11035](https://github.com/Microsoft/vscode-python/issues/11035)) +1. Fix perf problems after running the interactive window for an extended period of time. + ([#10971](https://github.com/Microsoft/vscode-python/issues/10971)) +1. Fix problem with opening a notebook in jupyter after saving in VS code. + ([#11151](https://github.com/Microsoft/vscode-python/issues/11151)) +1. Fix CTRL+Z and Z for undo on notebooks. + ([#11160](https://github.com/Microsoft/vscode-python/issues/11160)) +1. Fix saving to PDF for viewed plots. + ([#11157](https://github.com/Microsoft/vscode-python/issues/11157)) +1. Fix scrolling in a notebook whenever resizing or opening. + ([#11238](https://github.com/Microsoft/vscode-python/issues/11238)) + +### Code Health + +1. Add conda environments to nightly test runs. + ([#10134](https://github.com/Microsoft/vscode-python/issues/10134)) +1. Refactor the extension activation code to split on phases. + ([#10454](https://github.com/Microsoft/vscode-python/issues/10454)) +1. Added a kernel launcher to spawn python kernels without Jupyter. + ([#10479](https://github.com/Microsoft/vscode-python/issues/10479)) +1. Add ZMQ library to extension. + ([#10483](https://github.com/Microsoft/vscode-python/issues/10483)) +1. Added test harness for `ipywidgets` in `notebooks`. + ([#10655](https://github.com/Microsoft/vscode-python/issues/10655)) +1. Run internal modules and scripts in isolated manner. + This helps avoid problems like shadowing stdlib modules. + ([#10681](https://github.com/Microsoft/vscode-python/issues/10681)) +1. Add telemetry for .env files. + ([#10780](https://github.com/Microsoft/vscode-python/issues/10780)) +1. Update prettier to latest version. + ([#10837](https://github.com/Microsoft/vscode-python/issues/10837)) +1. Update typescript to `3.8`. + ([#10839](https://github.com/Microsoft/vscode-python/issues/10839)) +1. Add telemetry around ipywidgets usage, failures, and overhead. + ([#11027](https://github.com/Microsoft/vscode-python/issues/11027)) + +### Thanks + +Thanks to the following projects which we fully rely on to provide some of +our features: + +- [debugpy](https://pypi.org/project/debugpy/) +- [isort](https://pypi.org/project/isort/) +- [jedi](https://pypi.org/project/jedi/) + and [parso](https://pypi.org/project/parso/) +- [Microsoft Python Language Server](https://github.com/microsoft/python-language-server) +- [ptvsd](https://pypi.org/project/ptvsd/) +- [exuberant ctags](http://ctags.sourceforge.net/) (user-installed) +- [rope](https://pypi.org/project/rope/) (user-installed) + +Also thanks to the various projects we provide integrations with which help +make this extension useful: + +- Debugging support: + [Django](https://pypi.org/project/Django/), + [Flask](https://pypi.org/project/Flask/), + [gevent](https://pypi.org/project/gevent/), + [Jinja](https://pypi.org/project/Jinja/), + [Pyramid](https://pypi.org/project/pyramid/), + [PySpark](https://pypi.org/project/pyspark/), + [Scrapy](https://pypi.org/project/Scrapy/), + [Watson](https://pypi.org/project/Watson/) +- Formatting: + [autopep8](https://pypi.org/project/autopep8/), + [black](https://pypi.org/project/black/), + [yapf](https://pypi.org/project/yapf/) +- Interpreter support: + [conda](https://conda.io/), + [direnv](https://direnv.net/), + [pipenv](https://pypi.org/project/pipenv/), + [pyenv](https://github.com/pyenv/pyenv), + [venv](https://docs.python.org/3/library/venv.html#module-venv), + [virtualenv](https://pypi.org/project/virtualenv/) +- Linting: + [bandit](https://pypi.org/project/bandit/), + [flake8](https://pypi.org/project/flake8/), + [mypy](https://pypi.org/project/mypy/), + [prospector](https://pypi.org/project/prospector/), + [pylint](https://pypi.org/project/pylint/), + [pydocstyle](https://pypi.org/project/pydocstyle/), + [pylama](https://pypi.org/project/pylama/) +- Testing: + [nose](https://pypi.org/project/nose/), + [pytest](https://pypi.org/project/pytest/), + [unittest](https://docs.python.org/3/library/unittest.html#module-unittest) + +And finally thanks to the [Python](https://www.python.org/) development team and +community for creating a fantastic programming language and community to be a +part of! + +## 2020.3.2 (2 April 2020) + +### Fixes + +1. Update `debugpy` to latest (v1.0.0b5). Fixes issue with connections with multi-process. + +### Thanks + +Thanks to the following projects which we fully rely on to provide some of +our features: + +- [debugpy](https://pypi.org/project/debugpy/) +- [isort](https://pypi.org/project/isort/) +- [jedi](https://pypi.org/project/jedi/) + and [parso](https://pypi.org/project/parso/) +- [Microsoft Python Language Server](https://github.com/microsoft/python-language-server) +- [ptvsd](https://pypi.org/project/ptvsd/) +- [exuberant ctags](http://ctags.sourceforge.net/) (user-installed) +- [rope](https://pypi.org/project/rope/) (user-installed) + +Also thanks to the various projects we provide integrations with which help +make this extension useful: + +- Debugging support: + [Django](https://pypi.org/project/Django/), + [Flask](https://pypi.org/project/Flask/), + [gevent](https://pypi.org/project/gevent/), + [Jinja](https://pypi.org/project/Jinja/), + [Pyramid](https://pypi.org/project/pyramid/), + [PySpark](https://pypi.org/project/pyspark/), + [Scrapy](https://pypi.org/project/Scrapy/), + [Watson](https://pypi.org/project/Watson/) +- Formatting: + [autopep8](https://pypi.org/project/autopep8/), + [black](https://pypi.org/project/black/), + [yapf](https://pypi.org/project/yapf/) +- Interpreter support: + [conda](https://conda.io/), + [direnv](https://direnv.net/), + [pipenv](https://pypi.org/project/pipenv/), + [pyenv](https://github.com/pyenv/pyenv), + [venv](https://docs.python.org/3/library/venv.html#module-venv), + [virtualenv](https://pypi.org/project/virtualenv/) +- Linting: + [bandit](https://pypi.org/project/bandit/), + [flake8](https://pypi.org/project/flake8/), + [mypy](https://pypi.org/project/mypy/), + [prospector](https://pypi.org/project/prospector/), + [pylint](https://pypi.org/project/pylint/), + [pydocstyle](https://pypi.org/project/pydocstyle/), + [pylama](https://pypi.org/project/pylama/) +- Testing: + [nose](https://pypi.org/project/nose/), + [pytest](https://pypi.org/project/pytest/), + [unittest](https://docs.python.org/3/library/unittest.html#module-unittest) + +And finally thanks to the [Python](https://www.python.org/) development team and +community for creating a fantastic programming language and community to be a +part of! + +## 2020.3.1 (31 March 2020) + +### Fixes + +1. Update `debugpy` to latest (v1.0.0b4). Fixes issue with locale. + +### Thanks + +Thanks to the following projects which we fully rely on to provide some of +our features: + +- [debugpy](https://pypi.org/project/debugpy/) +- [isort](https://pypi.org/project/isort/) +- [jedi](https://pypi.org/project/jedi/) + and [parso](https://pypi.org/project/parso/) +- [Microsoft Python Language Server](https://github.com/microsoft/python-language-server) +- [ptvsd](https://pypi.org/project/ptvsd/) +- [exuberant ctags](http://ctags.sourceforge.net/) (user-installed) +- [rope](https://pypi.org/project/rope/) (user-installed) + +Also thanks to the various projects we provide integrations with which help +make this extension useful: + +- Debugging support: + [Django](https://pypi.org/project/Django/), + [Flask](https://pypi.org/project/Flask/), + [gevent](https://pypi.org/project/gevent/), + [Jinja](https://pypi.org/project/Jinja/), + [Pyramid](https://pypi.org/project/pyramid/), + [PySpark](https://pypi.org/project/pyspark/), + [Scrapy](https://pypi.org/project/Scrapy/), + [Watson](https://pypi.org/project/Watson/) +- Formatting: + [autopep8](https://pypi.org/project/autopep8/), + [black](https://pypi.org/project/black/), + [yapf](https://pypi.org/project/yapf/) +- Interpreter support: + [conda](https://conda.io/), + [direnv](https://direnv.net/), + [pipenv](https://pypi.org/project/pipenv/), + [pyenv](https://github.com/pyenv/pyenv), + [venv](https://docs.python.org/3/library/venv.html#module-venv), + [virtualenv](https://pypi.org/project/virtualenv/) +- Linting: + [bandit](https://pypi.org/project/bandit/), + [flake8](https://pypi.org/project/flake8/), + [mypy](https://pypi.org/project/mypy/), + [prospector](https://pypi.org/project/prospector/), + [pylint](https://pypi.org/project/pylint/), + [pydocstyle](https://pypi.org/project/pydocstyle/), + [pylama](https://pypi.org/project/pylama/) +- Testing: + [nose](https://pypi.org/project/nose/), + [pytest](https://pypi.org/project/pytest/), + [unittest](https://docs.python.org/3/library/unittest.html#module-unittest) + +And finally thanks to the [Python](https://www.python.org/) development team and +community for creating a fantastic programming language and community to be a +part of! + +## 2020.3.0 (19 March 2020) ### Enhancements @@ -25,6 +1622,8 @@ ### Fixes +1. Jupyter autocompletion will only show magic commands on empty lines, preventing them of appearing in functions. + ([#10023](https://github.com/Microsoft/vscode-python/issues/10023)) 1. Remove extra lines at the end of the file when formatting with Black. ([#1877](https://github.com/Microsoft/vscode-python/issues/1877)) 1. Capitalize `Activate.ps1` in code for PowerShell Core on Linux. @@ -112,6 +1711,8 @@ ([#10311](https://github.com/Microsoft/vscode-python/issues/10311)) 1. When you install missing dependencies for Jupyter successfully in an active interpreter also set that interpreter as the Jupyter selected interpreter. ([#10359](https://github.com/Microsoft/vscode-python/issues/10359)) +1. Ensure default `host` is not set, if `connect` or `listen` settings are available. + ([#10597](https://github.com/Microsoft/vscode-python/issues/10597)) ### Code Health @@ -133,8 +1734,6 @@ ([#10182](https://github.com/Microsoft/vscode-python/issues/10182)) 1. Use debugpy in the core extension instead of ptvsd. ([#10184](https://github.com/Microsoft/vscode-python/issues/10184)) -1. Remove UI Tests. - ([#10192](https://github.com/Microsoft/vscode-python/issues/10192)) 1. Add telemetry for imports in notebooks. ([#10209](https://github.com/Microsoft/vscode-python/issues/10209)) 1. Update data science component to use `debugpy`. @@ -1469,7 +3068,7 @@ part of! ([#7376](https://github.com/Microsoft/vscode-python/issues/7376)) 1. Refactor Azure Pipelines to use stages. ([#7431](https://github.com/Microsoft/vscode-python/issues/7431)) -1. Add unit tests to guarantee that the extension version in the master branch has the '-dev' suffix. +1. Add unit tests to guarantee that the extension version in the main branch has the '-dev' suffix. ([#7471](https://github.com/Microsoft/vscode-python/issues/7471)) 1. Add a smoke test for the `Interactive Window`. ([#7653](https://github.com/Microsoft/vscode-python/issues/7653)) @@ -3544,7 +5143,7 @@ part of! ([#3317](https://github.com/Microsoft/vscode-python/issues/3317)) 1. Add YAML file specification for CI builds ([#3350](https://github.com/Microsoft/vscode-python/issues/3350)) -1. Stop running CI tests against the `master` branch of ptvsd. +1. Stop running CI tests against the `main` branch of ptvsd. ([#3414](https://github.com/Microsoft/vscode-python/issues/3414)) 1. Be more aggressive in searching for a Python environment that can run Jupyter (make sure to cleanup any kernelspecs that are created during this process). @@ -4415,7 +6014,7 @@ nearly as feature-rich and useful as it is. ([#1703](https://github.com/Microsoft/vscode-python/issues/1703)) 1. Update debug capabilities to add support for the setting `supportTerminateDebuggee` due to an upstream update from [PTVSD](https://github.com/Microsoft/ptvsd/issues). ([#1719](https://github.com/Microsoft/vscode-python/issues/1719)) -1. Build and upload development build of the extension to the Azure blob store even if CI tests fail on the `master` branch. +1. Build and upload development build of the extension to the Azure blob store even if CI tests fail on the `main` branch. ([#1730](https://github.com/Microsoft/vscode-python/issues/1730)) 1. Changes to the script used to upload the extension to the Azure blob store. ([#1732](https://github.com/Microsoft/vscode-python/issues/1732)) @@ -4545,7 +6144,7 @@ his help on [our issue tracker](https://github.com/Microsoft/vscode-python)! ([#1216](https://github.com/Microsoft/vscode-python/issues/1216)) 1. Parallelize jobs (unit tests) on CI server. ([#1247](https://github.com/Microsoft/vscode-python/issues/1247)) -1. Run CI tests against the release version and master branch of PTVSD (experimental debugger), allowing tests to fail against the master branch of PTVSD. +1. Run CI tests against the release version and main branch of PTVSD (experimental debugger), allowing tests to fail against the main branch of PTVSD. ([#1253](https://github.com/Microsoft/vscode-python/issues/1253)) 1. Only trigger the extension for `file` and `untitled` in preparation for [Visual Studio Live Share](https://aka.ms/vsls) diff --git a/CODING_STANDARDS.md b/CODING_STANDARDS.md index 36f04c4a1ff0..f6d3a03a943d 100644 --- a/CODING_STANDARDS.md +++ b/CODING_STANDARDS.md @@ -1,22 +1,23 @@ ## Coding guidelines for TypeScript -* The following standards are inspired from [Coding guidelines for TypeScript](https://github.com/Microsoft/TypeScript/wiki/Coding-guidelines) (which you should follow when something is not specified in this document, although any pre-existing practices in a file being edited trump either style guide). + +- The following standards are inspired from [Coding guidelines for TypeScript](https://github.com/Microsoft/TypeScript/wiki/Coding-guidelines) (which you should follow when something is not specified in this document, although any pre-existing practices in a file being edited trump either style guide). ### Names -* Use `PascalCase` for type names. -* Use `I` as a prefix for interface names only when an interface is implemented by a class. -* Use `PascalCase` for enum values. -* Use `camelCase` for function names. -* Use `camelCase` for property names and local variables. -* Do not use `_` as a prefix for private properties (unless used as backing properties). -* Use whole words in names when possible. +- Use `PascalCase` for type names. +- Use `I` as a prefix for interface names only when an interface is implemented by a class. +- Use `PascalCase` for enum values. +- Use `camelCase` for function names. +- Use `camelCase` for property names and local variables. +- Do not use `_` as a prefix for private properties (unless used as backing properties). +- Use whole words in names when possible. ### Types -* Do not export types/functions unless you need to share it across multiple components. -* Do not introduce new types/values to the global namespace. -* Shared types should be defined in `types.ts`. -Within a file, type definitions should come first. +- Do not export types/functions unless you need to share it across multiple components. +- Do not introduce new types/values to the global namespace. +- Shared types should be defined in `types.ts`. + Within a file, type definitions should come first. ### null and undefined @@ -24,8 +25,8 @@ Use undefined. Do not use null. ### Comments -* Comments must end with a period. -* Use JSDoc style comments for functions, interfaces, enums, and classes. +- Comments must end with a period. +- Use JSDoc style comments for functions, interfaces, enums, and classes. ### Strings @@ -33,21 +34,22 @@ Use single quotes for strings. ### Imports -* Use ES6 module imports. -* Do not use bare `import *`; all imports should either explicitly pull in an object or import an entire module, otherwise you're implicitly polluting the global namespace and making it difficult to figure out from code examination where a name originates from. +- Use ES6 module imports. +- Do not use bare `import *`; all imports should either explicitly pull in an object or import an entire module, otherwise you're implicitly polluting the global namespace and making it difficult to figure out from code examination where a name originates from. ### Style -* Use `prettier` to format `TypeScript` and `JavaScript` code. -* Use arrow functions over anonymous function expressions. -* Always surround loop and conditional bodies with curly braces. Statements on the same line are allowed to omit braces. -* Open curly braces always go on the same line as whatever necessitates them. -* Parenthesized constructs should have no surrounding whitespace. -* A single space follows commas, colons, and semicolons in those constructs. For example: - * `for (var i = 0, n = str.length; i < 10; i++) { }` - * `if (x < 10) { }` - * `function f(x: number, y: string): void { }` - -* `else` goes on the same line from the closing curly brace. -* Use 4 spaces per indentation. -* All files must end with an empty line. +- Use `prettier` to format `TypeScript` and `JavaScript` code. +- Use arrow functions over anonymous function expressions. +- Always surround loop and conditional bodies with curly braces. Statements on the same line are allowed to omit braces. +- Open curly braces always go on the same line as whatever necessitates them. +- Parenthesized constructs should have no surrounding whitespace. +- A single space follows commas, colons, and semicolons in those constructs. For example: + + - `for (var i = 0, n = str.length; i < 10; i++) { }` + - `if (x < 10) { }` + - `function f(x: number, y: string): void { }` + +- `else` goes on the same line from the closing curly brace. +- Use 4 spaces per indentation. +- All files must end with an empty line. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e13e9c6d6eb1..a0b321c581b6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,32 +1,29 @@ # Contributing to the Python extension for Visual Studio Code - - - --- -| `release` branch | `master` branch | Nightly CI | coverage (`master` branch) | -|-|-|-|-| -| [![Build Status](https://dev.azure.com/ms/vscode-python/_apis/build/status/CI?branchName=release)](https://dev.azure.com/ms/vscode-python/_build/latest?definitionId=88&branchName=release) | [![Build Status](https://dev.azure.com/ms/vscode-python/_apis/build/status/CI?branchName=master)](https://dev.azure.com/ms/vscode-python/_build/latest?definitionId=88&branchName=master) | [![Build Status](https://dev.azure.com/ms/vscode-python/_apis/build/status/Nightly%20Build?branchName=master)](https://dev.azure.com/ms/vscode-python/_build/latest?definitionId=85&branchName=master) | [![codecov](https://codecov.io/gh/microsoft/vscode-python/branch/master/graph/badge.svg)](https://codecov.io/gh/microsoft/vscode-python) | +| `release` branch | `main` branch | Nightly CI | coverage (`main` branch) | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| [![Build Status](https://dev.azure.com/ms/vscode-python/_apis/build/status/CI?branchName=release)](https://dev.azure.com/ms/vscode-python/_build/latest?definitionId=88&branchName=release) | [![Build Status](https://dev.azure.com/ms/vscode-python/_apis/build/status/CI?branchName=main)](https://dev.azure.com/ms/vscode-python/_build/latest?definitionId=88&branchName=main) | [![Build Status](https://dev.azure.com/ms/vscode-python/_apis/build/status/Nightly%20Build?branchName=main)](https://dev.azure.com/ms/vscode-python/_build/latest?definitionId=85&branchName=main) | [![codecov](https://codecov.io/gh/microsoft/vscode-python/branch/main/graph/badge.svg)](https://codecov.io/gh/microsoft/vscode-python) | [[Development build](https://pvsc.blob.core.windows.net/extension-builds/ms-python-insiders.vsix)] --- -[For contributing to the [Microsoft Python Language Server](https://github.com/Microsoft/python-language-server) see its own repo; for [ptvsd](https://github.com/microsoft/ptvsd) see its own repo] +[For contributing to the [Microsoft Python Language Server](https://github.com/Microsoft/python-language-server) see its own repo; for [Pylance](https://github.com/microsoft/pylance-release) see its own repo; for [debugpy](https://github.com/microsoft/debugpy) see its own repo] ## Contributing a pull request ### Prerequisites -1. [Node.js](https://nodejs.org/) 12.x +1. [Node.js](https://nodejs.org/) 12.15 1. [Python](https://www.python.org/) 2.7 or later 1. Windows, macOS, or Linux 1. [Visual Studio Code](https://code.visualstudio.com/) 1. The following VS Code extensions: - * [TSLint](https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-typescript-tslint-plugin) - * [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) - * [EditorConfig for VS Code](https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig) + - [TSLint](https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-typescript-tslint-plugin) + - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) + - [EditorConfig for VS Code](https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig) 1. Have an issue which has a "needs PR" label (feel free to indicate you would like to provide a PR for the issue so others don't work on it as well) ### Setup @@ -45,6 +42,7 @@ python3 -m pip install black # CI_PYTHON_PATH environment variable. npx gulp installPythonLibs ``` + If you see warnings that `The engine "vscode" appears to be invalid.`, you can ignore these. ### Incremental Build @@ -52,11 +50,13 @@ If you see warnings that `The engine "vscode" appears to be invalid.`, you can i Run the `Compile` and `Hygiene` build Tasks from the [Run Build Task...](https://code.visualstudio.com/docs/editor/tasks) command picker (short cut `CTRL+SHIFT+B` or `⇧⌘B`). This will leave build and hygiene tasks running in the background and which will re-run as files are edited and saved. You can see the output from either task in the Terminal panel (use the selector to choose which output to look at). You can also compile from the command-line. For a full compile you can use: + ```shell npx gulp prePublishNonBundle ``` For incremental builds you can use the following commands depending on your needs: + ```shell npm run compile npm run compile-webviews-watch # For data science (React Code) @@ -71,7 +71,7 @@ TypeScript errors and warnings will be displayed in the `Problems` window of Vis ### Run dev build and validate your changes -To test changes, open the `vscode-python` folder in VSCode, and select the workspace titled `vscode`. +To test changes, open the `vscode-python` folder in VSCode, and select the workspace titled `vscode-python`. Then, open the debug panel by clicking the `Run and Debug` icon on the sidebar, select the `Extension` option from the top menu, and click start. A new window will launch with the title `[Extension Development Host]`. @@ -83,7 +83,7 @@ Note: Unit tests are those in files with extension `.unit.test.ts`. 1. Make sure you have compiled all code (done automatically when using incremental building) 1. Ensure you have disabled breaking into 'Uncaught Exceptions' when running the Unit Tests 1. For the linters and formatters tests to pass successfully, you will need to have those corresponding Python libraries installed locally -1. Run the Tests via the `Unit Tests` launch option. +1. Run the Tests via the `Unit Tests` launch option. You can also run them from the command-line (after compiling): @@ -92,7 +92,7 @@ npm run test:unittests # runs all unit tests npm run test:unittests -- --grep='' ``` -*To run only a specific test suite for unit tests:* +_To run only a specific test suite for unit tests:_ Alter the `launch.json` file in the `"Debug Unit Tests"` section by setting the `grep` field: ```js @@ -101,6 +101,7 @@ Alter the `launch.json` file in the `"Debug Unit Tests"` section by setting the "--grep", "" ], ``` + ...this will only run the suite with the tests you care about during a test run (be sure to set the debugger to run the `Debug Unit Tests` launcher). ### Running Functional Tests @@ -110,8 +111,8 @@ These tests are similar to system tests in scope, but are run like unit tests. You can run functional tests in a similar way to that for unit tests: -* via the "Functional Tests" launch option, or -* on the command line via `npm run test:functional` +- via the "Functional Tests" launch option, or +- on the command line via `npm run test:functional` ### Running System Tests @@ -123,50 +124,87 @@ Note: System tests are those in files with extension `.test*.ts` but which are n 1. Run the tests via `npm run` or the Debugger launch options (you can "Start Without Debugging"). 1. **Note** you will be running tests under the default Python interpreter for the system. -*Change the version of python the tests are executed with by setting the `CI_PYTHON_PATH`.* - -Tests will be executed using the system default interpreter (whatever that is for your local machine), unless you explicitly set the `CI_PYTHON_PATH` environment variable. To test against different versions of Python you *must* use this. - -In the launch.json file, you can add the following to the appropriate configuration you want to run to easily change the interpreter used during testing: - -```js - "env":{ - "CI_PYTHON_PATH": "/absolute/path/to/interpreter/of/choice/python" - } -``` - You can also run the tests from the command-line (after compiling): ```shell npm run testSingleWorkspace # will launch the VSC UI npm run testMultiWorkspace # will launch the VSC UI ``` -...note this will use the Python interpreter that your current shell is making use of, no need to set `CI_PYTHON_PATH` here. -*To limit system tests to a specific suite* +#### Customising the Test Run + +If you want to change which tests are run or which version of Python is used, +you can do this by setting environment variables. The same variables work when +running from the command line or launching from within VSCode, though the +mechanism used to specify them changes a little. + +- Setting `CI_PYTHON_PATH` lets you change the version of python the tests are executed with +- Setting `VSC_PYTHON_CI_TEST_GREP` lets you filter the tests by name + +_`CI_PYTHON_PATH`_ + +In some tests a Python executable is actually run. The default executable is +`python` (for now). Unless you've run the tests inside a virtual environment, +this will almost always mean Python 2 is used, which probably isn't what you +want. + +By setting the `CI_PYTHON_PATH` environment variable you can +control the exact Python executable that gets used. If the executable +you specify isn't on `$PATH` then be sure to use an absolute path. -If you are running system tests (we call them *system* tests, others call them *integration* or otherwise) and you wish to run a specific test suite, edit the `src/test/index.ts` file here: +This is also the mechanism for testing against other versions of Python. -https://github.com/Microsoft/vscode-python/blob/b328ba12331ed34a267e32e77e3e4b1eff235c13/src/test/index.ts#L21 +_`VSC_PYTHON_CI_TEST_GREP`_ -...and identify the test suite you want to run/debug like this: +This environment variable allows providing a regular expression which will +be matched against suite and test "names" to be run. By default all tests +are run. -```ts -const grep = '[The suite name of your *test.ts file]'; // IS_CI_SERVER &&... +For example, to run only the tests in the `Sorting` suite (from +[`src/test/format/extension.sort.test.ts`](https://github.com/Microsoft/vscode-python/blob/84f9c7a174111/src/test/format/extension.sort.test.ts)) +you would set the value to `Sorting`. To run the `ProcessService` and +`ProcessService Observable` tests which relate to `stderr` handling, you might +use the value `ProcessService.*stderr`. + +Be sure to escape any grep-sensitive characters in your suite name. + +In some rare cases in the "system" tests the `VSC_PYTHON_CI_TEST_GREP` +environment variable is ignored. If that happens then you will need to +temporarily modify the `const grep =` line in +[`src/test/index.ts`](https://github.com/Microsoft/vscode-python/blob/84f9c7a174111/src/test/index.ts#L64). + +_Launching from VSCode_ + +In order to set environment variables when launching the tests from VSCode you +should edit the `launch.json` file. For example you can add the following to the +appropriate configuration you want to run to change the interpreter used during +testing: + +```js + "env": { + "CI_PYTHON_PATH": "/absolute/path/to/interpreter/of/choice/python" + } ``` -...and then use the `Launch Tests` debugger launcher. This will run only the suite you name in the grep. -And be sure to escape any grep-sensitive characters in your suite name (and to remove the change from src/test/index.ts before you submit). +_On the command line_ + +The mechanism to set environment variables on the command line will vary based +on your system, however most systems support a syntax like the following for +setting a single variable for a subprocess: + +```shell +VSC_PYTHON_CI_TEST_GREP=Sorting npm run testSingleWorkspace +``` ### Testing Python Scripts -The extension has a number of scripts in ./pythonFiles. Tests for these -scripts are found in ./pythonFiles/tests. To run those tests: +The extension has a number of scripts in ./pythonFiles. Tests for these +scripts are found in ./pythonFiles/tests. To run those tests: -* `python2.7 pythonFiles/tests/run_all.py` -* `python3 -m pythonFiles.tests` +- `python2.7 pythonFiles/tests/run_all.py` +- `python3 -m pythonFiles.tests` -By default, functional tests are included. To exclude them: +By default, functional tests are included. To exclude them: `python3 -m pythonFiles.tests --no-functional` @@ -181,14 +219,14 @@ Clone the repo into any directory, open that directory in VSCode, and use the `E ### Debugging the Python Extension Debugger The easiest way to debug the Python Debugger (in our opinion) is to clone this git repo directory into [your](https://code.visualstudio.com/docs/extensions/install-extension#_your-extensions-folder) extensions directory. -From there use the ```Extension + Debugger``` launch option. +From there use the `Extension + Debugger` launch option. ### Coding Standards -Information on our coding standards can be found [here](https://github.com/Microsoft/vscode-python/blob/master/CODING_STANDARDS.md). -We have CI tests to ensure the code committed will adhere to the above coding standards. *You can run this locally by executing the command `npx gulp precommit` or use the `precommit` Task. +Information on our coding standards can be found [here](https://github.com/Microsoft/vscode-python/blob/main/CODING_STANDARDS.md). +We have CI tests to ensure the code committed will adhere to the above coding standards. \*You can run this locally by executing the command `npx gulp precommit` or use the `precommit` Task. -Messages displayed to the user must be localized using/created constants from/in the [localize.ts](https://github.com/Microsoft/vscode-python/blob/master/src/client/common/utils/localize.ts) file. +Messages displayed to the user must be localized using/created constants from/in the [localize.ts](https://github.com/Microsoft/vscode-python/blob/main/src/client/common/utils/localize.ts) file. ## Development process @@ -215,23 +253,20 @@ than the next sprint from when it was submitted (see ### Release cycle -Planning is done as two week sprints. We start a sprint every other Wednesday. -You can look at the newest -[milestone](https://github.com/Microsoft/vscode-python/milestones) to see when -the current sprint ends. All -[P0](https://github.com/Microsoft/vscode-python/labels/P0) issues are expected +Planning is done as one week sprints. We start a sprint every Thursday. +All [P0](https://github.com/Microsoft/vscode-python/labels/P0) issues are expected to be fixed in the current sprint, else the next release will be blocked. [P1](https://github.com/Microsoft/vscode-python/labels/P1) issues are a top-priority and we try to close before the next release. All other issues are considered best-effort for that sprint. -The extension aims to do a new release every four weeks (two sprints). A +The extension aims to do a new release once a month. A [release plan](https://github.com/Microsoft/vscode-python/labels/release%20plan) is created for each release to help track anything that requires a person to do (long-term this project aims to automate as much of the development process as possible). -All development is actively done in the `master` branch of the +All development is actively done in the `main` branch of the repository. This allows us to have a [development build](#development-build) which is expected to be stable at all times. Once we reach a release candidate, it becomes @@ -265,7 +300,7 @@ have a merged fix and verify that the fix did in fact work. The other is to try ### Pull requests Key details that all pull requests are expected to handle should be -in the [pull request template](https://github.com/Microsoft/vscode-python/blob/master/.github/PULL_REQUEST_TEMPLATE.md). We do expect CI to be passing for a pull request before we will consider merging it. +in the [pull request template](https://github.com/Microsoft/vscode-python/blob/main/.github/PULL_REQUEST_TEMPLATE.md). We do expect CI to be passing for a pull request before we will consider merging it. ### Versioning @@ -282,15 +317,37 @@ For example the first release made in 2020 is `2020.1.`. Overall steps for releasing are covered in the [release plan](https://github.com/Microsoft/vscode-python/labels/release%20plan) -([template](https://github.com/Microsoft/vscode-python/blob/master/.github/release_plan.md)). - +([template](https://github.com/Microsoft/vscode-python/blob/main/.github/release_plan.md)). ### Building a release -To create a release _build_, follow the steps outlined in the [release plan](https://github.com/Microsoft/vscode-python/labels/release%20plan) (which has a [template](https://github.com/Microsoft/vscode-python/blob/master/.github/release_plan.md)). +To create a release _build_, follow the steps outlined in the [release plan](https://github.com/Microsoft/vscode-python/labels/release%20plan) (which has a [template](https://github.com/Microsoft/vscode-python/blob/main/.github/release_plan.md)). + +## Local Build + +Steps to build the extension on your machine once you've cloned the repo: + +```bash +> npm install -g vsce +# Perform the next steps in the vscode-python folder. +> npm ci +> python3 -m pip --disable-pip-version-check install -t ./pythonFiles/lib/python --no-cache-dir --implementation py --no-deps --upgrade -r requirements.txt +# For python 3.6 and lower use this command to install the debugger +> python3 -m pip --disable-pip-version-check install -t ./pythonFiles/lib/python --no-cache-dir --implementation py --no-deps --upgrade --pre debugpy +# For python 3.7 and greater use this command to install the debugger +> python3 -m pip --disable-pip-version-check install -r build/debugger-install-requirements.txt +> python3 ./pythonFiles/install_debugpy.py +> npm run clean +> npm run package # This step takes around 10 minutes. +``` + +Resulting in a `ms-python-insiders.vsix` file in your `vscode-python` folder. + +⚠️ If you made changes to `package.json`, run `npm install` (instead of `npm ci`) to update `package-lock.json` and install dependencies all at once. ## Development Build -If you would like to use the latest version of the extension as committed to `master` that has passed our test suite, then you may set the `"python.insidersChannel"` setting to `"daily"` or `"weekly"` based on how often you would like the extension to check for updates. + +If you would like to use the latest version of the extension as committed to `main` that has passed our test suite, then you may set the `"python.insidersChannel"` setting to `"daily"` or `"weekly"` based on how often you would like the extension to check for updates. You may also download and install the extension manually from the following [location](https://pvsc.blob.core.windows.net/extension-builds/ms-python-insiders.vsix). diff --git a/PYTHON_INTERACTIVE_TROUBLESHOOTING.md b/PYTHON_INTERACTIVE_TROUBLESHOOTING.md index 35e3f779e765..03688ee0a986 100644 --- a/PYTHON_INTERACTIVE_TROUBLESHOOTING.md +++ b/PYTHON_INTERACTIVE_TROUBLESHOOTING.md @@ -1,64 +1,66 @@ -# Troubleshooting Jupyter issues in the Python Interactive Window or Notebook Editor - -This document is intended to help troubleshoot problems with starting Jupyter in the Python Interactive Window or Notebook Editor. - ---- -## Jupyter Not Starting -This error can happen when - -* Jupyter is out of date -* Jupyter is not installed -* You picked the wrong Python environment (one that doesn't have Jupyter installed). - -### The first step is to verify you are running the Python environment that you have Jupyter installed into. - -The first time that you start the Interactive Window or the Notebook Editor VS Code will attempt to locate a Python environment that has Jupyter installed in it and can start a notebook. - -The first Python interpreter to check will be the one selected with the selection dropdown on the bottom left of the VS Code window: - -![selector](resources/PythonSelector.png) - -Once a suitable interpreter with Jupyter has been located, VS Code will continue to use that interpreter for starting up Jupyter servers. -If no interpreters are found with Jupyter installed a popup message will ask if you would like to install Jupyter into the current interpreter. - -![install Jupyter](resources/InstallJupyter.png) - -If you would like to change from using the saved Python interpreter to a new interpreter for launching Jupyter just use the "Python: Select interpreter to start Jupyter server" VS Code command to change it. - -### The second step is to check that jupyter isn't giving any errors on startup. - -Run the following command from an environment that matches the Python you selected: -``` python -m jupyter notebook --version ``` - -If this command shows any warnings, you need to upgrade or fix the warnings to continue with this version of Python. -If this command says 'no module named jupyter', you need to install Jupyter. - -### How to install Jupyter - -You can do this in a number of different ways: - -#### Anaconda - -Anaconda is a popular Python distribution. It makes it super easy to get Jupyter up and running. - -If you're already using Anaconda, follow these steps to get Jupyter -1. Start anaconda environment -1. Run 'conda install jupyter' -1. Restart VS Code -1. Pick the conda version of Python in the python selector - -Otherwise you can install Anaconda and pick the default options -https://www.anaconda.com/download - - -#### Pip - -You can also install Jupyter using pip. - -1. python -m pip install --upgrade pip -1. python -m pip install jupyter -1. Restart VS Code -1. Pick the Python environment you did the pip install in - -For more information see -http://jupyter.org/install +# Troubleshooting Jupyter issues in the Python Interactive Window or Notebook Editor + +This document is intended to help troubleshoot problems with starting Jupyter in the Python Interactive Window or Notebook Editor. + +--- + +## Jupyter Not Starting + +This error can happen when + +- Jupyter is out of date +- Jupyter is not installed +- You picked the wrong Python environment (one that doesn't have Jupyter installed). + +### The first step is to verify you are running the Python environment that you have Jupyter installed into. + +The first time that you start the Interactive Window or the Notebook Editor VS Code will attempt to locate a Python environment that has Jupyter installed in it and can start a notebook. + +The first Python interpreter to check will be the one selected with the selection dropdown on the bottom left of the VS Code window: + +![selector](resources/PythonSelector.png) + +Once a suitable interpreter with Jupyter has been located, VS Code will continue to use that interpreter for starting up Jupyter servers. +If no interpreters are found with Jupyter installed a popup message will ask if you would like to install Jupyter into the current interpreter. + +![install Jupyter](resources/InstallJupyter.png) + +If you would like to change from using the saved Python interpreter to a new interpreter for launching Jupyter just use the "Python: Select interpreter to start Jupyter server" VS Code command to change it. + +### The second step is to check that jupyter isn't giving any errors on startup. + +Run the following command from an environment that matches the Python you selected: +`python -m jupyter notebook --version` + +If this command shows any warnings, you need to upgrade or fix the warnings to continue with this version of Python. +If this command says 'no module named jupyter', you need to install Jupyter. + +### How to install Jupyter + +You can do this in a number of different ways: + +#### Anaconda + +Anaconda is a popular Python distribution. It makes it super easy to get Jupyter up and running. + +If you're already using Anaconda, follow these steps to get Jupyter + +1. Start anaconda environment +1. Run 'conda install jupyter' +1. Restart VS Code +1. Pick the conda version of Python in the python selector + +Otherwise you can install Anaconda and pick the default options +https://www.anaconda.com/download + +#### Pip + +You can also install Jupyter using pip. + +1. python -m pip install --upgrade pip +1. python -m pip install jupyter +1. Restart VS Code +1. Pick the Python environment you did the pip install in + +For more information see +http://jupyter.org/install diff --git a/README.md b/README.md index f30d314d2a70..68479b49d41f 100644 --- a/README.md +++ b/README.md @@ -1,89 +1,87 @@ # Python extension for Visual Studio Code -A [Visual Studio Code](https://code.visualstudio.com/) [extension](https://marketplace.visualstudio.com/VSCode) with rich support for the [Python language](https://www.python.org/) (for all [actively supported versions](https://devguide.python.org/#status-of-python-branches) of the language: 2.7, >=3.5), including features such as IntelliSense, linting, debugging, code navigation, code formatting, Jupyter notebook support, refactoring, variable explorer, test explorer, snippets, and more! +A [Visual Studio Code](https://code.visualstudio.com/) [extension](https://marketplace.visualstudio.com/VSCode) with rich support for the [Python language](https://www.python.org/) (for all [actively supported versions](https://devguide.python.org/#status-of-python-branches) of the language: 2.7, >=3.6), including features such as IntelliSense, linting, debugging, code navigation, code formatting, Jupyter notebook support, refactoring, variable explorer, test explorer, snippets, and more! ## Quick start -* **Step 1.** [Install a supported version of Python on your system](https://code.visualstudio.com/docs/python/python-tutorial#_prerequisites) (note: that the system install of Python on macOS is not supported). -* **Step 2.** Install the Python extension for Visual Studio Code. -* **Step 3.** Open or create a Python file and start coding! +- **Step 1.** [Install a supported version of Python on your system](https://code.visualstudio.com/docs/python/python-tutorial#_prerequisites) (note: that the system install of Python on macOS is not supported). +- **Step 2.** Install the Python extension for Visual Studio Code. +- **Step 3.** Open or create a Python file and start coding! ## Set up your environment + -* Select your Python interpreter by clicking on the status bar - +- Select your Python interpreter by clicking on the status bar -* Configure the debugger through the Debug Activity Bar + - +- Configure the debugger through the Debug Activity Bar -* Configure tests by running the ``Configure Tests`` command + - +- Configure tests by running the `Configure Tests` command -## Jupyter Notebook quick start + -* Open or create a Jupyter Notebook file (.ipynb) and start coding in our Notebook Editor! +## Jupyter Notebook quick start - +- Open or create a Jupyter Notebook file (.ipynb) and start coding in our Notebook Editor! + For more information you can: -* [Follow our Python tutorial](https://code.visualstudio.com/docs/python/python-tutorial#_prerequisites) with step-by-step instructions for building a simple app. -* Check out the [Python documentation on the VS Code site](https://code.visualstudio.com/docs/languages/python) for general information about using the extension. -* Check out the [Jupyter Notebook documentation on the VS Code site](https://code.visualstudio.com/docs/python/jupyter-support) for information about using Jupyter Notebooks in VS Code. + +- [Follow our Python tutorial](https://code.visualstudio.com/docs/python/python-tutorial#_prerequisites) with step-by-step instructions for building a simple app. +- Check out the [Python documentation on the VS Code site](https://code.visualstudio.com/docs/languages/python) for general information about using the extension. +- Check out the [Jupyter Notebook documentation on the VS Code site](https://code.visualstudio.com/docs/python/jupyter-support) for information about using Jupyter Notebooks in VS Code. ## Useful commands -Open the Command Palette (Command+Shift+P on macOS and Ctrl+Shift+P on Windows/Linux) and type in one of the following commands: -Command | Description ---- | --- -```Python: Select Interpreter``` | Switch between Python interpreters, versions, and environments. -```Python: Start REPL``` | Start an interactive Python REPL using the selected interpreter in the VS Code terminal. -```Python: Run Python File in Terminal``` | Runs the active Python file in the VS Code terminal. You can also run a Python file by right-clicking on the file and selecting ```Run Python File in Terminal```. -```Python: Select Linter``` | Switch from Pylint to Flake8 or other supported linters. -```Format Document``` |Formats code using the provided [formatter](https://code.visualstudio.com/docs/python/editing#_formatting) in the ``settings.json`` file. | -```Python: Configure Tests``` | Select a test framework and configure it to display the Test Explorer.| +Open the Command Palette (Command+Shift+P on macOS and Ctrl+Shift+P on Windows/Linux) and type in one of the following commands: +| Command | Description | +| ------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Python: Select Interpreter` | Switch between Python interpreters, versions, and environments. | +| `Python: Start REPL` | Start an interactive Python REPL using the selected interpreter in the VS Code terminal. | +| `Python: Run Python File in Terminal` | Runs the active Python file in the VS Code terminal. You can also run a Python file by right-clicking on the file and selecting `Run Python File in Terminal`. | +| `Python: Select Linter` | Switch from Pylint to Flake8 or other supported linters. | +| `Format Document` | Formats code using the provided [formatter](https://code.visualstudio.com/docs/python/editing#_formatting) in the `settings.json` file. | +| `Python: Configure Tests` | Select a test framework and configure it to display the Test Explorer. | -To see all available Python commands, open the Command Palette and type ```Python```. +To see all available Python commands, open the Command Palette and type `Python`. ## Feature details Learn more about the rich features of the Python extension: -* [IntelliSense](https://code.visualstudio.com/docs/python/editing#_autocomplete-and-intellisense): Edit your code with auto-completion, code navigation, syntax checking and more -* [Linting](https://code.visualstudio.com/docs/python/linting): Get additional code analysis with Pylint, Flake8 and more -* [Code formatting](https://code.visualstudio.com/docs/python/editing#_formatting): Format your code with black, autopep or yapf +- [IntelliSense](https://code.visualstudio.com/docs/python/editing#_autocomplete-and-intellisense): Edit your code with auto-completion, code navigation, syntax checking and more +- [Linting](https://code.visualstudio.com/docs/python/linting): Get additional code analysis with Pylint, Flake8 and more +- [Code formatting](https://code.visualstudio.com/docs/python/editing#_formatting): Format your code with black, autopep or yapf -* [Debugging](https://code.visualstudio.com/docs/python/debugging): Debug your Python scripts, web apps, remote or multi-threaded processes +- [Debugging](https://code.visualstudio.com/docs/python/debugging): Debug your Python scripts, web apps, remote or multi-threaded processes -* [Testing](https://code.visualstudio.com/docs/python/unit-testing): Run and debug tests through the Test Explorer with unittest, pytest or nose +- [Testing](https://code.visualstudio.com/docs/python/unit-testing): Run and debug tests through the Test Explorer with unittest, pytest or nose -* [Jupyter Notebooks](https://code.visualstudio.com/docs/python/jupyter-support): Create and edit Jupyter Notebooks, add and run code cells, render plots, visualize variables through the variable explorer, visualize dataframes with the data viewer, and more +- [Jupyter Notebooks](https://code.visualstudio.com/docs/python/jupyter-support): Create and edit Jupyter Notebooks, add and run code cells, render plots, visualize variables through the variable explorer, visualize dataframes with the data viewer, and more -* [Environments](https://code.visualstudio.com/docs/python/environments): Automatically activate and switch between virtualenv, venv, pipenv, conda and pyenv environments - -* [Refactoring](https://code.visualstudio.com/docs/python/editing#_refactoring): Restructure your Python code with variable extraction, method extraction and import sorting +- [Environments](https://code.visualstudio.com/docs/python/environments): Automatically activate and switch between virtualenv, venv, pipenv, conda and pyenv environments +- [Refactoring](https://code.visualstudio.com/docs/python/editing#_refactoring): Restructure your Python code with variable extraction, method extraction and import sorting ## Supported locales -The extension is available in multiple languages thanks to external -contributors (if you would like to contribute a translation, see the -[pull request which added Italian](https://github.com/Microsoft/vscode-python/pull/1152)): `de`, `en`, `es`, `fa`, `fr`, `it`, `ja`, `ko-kr`, `nl`, `pl`, `pt-br`, `ru`, `tr`, `zh-cn`, `zh-tw` +The extension is available in multiple languages: `de`, `en`, `es`, `fa`, `fr`, `it`, `ja`, `ko-kr`, `nl`, `pl`, `pt-br`, `ru`, `tr`, `zh-cn`, `zh-tw` ## Questions, issues, feature requests, and contributions -* If you have a question about how to accomplish something with the extension, please [ask on Stack Overflow](https://stackoverflow.com/questions/tagged/visual-studio-code+python) -* If you come across a problem with the extension, please [file an issue](https://github.com/microsoft/vscode-python) -* Contributions are always welcome! Please see our [contributing guide](https://github.com/Microsoft/vscode-python/blob/master/CONTRIBUTING.md) for more details -* Any and all feedback is appreciated and welcome! - - If someone has already [filed an issue](https://github.com/Microsoft/vscode-python) that encompasses your feedback, please leave a 👍/👎 reaction on the issue - - Otherwise please file a new issue -* If you're interested in the development of the extension, you can read about our [development process](https://github.com/Microsoft/vscode-python/blob/master/CONTRIBUTING.md#development-process) - +- If you have a question about how to accomplish something with the extension, please [ask on Stack Overflow](https://stackoverflow.com/questions/tagged/visual-studio-code+python) +- If you come across a problem with the extension, please [file an issue](https://github.com/microsoft/vscode-python) +- Contributions are always welcome! Please see our [contributing guide](https://github.com/Microsoft/vscode-python/blob/main/CONTRIBUTING.md) for more details +- Any and all feedback is appreciated and welcome! + - If someone has already [filed an issue](https://github.com/Microsoft/vscode-python) that encompasses your feedback, please leave a 👍/👎 reaction on the issue + - Otherwise please file a new issue +- If you're interested in the development of the extension, you can read about our [development process](https://github.com/Microsoft/vscode-python/blob/main/CONTRIBUTING.md#development-process) ## Data and telemetry diff --git a/SECURITY.md b/SECURITY.md index 8a5d128f360a..1ceb287afafa 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -4,7 +4,7 @@ Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/). -If you believe you have found a security vulnerability in any Microsoft-owned repository that meets Microsoft's [Microsoft's definition of a security vulnerability](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)) of a security vulnerability, please report it to us as described below. +If you believe you have found a security vulnerability in any Microsoft-owned repository that meets Microsoft's [Microsoft's definition of a security vulnerability]() of a security vulnerability, please report it to us as described below. ## Reporting Security Issues @@ -12,19 +12,19 @@ If you believe you have found a security vulnerability in any Microsoft-owned re Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report). -If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the the [Microsoft Security Response Center PGP Key page](https://www.microsoft.com/en-us/msrc/pgp-key-msrc). +If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the the [Microsoft Security Response Center PGP Key page](https://www.microsoft.com/en-us/msrc/pgp-key-msrc). -You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc). +You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc). Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: - * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) - * Full paths of source file(s) related to the manifestation of the issue - * The location of the affected source code (tag/branch/commit or direct URL) - * Any special configuration required to reproduce the issue - * Step-by-step instructions to reproduce the issue - * Proof-of-concept or exploit code (if possible) - * Impact of the issue, including how an attacker might exploit the issue +- Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) +- Full paths of source file(s) related to the manifestation of the issue +- The location of the affected source code (tag/branch/commit or direct URL) +- Any special configuration required to reproduce the issue +- Step-by-step instructions to reproduce the issue +- Proof-of-concept or exploit code (if possible) +- Impact of the issue, including how an attacker might exploit the issue This information will help us triage your report more quickly. diff --git a/ThirdPartyNotices-Distribution.txt b/ThirdPartyNotices-Distribution.txt index cececd574396..a9048af0d757 100644 --- a/ThirdPartyNotices-Distribution.txt +++ b/ThirdPartyNotices-Distribution.txt @@ -1,597 +1,33 @@ -THIRD-PARTY SOFTWARE NOTICES AND INFORMATION +NOTICES AND INFORMATION Do Not Translate or Localize -Microsoft Python extension for Visual Studio Code incorporates third party material from the projects listed below. - - - -1. @babel/runtime 7.5.4 (https://registry.npmjs.org/@babel/runtime/-/runtime-7.5.4.tgz) -2. @babel/runtime-corejs2 7.5.4 (https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.5.4.tgz) -3. @blueprintjs/core 3.22.3 (https://registry.npmjs.org/@blueprintjs/core/-/core-3.22.3.tgz) -4. @blueprintjs/icons 3.13.0 (https://registry.npmjs.org/@blueprintjs/icons/-/icons-3.13.0.tgz) -5. @blueprintjs/select 3.11.2 (https://registry.npmjs.org/@blueprintjs/select/-/select-3.11.2.tgz) -6. @emotion/hash 0.6.6 (https://registry.npmjs.org/@emotion/hash/-/hash-0.6.6.tgz) -7. @emotion/memoize 0.6.6 (https://registry.npmjs.org/@emotion/memoize/-/memoize-0.6.6.tgz) -8. @emotion/stylis 0.7.1 (https://registry.npmjs.org/@emotion/stylis/-/stylis-0.7.1.tgz) -9. @emotion/unitless 0.6.7 (https://registry.npmjs.org/@emotion/unitless/-/unitless-0.6.7.tgz) -10. @icons/material 0.2.4 (https://registry.npmjs.org/@icons/material/-/material-0.2.4.tgz) -11. @jupyterlab/coreutils 3.1.0 (https://registry.npmjs.org/@jupyterlab/coreutils/-/coreutils-3.1.0.tgz) -12. @jupyterlab/observables 2.4.0 (https://registry.npmjs.org/@jupyterlab/observables/-/observables-2.4.0.tgz) -13. @jupyterlab/services 4.2.0 (https://registry.npmjs.org/@jupyterlab/services/-/services-4.2.0.tgz) -14. @koa/cors 3.0.0 (https://registry.npmjs.org/@koa/cors/-/cors-3.0.0.tgz) -15. @loadable/component 5.12.0 (https://registry.npmjs.org/@loadable/component/-/component-5.12.0.tgz) -16. @mapbox/polylabel 1.0.2 (https://registry.npmjs.org/@mapbox/polylabel/-/polylabel-1.0.2.tgz) -17. @nteract/markdown 3.0.1 (https://registry.npmjs.org/@nteract/markdown/-/markdown-3.0.1.tgz) -18. @nteract/mathjax 3.0.1 (https://registry.npmjs.org/@nteract/mathjax/-/mathjax-3.0.1.tgz) -19. @nteract/octicons 0.5.1 (https://registry.npmjs.org/@nteract/octicons/-/octicons-0.5.1.tgz) -20. @nteract/styled-blueprintjsx 1.1.1 (https://registry.npmjs.org/@nteract/styled-blueprintjsx/-/styled-blueprintjsx-1.1.1.tgz) -21. @nteract/transform-dataresource 4.5.2 (https://registry.npmjs.org/@nteract/transform-dataresource/-/transform-dataresource-4.5.2.tgz) -22. @nteract/transform-geojson 3.2.5 (https://registry.npmjs.org/@nteract/transform-geojson/-/transform-geojson-3.2.5.tgz) -23. @nteract/transform-model-debug 3.2.5 (https://registry.npmjs.org/@nteract/transform-model-debug/-/transform-model-debug-3.2.5.tgz) -24. @nteract/transform-plotly 6.0.0 (https://registry.npmjs.org/@nteract/transform-plotly/-/transform-plotly-6.0.0.tgz) -25. @nteract/transform-vdom 2.2.5 (https://registry.npmjs.org/@nteract/transform-vdom/-/transform-vdom-2.2.5.tgz) -26. @nteract/transform-vega 6.0.3 (https://registry.npmjs.org/@nteract/transform-vega/-/transform-vega-6.0.3.tgz) -27. @nteract/transforms 4.4.7 (https://registry.npmjs.org/@nteract/transforms/-/transforms-4.4.7.tgz) -28. @nteract/vega-embed-v2 1.1.0 (https://registry.npmjs.org/@nteract/vega-embed-v2/-/vega-embed-v2-1.1.0.tgz) -29. @nteract/vega-embed-v3 1.1.1 (https://registry.npmjs.org/@nteract/vega-embed-v3/-/vega-embed-v3-1.1.1.tgz) -30. @phosphor/algorithm 1.1.3 (https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.1.3.tgz) -31. @phosphor/collections 1.2.0 (https://registry.npmjs.org/@phosphor/collections/-/collections-1.2.0.tgz) -32. @phosphor/commands 1.7.2 (https://registry.npmjs.org/@phosphor/commands/-/commands-1.7.2.tgz) -33. @phosphor/coreutils 1.3.1 (https://registry.npmjs.org/@phosphor/coreutils/-/coreutils-1.3.1.tgz) -34. @phosphor/disposable 1.2.0 (https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.2.0.tgz) -35. @phosphor/domutils 1.1.4 (https://registry.npmjs.org/@phosphor/domutils/-/domutils-1.1.4.tgz) -36. @phosphor/keyboard 1.1.3 (https://registry.npmjs.org/@phosphor/keyboard/-/keyboard-1.1.3.tgz) -37. @phosphor/messaging 1.3.0 (https://registry.npmjs.org/@phosphor/messaging/-/messaging-1.3.0.tgz) -38. @phosphor/properties 1.1.3 (https://registry.npmjs.org/@phosphor/properties/-/properties-1.1.3.tgz) -39. @phosphor/signaling 1.2.3 (https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.2.3.tgz) -40. _pydev_calltip_util.py (for PyDev.Debugger) (https://github.com/fabioz/PyDev.Debugger/blob/master/_pydev_bundle/_pydev_calltip_util.py) -41. accepts 1.3.7 (https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz) -42. acorn 5.7.3 (https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz) -43. ajv 6.10.1 (https://registry.npmjs.org/ajv/-/ajv-6.10.1.tgz) -44. amdefine 1.0.1 (https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz) -45. angular.io (for RxJS 5.5) (https://angular.io/) -46. anser 1.4.8 (https://registry.npmjs.org/anser/-/anser-1.4.8.tgz) -47. ansi-regex 4.1.0 (https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz) -48. ansi-styles 3.2.1 (https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz) -49. ansi-to-html 0.6.11 (https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.11.tgz) -50. ansi-to-react 3.3.5 (https://registry.npmjs.org/ansi-to-react/-/ansi-to-react-3.3.5.tgz) -51. any-promise 1.3.0 (https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz) -52. applicationinsights 1.0.6 (https://registry.npmjs.org/applicationinsights/-/applicationinsights-1.0.6.tgz) -53. arch 2.1.1 (https://registry.npmjs.org/arch/-/arch-2.1.1.tgz) -54. asn1 0.2.4 (https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz) -55. assert-plus 1.0.0 (https://github.com/joyent/node-assert-plus/tree/v1.0.0) -56. ast-transform 0.0.0 (https://registry.npmjs.org/ast-transform/-/ast-transform-0.0.0.tgz) -57. ast-types 0.7.8 (https://registry.npmjs.org/ast-types/-/ast-types-0.7.8.tgz) -58. async 2.6.2 (https://registry.npmjs.org/async/-/async-2.6.2.tgz) -59. async-limiter 1.0.0 (https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz) -60. asynckit 0.4.0 (https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz) -61. aws-sign2 0.7.0 (https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz) -62. aws4 1.8.0 (https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz) -63. azure-storage 2.10.3 (https://registry.npmjs.org/azure-storage/-/azure-storage-2.10.3.tgz) -64. babel-polyfill 6.26.0 (https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz) -65. babel-runtime 6.26.0 (https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz) -66. bail 1.0.4 (https://registry.npmjs.org/bail/-/bail-1.0.4.tgz) -67. balanced-match 1.0.0 (https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz) -68. base16 1.0.0 (https://registry.npmjs.org/base16/-/base16-1.0.0.tgz) -69. base64-js 1.3.0 (https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz) -70. bcrypt-pbkdf 1.0.2 (https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz) -71. bintrees 1.0.2 (https://registry.npmjs.org/bintrees/-/bintrees-1.0.2.tgz) -72. bootstrap-less 3.3.8 (https://github.com/distros/bootstrap-less) -73. brace-expansion 1.1.11 (https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz) -74. brotli 1.3.2 (https://registry.npmjs.org/brotli/-/brotli-1.3.2.tgz) -75. browser-resolve 1.11.3 (https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz) -76. browserify-mime 1.2.9 (https://registry.npmjs.org/browserify-mime/-/browserify-mime-1.2.9.tgz) -77. browserify-optional 1.0.1 (https://registry.npmjs.org/browserify-optional/-/browserify-optional-1.0.1.tgz) -78. buffer-equal 0.0.1 (https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz) -79. buffer-from 1.1.1 (https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz) -80. bytes 3.1.0 (https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz) -81. cache-content-type 1.0.1 (https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz) -82. canvas 2.6.0 (https://registry.npmjs.org/canvas/-/canvas-2.6.0.tgz) -83. caseless 0.12.0 (https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz) -84. chalk 2.4.2 (https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz) -85. character-entities-legacy 1.1.3 (https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz) -86. character-reference-invalid 1.1.3 (https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz) -87. charenc 0.0.2 (https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz) -88. classnames 2.2.6 (https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz) -89. clone 1.0.4 (https://registry.npmjs.org/clone/-/clone-1.0.4.tgz) -90. clsx 1.0.4 (https://registry.npmjs.org/clsx/-/clsx-1.0.4.tgz) -91. co 4.6.0 (https://registry.npmjs.org/co/-/co-4.6.0.tgz) -92. collapse-white-space 1.0.5 (https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.5.tgz) -93. color 3.0.0 (https://registry.npmjs.org/color/-/color-3.0.0.tgz) -94. color-convert 1.9.3 (https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz) -95. color-name 1.1.3 (https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz) -96. color-string 1.5.3 (https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz) -97. colornames 1.1.1 (https://registry.npmjs.org/colornames/-/colornames-1.1.1.tgz) -98. colors 1.3.3 (https://registry.npmjs.org/colors/-/colors-1.3.3.tgz) -99. colorspace 1.1.2 (https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz) -100. combined-stream 1.0.8 (https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz) -101. compressible 2.0.17 (https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz) -102. concat-map 0.0.1 (https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz) -103. concat-stream 1.6.2 (https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz) -104. content-disposition 0.5.3 (https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz) -105. content-type 1.0.4 (https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz) -106. convert-source-map 1.6.0 (https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz) -107. cookies 0.8.0 (https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz) -108. core-util-is 1.0.2 (https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz) -109. create-emotion 9.2.12 (https://registry.npmjs.org/create-emotion/-/create-emotion-9.2.12.tgz) -110. create-react-context 0.3.0 (https://registry.npmjs.org/create-react-context/-/create-react-context-0.3.0.tgz) -111. crypt 0.0.2 (https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz) -112. crypto-js 3.1.9-1 (https://registry.npmjs.org/crypto-js/-/crypto-js-3.1.9-1.tgz) -113. css-loader 1.0.1 (https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz) -114. d3 3.5.17 (https://registry.npmjs.org/d3/-/d3-3.5.17.tgz) -115. d3-array 1.2.4 (https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz) -116. d3-bboxCollide 1.0.4 (https://registry.npmjs.org/d3-bboxCollide/-/d3-bboxCollide-1.0.4.tgz) -117. d3-brush 1.0.6 (https://registry.npmjs.org/d3-brush/-/d3-brush-1.0.6.tgz) -118. d3-chord 1.0.6 (https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.6.tgz) -119. d3-cloud 1.2.5 (https://registry.npmjs.org/d3-cloud/-/d3-cloud-1.2.5.tgz) -120. d3-collection 1.0.7 (https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.7.tgz) -121. d3-color 1.2.8 (https://registry.npmjs.org/d3-color/-/d3-color-1.2.8.tgz) -122. d3-contour 1.3.2 (https://registry.npmjs.org/d3-contour/-/d3-contour-1.3.2.tgz) -123. d3-delaunay 5.1.6 (https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-5.1.6.tgz) -124. d3-dispatch 1.0.5 (https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.5.tgz) -125. d3-drag 1.2.3 (https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.3.tgz) -126. d3-dsv 0.1.14 (https://registry.npmjs.org/d3-dsv/-/d3-dsv-0.1.14.tgz) -127. d3-ease 1.0.5 (https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.5.tgz) -128. d3-force 1.2.1 (https://registry.npmjs.org/d3-force/-/d3-force-1.2.1.tgz) -129. d3-format 1.3.2 (https://registry.npmjs.org/d3-format/-/d3-format-1.3.2.tgz) -130. d3-geo 1.11.6 (https://registry.npmjs.org/d3-geo/-/d3-geo-1.11.6.tgz) -131. d3-glyphedge 1.2.0 (https://registry.npmjs.org/d3-glyphedge/-/d3-glyphedge-1.2.0.tgz) -132. d3-hexbin 0.2.2 (https://registry.npmjs.org/d3-hexbin/-/d3-hexbin-0.2.2.tgz) -133. d3-hierarchy 1.1.8 (https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.8.tgz) -134. d3-interpolate 1.3.2 (https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.3.2.tgz) -135. d3-path 1.0.7 (https://registry.npmjs.org/d3-path/-/d3-path-1.0.7.tgz) -136. d3-polygon 1.0.5 (https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.5.tgz) -137. d3-quadtree 1.0.1 (https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.1.tgz) -138. d3-request 1.0.6 (https://registry.npmjs.org/d3-request/-/d3-request-1.0.6.tgz) -139. d3-sankey-circular 0.25.0 (https://registry.npmjs.org/d3-sankey-circular/-/d3-sankey-circular-0.25.0.tgz) -140. d3-scale 2.2.2 (https://registry.npmjs.org/d3-scale/-/d3-scale-2.2.2.tgz) -141. d3-scale-chromatic 1.5.0 (https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-1.5.0.tgz) -142. d3-selection 1.4.0 (https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.0.tgz) -143. d3-shape 1.3.5 (https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.5.tgz) -144. d3-time 1.0.11 (https://registry.npmjs.org/d3-time/-/d3-time-1.0.11.tgz) -145. d3-time-format 2.1.3 (https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.1.3.tgz) -146. d3-timer 1.0.9 (https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.9.tgz) -147. d3-transition 1.2.0 (https://registry.npmjs.org/d3-transition/-/d3-transition-1.2.0.tgz) -148. d3-voronoi 1.1.4 (https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.4.tgz) -149. dashdash 1.14.1 (https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz) -150. datalib 1.9.2 (https://registry.npmjs.org/datalib/-/datalib-1.9.2.tgz) -151. debugpy 1.0.0a2 (https://github.com/Microsoft/debugpy/tree/v1.0.0a2) -152. deep-equal 1.0.1 (https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz) -153. deep-is 0.1.3 (https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz) -154. define-properties 1.1.3 (https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz) -155. delaunator 4.0.1 (https://registry.npmjs.org/delaunator/-/delaunator-4.0.1.tgz) -156. delayed-stream 1.0.0 (https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz) -157. delegates 1.0.0 (https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz) -158. depd 1.1.2 (https://registry.npmjs.org/depd/-/depd-1.1.2.tgz) -159. destroy 1.0.4 (https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz) -160. detect-indent 6.0.0 (https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz) -161. dfa 1.2.0 (https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz) -162. diagnostic-channel 0.2.0 (https://registry.npmjs.org/diagnostic-channel/-/diagnostic-channel-0.2.0.tgz) -163. diagnostic-channel-publishers 0.2.1 (https://registry.npmjs.org/diagnostic-channel-publishers/-/diagnostic-channel-publishers-0.2.1.tgz) -164. diagnostics 1.1.1 (https://registry.npmjs.org/diagnostics/-/diagnostics-1.1.1.tgz) -165. diff-match-patch 1.0.4 (https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.4.tgz) -166. dom-helpers 3.4.0 (https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz) -167. dom4 2.1.5 (https://registry.npmjs.org/dom4/-/dom4-2.1.5.tgz) -168. duplexer2 0.1.4 (https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz) -169. ecc-jsbn 0.1.2 (https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz) -170. ee-first 1.1.1 (https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz) -171. emotion 9.2.12 (https://registry.npmjs.org/emotion/-/emotion-9.2.12.tgz) -172. enabled 1.0.2 (https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz) -173. encodeurl 1.0.2 (https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz) -174. encoding 0.1.12 (https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz) -175. entities 1.1.2 (https://registry.npmjs.org/entities/-/entities-1.1.2.tgz) -176. env-variable 0.0.5 (https://registry.npmjs.org/env-variable/-/env-variable-0.0.5.tgz) -177. error-inject 1.0.0 (https://registry.npmjs.org/error-inject/-/error-inject-1.0.0.tgz) -178. escape-carriage 1.3.0 (https://registry.npmjs.org/escape-carriage/-/escape-carriage-1.3.0.tgz) -179. escape-html 1.0.3 (https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz) -180. escape-string-regexp 1.0.5 (https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz) -181. estraverse 1.5.1 (https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz) -182. esutils 1.0.0 (https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz) -183. extend 3.0.2 (https://registry.npmjs.org/extend/-/extend-3.0.2.tgz) -184. extsprintf 1.3.0 (https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz) -185. falafel 2.1.0 (https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz) -186. fast-deep-equal 2.0.1 (https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz) -187. fast-json-stable-stringify 2.0.0 (https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz) -188. fast-levenshtein 2.0.6 (https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz) -189. fast-plist 0.1.2 (https://registry.npmjs.org/fast-plist/-/fast-plist-0.1.2.tgz) -190. fast-safe-stringify 2.0.6 (https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.6.tgz) -191. fecha 2.3.3 (https://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz) -192. fontkit 1.8.0 (https://registry.npmjs.org/fontkit/-/fontkit-1.8.0.tgz) -193. foreach 2.0.5 (https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz) -194. forever-agent 0.6.1 (https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz) -195. form-data 2.3.3 (https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz) -196. fresh 0.5.2 (https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz) -197. fs-extra 4.0.3 (https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz) -198. fs.realpath 1.0.0 (https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz) -199. function-bind 1.1.1 (https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz) -200. fuzzy 0.1.3 (https://registry.npmjs.org/fuzzy/-/fuzzy-0.1.3.tgz) -201. get-port 3.2.0 (https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz) -202. getpass 0.1.7 (https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz) -203. glob 7.1.4 (https://registry.npmjs.org/glob/-/glob-7.1.4.tgz) -204. graceful-fs 4.2.0 (https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz) -205. gud 1.0.0 (https://registry.npmjs.org/gud/-/gud-1.0.0.tgz) -206. har-schema 2.0.0 (https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz) -207. har-validator 5.1.3 (https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz) -208. has 1.0.3 (https://registry.npmjs.org/has/-/has-1.0.3.tgz) -209. has-flag 3.0.0 (https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz) -210. hash-base 3.0.4 (https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz) -211. hash.js 1.1.7 (https://github.com/indutny/hash.js/tree/v1.1.7) -212. hoist-non-react-statics 3.3.0 (https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz) -213. http-assert 1.4.1 (https://registry.npmjs.org/http-assert/-/http-assert-1.4.1.tgz) -214. http-errors 1.7.3 (https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz) -215. http-signature 1.2.0 (https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz) -216. humanize-number 0.0.2 (https://registry.npmjs.org/humanize-number/-/humanize-number-0.0.2.tgz) -217. iconv-lite 0.4.24 (https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz) -218. ieee754 1.1.13 (https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz) -219. inflight 1.0.6 (https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz) -220. inherits 2.0.4 (https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz) -221. invariant 2.2.4 (https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz) -222. inversify 4.13.0 (https://registry.npmjs.org/inversify/-/inversify-4.13.0.tgz) -223. IPython (for PyDev.Debugger) (https://ipython.org/) -224. is-alphabetical 1.0.3 (https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.3.tgz) -225. is-alphanumerical 1.0.3 (https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz) -226. is-arguments 1.0.4 (https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz) -227. is-arrayish 0.3.2 (https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz) -228. is-buffer 1.1.6 (https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz) -229. is-date-object 1.0.1 (https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz) -230. is-decimal 1.0.3 (https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.3.tgz) -231. is-generator-function 1.0.7 (https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.7.tgz) -232. is-hexadecimal 1.0.3 (https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz) -233. is-plain-obj 1.1.0 (https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz) -234. is-regex 1.0.4 (https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz) -235. is-stream 1.1.0 (https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz) -236. is-typedarray 1.0.0 (https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz) -237. is-whitespace-character 1.0.3 (https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.3.tgz) -238. is-word-character 1.0.3 (https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.3.tgz) -239. isarray 1.0.0 (https://github.com/juliangruber/isarray/blob/v1.0.0) -240. isort 4.3.4 (https://github.com/timothycrosley/isort/tree/4.3.4) -241. isstream 0.1.2 (https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz) -242. Jedi 0.13.3 (https://github.com/davidhalter/jedi/tree/v0.13.3) -243. jsbn 0.1.1 (https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz) -244. json-edm-parser 0.1.2 (https://registry.npmjs.org/json-edm-parser/-/json-edm-parser-0.1.2.tgz) -245. json-schema 0.2.3 (https://www.npmjs.com/package/json-schema) -246. json-schema-traverse 0.4.1 (https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz) -247. json-stable-stringify 1.0.1 (https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz) -248. json-stringify-pretty-compact 2.0.0 (https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-2.0.0.tgz) -249. json-stringify-safe 5.0.1 (https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz) -250. json2csv 4.5.2 (https://registry.npmjs.org/json2csv/-/json2csv-4.5.2.tgz) -251. json5 2.1.0 (https://registry.npmjs.org/json5/-/json5-2.1.0.tgz) -252. jsonc-parser 2.1.0 (https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.1.0.tgz) -253. jsonfile 4.0.0 (https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz) -254. jsonify 0.0.0 (https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz) -255. jsonparse 1.2.0 (https://registry.npmjs.org/jsonparse/-/jsonparse-1.2.0.tgz) -256. jsprim 1.4.1 (https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz) -257. keygrip 1.1.0 (https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz) -258. koa 2.11.0 (https://registry.npmjs.org/koa/-/koa-2.11.0.tgz) -259. koa-compose 4.1.0 (https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz) -260. koa-compress 3.0.0 (https://registry.npmjs.org/koa-compress/-/koa-compress-3.0.0.tgz) -261. koa-convert 1.2.0 (https://registry.npmjs.org/koa-convert/-/koa-convert-1.2.0.tgz) -262. koa-is-json 1.0.0 (https://registry.npmjs.org/koa-is-json/-/koa-is-json-1.0.0.tgz) -263. koa-logger 3.2.1 (https://registry.npmjs.org/koa-logger/-/koa-logger-3.2.1.tgz) -264. kuler 1.0.1 (https://registry.npmjs.org/kuler/-/kuler-1.0.1.tgz) -265. labella 1.1.4 (https://registry.npmjs.org/labella/-/labella-1.1.4.tgz) -266. leaflet 1.5.1 (https://registry.npmjs.org/leaflet/-/leaflet-1.5.1.tgz) -267. levn 0.3.0 (https://registry.npmjs.org/levn/-/levn-0.3.0.tgz) -268. line-by-line 0.1.6 (https://registry.npmjs.org/line-by-line/-/line-by-line-0.1.6.tgz) -269. linear-layout-vector 0.0.1 (https://registry.npmjs.org/linear-layout-vector/-/linear-layout-vector-0.0.1.tgz) -270. linebreak 0.3.0 (https://registry.npmjs.org/linebreak/-/linebreak-0.3.0.tgz) -271. lodash 4.17.15 (https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz) -272. lodash.curry 4.1.1 (https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz) -273. lodash.flow 3.5.0 (https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz) -274. logform 2.1.2 (https://registry.npmjs.org/logform/-/logform-2.1.2.tgz) -275. lru-cache 4.1.5 (https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz) -276. magic-string 0.22.5 (https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz) -277. markdown-escapes 1.0.3 (https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.3.tgz) -278. martinez-polygon-clipping 0.1.5 (https://registry.npmjs.org/martinez-polygon-clipping/-/martinez-polygon-clipping-0.1.5.tgz) -279. material-colors 1.2.6 (https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz) -280. md5 2.2.1 (https://registry.npmjs.org/md5/-/md5-2.2.1.tgz) -281. md5.js 1.3.4 (https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz) -282. mdast-add-list-metadata 1.0.1 (https://registry.npmjs.org/mdast-add-list-metadata/-/mdast-add-list-metadata-1.0.1.tgz) -283. media-typer 0.3.0 (https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz) -284. merge-source-map 1.0.4 (https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz) -285. mime-db 1.40.0 (https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz) -286. mime-types 2.1.24 (https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz) -287. minimalistic-assert 1.0.1 (https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz) -288. minimatch 3.0.4 (https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz) -289. minimist 1.2.0 (https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz) -290. mkdirp 0.5.1 (https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz) -291. moment 2.24.0 (https://registry.npmjs.org/moment/-/moment-2.24.0.tgz) -292. monaco-editor 0.18.1 (https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.18.1.tgz) -293. monaco-editor-textmate 2.2.1 (https://registry.npmjs.org/monaco-editor-textmate/-/monaco-editor-textmate-2.2.1.tgz) -294. monaco-textmate 3.0.1 (https://registry.npmjs.org/monaco-textmate/-/monaco-textmate-3.0.1.tgz) -295. ms 2.1.2 (https://registry.npmjs.org/ms/-/ms-2.1.2.tgz) -296. named-js-regexp 1.3.5 (https://registry.npmjs.org/named-js-regexp/-/named-js-regexp-1.3.5.tgz) -297. negotiator 0.6.2 (https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz) -298. node-fetch 1.7.3 (https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz) -299. node-libs-browser 2.2.1 (https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz) -300. node-stream-zip 1.8.2 (https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.8.2.tgz) -301. numeral 2.0.6 (https://registry.npmjs.org/numeral/-/numeral-2.0.6.tgz) -302. oauth-sign 0.9.0 (https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz) -303. object-assign 4.1.1 (https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz) -304. object-inspect 1.4.1 (https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz) -305. object-is 1.0.1 (https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz) -306. object-keys 1.1.1 (https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz) -307. on-finished 2.3.0 (https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz) -308. once 1.4.0 (https://registry.npmjs.org/once/-/once-1.4.0.tgz) -309. one-time 0.0.4 (https://registry.npmjs.org/one-time/-/one-time-0.0.4.tgz) -310. onigasm 2.2.2 (https://registry.npmjs.org/onigasm/-/onigasm-2.2.2.tgz) -311. only 0.0.2 (https://registry.npmjs.org/only/-/only-0.0.2.tgz) -312. optionator 0.8.2 (https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz) -313. os-tmpdir 1.0.2 (https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz) -314. pako 0.2.9 (https://registry.npmjs.org/pako/-/pako-0.2.9.tgz) -315. parse-entities 1.2.2 (https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz) -316. parseurl 1.3.3 (https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz) -317. parso 0.5.0 (https://github.com/davidhalter/parso/tree/v0.5.0) -318. passthrough-counter 1.0.0 (https://registry.npmjs.org/passthrough-counter/-/passthrough-counter-1.0.0.tgz) -319. path-browserify 0.0.1 (https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz) -320. path-is-absolute 1.0.1 (https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz) -321. path-parse 1.0.6 (https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz) -322. path-posix 1.0.0 (https://registry.npmjs.org/path-posix/-/path-posix-1.0.0.tgz) -323. pdfkit 0.10.0 (https://registry.npmjs.org/pdfkit/-/pdfkit-0.10.0.tgz) -324. performance-now 2.1.0 (https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz) -325. pidusage 1.2.0 (https://registry.npmjs.org/pidusage/-/pidusage-1.2.0.tgz) -326. plotly.js-dist 1.51.1 (https://registry.npmjs.org/plotly.js-dist/-/plotly.js-dist-1.51.1.tgz) -327. png-js 0.1.1 (https://registry.npmjs.org/png-js/-/png-js-0.1.1.tgz) -328. polygon-offset 0.3.1 (https://registry.npmjs.org/polygon-offset/-/polygon-offset-0.3.1.tgz) -329. popper.js 1.16.0 (https://registry.npmjs.org/popper.js/-/popper.js-1.16.0.tgz) -330. portfinder 1.0.25 (https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz) -331. prelude-ls 1.1.2 (https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz) -332. process 0.11.10 (https://registry.npmjs.org/process/-/process-0.11.10.tgz) -333. process-nextick-args 1.0.7 (https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz) -334. prop-types 15.7.2 (https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz) -335. pseudomap 1.0.2 (https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz) -336. psl 1.2.0 (https://registry.npmjs.org/psl/-/psl-1.2.0.tgz) -337. ptvsd 4.3.2 (https://github.com/Microsoft/ptvsd/tree/v4.3.2) -338. punycode 2.1.1 (https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz) -339. pure-color 1.3.0 (https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz) -340. py2app (for PyDev.Debugger) (https://bitbucket.org/ronaldoussoren/py2app) -341. PyDev.Debugger (for ptvsd 4 & debugpy 1) (https://pypi.org/project/pydevd/) -342. pyparsing 2.4.0 (https://github.com/pyparsing/pyparsing/tree/pyparsing_2.4.0) -343. python-jsonrpc-server 0.2.0 (https://github.com/palantir/python-jsonrpc-server/releases/tag/0.2.0) -344. qs 6.5.2 (https://registry.npmjs.org/qs/-/qs-6.5.2.tgz) -345. querystringify 2.1.1 (https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz) -346. quote-stream 1.0.2 (https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz) -347. react 16.8.6 (https://registry.npmjs.org/react/-/react-16.8.6.tgz) -348. react-annotation 2.1.6 (https://registry.npmjs.org/react-annotation/-/react-annotation-2.1.6.tgz) -349. react-base16-styling 0.5.3 (https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.5.3.tgz) -350. react-color 2.17.3 (https://registry.npmjs.org/react-color/-/react-color-2.17.3.tgz) -351. react-data-grid 6.1.0 (https://registry.npmjs.org/react-data-grid/-/react-data-grid-6.1.0.tgz) -352. react-dom 16.8.6 (https://registry.npmjs.org/react-dom/-/react-dom-16.8.6.tgz) -353. react-hot-loader 4.12.6 (https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.12.6.tgz) -354. react-is 16.8.6 (https://registry.npmjs.org/react-is/-/react-is-16.8.6.tgz) -355. react-json-tree 0.11.2 (https://registry.npmjs.org/react-json-tree/-/react-json-tree-0.11.2.tgz) -356. react-lifecycles-compat 3.0.4 (https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz) -357. react-markdown 4.1.0 (https://registry.npmjs.org/react-markdown/-/react-markdown-4.1.0.tgz) -358. react-popper 1.3.7 (https://registry.npmjs.org/react-popper/-/react-popper-1.3.7.tgz) -359. react-redux 7.1.1 (https://registry.npmjs.org/react-redux/-/react-redux-7.1.1.tgz) -360. react-svg-pan-zoom 3.1.0 (https://registry.npmjs.org/react-svg-pan-zoom/-/react-svg-pan-zoom-3.1.0.tgz) -361. react-svgmt 1.1.8 (https://registry.npmjs.org/react-svgmt/-/react-svgmt-1.1.8.tgz) -362. react-table 6.10.0 (https://registry.npmjs.org/react-table/-/react-table-6.10.0.tgz) -363. react-table-hoc-fixed-columns 1.0.2 (https://registry.npmjs.org/react-table-hoc-fixed-columns/-/react-table-hoc-fixed-columns-1.0.2.tgz) -364. react-transition-group 2.9.0 (https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz) -365. react-virtualized 9.21.1 (https://registry.npmjs.org/react-virtualized/-/react-virtualized-9.21.1.tgz) -366. reactcss 1.2.3 (https://registry.npmjs.org/reactcss/-/reactcss-1.2.3.tgz) -367. readable-stream 3.4.0 (https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz) -368. redux 4.0.4 (https://registry.npmjs.org/redux/-/redux-4.0.4.tgz) -369. redux-logger 3.0.6 (https://registry.npmjs.org/redux-logger/-/redux-logger-3.0.6.tgz) -370. reflect-metadata 0.1.13 (https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz) -371. regenerator-runtime 0.13.2 (https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz) -372. regexp.prototype.flags 1.3.0 (https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz) -373. regression 2.0.1 (https://registry.npmjs.org/regression/-/regression-2.0.1.tgz) -374. remark-parse 5.0.0 (https://registry.npmjs.org/remark-parse/-/remark-parse-5.0.0.tgz) -375. repeat-string 1.6.1 (https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz) -376. replace-ext 1.0.0 (https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz) -377. request 2.88.0 (https://registry.npmjs.org/request/-/request-2.88.0.tgz) -378. request-progress 3.0.0 (https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz) -379. requires-port 1.0.0 (https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz) -380. resize-observer-polyfill 1.5.1 (https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz) -381. resolve 1.11.1 (https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz) -382. restructure 0.5.4 (https://registry.npmjs.org/restructure/-/restructure-0.5.4.tgz) -383. roughjs-es5 0.1.0 (https://registry.npmjs.org/roughjs-es5/-/roughjs-es5-0.1.0.tgz) -384. rxjs 5.5.12 (https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz) -385. safe-buffer 5.1.2 (https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz) -386. safer-buffer 2.1.2 (https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz) -387. sax 0.5.8 (https://registry.npmjs.org/sax/-/sax-0.5.8.tgz) -388. scheduler 0.13.6 (https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz) -389. semiotic 1.19.11 (https://registry.npmjs.org/semiotic/-/semiotic-1.19.11.tgz) -390. semiotic-mark 0.3.1 (https://registry.npmjs.org/semiotic-mark/-/semiotic-mark-0.3.1.tgz) -391. semver 5.7.0 (https://registry.npmjs.org/semver/-/semver-5.7.0.tgz) -392. setImmediate (for RxJS 5.5) (https://github.com/YuzuJS/setImmediate) -393. setimmediate 1.0.5 (https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz) -394. setprototypeof 1.1.1 (https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz) -395. shallow-copy 0.0.1 (https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz) -396. simple-swizzle 0.2.2 (https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz) -397. sizzle (for lodash 4.17) (https://sizzlejs.com/) -398. slickgrid 2.4.17 (https://registry.npmjs.org/slickgrid/-/slickgrid-2.4.17.tgz) -399. source-map 0.6.1 (https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz) -400. sshpk 1.16.1 (https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz) -401. stack-trace 0.0.10 (https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz) -402. state-toggle 1.0.2 (https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.2.tgz) -403. static-eval 2.0.2 (https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz) -404. static-module 2.2.5 (https://registry.npmjs.org/static-module/-/static-module-2.2.5.tgz) -405. statuses 1.5.0 (https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz) -406. string-argv 0.3.1 (https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz) -407. string-hash 1.1.3 (https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz) -408. string_decoder 1.2.0 (https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz) -409. strip-ansi 5.2.0 (https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz) -410. style-loader 0.23.1 (https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz) -411. styled-jsx 3.2.1 (https://registry.npmjs.org/styled-jsx/-/styled-jsx-3.2.1.tgz) -412. stylis-rule-sheet 0.0.10 (https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz) -413. sudo-prompt 8.2.5 (https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-8.2.5.tgz) -414. supports-color 5.5.0 (https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz) -415. svg-inline-react 3.1.0 (https://registry.npmjs.org/svg-inline-react/-/svg-inline-react-3.1.0.tgz) -416. svg-path-bounding-box 1.0.4 (https://registry.npmjs.org/svg-path-bounding-box/-/svg-path-bounding-box-1.0.4.tgz) -417. svg-to-pdfkit 0.1.7 (https://registry.npmjs.org/svg-to-pdfkit/-/svg-to-pdfkit-0.1.7.tgz) -418. svgpath 2.2.2 (https://registry.npmjs.org/svgpath/-/svgpath-2.2.2.tgz) -419. symbol-observable 1.0.1 (https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz) -420. text-hex 1.0.0 (https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz) -421. throttleit 1.0.0 (https://github.com/component/throttle/tree/1.0.0) -422. through 2.3.8 (https://registry.npmjs.org/through/-/through-2.3.8.tgz) -423. through2 2.0.5 (https://registry.npmjs.org/through2/-/through2-2.0.5.tgz) -424. timers-browserify 2.0.10 (https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz) -425. tiny-inflate 1.0.2 (https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.2.tgz) -426. tinycolor2 1.4.1 (https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz) -427. tinyqueue 1.2.3 (https://registry.npmjs.org/tinyqueue/-/tinyqueue-1.2.3.tgz) -428. tmp 0.0.29 (https://registry.npmjs.org/tmp/-/tmp-0.0.29.tgz) -429. toidentifier 1.0.0 (https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz) -430. topojson-client 3.1.0 (https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz) -431. tough-cookie 2.4.3 (https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz) -432. transformation-matrix 2.0.5 (https://registry.npmjs.org/transformation-matrix/-/transformation-matrix-2.0.5.tgz) -433. tree-kill 1.2.2 (https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz) -434. trim 0.0.1 (https://registry.npmjs.org/trim/-/trim-0.0.1.tgz) -435. trim-trailing-lines 1.1.2 (https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz) -436. triple-beam 1.3.0 (https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz) -437. trough 1.0.4 (https://registry.npmjs.org/trough/-/trough-1.0.4.tgz) -438. tslib 1.10.0 (https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz) -439. tsscmp 1.0.6 (https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz) -440. tunnel-agent 0.6.0 (https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz) -441. tweetnacl 0.14.5 (https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz) -442. type-check 0.3.2 (https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz) -443. type-is 1.6.18 (https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz) -444. typedarray 0.0.6 (https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz) -445. typescript-char 0.0.0 (https://github.com/mason-lang/typescript-char) -446. uint64be 1.0.1 (https://registry.npmjs.org/uint64be/-/uint64be-1.0.1.tgz) -447. underscore 1.8.3 (https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz) -448. unherit 1.1.2 (https://registry.npmjs.org/unherit/-/unherit-1.1.2.tgz) -449. unicode 10.0.0 (https://registry.npmjs.org/unicode/-/unicode-10.0.0.tgz) -450. unicode-trie 0.3.1 (https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz) -451. unified 6.2.0 (https://registry.npmjs.org/unified/-/unified-6.2.0.tgz) -452. uniqid 5.0.3 (https://registry.npmjs.org/uniqid/-/uniqid-5.0.3.tgz) -453. unist-util-is 3.0.0 (https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz) -454. unist-util-remove-position 1.1.3 (https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.3.tgz) -455. unist-util-stringify-position 1.1.2 (https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz) -456. unist-util-visit 1.4.1 (https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz) -457. unist-util-visit-parents 1.1.2 (https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-1.1.2.tgz) -458. universalify 0.1.2 (https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz) -459. untildify 3.0.3 (https://registry.npmjs.org/untildify/-/untildify-3.0.3.tgz) -460. uri-js 4.2.2 (https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz) -461. url-parse 1.4.7 (https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz) -462. util 0.11.1 (https://registry.npmjs.org/util/-/util-0.11.1.tgz) -463. util-deprecate 1.0.2 (https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz) -464. uuid 3.3.2 (https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz) -465. validator 9.4.1 (https://registry.npmjs.org/validator/-/validator-9.4.1.tgz) -466. vary 1.1.2 (https://registry.npmjs.org/vary/-/vary-1.1.2.tgz) -467. vega 5.7.3 (https://registry.npmjs.org/vega/-/vega-5.7.3.tgz) -468. vega-canvas 1.2.1 (https://registry.npmjs.org/vega-canvas/-/vega-canvas-1.2.1.tgz) -469. vega-crossfilter 4.0.1 (https://registry.npmjs.org/vega-crossfilter/-/vega-crossfilter-4.0.1.tgz) -470. vega-dataflow 5.4.1 (https://registry.npmjs.org/vega-dataflow/-/vega-dataflow-5.4.1.tgz) -471. vega-embed 4.2.5 (https://registry.npmjs.org/vega-embed/-/vega-embed-4.2.5.tgz) -472. vega-encode 4.4.1 (https://registry.npmjs.org/vega-encode/-/vega-encode-4.4.1.tgz) -473. vega-event-selector 2.0.1 (https://registry.npmjs.org/vega-event-selector/-/vega-event-selector-2.0.1.tgz) -474. vega-expression 2.6.2 (https://registry.npmjs.org/vega-expression/-/vega-expression-2.6.2.tgz) -475. vega-force 4.0.3 (https://registry.npmjs.org/vega-force/-/vega-force-4.0.3.tgz) -476. vega-functions 5.4.1 (https://registry.npmjs.org/vega-functions/-/vega-functions-5.4.1.tgz) -477. vega-geo 4.1.0 (https://registry.npmjs.org/vega-geo/-/vega-geo-4.1.0.tgz) -478. vega-hierarchy 4.0.3 (https://registry.npmjs.org/vega-hierarchy/-/vega-hierarchy-4.0.3.tgz) -479. vega-lite 3.4.0 (https://registry.npmjs.org/vega-lite/-/vega-lite-3.4.0.tgz) -480. vega-loader 4.1.2 (https://registry.npmjs.org/vega-loader/-/vega-loader-4.1.2.tgz) -481. vega-parser 5.10.1 (https://registry.npmjs.org/vega-parser/-/vega-parser-5.10.1.tgz) -482. vega-projection 1.3.0 (https://registry.npmjs.org/vega-projection/-/vega-projection-1.3.0.tgz) -483. vega-regression 1.0.1 (https://registry.npmjs.org/vega-regression/-/vega-regression-1.0.1.tgz) -484. vega-runtime 5.0.2 (https://registry.npmjs.org/vega-runtime/-/vega-runtime-5.0.2.tgz) -485. vega-scale 4.1.3 (https://registry.npmjs.org/vega-scale/-/vega-scale-4.1.3.tgz) -486. vega-scenegraph 4.3.1 (https://registry.npmjs.org/vega-scenegraph/-/vega-scenegraph-4.3.1.tgz) -487. vega-schema-url-parser 1.1.0 (https://registry.npmjs.org/vega-schema-url-parser/-/vega-schema-url-parser-1.1.0.tgz) -488. vega-selections 5.0.1 (https://registry.npmjs.org/vega-selections/-/vega-selections-5.0.1.tgz) -489. vega-statistics 1.6.1 (https://registry.npmjs.org/vega-statistics/-/vega-statistics-1.6.1.tgz) -490. vega-themes 2.5.0 (https://registry.npmjs.org/vega-themes/-/vega-themes-2.5.0.tgz) -491. vega-tooltip 0.18.1 (https://registry.npmjs.org/vega-tooltip/-/vega-tooltip-0.18.1.tgz) -492. vega-transforms 4.4.3 (https://registry.npmjs.org/vega-transforms/-/vega-transforms-4.4.3.tgz) -493. vega-util 1.12.0 (https://registry.npmjs.org/vega-util/-/vega-util-1.12.0.tgz) -494. vega-view 5.3.1 (https://registry.npmjs.org/vega-view/-/vega-view-5.3.1.tgz) -495. vega-view-transforms 4.4.1 (https://registry.npmjs.org/vega-view-transforms/-/vega-view-transforms-4.4.1.tgz) -496. vega-voronoi 4.1.1 (https://registry.npmjs.org/vega-voronoi/-/vega-voronoi-4.1.1.tgz) -497. vega-wordcloud 4.0.2 (https://registry.npmjs.org/vega-wordcloud/-/vega-wordcloud-4.0.2.tgz) -498. verror 1.10.0 (https://registry.npmjs.org/verror/-/verror-1.10.0.tgz) -499. vfile 2.3.0 (https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz) -500. vfile-location 2.0.5 (https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.5.tgz) -501. vfile-message 1.1.1 (https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz) -502. viz-annotation 0.0.3 (https://registry.npmjs.org/viz-annotation/-/viz-annotation-0.0.3.tgz) -503. vlq 0.2.3 (https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz) -504. vscode-debugadapter 1.35.0 (https://registry.npmjs.org/vscode-debugadapter/-/vscode-debugadapter-1.35.0.tgz) -505. vscode-debugprotocol 1.35.0 (https://registry.npmjs.org/vscode-debugprotocol/-/vscode-debugprotocol-1.35.0.tgz) -506. vscode-extension-telemetry 0.1.0 (https://registry.npmjs.org/vscode-extension-telemetry/-/vscode-extension-telemetry-0.1.0.tgz) -507. vscode-jsonrpc 4.0.0 (https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-4.0.0.tgz) -508. vscode-languageclient 5.2.1 (https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-5.2.1.tgz) -509. vscode-languageserver 5.2.1 (https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-5.2.1.tgz) -510. vscode-languageserver-protocol 3.14.1 (https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.14.1.tgz) -511. vscode-languageserver-types 3.14.0 (https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.14.0.tgz) -512. vsls 0.3.1291 (https://registry.npmjs.org/vsls/-/vsls-0.3.1291.tgz) -513. warning 4.0.3 (https://registry.npmjs.org/warning/-/warning-4.0.3.tgz) -514. webpack (for lodash 4) (https://webpack.js.org/) -515. winreg 1.2.4 (https://github.com/fresc81/node-winreg/tree/v1.2.4) -516. winston 3.2.1 (https://registry.npmjs.org/winston/-/winston-3.2.1.tgz) -517. winston-transport 4.3.0 (https://registry.npmjs.org/winston-transport/-/winston-transport-4.3.0.tgz) -518. wordwrap 1.0.0 (https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz) -519. wrappy 1.0.2 (https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz) -520. ws 6.2.1 (https://registry.npmjs.org/ws/-/ws-6.2.1.tgz) -521. x-is-string 0.1.0 (https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz) -522. xml2js 0.4.19 (https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz) -523. xmlbuilder 9.0.7 (https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz) -524. xtend 4.0.2 (https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz) -525. yallist 2.1.2 (https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz) -526. ylru 1.2.1 (https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz) -527. zone.js 0.7.6 (https://registry.npmjs.org/zone.js/-/zone.js-0.7.6.tgz) - - -%% @babel/runtime 7.5.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@babel/runtime/-/runtime-7.5.4.tgz) -========================================= -MIT License - -Copyright (c) 2014-present Sebastian McKenzie and other contributors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -========================================= -END OF @babel/runtime NOTICES AND INFORMATION - -%% @babel/runtime-corejs2 7.5.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.5.4.tgz) -========================================= -MIT License +This software incorporates material from third parties. +Microsoft makes certain open source code available at https://3rdpartysource.microsoft.com, +or you may send a check or money order for US $5.00, including the product name, +the open source component name, platform, and version number, to: -Copyright (c) 2014-present Sebastian McKenzie and other contributors +Source Code Compliance Team +Microsoft Corporation +One Microsoft Way +Redmond, WA 98052 +USA -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Notwithstanding any other terms, you may reverse engineer this software to the extent +required to debug changes to any libraries licensed under the GNU Lesser General Public License. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF @babel/runtime-corejs2 NOTICES AND INFORMATION +@blueprintjs/core 3.22.3 - Apache-2.0 +https://github.com/palantir/blueprint#readme +Copyright 2015 Palantir Technologies, Inc. +Copyright 2016 Palantir Technologies, Inc. +Copyright 2017 Palantir Technologies, Inc. +Copyright 2018 Palantir Technologies, Inc. +Copyright 2019 Palantir Technologies, Inc. +Copyright 2015-present Palantir Technologies, Inc. +Copyright 2019-present Palantir Technologies, Inc. -%% @blueprintjs/core 3.22.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@blueprintjs/core/-/core-3.22.3.tgz) -========================================= Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -769,11 +205,18 @@ END OF @babel/runtime-corejs2 NOTICES AND INFORMATION END OF TERMS AND CONDITIONS -========================================= -END OF @blueprintjs/core NOTICES AND INFORMATION -%% @blueprintjs/icons 3.13.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@blueprintjs/icons/-/icons-3.13.0.tgz) -========================================= +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@blueprintjs/icons 3.13.0 - Apache-2.0 +https://github.com/palantir/blueprint#readme +Copyright 2015 Palantir Technologies, Inc. +Copyright 2017 Palantir Technologies, Inc. +Copyright 2018 Palantir Technologies, Inc. +Copyright 2017-present Palantir Technologies, Inc. + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -951,11 +394,17 @@ END OF @blueprintjs/core NOTICES AND INFORMATION END OF TERMS AND CONDITIONS -========================================= -END OF @blueprintjs/icons NOTICES AND INFORMATION -%% @blueprintjs/select 3.11.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@blueprintjs/select/-/select-3.11.2.tgz) -========================================= +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@blueprintjs/select 3.11.2 - Apache-2.0 +https://github.com/palantir/blueprint#readme +Copyright 2017 Palantir Technologies, Inc. +Copyright 2018 Palantir Technologies, Inc. +Copyright 2017-present Palantir Technologies, Inc. + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -1133,257 +582,31275 @@ END OF @blueprintjs/icons NOTICES AND INFORMATION END OF TERMS AND CONDITIONS -========================================= -END OF @blueprintjs/select NOTICES AND INFORMATION - -%% @emotion/hash 0.6.6 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@emotion/hash/-/hash-0.6.6.tgz) -========================================= -The MIT License (MIT) -Copyright (c) 2016 Kye Hohenberger +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +acorn-node 1.7.0 - Apache-2.0 +https://github.com/browserify/acorn-node +Copyright (c) 2016 Jordan Gensler +Copyright (c) 2017-2018 by Adrian Heine +Copyright 2018 Renee Kooi -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +# [Apache License 2.0](https://spdx.org/licenses/Apache-2.0) -========================================= -END OF @emotion/hash NOTICES AND INFORMATION +Copyright 2018 Renée Kooi -%% @emotion/memoize 0.6.6 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@emotion/memoize/-/memoize-0.6.6.tgz) -========================================= -The MIT License (MIT) +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at -Copyright (c) 2016 Kye Hohenberger +> http://www.apache.org/licenses/LICENSE-2.0 -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +## acorn-bigint + +The code in the `lib/bigint` folder is compiled from code licensed as MIT: + +> Copyright (C) 2017-2018 by Adrian Heine +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +Find the source code at https://github.com/acornjs/acorn-bigint. + +## acorn-import-meta + +The code in the `lib/import-meta` folder is compiled from code licensed as MIT: + +> Copyright (C) 2017-2018 by Adrian Heine +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +Find the source code at https://github.com/acornjs/acorn-import-meta. + +## acorn-dynamic-import + +The code in the `lib/dynamic-import` folder is licensed as MIT: + +> MIT License +> +> Copyright (c) 2016 Jordan Gensler +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +Find the source code at https://github.com/kesne/acorn-dynamic-import. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +aria-query 3.0.0 - Apache-2.0 +https://github.com/A11yance/aria-query#readme -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ -========================================= -END OF @emotion/memoize NOTICES AND INFORMATION +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -%% @emotion/stylis 0.7.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@emotion/stylis/-/stylis-0.7.1.tgz) -========================================= -The MIT License (MIT) +1. Definitions. -Copyright (c) 2016 Kye Hohenberger +"License" shall mean the terms and conditions for use, reproduction, +and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by +the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all +other entities that control, are controlled by, or are under common +control with that entity. For the purposes of this definition, +"control" means (i) the power, direct or indirect, to cause the +direction or management of such entity, whether by contract or +otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity +exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, +including but not limited to software source code, documentation +source, and configuration files. + +"Object" form shall mean any form resulting from mechanical +transformation or translation of a Source form, including but +not limited to compiled object code, generated documentation, +and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or +Object form, made available under the License, as indicated by a +copyright notice that is included in or attached to the work +(an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object +form, that is based on (or derived from) the Work and for which the +editorial revisions, annotations, elaborations, or other modifications +represent, as a whole, an original work of authorship. For the purposes +of this License, Derivative Works shall not include works that remain +separable from, or merely link (or bind by name) to the interfaces of, +the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including +the original version of the Work and any modifications or additions +to that Work or Derivative Works thereof, that is intentionally +submitted to Licensor for inclusion in the Work by the copyright owner +or by an individual or Legal Entity authorized to submit on behalf of +the copyright owner. For the purposes of this definition, "submitted" +means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, +and issue tracking systems that are managed by, or on behalf of, the +Licensor for the purpose of discussing and improving the Work, but +excluding communication that is conspicuously marked or otherwise +designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity +on behalf of whom a Contribution has been received by Licensor and +subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the +Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +(except as stated in this section) patent license to make, have made, +use, offer to sell, sell, import, and otherwise transfer the Work, +where such license applies only to those patent claims licensable +by such Contributor that are necessarily infringed by their +Contribution(s) alone or by combination of their Contribution(s) +with the Work to which such Contribution(s) was submitted. If You +institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work +or a Contribution incorporated within the Work constitutes direct +or contributory patent infringement, then any patent licenses +granted to You under this License for that Work shall terminate +as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the +Work or Derivative Works thereof in any medium, with or without +modifications, and in Source or Object form, provided that You +meet the following conditions: + +(a) You must give any other recipients of the Work or +Derivative Works a copy of this License; and + +(b) You must cause any modified files to carry prominent notices +stating that You changed the files; and + +(c) You must retain, in the Source form of any Derivative Works +that You distribute, all copyright, patent, trademark, and +attribution notices from the Source form of the Work, +excluding those notices that do not pertain to any part of +the Derivative Works; and + +(d) If the Work includes a "NOTICE" text file as part of its +distribution, then any Derivative Works that You distribute must +include a readable copy of the attribution notices contained +within such NOTICE file, excluding those notices that do not +pertain to any part of the Derivative Works, in at least one +of the following places: within a NOTICE text file distributed +as part of the Derivative Works; within the Source form or +documentation, if provided along with the Derivative Works; or, +within a display generated by the Derivative Works, if and +wherever such third-party notices normally appear. The contents +of the NOTICE file are for informational purposes only and +do not modify the License. You may add Your own attribution +notices within Derivative Works that You distribute, alongside +or as an addendum to the NOTICE text from the Work, provided +that such additional attribution notices cannot be construed +as modifying the License. + +You may add Your own copyright statement to Your modifications and +may provide additional or different license terms and conditions +for use, reproduction, or distribution of Your modifications, or +for any such Derivative Works as a whole, provided Your use, +reproduction, and distribution of the Work otherwise complies with +the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, +any Contribution intentionally submitted for inclusion in the Work +by You to the Licensor shall be under the terms and conditions of +this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify +the terms of any separate license agreement you may have executed +with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade +names, trademarks, service marks, or product names of the Licensor, +except as required for reasonable and customary use in describing the +origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or +agreed to in writing, Licensor provides the Work (and each +Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +implied, including, without limitation, any warranties or conditions +of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A +PARTICULAR PURPOSE. You are solely responsible for determining the +appropriateness of using or redistributing the Work and assume any +risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, +whether in tort (including negligence), contract, or otherwise, +unless required by applicable law (such as deliberate and grossly +negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, +incidental, or consequential damages of any character arising as a +result of this License or out of the use or inability to use the +Work (including but not limited to damages for loss of goodwill, +work stoppage, computer failure or malfunction, or any and all +other commercial damages or losses), even if such Contributor +has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing +the Work or Derivative Works thereof, You may choose to offer, +and charge a fee for, acceptance of support, warranty, indemnity, +or other liability obligations and/or rights consistent with this +License. However, in accepting such obligations, You may act only +on Your own behalf and on Your sole responsibility, not on behalf +of any other Contributor, and only if You agree to indemnify, +defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason +of your accepting any such warranty or additional liability. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +END OF TERMS AND CONDITIONS -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +APPENDIX: How to apply the Apache License to your work. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +To apply the Apache License to your work, attach the following +boilerplate notice, with the fields enclosed by brackets "{}" +replaced with your own identifying information. (Don't include +the brackets!) The text should be enclosed in the appropriate +comment syntax for the file format. We also recommend that a +file or class name and description of purpose be included on the +same "printed page" as the copyright notice for easier +identification within third-party archives. -========================================= -END OF @emotion/stylis NOTICES AND INFORMATION +Copyright {yyyy} {name of copyright owner} -%% @emotion/unitless 0.6.7 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@emotion/unitless/-/unitless-0.6.7.tgz) -========================================= -The MIT License (MIT) +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at -Copyright (c) 2016 Kye Hohenberger +http://www.apache.org/licenses/LICENSE-2.0 -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF @emotion/unitless NOTICES AND INFORMATION +------------------------------------------------------------------- -%% @icons/material 0.2.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@icons/material/-/material-0.2.4.tgz) -========================================= -The MIT License +aws-sign2 0.7.0 - Apache-2.0 +https://github.com/mikeal/aws-sign#readme +Copyright 2010 LearnBoost -Copyright 2019 @icons/material developers +Apache License -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +Version 2.0, January 2004 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +http://www.apache.org/licenses/ -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -========================================= -END OF @icons/material NOTICES AND INFORMATION +1. Definitions. -%% @jupyterlab/coreutils 3.1.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@jupyterlab/coreutils/-/coreutils-3.1.0.tgz) -========================================= -Copyright (c) 2015 Project Jupyter Contributors -All rights reserved. +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. -Semver File License -=================== +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). -The semver.py file is from https://github.com/podhmo/python-semver -which is licensed under the "MIT" license. See the semver.py file for details. +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." -========================================= -END OF @jupyterlab/coreutils NOTICES AND INFORMATION +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. -%% @jupyterlab/observables 2.4.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@jupyterlab/observables/-/observables-2.4.0.tgz) -========================================= -Copyright (c) 2015 Project Jupyter Contributors -All rights reserved. +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +You must give any other recipients of the Work or Derivative Works a copy of this License; and -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +You must cause any modified files to carry prominent notices stating that You changed the files; and -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and -Semver File License -=================== +If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. -The semver.py file is from https://github.com/podhmo/python-semver -which is licensed under the "MIT" license. See the semver.py file for details. +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. -========================================= -END OF @jupyterlab/observables NOTICES AND INFORMATION +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. -%% @jupyterlab/services 4.2.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@jupyterlab/services/-/services-4.2.0.tgz) -========================================= -Copyright (c) 2015 Project Jupyter Contributors -All rights reserved. +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +END OF TERMS AND CONDITIONS -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +------------------------------------------------------------------- -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +azure-storage 2.10.3 - Apache-2.0 +http://github.com/Azure/azure-storage-node +Copyright (c) Microsoft and contributors. -Semver File License -=================== + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -The semver.py file is from https://github.com/podhmo/python-semver -which is licensed under the "MIT" license. See the semver.py file for details. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + 1. Definitions. -========================================= -END OF @jupyterlab/services NOTICES AND INFORMATION + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -%% @koa/cors 3.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@koa/cors/-/cors-3.0.0.tgz) -========================================= -This software is licensed under the MIT License. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +caseless 0.12.0 - Apache-2.0 +https://github.com/mikeal/caseless#readme + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +1. Definitions. +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: +You must give any other recipients of the Work or Derivative Works a copy of this License; and +You must cause any modified files to carry prominent notices stating that You changed the files; and +You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. +END OF TERMS AND CONDITIONS + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +detect-libc 1.0.3 - Apache-2.0 +https://github.com/lovell/detect-libc#readme +Copyright 2017 Lovell Fuller + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +diff-match-patch 1.0.4 - Apache-2.0 +https://github.com/JackuB/diff-match-patch#readme +Copyright 2018 + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +ejs 2.7.4 - Apache-2.0 +https://github.com/mde/ejs +Copyright Joyent, Inc. and other Node contributors. + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +estree-is-function 1.0.0 - Apache-2.0 +https://github.com/goto-bus-stop/estree-is-function +Copyright 2017 Renee Kooi + +# [Apache License 2.0](https://spdx.org/licenses/Apache-2.0) + +Copyright 2017 Renée Kooi + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +> http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +fast-diff 1.2.0 - Apache-2.0 +https://github.com/jhchen/fast-diff#readme +Copyright 2006 Google Inc. http://code.google.com/p/google-diff-match-patch + +Apache License + +Version 2.0, January 2004 + +http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + + + "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + + + + "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + + + + "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + + + + "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + + + + "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + + + + "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + + + + "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + + + + "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + + + + "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." + + + + "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + + (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. + + You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + +To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); + +you may not use this file except in compliance with the License. + +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software + +distributed under the License is distributed on an "AS IS" BASIS, + +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + +See the License for the specific language governing permissions and + +limitations under the License. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +forever-agent 0.6.1 - Apache-2.0 +https://github.com/mikeal/forever-agent + +Apache License + +Version 2.0, January 2004 + +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of this License; and + +You must cause any modified files to carry prominent notices stating that You changed the files; and + +You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + +If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +get-assigned-identifiers 1.2.0 - Apache-2.0 +https://github.com/goto-bus-stop/get-assigned-identifiers +Copyright 2017 Renee Kooi + +# [Apache License 2.0](https://spdx.org/licenses/Apache-2.0) + +Copyright 2017 Renée Kooi + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +> http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +less-plugin-inline-urls 1.2.0 - Apache-2.0 +http://lesscss.org + +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +log4js 6.1.2 - Apache-2.0 +https://log4js-node.github.io/log4js-node/ +Copyright 2015 Gareth Jones + +Copyright 2015 Gareth Jones (with contributions from many other people) + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +oauth-sign 0.9.0 - Apache-2.0 +https://github.com/mikeal/oauth-sign#readme + +Apache License + +Version 2.0, January 2004 + +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of this License; and + +You must cause any modified files to carry prominent notices stating that You changed the files; and + +You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + +If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +reflect-metadata 0.1.13 - Apache-2.0 +http://rbuckton.github.io/reflect-metadata +Copyright (c) Microsoft. +Copyright (c) 2016 Brian Terlson +Copyright (c) 2015 Nicolas Bevacqua +Copyright (c) Microsoft Corporation. + +Apache License + +Version 2.0, January 2004 + +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of this License; and + +You must cause any modified files to carry prominent notices stating that You changed the files; and + +You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + +If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +request 2.88.0 - Apache-2.0 +https://github.com/request/request#readme +Copyright 2010-2012 Mikeal Rogers + +Apache License + +Version 2.0, January 2004 + +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of this License; and + +You must cause any modified files to carry prominent notices stating that You changed the files; and + +You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + +If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +rxjs 6.5.4 - Apache-2.0 +https://github.com/ReactiveX/RxJS +Copyright Google Inc. +Copyright (c) Microsoft Corporation. +Copyright (c) 2015-2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright (c) 2015-2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright (c) 2015-2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright (c) 2015-2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright (c) 2015-2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +rxjs-compat 6.5.4 - Apache-2.0 +(c) this.destination.next +(c) this.destination.error +Copyright (c) Microsoft Corporation. +Copyright (c) 2015-2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright (c) 2015-2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright (c) 2015-2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright (c) 2015-2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright (c) 2015-2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +scope-analyzer 2.0.5 - Apache-2.0 +https://github.com/goto-bus-stop/scope-analyzer +Copyright 2017 Renee Kooi + +# [Apache License 2.0](https://spdx.org/licenses/Apache-2.0) + +Copyright 2017 Renée Kooi + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +> http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +spdx-correct 3.1.0 - Apache-2.0 +https://github.com/jslicense/spdx-correct.js#readme + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +tslib 1.10.0 - Apache-2.0 +http://typescriptlang.org/ +Copyright (c) Microsoft Corporation. + +Apache License + +Version 2.0, January 2004 + +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of this License; and + +You must cause any modified files to carry prominent notices stating that You changed the files; and + +You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + +If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +tslib 1.9.3 - Apache-2.0 +http://typescriptlang.org/ +Copyright (c) Microsoft Corporation. + +Apache License + +Version 2.0, January 2004 + +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of this License; and + +You must cause any modified files to carry prominent notices stating that You changed the files; and + +You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + +If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +tslib 1.9.0 - Apache-2.0 +http://typescriptlang.org/ +Copyright (c) Microsoft Corporation. + +Apache License + +Version 2.0, January 2004 + +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of this License; and + +You must cause any modified files to carry prominent notices stating that You changed the files; and + +You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + +If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +tslint 5.20.1 - Apache-2.0 +https://palantir.github.io/tslint +Copyright 2018 +Copyright 2013 Palantir Technologies, Inc. +Copyright 2014 Palantir Technologies, Inc. +Copyright 2015 Palantir Technologies, Inc. +Copyright 2016 Palantir Technologies, Inc. +Copyright 2017 Palantir Technologies, Inc. +Copyright 2018 Palantir Technologies, Inc. +Copyright 2019 Palantir Technologies, Inc. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +tunnel-agent 0.6.0 - Apache-2.0 +https://github.com/mikeal/tunnel-agent#readme + +Apache License + +Version 2.0, January 2004 + +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of this License; and + +You must cause any modified files to carry prominent notices stating that You changed the files; and + +You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + +If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +xml-name-validator 3.0.0 - Apache-2.0 +https://github.com/jsdom/xml-name-validator#readme + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +browser-process-hrtime 0.1.3 - BSD-2-Clause +https://github.com/kumavis/browser-process-hrtime#readme +Copyright 2014 + +Copyright 2014 kumavis + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +css-select 1.2.0 - BSD-2-Clause +https://github.com/fb55/css-select#readme +Copyright (c) Felix Bohm + +Copyright (c) Felix Böhm +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +css-what 2.1.3 - BSD-2-Clause +https://github.com/fb55/css-what#readme +Copyright (c) Felix Bohm + +Copyright (c) Felix Böhm +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +domelementtype 2.0.1 - BSD-2-Clause +https://github.com/fb55/domelementtype#readme +Copyright (c) Felix Bohm + +Copyright (c) Felix Böhm +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +domelementtype 1.3.1 - BSD-2-Clause +https://github.com/fb55/domelementtype#readme +Copyright (c) Felix Bohm + +Copyright (c) Felix Böhm +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +domhandler 3.0.0 - BSD-2-Clause +https://github.com/fb55/DomHandler#readme +Copyright (c) Felix Bohm + +Copyright (c) Felix Böhm +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +domhandler 2.4.2 - BSD-2-Clause +https://github.com/fb55/DomHandler#readme +Copyright (c) Felix Bohm + +Copyright (c) Felix Böhm +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +domutils 1.5.1 - BSD-2-Clause +https://github.com/FB55/domutils +Copyright (c) Felix Bohm + +Copyright (c) Felix Böhm +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +domutils 2.1.0 - BSD-2-Clause +https://github.com/fb55/domutils#readme +Copyright (c) Felix Bohm + +Copyright (c) Felix Böhm +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +domutils 1.7.0 - BSD-2-Clause +https://github.com/FB55/domutils#readme +Copyright (c) Felix Bohm + +Copyright (c) Felix Böhm +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +entities 1.1.2 - BSD-2-Clause +https://github.com/fb55/entities#readme +Copyright (c) Felix Bohm +(c) // http://mathiasbynens.be/notes/javascript-encoding + +Copyright (c) Felix Böhm +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +entities 2.0.3 - BSD-2-Clause +https://github.com/fb55/entities#readme +Copyright (c) Felix Bohm + +Copyright (c) Felix Böhm +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +escodegen 1.2.0 - BSD-2-Clause +http://github.com/Constellation/escodegen +Copyright (c) 2012 Kris Kowal +Copyright (c) 2012 John Freeman +Copyright (c) 2012 Yusuke Suzuki +Copyright (c) 2012-2013 Mathias Bynens +Copyright (c) 2014 Yusuke Suzuki +Copyright (c) 2013 Irakli Gozalishvili +Copyright (c) 2009-2011, Mozilla Foundation and contributors +Copyright (c) 2012 Arpad Borsos +Copyright (c) 2012-2013 Yusuke Suzuki +Copyright (c) 2011-2012 Ariya Hidayat +Copyright (c) 2012 Yusuke Suzuki (http://github.com/Constellation) +Copyright (c) 2012 Joost-Wim Boekesteijn +Copyright (c) 2012 Robert Gust-Bardon +Copyright (c) 2012-2013 Michael Ficarra + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +escodegen 1.11.1 - BSD-2-Clause +http://github.com/estools/escodegen +Copyright (c) 2014 Ivan Nikulin +Copyright (c) 2012 Kris Kowal +Copyright (c) 2012 John Freeman +Copyright (c) 2015 Ingvar Stepanyan +Copyright (c) 2012 Yusuke Suzuki +Copyright (c) 2012-2013 Mathias Bynens +Copyright (c) 2013 Irakli Gozalishvili +Copyright (c) 2012 Arpad Borsos +Copyright (c) 2012-2014 Yusuke Suzuki +Copyright (c) 2011-2012 Ariya Hidayat +Copyright (c) 2012 Yusuke Suzuki (http://github.com/Constellation) +Copyright (c) 2012 Joost-Wim Boekesteijn +Copyright (c) 2012 Robert Gust-Bardon +Copyright (c) 2012-2013 Michael Ficarra + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +escodegen 1.9.1 - BSD-2-Clause +http://github.com/estools/escodegen +Copyright (c) 2014 Ivan Nikulin +Copyright (c) 2012 Kris Kowal +Copyright (c) 2012 John Freeman +Copyright (c) 2015 Ingvar Stepanyan +Copyright (c) 2012 Yusuke Suzuki +Copyright (c) 2012-2013 Mathias Bynens +Copyright (c) 2013 Irakli Gozalishvili +Copyright (c) 2012 Arpad Borsos +Copyright (c) 2012-2014 Yusuke Suzuki +Copyright (c) 2011-2012 Ariya Hidayat +Copyright (c) 2012 Yusuke Suzuki (http://github.com/Constellation) +Copyright (c) 2012 Joost-Wim Boekesteijn +Copyright (c) 2012 Robert Gust-Bardon +Copyright (c) 2012-2013 Michael Ficarra + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +esprima 4.0.1 - BSD-2-Clause +http://esprima.org +Copyright JS Foundation and other contributors, https://js.foundation + +Copyright JS Foundation and other contributors, https://js.foundation/ + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +esprima 3.1.3 - BSD-2-Clause +http://esprima.org +Copyright JS Foundation and other contributors, https://js.foundation + +Copyright JS Foundation and other contributors, https://js.foundation/ + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +esprima 1.0.4 - BSD-2-Clause +http://esprima.org +Copyright (c) 2012 Mathias Bynens +Copyright (c) 2012 Kris Kowal +Copyright (c) 2011 Yusuke Suzuki +Copyright (c) 2012 Yusuke Suzuki +Copyright (c) 2011 Ariya Hidayat +Copyright (c) 2012 Ariya Hidayat +Copyright (c) 2011 Arpad Borsos +Copyright (c) 2012 Arpad Borsos +Copyright (c) 2012 Joost-Wim Boekesteijn +Copyright (c) 2012, 2011 Ariya Hidayat (http://ariya.ofilabs.com/about) and other contributors. + +Copyright (c) . All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +estraverse 1.5.1 - BSD-2-Clause +https://github.com/Constellation/estraverse +Copyright (c) 2012 Ariya Hidayat +Copyright (c) 2012-2013 Yusuke Suzuki +Copyright (c) 2012-2013 Yusuke Suzuki (http://github.com/Constellation) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +estraverse 4.3.0 - BSD-2-Clause +https://github.com/estools/estraverse +Copyright (c) 2014 Yusuke Suzuki +Copyright (c) 2012 Ariya Hidayat +Copyright (c) 2012-2013 Yusuke Suzuki +Copyright (c) 2012-2016 Yusuke Suzuki (http://github.com/Constellation) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +esutils 1.1.6 - BSD-2-Clause +https://github.com/Constellation/esutils +Copyright (c) 2014 Ivan Nikulin +Copyright (c) 2013 Yusuke Suzuki +Copyright (c) 2013-2014 Yusuke Suzuki +Copyright (c) 2013 Yusuke Suzuki (http://github.com/Constellation) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +esutils 1.0.0 - BSD-2-Clause +https://github.com/Constellation/esutils +Copyright (c) 2013 Yusuke Suzuki +Copyright (c) 2013 Yusuke Suzuki (http://github.com/Constellation) + +Copyright (c) . All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +esutils 2.0.3 - BSD-2-Clause +https://github.com/estools/esutils +Copyright (c) 2014 Ivan Nikulin +Copyright (c) 2013 Yusuke Suzuki +Copyright (c) 2013-2014 Yusuke Suzuki +Copyright (c) 2013 Yusuke Suzuki (http://github.com/Constellation) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +extract-zip 1.7.0 - BSD-2-Clause +https://github.com/maxogden/extract-zip#readme +Copyright (c) 2014 Max Ogden and other contributors + +Copyright (c) 2014 Max Ogden and other contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +http-cache-semantics 4.1.0 - BSD-2-Clause +https://github.com/kornelski/http-cache-semantics#readme +Copyright 2016-2018 Kornel Lesinski + +Copyright 2016-2018 Kornel Lesiński + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +http-cache-semantics 3.8.1 - BSD-2-Clause +https://github.com/pornel/http-cache-semantics#readme + +Copyright (c) . All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +normalize-package-data 2.5.0 - BSD-2-Clause +https://github.com/npm/normalize-package-data#readme +Copyright (c) Meryn Stol +Copyright (c) 2013 Meryn Stol + +This package contains code originally written by Isaac Z. Schlueter. +Used with permission. + +Copyright (c) Meryn Stol ("Author") +All rights reserved. + +The BSD License + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +nth-check 1.0.2 - BSD-2-Clause +https://github.com/fb55/nth-check +Copyright (c) Felix Bohm + +Copyright (c) Felix Böhm +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +onecolor 3.1.0 - BSD-2-Clause +https://github.com/One-com/one-color#readme +Copyright (c) 2011, One.com + +Copyright (c) 2011, One.com +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Neither the name of the author nor the names of contributors may + be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +sax 0.5.8 - BSD-2-Clause +https://github.com/isaacs/sax-js +Copyright (c) Isaac Z. Schlueter +copyright-software-short-notice-20021231.html' W3C Software Short +copyright' Copyright 2012 W3C http://www.csail.mit.edu/' title Massachusetts Institute of Technology' MIT , http://www.ercim.org/' + +Copyright (c) Isaac Z. Schlueter ("Author") +All rights reserved. + +The BSD License + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +The file "examples/strict.dtd" is licensed by the W3C and used according +to the terms of the W3C SOFTWARE NOTICE AND LICENSE. See LICENSE-W3C.html +for details. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +terser 4.6.3 - BSD-2-Clause +https://terser.org +Copyright 2012 (c) Mihai Bazon +Copyright 2012-2018 (c) Mihai Bazon + +UglifyJS is released under the BSD license: + +Copyright 2012-2018 (c) Mihai Bazon + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, +OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +uri-js 4.2.2 - BSD-2-Clause +https://github.com/garycourt/uri-js +(c) 2011 Gary Court. +Copyright 2011 Gary Court. +Copyright (c) 2008 Ariel Flesler +Copyright (c) 2009 John Resig, Jorn Zaefferer + +Copyright (c) . All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +winreg 1.2.4 - BSD-2-Clause +http://fresc81.github.io/node-winreg +Copyright (c) 2016 Paul +Copyright (c) 2016, Paul Bottin + +Copyright (c) . All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@jupyter-widgets/base 2.0.2 - BSD-3-Clause +https://github.com/jupyter-widgets/ipywidgets#readme +Copyright (c) 2014 Adam Krebs +(c) 2015 Adam Krebs, Jimmy Yuen Ho Wong +Copyright (c) Jupyter Development Team. +Copyright (c) 2015 Project Jupyter Contributors +Copyright (c) 2010-2015 Jeremy Ashkenas, DocumentCloud +(c) 2010-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors Backbone + +Copyright (c) 2015 Project Jupyter Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@jupyter-widgets/controls 1.5.3 - BSD-3-Clause +https://github.com/jupyter-widgets/ipywidgets#readme +Copyright (c) 2014 Dan Le +Copyright (c) 2014-2017, PhosphorJS +Copyright (c) Jupyter Development Team. +Copyright (c) 2015 Project Jupyter Contributors + +Copyright (c) 2015 Project Jupyter Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@jupyter-widgets/jupyterlab-manager 1.1.0 - BSD-3-Clause +https://github.com/jupyter-widgets/ipywidgets +Copyright (c) Jupyter Development Team. +Copyright (c) 2015 Project Jupyter Contributors + +Copyright (c) 2015 Project Jupyter Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@jupyter-widgets/output 2.0.1 - BSD-3-Clause +https://github.com/jupyter-widgets/ipywidgets#readme +Copyright (c) 2015 Project Jupyter Contributors + +Copyright (c) 2015 Project Jupyter Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@jupyter-widgets/schema 0.4.0 - BSD-3-Clause +https://github.com/jupyter-widgets/ipywidgets#readme +Copyright (c) Jupyter Development Team. + +Copyright (c) . All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@jupyterlab/application 1.2.2 - BSD-3-Clause +https://github.com/jupyterlab/jupyterlab +Copyright (c) Jupyter Development Team. +Copyright (c) 2015 Project Jupyter Contributors + +Copyright (c) 2015 Project Jupyter Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Semver File License +=================== + +The semver.py file is from https://github.com/podhmo/python-semver +which is licensed under the "MIT" license. See the semver.py file for details. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@jupyterlab/apputils 1.2.2 - BSD-3-Clause +https://github.com/jupyterlab/jupyterlab +Copyright (c) Jupyter Development Team. +Copyright (c) 2017, Jupyter Development Team. +Copyright (c) 2015 Project Jupyter Contributors +Copyright (c) 2014-2016, Jupyter Development Team. +Copyright (c) 2014-2017, Jupyter Development Team. + +Copyright (c) 2015 Project Jupyter Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Semver File License +=================== + +The semver.py file is from https://github.com/podhmo/python-semver +which is licensed under the "MIT" license. See the semver.py file for details. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@jupyterlab/attachments 1.2.2 - BSD-3-Clause +https://github.com/jupyterlab/jupyterlab +Copyright (c) Jupyter Development Team. +Copyright (c) 2015 Project Jupyter Contributors + +Copyright (c) 2015 Project Jupyter Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Semver File License +=================== + +The semver.py file is from https://github.com/podhmo/python-semver +which is licensed under the "MIT" license. See the semver.py file for details. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@jupyterlab/cells 1.2.3 - BSD-3-Clause +https://github.com/jupyterlab/jupyterlab +Copyright (c) Jupyter Development Team. +Copyright (c) 2015 Project Jupyter Contributors + +Copyright (c) 2015 Project Jupyter Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Semver File License +=================== + +The semver.py file is from https://github.com/podhmo/python-semver +which is licensed under the "MIT" license. See the semver.py file for details. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@jupyterlab/codeeditor 1.2.0 - BSD-3-Clause +https://github.com/jupyterlab/jupyterlab +Copyright (c) Jupyter Development Team. +Copyright (c) 2015 Project Jupyter Contributors +Copyright (c) 2014-2016, Jupyter Development Team. + +Copyright (c) 2015 Project Jupyter Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Semver File License +=================== + +The semver.py file is from https://github.com/podhmo/python-semver +which is licensed under the "MIT" license. See the semver.py file for details. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@jupyterlab/codemirror 1.2.2 - BSD-3-Clause +https://github.com/jupyterlab/jupyterlab +Copyright (c) Jupyter Development Team. +Copyright (c) 2015 Project Jupyter Contributors + +Copyright (c) 2015 Project Jupyter Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Semver File License +=================== + +The semver.py file is from https://github.com/podhmo/python-semver +which is licensed under the "MIT" license. See the semver.py file for details. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@jupyterlab/coreutils 3.1.0 - BSD-3-Clause +https://github.com/jupyterlab/jupyterlab +Copyright (c) Jupyter Development Team. +Copyright (c) 2015 Project Jupyter Contributors + +Copyright (c) 2015 Project Jupyter Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Semver File License +=================== + +The semver.py file is from https://github.com/podhmo/python-semver +which is licensed under the "MIT" license. See the semver.py file for details. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@jupyterlab/coreutils 3.2.0 - BSD-3-Clause +https://github.com/jupyterlab/jupyterlab +Copyright (c) Jupyter Development Team. +Copyright (c) 2015 Project Jupyter Contributors + +Copyright (c) 2015 Project Jupyter Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Semver File License +=================== + +The semver.py file is from https://github.com/podhmo/python-semver +which is licensed under the "MIT" license. See the semver.py file for details. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@jupyterlab/docmanager 1.2.2 - BSD-3-Clause +https://github.com/jupyterlab/jupyterlab +Copyright (c) Jupyter Development Team. +Copyright (c) 2015 Project Jupyter Contributors + +Copyright (c) 2015 Project Jupyter Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Semver File License +=================== + +The semver.py file is from https://github.com/podhmo/python-semver +which is licensed under the "MIT" license. See the semver.py file for details. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@jupyterlab/docregistry 1.2.2 - BSD-3-Clause +https://github.com/jupyterlab/jupyterlab +Copyright (c) Jupyter Development Team. +Copyright (c) 2015 Project Jupyter Contributors + +Copyright (c) 2015 Project Jupyter Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Semver File License +=================== + +The semver.py file is from https://github.com/podhmo/python-semver +which is licensed under the "MIT" license. See the semver.py file for details. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@jupyterlab/filebrowser 1.2.2 - BSD-3-Clause +https://github.com/jupyterlab/jupyterlab +Copyright (c) Jupyter Development Team. +Copyright (c) 2015 Project Jupyter Contributors + +Copyright (c) 2015 Project Jupyter Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Semver File License +=================== + +The semver.py file is from https://github.com/podhmo/python-semver +which is licensed under the "MIT" license. See the semver.py file for details. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@jupyterlab/logconsole 1.0.3 - BSD-3-Clause +https://github.com/jupyterlab/jupyterlab +Copyright (c) Jupyter Development Team. +Copyright (c) 2015 Project Jupyter Contributors + +Copyright (c) 2015 Project Jupyter Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Semver File License +=================== + +The semver.py file is from https://github.com/podhmo/python-semver +which is licensed under the "MIT" license. See the semver.py file for details. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@jupyterlab/mainmenu 1.2.2 - BSD-3-Clause +https://github.com/jupyterlab/jupyterlab +Copyright (c) Jupyter Development Team. +Copyright (c) 2015 Project Jupyter Contributors + +Copyright (c) 2015 Project Jupyter Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Semver File License +=================== + +The semver.py file is from https://github.com/podhmo/python-semver +which is licensed under the "MIT" license. See the semver.py file for details. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@jupyterlab/notebook 1.2.3 - BSD-3-Clause +https://github.com/jupyterlab/jupyterlab +Copyright (c) Jupyter Development Team. +Copyright (c) 2015 Project Jupyter Contributors + +Copyright (c) 2015 Project Jupyter Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Semver File License +=================== + +The semver.py file is from https://github.com/podhmo/python-semver +which is licensed under the "MIT" license. See the semver.py file for details. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@jupyterlab/observables 2.4.0 - BSD-3-Clause +https://github.com/jupyterlab/jupyterlab +Copyright (c) Jupyter Development Team. +Copyright (c) 2015 Project Jupyter Contributors + +Copyright (c) 2015 Project Jupyter Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Semver File License +=================== + +The semver.py file is from https://github.com/podhmo/python-semver +which is licensed under the "MIT" license. See the semver.py file for details. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@jupyterlab/outputarea 1.2.3 - BSD-3-Clause +https://github.com/jupyterlab/jupyterlab +Copyright (c) Jupyter Development Team. +Copyright (c) 2015 Project Jupyter Contributors + +Copyright (c) 2015 Project Jupyter Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Semver File License +=================== + +The semver.py file is from https://github.com/podhmo/python-semver +which is licensed under the "MIT" license. See the semver.py file for details. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@jupyterlab/rendermime 1.2.2 - BSD-3-Clause +https://github.com/jupyterlab/jupyterlab +Copyright (c) Jupyter Development Team. +Copyright (c) 2015 Project Jupyter Contributors + +Copyright (c) 2015 Project Jupyter Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Semver File License +=================== + +The semver.py file is from https://github.com/podhmo/python-semver +which is licensed under the "MIT" license. See the semver.py file for details. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@jupyterlab/rendermime-interfaces 1.5.0 - BSD-3-Clause +https://github.com/jupyterlab/jupyterlab +Copyright (c) 2015 Project Jupyter Contributors + +Copyright (c) 2015 Project Jupyter Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Semver File License +=================== + +The semver.py file is from https://github.com/podhmo/python-semver +which is licensed under the "MIT" license. See the semver.py file for details. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@jupyterlab/services 4.2.0 - BSD-3-Clause +https://github.com/jupyterlab/jupyterlab +(c) 2011 Gary Court. +Copyright (c) Jupyter Development Team. +Copyright (c) 2015 Project Jupyter Contributors + +Copyright (c) 2015 Project Jupyter Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Semver File License +=================== + +The semver.py file is from https://github.com/podhmo/python-semver +which is licensed under the "MIT" license. See the semver.py file for details. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@jupyterlab/statusbar 1.2.2 - BSD-3-Clause +https://github.com/jupyterlab/jupyterlab +Copyright (c) Jupyter Development Team. +Copyright (c) 2015 Project Jupyter Contributors + +Copyright (c) 2015 Project Jupyter Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Semver File License +=================== + +The semver.py file is from https://github.com/podhmo/python-semver +which is licensed under the "MIT" license. See the semver.py file for details. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@jupyterlab/ui-components 1.2.1 - BSD-3-Clause +https://github.com/jupyterlab/jupyterlab +Copyright (c) Jupyter Development Team. +Copyright (c) 2015 Project Jupyter Contributors + +Copyright (c) 2015 Project Jupyter Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Semver File License +=================== + +The semver.py file is from https://github.com/podhmo/python-semver +which is licensed under the "MIT" license. See the semver.py file for details. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@nteract/commutable 7.2.9 - BSD-3-Clause +Copyright (c) 2016, nteract contributors + +Copyright (c) 2016, nteract contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of nteract nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@nteract/messaging 7.0.4 - BSD-3-Clause +Copyright (c) 2016, nteract contributors + +Copyright (c) 2016, nteract contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of nteract nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@nteract/transform-plotly 6.0.0 - BSD-3-Clause +Copyright (c) 2016, nteract contributors + +Copyright (c) 2016, nteract contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of nteract nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@nteract/transform-vega 6.0.3 - BSD-3-Clause +Copyright (c) 2016, nteract contributors + +Copyright (c) 2016, nteract contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of nteract nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@phosphor/algorithm 1.1.3 - BSD-3-Clause +https://github.com/phosphorjs/phosphor +Copyright (c) 2014-2017, PhosphorJS + +Copyright (c) . All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@phosphor/algorithm 1.2.0 - BSD-3-Clause +https://github.com/phosphorjs/phosphor +Copyright (c) 2014-2017, PhosphorJS + +Copyright (c) 2014-2017, PhosphorJS Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@phosphor/application 1.7.3 - BSD-3-Clause +https://github.com/phosphorjs/phosphor +Copyright (c) 2014-2017, PhosphorJS + +Copyright (c) 2014-2017, PhosphorJS Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@phosphor/collections 1.2.0 - BSD-3-Clause +https://github.com/phosphorjs/phosphor +Copyright (c) 2014-2017, PhosphorJS +Copyright (c) 2014-2018, PhosphorJS + +Copyright (c) 2014-2017, PhosphorJS Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@phosphor/commands 1.7.2 - BSD-3-Clause +https://github.com/phosphorjs/phosphor +Copyright (c) 2014-2017, PhosphorJS + +Copyright (c) 2014-2017, PhosphorJS Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@phosphor/coreutils 1.3.1 - BSD-3-Clause +https://github.com/phosphorjs/phosphor +Copyright (c) 2014-2017, PhosphorJS + +Copyright (c) . All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@phosphor/disposable 1.3.1 - BSD-3-Clause +https://github.com/phosphorjs/phosphor +Copyright (c) 2014-2017, PhosphorJS + +Copyright (c) 2014-2017, PhosphorJS Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@phosphor/disposable 1.2.0 - BSD-3-Clause +https://github.com/phosphorjs/phosphor +Copyright (c) 2014-2017, PhosphorJS + +Copyright (c) 2014-2017, PhosphorJS Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@phosphor/domutils 1.1.4 - BSD-3-Clause +https://github.com/phosphorjs/phosphor +Copyright (c) 2014-2017, PhosphorJS +Copyright (c) 2014-2019, PhosphorJS + +Copyright (c) 2014-2017, PhosphorJS Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@phosphor/dragdrop 1.4.1 - BSD-3-Clause +https://github.com/phosphorjs/phosphor +Copyright (c) 2014-2017, PhosphorJS + +Copyright (c) 2014-2017, PhosphorJS Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@phosphor/keyboard 1.1.3 - BSD-3-Clause +https://github.com/phosphorjs/phosphor +Copyright (c) 2014-2017, PhosphorJS + +Copyright (c) . All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@phosphor/messaging 1.3.0 - BSD-3-Clause +https://github.com/phosphorjs/phosphor +Copyright (c) 2014-2017, PhosphorJS + +Copyright (c) 2014-2017, PhosphorJS Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@phosphor/properties 1.1.3 - BSD-3-Clause +https://github.com/phosphorjs/phosphor +Copyright (c) 2014-2017, PhosphorJS + +Copyright (c) . All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@phosphor/signaling 1.3.1 - BSD-3-Clause +https://github.com/phosphorjs/phosphor +Copyright (c) 2014-2017, PhosphorJS + +Copyright (c) 2014-2017, PhosphorJS Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@phosphor/signaling 1.2.3 - BSD-3-Clause +https://github.com/phosphorjs/phosphor +Copyright (c) 2014-2017, PhosphorJS + +Copyright (c) . All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@phosphor/virtualdom 1.2.0 - BSD-3-Clause +https://github.com/phosphorjs/phosphor +Copyright (c) 2014-2017, PhosphorJS + +Copyright (c) 2014-2017, PhosphorJS Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@phosphor/widgets 1.9.3 - BSD-3-Clause +https://github.com/phosphorjs/phosphor +Copyright (c) 2014-2017, PhosphorJS + +Copyright (c) 2014-2017, PhosphorJS Contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@sinonjs/commons 1.7.0 - BSD-3-Clause +https://github.com/sinonjs/commons#readme +Copyright (c) 2018 + +BSD 3-Clause License + +Copyright (c) 2018, Sinon.JS +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@sinonjs/formatio 4.0.1 - BSD-3-Clause +https://sinonjs.github.io/formatio/ +Copyright (c) 2010-2012, Christian Johansen (christian@cjohansen.no) and August Lilleaas (august.lilleaas@gmail.com). + +(The BSD License) + +Copyright (c) 2010-2012, Christian Johansen (christian@cjohansen.no) and +August Lilleaas (august.lilleaas@gmail.com). All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of Christian Johansen nor the names of his contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@sinonjs/samsam 4.2.0 - BSD-3-Clause +http://sinonjs.github.io/samsam/ +Copyright (c) 2010-2012, Christian Johansen, christian@cjohansen.no and August Lilleaas, august.lilleaas@gmail.com. + +(The BSD License) + +Copyright (c) 2010-2012, Christian Johansen, christian@cjohansen.no and +August Lilleaas, august.lilleaas@gmail.com. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of Christian Johansen nor the names of his contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +bcrypt-pbkdf 1.0.2 - BSD-3-Clause +https://github.com/joyent/node-bcrypt-pbkdf#readme +Copyright 2016, Joyent Inc +Copyright (c) 2013 Ted Unangst +Copyright 1997 Niels Provos + +The Blowfish portions are under the following license: + +Blowfish block cipher for OpenBSD +Copyright 1997 Niels Provos +All rights reserved. + +Implementation advice by David Mazieres . + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +The bcrypt_pbkdf portions are under the following license: + +Copyright (c) 2013 Ted Unangst + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + + +Performance improvements (Javascript-specific): + +Copyright 2016, Joyent Inc +Author: Alex Wilson + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +charenc 0.0.2 - BSD-3-Clause +https://github.com/pvorb/node-charenc#readme +Copyright (c) 2009, Jeff Mott. +Copyright (c) 2011, Paul Vorbach. + +Copyright (c) . All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +crypt 0.0.2 - BSD-3-Clause +https://github.com/pvorb/node-crypt#readme +Copyright (c) 2009, Jeff Mott. +Copyright (c) 2011, Paul Vorbach. + +Copyright (c) . All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3 3.5.17 - BSD-3-Clause +http://d3js.org +Copyright (c) 2010-2016, Michael Bostock + +Copyright (c) 2010-2016, Michael Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* The name Michael Bostock may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL MICHAEL BOSTOCK BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-array 1.2.4 - BSD-3-Clause +https://d3js.org/d3-array/ +Copyright 2018 Mike Bostock +Copyright 2010-2016 Mike Bostock + +Copyright 2010-2016 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-array 2.3.3 - BSD-3-Clause +https://d3js.org/d3-array/ +Copyright 2019 Mike Bostock +Copyright 2010-2018 Mike Bostock +Copyright 2018 Vladimir Agafonkin. + +Copyright 2010-2018 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-cloud 1.2.5 - BSD-3-Clause +https://www.jasondavies.com/wordcloud/ +Copyright 2017 Mike Bostock. +Copyright (c) 2013, Jason Davies. + +Copyright (c) 2013, Jason Davies. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * The name Jason Davies may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL JASON DAVIES BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-collection 1.0.7 - BSD-3-Clause +https://d3js.org/d3-collection/ +Copyright 2018 Mike Bostock +Copyright 2010-2016, Mike Bostock + +Copyright 2010-2016, Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-color 1.4.0 - BSD-3-Clause +https://d3js.org/d3-color/ +Copyright 2019 Mike Bostock +Copyright 2010-2016 Mike Bostock + +Copyright 2010-2016 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-color 1.2.8 - BSD-3-Clause +https://d3js.org/d3-color/ +Copyright 2019 Mike Bostock +Copyright 2010-2016 Mike Bostock + +Copyright 2010-2016 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-contour 1.3.2 - BSD-3-Clause +https://d3js.org/d3-contour/ +Copyright 2018 Mike Bostock +Copyright 2012-2017 Mike Bostock + +Copyright 2012-2017 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-dispatch 1.0.5 - BSD-3-Clause +https://d3js.org/d3-dispatch/ +Copyright 2018 Mike Bostock +Copyright 2010-2016 Mike Bostock + +Copyright 2010-2016 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-dsv 1.1.1 - BSD-3-Clause +https://d3js.org/d3-dsv/ +Copyright 2019 Mike Bostock +Copyright 2013-2016 Mike Bostock + +Copyright 2013-2016 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-dsv 0.1.14 - BSD-3-Clause +https://github.com/d3/d3-dsv +Copyright 2013-2015 Mike Bostock + +Copyright 2013-2015 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-ease 1.0.5 - BSD-3-Clause +https://d3js.org/d3-ease/ +Copyright 2018 Mike Bostock +Copyright 2001 Robert Penner +Copyright 2010-2016 Mike Bostock + +Copyright 2010-2016 Mike Bostock +Copyright 2001 Robert Penner +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-force 2.0.1 - BSD-3-Clause +https://d3js.org/d3-force/ +Copyright 2019 Mike Bostock +Copyright 2010-2016 Mike Bostock + +Copyright 2010-2016 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-format 0.4.2 - BSD-3-Clause +https://github.com/d3/d3-format +Copyright 2010-2015 Mike Bostock + +Copyright 2010-2015 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-format 1.3.2 - BSD-3-Clause +https://d3js.org/d3-format/ +Copyright 2018 Mike Bostock +Copyright 2010-2015 Mike Bostock + +Copyright 2010-2015 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-format 1.4.1 - BSD-3-Clause +https://d3js.org/d3-format/ +Copyright 2019 Mike Bostock +Copyright 2010-2015 Mike Bostock + +Copyright 2010-2015 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-geo 1.11.6 - BSD-3-Clause +https://d3js.org/d3-geo/ +(c) , cc cos +Copyright 2019 Mike Bostock +Copyright 2010-2016 Mike Bostock +Copyright (c) 2008-2012, Charles Karney + +Copyright 2010-2016 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +This license applies to GeographicLib, versions 1.12 and later. + +Copyright (c) 2008-2012, Charles Karney + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-hierarchy 1.1.8 - BSD-3-Clause +https://d3js.org/d3-hierarchy/ +Copyright 2018 Mike Bostock +Copyright 2010-2016 Mike Bostock + +Copyright 2010-2016 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-interpolate 1.3.2 - BSD-3-Clause +https://d3js.org/d3-interpolate/ +Copyright 2018 Mike Bostock +Copyright 2010-2016 Mike Bostock + +Copyright 2010-2016 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-path 1.0.7 - BSD-3-Clause +https://d3js.org/d3-path/ +Copyright 2018 Mike Bostock +Copyright 2015-2016 Mike Bostock + +Copyright 2015-2016 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-path 1.0.8 - BSD-3-Clause +https://d3js.org/d3-path/ +Copyright 2019 Mike Bostock +Copyright 2015-2016 Mike Bostock + +Copyright 2015-2016 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-quadtree 1.0.1 - BSD-3-Clause +https://d3js.org/d3-quadtree/ +Copyright 2016 Mike Bostock. +Copyright 2010-2016 Mike Bostock + +Copyright 2010-2016 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-request 1.0.6 - BSD-3-Clause +https://d3js.org/d3-request/ +Copyright 2017 Mike Bostock. +Copyright 2010-2016 Mike Bostock + +Copyright 2010-2016 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-scale 3.2.0 - BSD-3-Clause +https://d3js.org/d3-scale/ +Copyright 2019 Mike Bostock +Copyright 2010-2015 Mike Bostock + +Copyright 2010-2015 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-scale-chromatic 1.5.0 - BSD-3-Clause +https://d3js.org/d3-scale-chromatic/ +Copyright 2019 Mike Bostock +Copyright 2010-2018 Mike Bostock +Copyright (c) 2002 Cynthia Brewer, Mark Harrower, and The Pennsylvania State University. + +Copyright 2010-2018 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Apache-Style Software License for ColorBrewer software and ColorBrewer Color +Schemes + +Copyright (c) 2002 Cynthia Brewer, Mark Harrower, and The Pennsylvania State +University. + +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-selection 1.4.0 - BSD-3-Clause +https://d3js.org/d3-selection/ +Copyright 2019 Mike Bostock +Copyright (c) 2010-2018, Michael Bostock + +Copyright (c) 2010-2018, Michael Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* The name Michael Bostock may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL MICHAEL BOSTOCK BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-shape 1.3.5 - BSD-3-Clause +https://d3js.org/d3-shape/ +Copyright 2019 Mike Bostock +Copyright 2010-2015 Mike Bostock + +Copyright 2010-2015 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-time 1.0.11 - BSD-3-Clause +https://d3js.org/d3-time/ +Copyright 2019 Mike Bostock +Copyright 2010-2016 Mike Bostock + +Copyright 2010-2016 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-time 1.1.0 - BSD-3-Clause +https://d3js.org/d3-time/ +Copyright 2019 Mike Bostock +Copyright 2010-2016 Mike Bostock + +Copyright 2010-2016 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-time 0.1.1 - BSD-3-Clause +https://github.com/d3/d3-time +Copyright 2010-2015 Mike Bostock + +Copyright 2010-2015 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-time-format 2.1.3 - BSD-3-Clause +https://d3js.org/d3-time-format/ +Copyright 2018 Mike Bostock +Copyright 2010-2017 Mike Bostock + +Copyright 2010-2017 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-time-format 0.2.1 - BSD-3-Clause +https://github.com/d3/d3-time-format +Copyright 2010-2015 Mike Bostock + +Copyright 2010-2015 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-timer 1.0.9 - BSD-3-Clause +https://d3js.org/d3-timer/ +Copyright 2018 Mike Bostock +Copyright 2010-2016 Mike Bostock + +Copyright 2010-2016 Mike Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the author nor the names of contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +datalib 1.9.2 - BSD-3-Clause +https://github.com/vega/datalib#readme +Copyright (c) 2015, University of Washington Interactive Data Lab + +Copyright (c) 2015, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +diff 4.0.1 - BSD-3-Clause +https://github.com/kpdecker/jsdiff#readme +Copyright (c) 2009-2015, Kevin Decker + +Software License Agreement (BSD License) + +Copyright (c) 2009-2015, Kevin Decker + +All rights reserved. + +Redistribution and use of this software in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above + copyright notice, this list of conditions and the + following disclaimer. + +* Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the + following disclaimer in the documentation and/or other + materials provided with the distribution. + +* Neither the name of Kevin Decker nor the names of its + contributors may be used to endorse or promote products + derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +duplexer2 0.1.4 - BSD-3-Clause +https://github.com/deoxxa/duplexer2#readme +Copyright (c) 2013, Deoxxa Development + +Copyright (c) 2013, Deoxxa Development +====================================== +All rights reserved. +-------------------- + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. Neither the name of Deoxxa Development nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY DEOXXA DEVELOPMENT ''AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL DEOXXA DEVELOPMENT BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +duplexer3 0.1.4 - BSD-3-Clause +https://github.com/floatdrop/duplexer3 +Copyright (c) 2013, Deoxxa Development + +Copyright (c) 2013, Deoxxa Development +====================================== +All rights reserved. +-------------------- + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. Neither the name of Deoxxa Development nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY DEOXXA DEVELOPMENT ''AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL DEOXXA DEVELOPMENT BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +hoist-non-react-statics 3.3.1 - BSD-3-Clause +https://github.com/mridgway/hoist-non-react-statics#readme +Copyright 2015, Yahoo! Inc. +Copyright (c) 2015, Yahoo! Inc. + +Software License Agreement (BSD License) +======================================== + +Copyright (c) 2015, Yahoo! Inc. All rights reserved. +---------------------------------------------------- + +Redistribution and use of this software in source and binary forms, with or +without modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of Yahoo! Inc. nor the names of YUI's contributors may be + used to endorse or promote products derived from this software without + specific prior written permission of Yahoo! Inc. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +istanbul-lib-coverage 3.0.0 - BSD-3-Clause +https://istanbul.js.org/ +Copyright 2012-2015 Yahoo! Inc. +Copyright 2012-2015, Yahoo Inc. + +Copyright 2012-2015 Yahoo! Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the Yahoo! Inc. nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL YAHOO! INC. BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +istanbul-lib-hook 3.0.0 - BSD-3-Clause +https://istanbul.js.org/ +Copyright 2012-2015 Yahoo! Inc. +Copyright 2012-2015, Yahoo Inc. + +Copyright 2012-2015 Yahoo! Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the Yahoo! Inc. nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL YAHOO! INC. BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +istanbul-lib-instrument 4.0.0 - BSD-3-Clause +https://istanbul.js.org/ +Copyright 2012-2015 Yahoo! Inc. +Copyright 2012-2015, Yahoo Inc. + +Copyright 2012-2015 Yahoo! Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the Yahoo! Inc. nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL YAHOO! INC. BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +istanbul-lib-report 3.0.0 - BSD-3-Clause +https://istanbul.js.org/ +Copyright 2012-2015 Yahoo! Inc. +Copyright 2012-2015, Yahoo Inc. + +Copyright 2012-2015 Yahoo! Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the Yahoo! Inc. nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL YAHOO! INC. BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +istanbul-lib-source-maps 4.0.0 - BSD-3-Clause +https://istanbul.js.org/ +Copyright 2015 Yahoo! Inc. +Copyright 2015, Yahoo Inc. +Copyright 2012-2015, Yahoo Inc. + +Copyright 2015 Yahoo! Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the Yahoo! Inc. nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL YAHOO! INC. BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +istanbul-reports 3.0.0 - BSD-3-Clause +https://istanbul.js.org/ +(c) Sindre Sorhus +Copyright 2012-2015 Yahoo! Inc. +Copyright 2012-2015, Yahoo Inc. +Copyright (c) Facebook, Inc. and its affiliates. + +Copyright 2012-2015 Yahoo! Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the Yahoo! Inc. nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL YAHOO! INC. BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +jpeg-js 0.3.7 - BSD-3-Clause +https://github.com/eugeneware/jpeg-js#readme +Copyright 2011 +Copyright (c) 2014, Eugene Ware +Copyright (c) 2008, Adobe Systems Incorporated + +Copyright (c) 2014, Eugene Ware +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. Neither the name of Eugene Ware nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY EUGENE WARE ''AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL EUGENE WARE BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +lolex 5.1.2 - BSD-3-Clause +http://github.com/sinonjs/lolex +Copyright (c) 2013 +Copyright (c) 2010-2014, Christian Johansen, christian@cjohansen.no. + +Copyright (c) 2010-2014, Christian Johansen, christian@cjohansen.no. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +md5 2.2.1 - BSD-3-Clause +https://github.com/pvorb/node-md5#readme +Copyright (c) 2009, Jeff Mott. +Copyright (c) 2011-2012, Paul Vorbach. +Copyright (c) 2011-2015, Paul Vorbach. + +Copyright © 2011-2012, Paul Vorbach. +Copyright © 2009, Jeff Mott. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. +* Neither the name Crypto-JS nor the names of its contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +nise 3.0.0 - BSD-3-Clause +https://github.com/sinonjs/nise#readme +Copyright (c) 2013 +Copyright (c) 2010-2017, Christian Johansen, christian@cjohansen.no +Copyright jQuery Foundation and other contributors +Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + +(The BSD License) + +Copyright (c) 2010-2017, Christian Johansen, christian@cjohansen.no +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of Christian Johansen nor the names of his contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +parse-cache-control 1.0.1 - BSD-3-Clause +https://github.com/roryf/parse-cache-control +Copyright (c) 2012-2014, Walmart and other contributors. + +Copyright (c) 2012-2014, Walmart and other contributors. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The names of any contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + * * * + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +qs 6.5.2 - BSD-3-Clause +https://github.com/ljharb/qs +Copyright (c) 2014 Nathan LaFreniere and other contributors. + +Copyright (c) 2014 Nathan LaFreniere and other contributors. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The names of any contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + * * * + +The complete list of contributors can be found at: https://github.com/hapijs/qs/graphs/contributors + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +react-transition-group 2.9.0 - BSD-3-Clause +https://github.com/reactjs/react-transition-group#readme +(c) Sindre Sorhus +Copyright 2013-present, Facebook, Inc. +Copyright (c) 2013-present, Facebook, Inc. +Copyright (c) 2018, React Community Forked from React (https://github.com/facebook/react) + +BSD 3-Clause License + +Copyright (c) 2018, React Community +Forked from React (https://github.com/facebook/react) Copyright 2013-present, Facebook, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +rw 1.3.3 - BSD-3-Clause +https://github.com/mbostock/rw +Copyright (c) 2014-2016, Michael Bostock + +Copyright (c) 2014-2016, Michael Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* The name Michael Bostock may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL MICHAEL BOSTOCK BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +serialize-javascript 2.1.2 - BSD-3-Clause +https://github.com/yahoo/serialize-javascript +Copyright 2014 Yahoo! Inc. +Copyright (c) 2014, Yahoo! Inc. + +Copyright 2014 Yahoo! Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the Yahoo! Inc. nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL YAHOO! INC. BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +sinon 8.0.1 - BSD-3-Clause +https://sinonjs.org/ +Copyright (c) 2013 +Copyright (c) 2009-2015, Kevin Decker +Copyright (c) 2010-2017, Christian Johansen, christian@cjohansen.no +Copyright jQuery Foundation and other contributors +Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + +(The BSD License) + +Copyright (c) 2010-2017, Christian Johansen, christian@cjohansen.no +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of Christian Johansen nor the names of his contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +source-map 0.1.43 - BSD-3-Clause +https://github.com/mozilla/source-map +Copyright 2011 The Closure Compiler +Copyright 2011 Mozilla Foundation and contributors +Copyright 2012 Mozilla Foundation and contributors +Copyright 2014 Mozilla Foundation and contributors +Copyright 2009-2011 Mozilla Foundation and contributors +Copyright (c) 2009-2011, Mozilla Foundation and contributors + + +Copyright (c) 2009-2011, Mozilla Foundation and contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the names of the Mozilla Foundation nor the names of project + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +source-map 0.5.7 - BSD-3-Clause +https://github.com/mozilla/source-map +Copyright 2011 The Closure Compiler +Copyright 2011 Mozilla Foundation and contributors +Copyright 2014 Mozilla Foundation and contributors +Copyright 2009-2011 Mozilla Foundation and contributors +Copyright (c) 2009-2011, Mozilla Foundation and contributors + + +Copyright (c) 2009-2011, Mozilla Foundation and contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the names of the Mozilla Foundation nor the names of project + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +source-map 0.6.1 - BSD-3-Clause +https://github.com/mozilla/source-map +Copyright 2011 The Closure Compiler +Copyright 2011 Mozilla Foundation and contributors +Copyright 2014 Mozilla Foundation and contributors +Copyright 2009-2011 Mozilla Foundation and contributors +Copyright (c) 2009-2011, Mozilla Foundation and contributors + + +Copyright (c) 2009-2011, Mozilla Foundation and contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the names of the Mozilla Foundation nor the names of project + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +sprintf-js 1.0.3 - BSD-3-Clause +https://github.com/alexei/sprintf.js#readme +Copyright (c) 2007-2014, Alexandru Marasteanu + +Copyright (c) 2007-2014, Alexandru Marasteanu +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of this software nor the names of its contributors may be + used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +tough-cookie 2.4.3 - BSD-3-Clause +https://github.com/salesforce/tough-cookie +Copyright (c) 2015, Salesforce.com, Inc. +Copyright (c) 2018, Salesforce.com, Inc. + +Copyright (c) 2015, Salesforce.com, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. Neither the name of Salesforce.com nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega 5.7.3 - BSD-3-Clause +https://github.com/vega/vega#readme +Copyright (c) 2013, Jason Davies. +Copyright 2018 Vladimir Agafonkin. +Copyright (c) 2012 Mathias Bynens +Copyright (c) 2013 Mathias Bynens +Copyright (c) 2012 Kris Kowal +Copyright (c) 2013 Thaddee Tyl +Copyright (c) 2012 Yusuke Suzuki +Copyright (c) 2011 Ariya Hidayat +Copyright (c) 2012 Ariya Hidayat +Copyright (c) 2013 Ariya Hidayat +Copyright (c) 2012 Arpad Borsos +Copyright (c) 2012 Joost-Wim Boekesteijn +Copyright (c) 2015-2018, University of Washington Interactive Data Lab + +Copyright (c) 2015-2018, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-canvas 1.2.1 - BSD-3-Clause +https://github.com/vega/vega#readme +Copyright (c) 2015-2018, University of Washington Interactive Data Lab + +Copyright (c) 2015-2018, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-crossfilter 4.0.1 - BSD-3-Clause + +Copyright (c) . All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-dataflow 5.4.1 - BSD-3-Clause +https://github.com/vega/vega#readme +Copyright (c) 2015-2018, University of Washington Interactive Data Lab + +Copyright (c) 2015-2018, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-embed 4.2.5 - BSD-3-Clause +https://github.com/vega/vega-embed#readme +Copyright (c) Microsoft Corporation. +Copyright (c) 2015, University of Washington Interactive Data Lab + +Copyright (c) 2015, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-encode 4.4.1 - BSD-3-Clause +https://github.com/vega/vega#readme +Copyright (c) 2015-2018, University of Washington Interactive Data Lab + +Copyright (c) 2015-2018, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-event-selector 2.0.1 - BSD-3-Clause +https://github.com/vega/vega#readme +Copyright (c) 2015-2018, University of Washington Interactive Data Lab + +Copyright (c) 2015-2018, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-expression 2.6.2 - BSD-3-Clause +https://github.com/vega/vega#readme +Copyright (c) 2012 Mathias Bynens +Copyright (c) 2013 Mathias Bynens +Copyright (c) 2012 Kris Kowal +Copyright (c) 2013 Thaddee Tyl +Copyright (c) 2012 Yusuke Suzuki +Copyright (c) 2011 Ariya Hidayat +Copyright (c) 2012 Ariya Hidayat +Copyright (c) 2013 Ariya Hidayat +Copyright (c) 2012 Arpad Borsos +Copyright (c) 2012 Joost-Wim Boekesteijn +Copyright (c) 2015-2018, University of Washington Interactive Data Lab + +Copyright (c) 2015-2018, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-force 4.0.3 - BSD-3-Clause +https://github.com/vega/vega#readme +Copyright (c) 2015-2018, University of Washington Interactive Data Lab + +Copyright (c) 2015-2018, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-functions 5.4.1 - BSD-3-Clause +https://github.com/vega/vega#readme +Copyright (c) 2015-2018, University of Washington Interactive Data Lab + +Copyright (c) 2015-2018, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-geo 4.1.0 - BSD-3-Clause +https://github.com/vega/vega#readme +Copyright (c) 2015-2018, University of Washington Interactive Data Lab + +Copyright (c) 2015-2018, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-hierarchy 4.0.3 - BSD-3-Clause +https://github.com/vega/vega#readme +Copyright (c) 2015-2018, University of Washington Interactive Data Lab + +Copyright (c) 2015-2018, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-lite 3.4.0 - BSD-3-Clause +https://vega.github.io/vega-lite/ +Copyright (c) Microsoft Corporation. +Copyright (c) 2012 Mathias Bynens +Copyright (c) 2013 Mathias Bynens +Copyright (c) 2012 Kris Kowal +Copyright (c) 2013 Thaddee Tyl +Copyright (c) 2012 Yusuke Suzuki +Copyright (c) 2011 Ariya Hidayat +Copyright (c) 2012 Ariya Hidayat +Copyright (c) 2013 Ariya Hidayat +Copyright (c) 2012 Arpad Borsos +Copyright (c) 2015, University of Washington Interactive Data Lab. +Copyright (c) 2012 Joost-Wim Boekesteijn + +Copyright (c) 2015, University of Washington Interactive Data Lab. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the University of Washington Interactive Data Lab + nor the names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-loader 4.1.2 - BSD-3-Clause +https://github.com/vega/vega#readme +Copyright (c) 2015-2018, University of Washington Interactive Data Lab + +Copyright (c) 2015-2018, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-parser 5.10.1 - BSD-3-Clause +https://github.com/vega/vega#readme +Copyright (c) 2015-2018, University of Washington Interactive Data Lab + +Copyright (c) 2015-2018, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-projection 1.3.0 - BSD-3-Clause +https://github.com/vega/vega#readme +Copyright (c) 2015-2018, University of Washington Interactive Data Lab + +Copyright (c) 2015-2018, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-regression 1.0.1 - BSD-3-Clause +https://github.com/vega/vega#readme +Copyright (c) 2015-2018, University of Washington Interactive Data Lab + +Copyright (c) 2015-2018, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-runtime 5.0.2 - BSD-3-Clause +https://github.com/vega/vega#readme +Copyright (c) 2015-2018, University of Washington Interactive Data Lab + +Copyright (c) 2015-2018, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-scale 4.1.3 - BSD-3-Clause +https://github.com/vega/vega#readme +Copyright (c) 2015-2018, University of Washington Interactive Data Lab + +Copyright (c) 2015-2018, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-scenegraph 4.3.1 - BSD-3-Clause +https://github.com/vega/vega#readme +Copyright (c) 2015-2018, University of Washington Interactive Data Lab + +Copyright (c) 2015-2018, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-schema-url-parser 1.1.0 - BSD-3-Clause +https://github.com/vega/schema#readme +Copyright (c) 2017, Vega + +BSD 3-Clause License + +Copyright (c) 2017, Vega +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-selections 5.0.1 - BSD-3-Clause +https://github.com/vega/vega#readme +Copyright (c) 2015-2018, University of Washington Interactive Data Lab + +Copyright (c) 2015-2018, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-statistics 1.6.1 - BSD-3-Clause +https://github.com/vega/vega#readme +Copyright (c) 2015-2018, University of Washington Interactive Data Lab + +Copyright (c) 2015-2018, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-themes 2.5.0 - BSD-3-Clause +https://github.com/vega/vega-themes#readme +Copyright (c) 2016, University of Washington Interactive Data Lab + +Copyright (c) 2016, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-tooltip 0.18.1 - BSD-3-Clause +https://github.com/vega/vega-tooltip#readme +Copyright 2016 Interactive Data Lab and contributors + +Copyright 2016 Interactive Data Lab and contributors + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-transforms 4.4.3 - BSD-3-Clause +https://github.com/vega/vega#readme +Copyright (c) 2015-2018, University of Washington Interactive Data Lab + +Copyright (c) 2015-2018, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-typings 0.7.2 - BSD-3-Clause +https://github.com/vega/vega#readme + +Copyright (c) . All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-typings 0.10.2 - BSD-3-Clause +https://github.com/vega/vega#readme +Copyright (c) 2015-2018, University of Washington Interactive Data Lab + +Copyright (c) 2015-2018, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-util 1.10.0 - BSD-3-Clause +https://github.com/vega/vega#readme +Copyright (c) 2015-2018, University of Washington Interactive Data Lab + +Copyright (c) 2015-2018, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-util 1.12.0 - BSD-3-Clause +https://github.com/vega/vega#readme +Copyright (c) 2015-2018, University of Washington Interactive Data Lab + +Copyright (c) 2015-2018, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-view 5.3.1 - BSD-3-Clause +https://github.com/vega/vega#readme +Copyright (c) 2015-2018, University of Washington Interactive Data Lab + +Copyright (c) 2015-2018, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-view-transforms 4.4.1 - BSD-3-Clause +https://github.com/vega/vega#readme +Copyright (c) 2015-2018, University of Washington Interactive Data Lab + +Copyright (c) 2015-2018, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-voronoi 4.1.1 - BSD-3-Clause +https://github.com/vega/vega#readme +Copyright (c) 2015-2018, University of Washington Interactive Data Lab + +Copyright (c) 2015-2018, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vega-wordcloud 4.0.2 - BSD-3-Clause +https://github.com/vega/vega#readme +Copyright (c) 2013, Jason Davies. +Copyright (c) 2015-2018, University of Washington Interactive Data Lab + +Copyright (c) 2015-2018, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +spdx-exceptions 2.2.0 - CC-BY-3.0 +https://github.com/kemitchell/spdx-exceptions.json#readme +Copyright (c) 2010-2015 Linux Foundation and its Contributors. + +Creative Commons Attribution 3.0 Unported CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. + +License + +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. + + 1. Definitions + + a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. + + b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. + + c. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. + + d. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. + + e. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. + + f. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. + + g. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. + + h. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. + + i. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. + + 2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. + + 3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: + + a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; + + b. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified."; + + c. to Distribute and Publicly Perform the Work including as incorporated in Collections; and, + + d. to Distribute and Publicly Perform Adaptations. + + e. For the avoidance of doubt: + + i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; + + ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and, + + iii. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License. + + The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved. + + 4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: + + a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(b), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(b), as requested. + + b. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv), consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4 (b) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. + + c. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. + + 5. Representations, Warranties and Disclaimer + + UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + + 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + + 7. Termination + + a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. + + b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. + + 8. Miscellaneous + + a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. + + b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. + + c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. + + d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. + + e. This License may not be modified without the mutual written agreement of the Licensor and You. + + f. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. + +Creative Commons Notice + +Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. + +Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of this License. + +Creative Commons may be contacted at http://creativecommons.org/. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +postcss-font-family-system-ui 3.0.0 - CC0-1.0 +https://github.com/JLHwung/postcss-font-family-system-ui#readme + +# CC0 1.0 Universal + +## Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator and +subsequent owner(s) (each and all, an “owner”) of an original work of +authorship and/or a database (each, a “Work”). + +Certain owners wish to permanently relinquish those rights to a Work for the +purpose of contributing to a commons of creative, cultural and scientific works +(“Commons”) that the public can reliably and without fear of later claims of +infringement build upon, modify, incorporate in other works, reuse and +redistribute as freely as possible in any form whatsoever and for any purposes, +including without limitation commercial purposes. These owners may contribute +to the Commons to promote the ideal of a free culture and the further +production of creative, cultural and scientific works, or to gain reputation or +greater distribution for their Work in part through the use and efforts of +others. + +For these and/or other purposes and motivations, and without any expectation of +additional consideration or compensation, the person associating CC0 with a +Work (the “Affirmer”), to the extent that he or she is an owner of Copyright +and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and +publicly distribute the Work under its terms, with knowledge of his or her +Copyright and Related Rights in the Work and the meaning and intended legal +effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be + protected by copyright and related or neighboring rights (“Copyright and + Related Rights”). Copyright and Related Rights include, but are not limited + to, the following: + 1. the right to reproduce, adapt, distribute, perform, display, communicate, + and translate a Work; + 2. moral rights retained by the original author(s) and/or performer(s); + 3. publicity and privacy rights pertaining to a person’s image or likeness + depicted in a Work; + 4. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(i), below; + 5. rights protecting the extraction, dissemination, use and reuse of data in + a Work; + 6. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation thereof, + including any amended or successor version of such directive); and + 7. other similar, equivalent or corresponding rights throughout the world + based on applicable law or treaty, and any national implementations + thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention of, + applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and + unconditionally waives, abandons, and surrenders all of Affirmer’s Copyright + and Related Rights and associated claims and causes of action, whether now + known or unknown (including existing as well as future claims and causes of + action), in the Work (i) in all territories worldwide, (ii) for the maximum + duration provided by applicable law or treaty (including future time + extensions), (iii) in any current or future medium and for any number of + copies, and (iv) for any purpose whatsoever, including without limitation + commercial, advertising or promotional purposes (the “Waiver”). Affirmer + makes the Waiver for the benefit of each member of the public at large and + to the detriment of Affirmer’s heirs and successors, fully intending that + such Waiver shall not be subject to revocation, rescission, cancellation, + termination, or any other legal or equitable action to disrupt the quiet + enjoyment of the Work by the public as contemplated by Affirmer’s express + Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason be + judged legally invalid or ineffective under applicable law, then the Waiver + shall be preserved to the maximum extent permitted taking into account + Affirmer’s express Statement of Purpose. In addition, to the extent the + Waiver is so judged Affirmer hereby grants to each affected person a + royalty-free, non transferable, non sublicensable, non exclusive, + irrevocable and unconditional license to exercise Affirmer’s Copyright and + Related Rights in the Work (i) in all territories worldwide, (ii) for the + maximum duration provided by applicable law or treaty (including future time + extensions), (iii) in any current or future medium and for any number of + copies, and (iv) for any purpose whatsoever, including without limitation + commercial, advertising or promotional purposes (the “License”). The License + shall be deemed effective as of the date CC0 was applied by Affirmer to the + Work. Should any part of the License for any reason be judged legally + invalid or ineffective under applicable law, such partial invalidity or + ineffectiveness shall not invalidate the remainder of the License, and in + such case Affirmer hereby affirms that he or she will not (i) exercise any + of his or her remaining Copyright and Related Rights in the Work or (ii) + assert any associated claims and causes of action with respect to the Work, + in either case contrary to Affirmer’s express Statement of Purpose. + +4. Limitations and Disclaimers. + 1. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + 2. Affirmer offers the Work as-is and makes no representations or warranties + of any kind concerning the Work, express, implied, statutory or + otherwise, including without limitation warranties of title, + merchantability, fitness for a particular purpose, non infringement, or + the absence of latent or other defects, accuracy, or the present or + absence of errors, whether or not discoverable, all to the greatest + extent permissible under applicable law. + 3. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person’s Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the Work. + 4. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to this + CC0 or use of the Work. + +For more information, please see +http://creativecommons.org/publicdomain/zero/1.0/. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +postcss-nesting 4.2.1 - CC0-1.0 +https://github.com/jonathantneal/postcss-nesting#readme + +# CC0 1.0 Universal + +## Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator and +subsequent owner(s) (each and all, an “owner”) of an original work of +authorship and/or a database (each, a “Work”). + +Certain owners wish to permanently relinquish those rights to a Work for the +purpose of contributing to a commons of creative, cultural and scientific works +(“Commons”) that the public can reliably and without fear of later claims of +infringement build upon, modify, incorporate in other works, reuse and +redistribute as freely as possible in any form whatsoever and for any purposes, +including without limitation commercial purposes. These owners may contribute +to the Commons to promote the ideal of a free culture and the further +production of creative, cultural and scientific works, or to gain reputation or +greater distribution for their Work in part through the use and efforts of +others. + +For these and/or other purposes and motivations, and without any expectation of +additional consideration or compensation, the person associating CC0 with a +Work (the “Affirmer”), to the extent that he or she is an owner of Copyright +and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and +publicly distribute the Work under its terms, with knowledge of his or her +Copyright and Related Rights in the Work and the meaning and intended legal +effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be + protected by copyright and related or neighboring rights (“Copyright and + Related Rights”). Copyright and Related Rights include, but are not limited + to, the following: + 1. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + 2. moral rights retained by the original author(s) and/or performer(s); + 3. publicity and privacy rights pertaining to a person’s image or likeness + depicted in a Work; + 4. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(i), below; + 5. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + 6. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation thereof, + including any amended or successor version of such directive); and + 7. other similar, equivalent or corresponding rights throughout the world + based on applicable law or treaty, and any national implementations + thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention of, +applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and +unconditionally waives, abandons, and surrenders all of Affirmer’s Copyright +and Related Rights and associated claims and causes of action, whether now +known or unknown (including existing as well as future claims and causes of +action), in the Work (i) in all territories worldwide, (ii) for the maximum +duration provided by applicable law or treaty (including future time +extensions), (iii) in any current or future medium and for any number of +copies, and (iv) for any purpose whatsoever, including without limitation +commercial, advertising or promotional purposes (the “Waiver”). Affirmer makes +the Waiver for the benefit of each member of the public at large and to the +detriment of Affirmer’s heirs and successors, fully intending that such Waiver +shall not be subject to revocation, rescission, cancellation, termination, or +any other legal or equitable action to disrupt the quiet enjoyment of the Work +by the public as contemplated by Affirmer’s express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason be +judged legally invalid or ineffective under applicable law, then the Waiver +shall be preserved to the maximum extent permitted taking into account +Affirmer’s express Statement of Purpose. In addition, to the extent the Waiver +is so judged Affirmer hereby grants to each affected person a royalty-free, non +transferable, non sublicensable, non exclusive, irrevocable and unconditional +license to exercise Affirmer’s Copyright and Related Rights in the Work (i) in +all territories worldwide, (ii) for the maximum duration provided by applicable +law or treaty (including future time extensions), (iii) in any current or +future medium and for any number of copies, and (iv) for any purpose +whatsoever, including without limitation commercial, advertising or promotional +purposes (the “License”). The License shall be deemed effective as of the date +CC0 was applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder of the +License, and in such case Affirmer hereby affirms that he or she will not (i) +exercise any of his or her remaining Copyright and Related Rights in the Work +or (ii) assert any associated claims and causes of action with respect to the +Work, in either case contrary to Affirmer’s express Statement of Purpose. + +4. Limitations and Disclaimers. + 1. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + 2. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, statutory + or otherwise, including without limitation warranties of title, + merchantability, fitness for a particular purpose, non infringement, or + the absence of latent or other defects, accuracy, or the present or + absence of errors, whether or not discoverable, all to the greatest + extent permissible under applicable law. + 3. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person’s Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the Work. + 4. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. + +For more information, please see +http://creativecommons.org/publicdomain/zero/1.0/. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +postcss-pseudo-class-any-link 4.0.0 - CC0-1.0 +https://github.com/jonathantneal/postcss-pseudo-class-any-link#readme + +# CC0 1.0 Universal + +## Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator and +subsequent owner(s) (each and all, an “owner”) of an original work of +authorship and/or a database (each, a “Work”). + +Certain owners wish to permanently relinquish those rights to a Work for the +purpose of contributing to a commons of creative, cultural and scientific works +(“Commons”) that the public can reliably and without fear of later claims of +infringement build upon, modify, incorporate in other works, reuse and +redistribute as freely as possible in any form whatsoever and for any purposes, +including without limitation commercial purposes. These owners may contribute +to the Commons to promote the ideal of a free culture and the further +production of creative, cultural and scientific works, or to gain reputation or +greater distribution for their Work in part through the use and efforts of +others. + +For these and/or other purposes and motivations, and without any expectation of +additional consideration or compensation, the person associating CC0 with a +Work (the “Affirmer”), to the extent that he or she is an owner of Copyright +and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and +publicly distribute the Work under its terms, with knowledge of his or her +Copyright and Related Rights in the Work and the meaning and intended legal +effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be + protected by copyright and related or neighboring rights (“Copyright and + Related Rights”). Copyright and Related Rights include, but are not limited + to, the following: + 1. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + 2. moral rights retained by the original author(s) and/or performer(s); + 3. publicity and privacy rights pertaining to a person’s image or likeness + depicted in a Work; + 4. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(i), below; + 5. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + 6. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation thereof, + including any amended or successor version of such directive); and + 7. other similar, equivalent or corresponding rights throughout the world + based on applicable law or treaty, and any national implementations + thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention of, +applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and +unconditionally waives, abandons, and surrenders all of Affirmer’s Copyright +and Related Rights and associated claims and causes of action, whether now +known or unknown (including existing as well as future claims and causes of +action), in the Work (i) in all territories worldwide, (ii) for the maximum +duration provided by applicable law or treaty (including future time +extensions), (iii) in any current or future medium and for any number of +copies, and (iv) for any purpose whatsoever, including without limitation +commercial, advertising or promotional purposes (the “Waiver”). Affirmer makes +the Waiver for the benefit of each member of the public at large and to the +detriment of Affirmer’s heirs and successors, fully intending that such Waiver +shall not be subject to revocation, rescission, cancellation, termination, or +any other legal or equitable action to disrupt the quiet enjoyment of the Work +by the public as contemplated by Affirmer’s express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason be +judged legally invalid or ineffective under applicable law, then the Waiver +shall be preserved to the maximum extent permitted taking into account +Affirmer’s express Statement of Purpose. In addition, to the extent the Waiver +is so judged Affirmer hereby grants to each affected person a royalty-free, non +transferable, non sublicensable, non exclusive, irrevocable and unconditional +license to exercise Affirmer’s Copyright and Related Rights in the Work (i) in +all territories worldwide, (ii) for the maximum duration provided by applicable +law or treaty (including future time extensions), (iii) in any current or +future medium and for any number of copies, and (iv) for any purpose +whatsoever, including without limitation commercial, advertising or promotional +purposes (the “License”). The License shall be deemed effective as of the date +CC0 was applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder of the +License, and in such case Affirmer hereby affirms that he or she will not (i) +exercise any of his or her remaining Copyright and Related Rights in the Work +or (ii) assert any associated claims and causes of action with respect to the +Work, in either case contrary to Affirmer’s express Statement of Purpose. + +4. Limitations and Disclaimers. + 1. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + 2. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, statutory + or otherwise, including without limitation warranties of title, + merchantability, fitness for a particular purpose, non infringement, or + the absence of latent or other defects, accuracy, or the present or + absence of errors, whether or not discoverable, all to the greatest + extent permissible under applicable law. + 3. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person’s Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the Work. + 4. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. + +For more information, please see +http://creativecommons.org/publicdomain/zero/1.0/. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +spdx-license-ids 3.0.5 - CC0-1.0 +https://github.com/shinnn/spdx-license-ids#readme + +Creative Commons Legal Code + +CC0 1.0 Universal CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + + 1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; + + ii. moral rights retained by the original author(s) and/or performer(s); + + iii. publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; + + iv. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; + + v. rights protecting the extraction, dissemination, use and reuse of data in a Work; + + vi. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and + + vii. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. + + 2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. + + 3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. + + 4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. + + b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. + + c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. + + d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@istanbuljs/load-nyc-config 1.0.0 - ISC +https://github.com/istanbuljs/load-nyc-config#readme +Copyright (c) 2019 + +ISC License + +Copyright (c) 2019, Contributors + +Permission to use, copy, modify, and/or distribute this software +for any purpose with or without fee is hereby granted, provided +that the above copyright notice and this permission notice +appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE +LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +abbrev 1.1.1 - ISC +https://github.com/isaacs/abbrev-js#readme +Copyright Isaac Z. Schlueter and Contributors +Copyright (c) Isaac Z. Schlueter and Contributors + +This software is dual-licensed under the ISC and MIT licenses. +You may use this software under EITHER of the following licenses. + +---------- + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------- + +Copyright Isaac Z. Schlueter and Contributors +All rights reserved. + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +anymatch 2.0.0 - ISC +https://github.com/micromatch/anymatch +Copyright (c) 2014 Elan Shanker + +The ISC License + +Copyright (c) 2014 Elan Shanker + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +aproba 1.2.0 - ISC +https://github.com/iarna/aproba +Copyright (c) 2015, Rebecca Turner + +Copyright (c) 2015, Rebecca Turner + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +are-we-there-yet 1.1.5 - ISC +https://github.com/iarna/are-we-there-yet +Copyright (c) 2015, Rebecca Turner + +Copyright (c) 2015, Rebecca Turner + +Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +ast-types-flow 0.0.7 - ISC +https://github.com/kyldvs/ast-types-flow#readme + +ISC License + +Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC") + +Copyright (c) 1995-2003 by Internet Software Consortium + +Permission to use, copy, modify, and /or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +block-stream 0.0.9 - ISC +https://github.com/isaacs/block-stream#readme +Copyright (c) Isaac Z. Schlueter +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +boolbase 1.0.0 - ISC +https://github.com/fb55/boolbase + +ISC License + +Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC") + +Copyright (c) 1995-2003 by Internet Software Consortium + +Permission to use, copy, modify, and /or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +cacache 12.0.3 - ISC +https://github.com/npm/cacache#readme +Copyright (c) npm, Inc. + +ISC License + +Copyright (c) npm, Inc. + +Permission to use, copy, modify, and/or distribute this software for +any purpose with or without fee is hereby granted, provided that the +above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE COPYRIGHT HOLDER DISCLAIMS +ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +cacache 13.0.1 - ISC +https://github.com/npm/cacache#readme +Copyright (c) npm, Inc. + +ISC License + +Copyright (c) npm, Inc. + +Permission to use, copy, modify, and/or distribute this software for +any purpose with or without fee is hereby granted, provided that the +above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE COPYRIGHT HOLDER DISCLAIMS +ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +chownr 1.1.2 - ISC +https://github.com/isaacs/chownr#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +cliui 5.0.0 - ISC +https://github.com/yargs/cliui#readme +Copyright (c) 2015 + +Copyright (c) 2015, Contributors + +Permission to use, copy, modify, and/or distribute this software +for any purpose with or without fee is hereby granted, provided +that the above copyright notice and this permission notice +appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE +LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +cliui 3.2.0 - ISC +https://github.com/yargs/cliui#readme +Copyright (c) 2015 + +Copyright (c) 2015, Contributors + +Permission to use, copy, modify, and/or distribute this software +for any purpose with or without fee is hereby granted, provided +that the above copyright notice and this permission notice +appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE +LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +cliui 6.0.0 - ISC +https://github.com/yargs/cliui#readme +Copyright (c) 2015 + +Copyright (c) 2015, Contributors + +Permission to use, copy, modify, and/or distribute this software +for any purpose with or without fee is hereby granted, provided +that the above copyright notice and this permission notice +appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE +LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +console-control-strings 1.1.0 - ISC +https://github.com/iarna/console-control-strings#readme +Copyright (c) 2014, Rebecca Turner + +Copyright (c) 2014, Rebecca Turner + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +copy-concurrently 1.0.5 - ISC +https://www.npmjs.com/package/copy-concurrently +Copyright (c) 2017, Rebecca Turner + +Copyright (c) 2017, Rebecca Turner + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d 1.0.1 - ISC +https://github.com/medikoo/d#readme +Copyright (c) 2013-2019, Mariusz Nowak, medikoo, medikoo.com + +ISC License + +Copyright (c) 2013-2019, Mariusz Nowak, @medikoo, medikoo.com + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +d3-delaunay 5.1.6 - ISC +https://github.com/d3/d3-delaunay +Copyright 2019 Mapbox, Inc. +Copyright 2018 Observable, Inc. +Copyright 2019 Mike Bostock https://github.com/mapbox/delaunator + +Copyright 2018 Observable, Inc. + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +delaunator 4.0.1 - ISC +https://github.com/mapbox/delaunator#readme +Copyright (c) 2017, Mapbox + +ISC License + +Copyright (c) 2017, Mapbox + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +es5-ext 0.10.50 - ISC +https://github.com/medikoo/es5-ext#readme +Copyright (c) 2008 Matsuza +Copyright (c) 2011-2019, Mariusz Nowak, medikoo, medikoo.com + +ISC License + +Copyright (c) 2011-2019, Mariusz Nowak, @medikoo, medikoo.com + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +es6-weak-map 2.0.3 - ISC +https://github.com/medikoo/es6-weak-map#readme +Copyright (c) 2013-2018, Mariusz Nowak, medikoo, medikoo.com + +ISC License + +Copyright (c) 2013-2018, Mariusz Nowak, @medikoo, medikoo.com + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +figgy-pudding 3.5.1 - ISC +https://github.com/zkat/figgy-pudding#readme +Copyright (c) npm, Inc. + +ISC License + +Copyright (c) npm, Inc. + +Permission to use, copy, modify, and/or distribute this software for +any purpose with or without fee is hereby granted, provided that the +above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE COPYRIGHT HOLDER DISCLAIMS +ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +flatted 2.0.1 - ISC +https://github.com/WebReflection/flatted#readme +(c) 2018, Andrea Giammarchi, (ISC) +Copyright (c) 2018, Andrea Giammarchi, WebReflection + +ISC License + +Copyright (c) 2018, Andrea Giammarchi, @WebReflection + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +foreground-child 2.0.0 - ISC +https://github.com/tapjs/foreground-child#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +fs-minipass 1.2.7 - ISC +https://github.com/npm/fs-minipass#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +fs-minipass 2.0.0 - ISC +https://github.com/npm/fs-minipass#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +fs-write-stream-atomic 1.0.10 - ISC +https://github.com/npm/fs-write-stream-atomic +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +fs.realpath 1.0.0 - ISC +https://github.com/isaacs/fs.realpath#readme +Copyright (c) Isaac Z. Schlueter and Contributors +Copyright Joyent, Inc. and other Node contributors. + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---- + +This library bundles a version of the `fs.realpath` and `fs.realpathSync` +methods from Node.js v0.10 under the terms of the Node.js MIT license. + +Node's license follows, also included at the header of `old.js` which contains +the licensed code: + + Copyright Joyent, Inc. and other Node contributors. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +fstream 1.0.12 - ISC +https://github.com/npm/fstream#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +gauge 2.7.4 - ISC +https://github.com/iarna/gauge +Copyright (c) 2014, Rebecca Turner + +Copyright (c) 2014, Rebecca Turner + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +get-caller-file 1.0.3 - ISC +https://github.com/stefanpenner/get-caller-file#readme +Copyright 2018 Stefan Penner + +ISC License (ISC) +Copyright 2018 Stefan Penner + +Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +get-caller-file 2.0.5 - ISC +https://github.com/stefanpenner/get-caller-file#readme +Copyright 2018 Stefan Penner + +ISC License (ISC) +Copyright 2018 Stefan Penner + +Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +glob 7.1.4 - ISC +https://github.com/isaacs/node-glob#readme + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +## Glob Logo + +Glob's logo created by Tanya Brassie , licensed +under a Creative Commons Attribution-ShareAlike 4.0 International License +https://creativecommons.org/licenses/by-sa/4.0/ + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +glob 7.1.6 - ISC +https://github.com/isaacs/node-glob#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +## Glob Logo + +Glob's logo created by Tanya Brassie , licensed +under a Creative Commons Attribution-ShareAlike 4.0 International License +https://creativecommons.org/licenses/by-sa/4.0/ + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +glob-parent 3.1.0 - ISC +https://github.com/es128/glob-parent +Copyright (c) 2015 Elan Shanker + +The ISC License + +Copyright (c) 2015 Elan Shanker + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +graceful-fs 4.2.0 - ISC +https://github.com/isaacs/node-graceful-fs#readme +Copyright (c) Isaac Z. Schlueter, Ben Noordhuis, and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter, Ben Noordhuis, and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +graceful-fs 4.2.3 - ISC +https://github.com/isaacs/node-graceful-fs#readme +Copyright (c) Isaac Z. Schlueter, Ben Noordhuis, and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter, Ben Noordhuis, and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +har-schema 2.0.0 - ISC +https://github.com/ahmadnassri/har-schema +Copyright (c) 2015, Ahmad Nassri +copyright ahmadnassri.com (https://www.ahmadnassri.com/) + +Copyright (c) 2015, Ahmad Nassri + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +has-unicode 2.0.1 - ISC +https://github.com/iarna/has-unicode +Copyright (c) 2014, Rebecca Turner + +Copyright (c) 2014, Rebecca Turner + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +ignore-walk 3.0.1 - ISC +https://github.com/isaacs/ignore-walk#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +infer-owner 1.0.4 - ISC +https://github.com/npm/infer-owner#readme +Copyright (c) npm, Inc. and Contributors + +The ISC License + +Copyright (c) npm, Inc. and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +inflight 1.0.6 - ISC +https://github.com/isaacs/inflight +Copyright (c) Isaac Z. Schlueter + +The ISC License + +Copyright (c) Isaac Z. Schlueter + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +inherits 2.0.3 - ISC +https://github.com/isaacs/inherits#readme +Copyright (c) Isaac Z. Schlueter + +The ISC License + +Copyright (c) Isaac Z. Schlueter + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +inherits 2.0.4 - ISC +https://github.com/isaacs/inherits#readme +Copyright (c) Isaac Z. Schlueter + +The ISC License + +Copyright (c) Isaac Z. Schlueter + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +ini 1.3.5 - ISC +https://github.com/isaacs/ini#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +isexe 2.0.0 - ISC +https://github.com/isaacs/isexe#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +istanbul-lib-processinfo 2.0.2 - ISC +https://github.com/istanbuljs/istanbul-lib-processinfo#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +json-stringify-safe 5.0.1 - ISC +https://github.com/isaacs/json-stringify-safe +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +linear-layout-vector 0.0.1 - ISC + +ISC License + +Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC") + +Copyright (c) 1995-2003 by Internet Software Consortium + +Permission to use, copy, modify, and /or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +lru-cache 4.1.5 - ISC +https://github.com/isaacs/node-lru-cache#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +minimalistic-assert 1.0.1 - ISC +https://github.com/calvinmetcalf/minimalistic-assert +Copyright 2015 Calvin Metcalf + +Copyright 2015 Calvin Metcalf + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +minimatch 3.0.4 - ISC +https://github.com/isaacs/minimatch#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +minipass 2.9.0 - ISC +https://github.com/isaacs/minipass#readme +Copyright (c) npm, Inc. and Contributors + +The ISC License + +Copyright (c) npm, Inc. and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +minipass 3.1.1 - ISC +https://github.com/isaacs/minipass#readme +Copyright (c) npm, Inc. and Contributors + +The ISC License + +Copyright (c) npm, Inc. and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +minipass-collect 1.0.2 - ISC +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +minipass-flush 1.0.5 - ISC +https://github.com/isaacs/minipass-flush#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +minipass-pipeline 1.2.2 - ISC +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +move-concurrently 1.0.1 - ISC +https://www.npmjs.com/package/move-concurrently +Copyright (c) 2017, Rebecca Turner + +Copyright (c) 2017, Rebecca Turner + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +mute-stream 0.0.7 - ISC +https://github.com/isaacs/mute-stream#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +nopt 4.0.1 - ISC +https://github.com/npm/nopt#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +npm-bundled 1.0.6 - ISC +https://github.com/npm/npm-bundled#readme +Copyright (c) npm, Inc. and Contributors + +The ISC License + +Copyright (c) npm, Inc. and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +npm-packlist 1.4.6 - ISC +https://www.npmjs.com/package/npm-packlist +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +npmlog 4.1.2 - ISC +https://github.com/npm/npmlog#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +nyc 15.0.0 - ISC +https://istanbul.js.org/ +Copyright (c) 2015 + +ISC License + +Copyright (c) 2015, Contributors + +Permission to use, copy, modify, and/or distribute this software +for any purpose with or without fee is hereby granted, provided +that the above copyright notice and this permission notice +appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE +LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +once 1.4.0 - ISC +https://github.com/isaacs/once#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +osenv 0.1.5 - ISC +https://github.com/npm/osenv#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +package-hash 4.0.0 - ISC +https://github.com/novemberborn/package-hash#readme +Copyright (c) 2016-2017, Mark Wubben (novemberborn.net) + +ISC License (ISC) +Copyright (c) 2016-2017, Mark Wubben (novemberborn.net) + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +parse-asn1 5.1.5 - ISC +https://github.com/crypto-browserify/parse-asn1#readme +Copyright (c) 2017, crypto-browserify contributors + +Copyright (c) 2017, crypto-browserify contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +path-posix 1.0.0 - ISC +https://github.com/jden/node-path-posix +Copyright Joyent, Inc. and other Node contributors. + +Node's license follows: + +==== + +Copyright Joyent, Inc. and other Node contributors. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. + +==== + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +postcss-color-gray 4.1.0 - ISC +https://github.com/postcss/postcss-color-gray#readme +(c) 2017 Shinnosuke Watanabe +Copyright 2017 Shinnosuke Watanabe + +ISC License (ISC) +Copyright 2017 Shinnosuke Watanabe + +Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +promise-inflight 1.0.1 - ISC +https://github.com/iarna/promise-inflight#readme +Copyright (c) 2017, Rebecca Turner + +Copyright (c) 2017, Rebecca Turner + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +proto-list 1.2.4 - ISC +https://github.com/isaacs/proto-list#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +pseudomap 1.0.2 - ISC +https://github.com/isaacs/pseudomap#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +range-inclusive 1.0.2 - ISC +https://github.com/emilbayes/range-inclusive#readme +Copyright (c) 2015, Emil Bay + +Copyright (c) 2015, Emil Bay + +Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +remove-trailing-separator 1.1.0 - ISC +https://github.com/darsain/remove-trailing-separator#readme + +Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +request-promise-core 1.1.2 - ISC +https://github.com/request/promise-core#readme +Copyright (c) 2016, Nicolai Kamenzky and contributors + +ISC License + +Copyright (c) 2016, Nicolai Kamenzky and contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +request-promise-native 1.0.7 - ISC +https://github.com/request/request-promise-native#readme +Copyright (c) 2017, Nicolai Kamenzky and contributors + +ISC License + +Copyright (c) 2017, Nicolai Kamenzky and contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +require-main-filename 1.0.1 - ISC +https://github.com/yargs/require-main-filename#readme +Copyright (c) 2016 + +Copyright (c) 2016, Contributors + +Permission to use, copy, modify, and/or distribute this software +for any purpose with or without fee is hereby granted, provided +that the above copyright notice and this permission notice +appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE +LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +require-main-filename 2.0.0 - ISC +https://github.com/yargs/require-main-filename#readme +Copyright (c) 2016 + +Copyright (c) 2016, Contributors + +Permission to use, copy, modify, and/or distribute this software +for any purpose with or without fee is hereby granted, provided +that the above copyright notice and this permission notice +appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE +LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +rimraf 3.0.0 - ISC +https://github.com/isaacs/rimraf#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +rimraf 2.7.1 - ISC +https://github.com/isaacs/rimraf#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +rimraf 3.0.2 - ISC +https://github.com/isaacs/rimraf#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +run-queue 1.0.3 - ISC +https://npmjs.com/package/run-queue + +ISC License + +Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC") + +Copyright (c) 1995-2003 by Internet Software Consortium + +Permission to use, copy, modify, and /or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +sax 1.2.4 - ISC +https://github.com/isaacs/sax-js#readme +Copyright (c) Isaac Z. Schlueter and Contributors +Copyright Mathias Bynens + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +==== + +`String.fromCodePoint` by Mathias Bynens used according to terms of MIT +License, as follows: + + Copyright Mathias Bynens + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +saxes 3.1.11 - ISC +https://github.com/lddubeau/saxes#readme +Copyright (c) Isaac Z. Schlueter and Contributors +Copyright Mathias Bynens + +The ISC License + +Copyright (c) Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +==== + +The following license is the one that governed sax, from which saxes +was forked. Isaac Schlueter is not *directly* involved with saxes so +don't go bugging him for saxes issues. + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +==== + +`String.fromCodePoint` by Mathias Bynens is no longer used, but it can +still be found in old commits. It was once used according to terms of +MIT License, as follows: + + Copyright Mathias Bynens + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +semver 6.3.0 - ISC +https://github.com/npm/node-semver#readme +Copyright Isaac Z. +Copyright Isaac Z. Schlueter +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +semver 5.7.0 - ISC +https://github.com/npm/node-semver#readme +Copyright Isaac Z. +Copyright Isaac Z. Schlueter +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +semver 5.7.1 - ISC +https://github.com/npm/node-semver#readme +Copyright Isaac Z. +Copyright Isaac Z. Schlueter +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +set-blocking 2.0.0 - ISC +https://github.com/yargs/set-blocking#readme +Copyright (c) 2016 + +Copyright (c) 2016, Contributors + +Permission to use, copy, modify, and/or distribute this software +for any purpose with or without fee is hereby granted, provided +that the above copyright notice and this permission notice +appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE +LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +setprototypeof 1.1.1 - ISC +https://github.com/wesleytodd/setprototypeof +Copyright (c) 2015, Wes Todd + +Copyright (c) 2015, Wes Todd + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +signal-exit 3.0.2 - ISC +https://github.com/tapjs/signal-exit +Copyright (c) 2015 + +The ISC License + +Copyright (c) 2015, Contributors + +Permission to use, copy, modify, and/or distribute this software +for any purpose with or without fee is hereby granted, provided +that the above copyright notice and this permission notice +appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE +LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +spawn-wrap 2.0.0 - ISC +https://github.com/istanbuljs/spawn-wrap#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +ssri 7.1.0 - ISC +https://github.com/npm/ssri#readme +Copyright (c) npm, Inc. + +ISC License + +Copyright (c) npm, Inc. + +Permission to use, copy, modify, and/or distribute this software for +any purpose with or without fee is hereby granted, provided that the +above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE COPYRIGHT HOLDER DISCLAIMS +ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +stealthy-require 1.1.1 - ISC +https://github.com/analog-nico/stealthy-require#readme +Copyright (c) 2017, Nicolai Kamenzky and contributors + +ISC License + +Copyright (c) 2017, Nicolai Kamenzky and contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +tar 2.2.2 - ISC +https://github.com/isaacs/node-tar#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License +Copyright (c) Isaac Z. Schlueter and Contributors +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +tar 4.4.13 - ISC +https://github.com/npm/node-tar#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +test-exclude 6.0.0 - ISC +https://istanbul.js.org/ +Copyright (c) 2016 + +Copyright (c) 2016, Contributors + +Permission to use, copy, modify, and/or distribute this software +for any purpose with or without fee is hereby granted, provided +that the above copyright notice and this permission notice +appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE +LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +topojson-client 3.1.0 - ISC +https://github.com/topojson/topojson-client +Copyright 2019 Mike Bostock +Copyright 2012-2019 Michael Bostock + +Copyright 2012-2019 Michael Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +type 1.0.1 - ISC +https://github.com/medikoo/type#readme + +ISC License + +Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC") + +Copyright (c) 1995-2003 by Internet Software Consortium + +Permission to use, copy, modify, and /or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +unique-filename 1.1.1 - ISC +https://github.com/iarna/unique-filename +Copyright npm, Inc + +Copyright npm, Inc + +Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +which 1.3.1 - ISC +https://github.com/isaacs/node-which#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +which 2.0.2 - ISC +https://github.com/isaacs/node-which#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +which-module 2.0.0 - ISC +https://github.com/nexdrew/which-module#readme +Copyright (c) 2016 + +Copyright (c) 2016, Contributors + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +which-module 1.0.0 - ISC +https://github.com/nexdrew/which-module#readme +Copyright (c) 2016 + +Copyright (c) 2016, Contributors + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +wide-align 1.1.3 - ISC +https://github.com/iarna/wide-align#readme +Copyright (c) 2015, Rebecca Turner + +Copyright (c) 2015, Rebecca Turner + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +wrappy 1.0.2 - ISC +https://github.com/npm/wrappy +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +write-file-atomic 3.0.1 - ISC +https://github.com/npm/write-file-atomic +Copyright (c) 2015, Rebecca Turner + +Copyright (c) 2015, Rebecca Turner + +Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +y18n 4.0.0 - ISC +https://github.com/yargs/y18n +Copyright (c) 2015 + +Copyright (c) 2015, Contributors + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +yallist 4.0.0 - ISC +https://github.com/isaacs/yallist#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +yallist 3.1.1 - ISC +https://github.com/isaacs/yallist#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +yallist 2.1.2 - ISC +https://github.com/isaacs/yallist#readme +Copyright (c) Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +yargs-parser 5.0.0 - ISC +https://github.com/yargs/yargs-parser#readme +Copyright (c) 2016 + +Copyright (c) 2016, Contributors + +Permission to use, copy, modify, and/or distribute this software +for any purpose with or without fee is hereby granted, provided +that the above copyright notice and this permission notice +appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE +LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +yargs-parser 18.1.2 - ISC +https://github.com/yargs/yargs-parser#readme +Copyright (c) 2016 + +Copyright (c) 2016, Contributors + +Permission to use, copy, modify, and/or distribute this software +for any purpose with or without fee is hereby granted, provided +that the above copyright notice and this permission notice +appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE +LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@babel/cli 7.8.4 - MIT +https://babeljs.io/ +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@babel/code-frame 7.5.5 - MIT +https://babeljs.io/ +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@babel/code-frame 7.0.0 - MIT +https://babeljs.io/ +Copyright (c) 2014-2018 Sebastian McKenzie + +MIT License + +Copyright (c) 2014-2018 Sebastian McKenzie + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@babel/core 7.7.7 - MIT +https://babeljs.io/ +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@babel/generator 7.7.7 - MIT +https://babeljs.io/ +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@babel/helper-function-name 7.7.4 - MIT +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@babel/helper-get-function-arity 7.7.4 - MIT +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@babel/helper-split-export-declaration 7.7.4 - MIT +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@babel/helpers 7.7.4 - MIT +https://babeljs.io/ +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@babel/parser 7.7.7 - MIT +https://babeljs.io/ +Copyright (c) 2012-2014 by various contributors + +Copyright (C) 2012-2014 by various contributors (see AUTHORS) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@babel/polyfill 7.4.4 - MIT +https://babeljs.io/ +(c) 2019 Denis Pushkarev +copyright (c) 2019 Denis Pushkarev +Copyright (c) 2014-present, Facebook, Inc. +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@babel/register 7.9.0 - MIT +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@babel/runtime 7.8.3 - MIT +https://babeljs.io/docs/en/next/babel-runtime +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@babel/runtime 7.5.4 - MIT +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@babel/runtime 7.6.3 - MIT +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@babel/template 7.7.4 - MIT +https://babeljs.io/ +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@babel/traverse 7.7.4 - MIT +https://babeljs.io/ +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@babel/types 7.7.4 - MIT +https://babeljs.io/ +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@istanbuljs/schema 0.1.2 - MIT +https://github.com/istanbuljs/schema#readme +Copyright (c) 2019 CFWare, LLC + +MIT License + +Copyright (c) 2019 CFWare, LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@jest/types 24.9.0 - MIT +https://github.com/facebook/jest#readme +Copyright (c) Facebook, Inc. and its affiliates. + +MIT License + +Copyright (c) Facebook, Inc. and its affiliates. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@loadable/component 5.12.0 - MIT +https://github.com/gregberge/loadable-components#readme +Copyright 2019 Greg Berge + +Copyright 2019 Greg Bergé + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@nteract/types 6.0.4 - MIT +Copyright (c) 2016, nteract contributors + +Copyright (c) 2016, nteract contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of nteract nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@nteract/vega-embed-v2 1.1.0 - MIT +Copyright (c) 2018 + +MIT License + +Copyright (c) 2018 nteract + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@nteract/vega-embed-v3 1.1.1 - MIT +Copyright (c) 2018 + +MIT License + +Copyright (c) 2018 nteract + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@sindresorhus/is 0.14.0 - MIT +https://github.com/sindresorhus/is#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@szmarczak/http-timer 1.1.2 - MIT +https://github.com/szmarczak/http-timer#readme +Copyright (c) 2018 Szymon Marczak + +MIT License + +Copyright (c) 2018 Szymon Marczak + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@testing-library/dom 6.11.0 - MIT +https://github.com/testing-library/dom-testing-library#readme +Copyright (c) 2017 Kent C. Dodds +Copyright (c) Facebook, Inc. and its affiliates. + +The MIT License (MIT) +Copyright (c) 2017 Kent C. Dodds + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@testing-library/react 9.4.0 - MIT +https://github.com/testing-library/react-testing-library#readme +Copyright (c) 2017 Kent C. Dodds +Copyright (c) 2014-present, Facebook, Inc. +Copyright (c) Facebook, Inc. and its affiliates. + +The MIT License (MIT) +Copyright (c) 2017 Kent C. Dodds + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/backbone 1.4.1 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/body-parser 1.17.1 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/caseless 0.12.2 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/clone 0.1.30 - MIT + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/color-name 1.1.1 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/concat-stream 1.6.0 - MIT + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/connect 3.4.32 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/cookiejar 2.1.1 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/cors 2.8.6 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/debug 4.1.5 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/dedent 0.7.0 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/dom4 2.0.1 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/events 3.0.0 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/express 4.17.2 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/express-serve-static-core 4.17.0 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/fast-json-stable-stringify 2.0.0 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/form-data 0.0.33 - MIT + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/hoist-non-react-statics 3.3.1 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/istanbul-lib-coverage 2.0.1 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/istanbul-lib-report 1.1.1 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/istanbul-reports 1.1.1 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/loadable__component 5.10.0 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/mime 2.0.1 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/minimatch 3.0.3 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/node 10.14.18 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/node 8.10.58 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/node-fetch 2.5.7 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/prop-types 15.7.1 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/qs 6.5.3 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/range-parser 1.2.3 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/react-redux 7.1.5 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/redux-logger 3.0.7 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/serve-static 1.13.3 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/sinon 7.5.1 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/socket.io 2.1.4 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/superagent 3.8.7 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/tcp-port-used 1.0.0 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/testing-library__dom 6.11.1 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/testing-library__react 9.1.2 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/tough-cookie 2.3.5 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/underscore 1.9.4 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/uuid 7.0.2 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/vscode 1.47.0 - MIT + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/vscode 1.46.0 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/yargs 13.0.5 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +@types/yargs-parser 15.0.0 - MIT +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +1to2 1.0.0 - MIT +Copyright (c) 2014 3VOT + +The MIT License (MIT) + +Copyright (c) 2014 3VOT + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +accepts 1.3.7 - MIT +https://github.com/jshttp/accepts#readme +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2015 Douglas Christopher Wilson +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2015 Douglas Christopher Wilson + +(The MIT License) + +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2015 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +acorn 5.7.4 - MIT +https://github.com/acornjs/acorn +Copyright (c) 2012-2018 by various contributors + +Copyright (C) 2012-2018 by various contributors (see AUTHORS) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +acorn 7.1.1 - MIT +https://github.com/acornjs/acorn +Copyright (c) 2012-2018 by various contributors + +Copyright (C) 2012-2018 by various contributors (see AUTHORS) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +acorn 6.4.1 - MIT +https://github.com/acornjs/acorn +Copyright (c) 2012-2018 by various contributors + +Copyright (C) 2012-2018 by various contributors (see AUTHORS) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +acorn-dynamic-import 4.0.0 - MIT +https://github.com/kesne/acorn-dynamic-import +Copyright (c) 2016 Jordan Gensler + +MIT License + +Copyright (c) 2016 Jordan Gensler + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +acorn-walk 6.2.0 - MIT +https://github.com/acornjs/acorn +Copyright (c) 2012-2018 by various contributors + +Copyright (C) 2012-2018 by various contributors (see AUTHORS) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +after 0.8.2 - MIT +https://github.com/Raynos/after#readme +Copyright (c) 2011 Raynos. + +Copyright (c) 2011 Raynos. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +aggregate-error 3.0.1 - MIT +https://github.com/sindresorhus/aggregate-error#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +ajv 6.12.2 - MIT +https://github.com/epoberezkin/ajv +(c) 2011 Gary Court. +Copyright 2011 Gary Court. +Copyright (c) 2015-2017 Evgeny Poberezkin + +The MIT License (MIT) + +Copyright (c) 2015-2017 Evgeny Poberezkin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +ajv 6.12.0 - MIT +https://github.com/epoberezkin/ajv +(c) 2011 Gary Court. +Copyright 2011 Gary Court. +Copyright (c) 2015-2017 Evgeny Poberezkin + +The MIT License (MIT) + +Copyright (c) 2015-2017 Evgeny Poberezkin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +ajv 6.10.1 - MIT +https://github.com/epoberezkin/ajv +(c) 2011 Gary Court. +Copyright 2011 Gary Court. +Copyright (c) 2015-2017 Evgeny Poberezkin + +The MIT License (MIT) + +Copyright (c) 2015-2017 Evgeny Poberezkin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +ansi-colors 4.1.1 - MIT +https://github.com/doowb/ansi-colors +Copyright (c) 2015-present, Brian Woodward. +Copyright (c) 2019, Brian Woodward (https://github.com/doowb). + +The MIT License (MIT) + +Copyright (c) 2015-present, Brian Woodward. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +ansi-regex 4.1.0 - MIT +https://github.com/chalk/ansi-regex#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +ansi-regex 3.0.0 - MIT +https://github.com/chalk/ansi-regex#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +ansi-regex 2.1.1 - MIT +https://github.com/chalk/ansi-regex#readme +(c) Sindre Sorhus (http://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +ansi-regex 5.0.0 - MIT +https://github.com/chalk/ansi-regex#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +ansi-styles 3.2.1 - MIT +https://github.com/chalk/ansi-styles#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +ansi-styles 4.2.1 - MIT +https://github.com/chalk/ansi-styles#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +ansi-wrap 0.1.0 - MIT +https://github.com/jonschlinkert/ansi-wrap +Copyright (c) 2015 Jon Schlinkert +Copyright (c) 2015, Jon Schlinkert. + +The MIT License (MIT) + +Copyright (c) 2015, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +append-buffer 1.0.2 - MIT +https://github.com/doowb/append-buffer +Copyright (c) 2017, Brian Woodward. +Copyright (c) 2017, Brian Woodward (https://doowb.com). + +The MIT License (MIT) + +Copyright (c) 2017, Brian Woodward. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +append-transform 2.0.0 - MIT +https://github.com/istanbuljs/append-transform#readme +Copyright (c) James Talmage +(c) James Talmage (https://github.com/jamestalmage) + +The MIT License (MIT) + +Copyright (c) James Talmage (github.com/jamestalmage) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +arch 2.1.1 - MIT +https://github.com/feross/arch +Copyright (c) Feross Aboukhadijeh +Copyright (c) Feross Aboukhadijeh (http://feross.org). + +The MIT License (MIT) + +Copyright (c) Feross Aboukhadijeh + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +archy 1.0.0 - MIT +https://github.com/substack/node-archy + +This software is released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +argparse 1.0.10 - MIT +https://github.com/nodeca/argparse#readme +Copyright (c) 2012 by Vitaly Puzrin +Copyright (c) 2012 Vitaly Puzrin (https://github.com/puzrin). + +(The MIT License) + +Copyright (C) 2012 by Vitaly Puzrin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +arr-diff 4.0.0 - MIT +https://github.com/jonschlinkert/arr-diff +Copyright (c) 2014-2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2017, Jon Schlinkert + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +arr-flatten 1.1.0 - MIT +https://github.com/jonschlinkert/arr-flatten +Copyright (c) 2014-2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2017, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +arr-union 3.1.0 - MIT +https://github.com/jonschlinkert/arr-union +Copyright (c) 2014-2016, Jon Schlinkert. +Copyright (c) 2016 Jon Schlinkert (https://github.com/jonschlinkert) + +The MIT License (MIT) + +Copyright (c) 2014-2016, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +array-from 2.1.1 - MIT +https://github.com/studio-b12/array-from#readme +(c) Studio B12 GmbH +Copyright (c) 2015-2016 Studio B12 GmbH + +Copyright © 2015-2016 Studio B12 GmbH + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +array-slice 1.1.0 - MIT +https://github.com/jonschlinkert/array-slice +Copyright (c) 2014-2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2017, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +array-uniq 1.0.3 - MIT +https://github.com/sindresorhus/array-uniq#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +array-unique 0.3.2 - MIT +https://github.com/jonschlinkert/array-unique +Copyright (c) 2014-2016, Jon Schlinkert +Copyright (c) 2014-2015, Jon Schlinkert. +Copyright (c) 2016, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2016, Jon Schlinkert + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +arraybuffer.slice 0.0.7 - MIT +https://github.com/rase-/arraybuffer.slice +Copyright (c) 2013 Rase + +Copyright (C) 2013 Rase- + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +asap 2.0.6 - MIT +https://github.com/kriskowal/asap#readme +Copyright 2009-2014 + + +Copyright 2009–2014 Contributors. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +asn1 0.2.4 - MIT +https://github.com/joyent/node-asn1#readme +Copyright (c) 2011 Mark Cavage +Copyright 2011 Mark Cavage + +Copyright (c) 2011 Mark Cavage, All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +assert-plus 1.0.0 - MIT +https://github.com/mcavage/node-assert-plus#readme +Copyright 2015 Joyent, Inc. +Copyright (c) 2012 Mark Cavage +Copyright (c) 2012, Mark Cavage. + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +assertion-error 1.1.0 - MIT +https://github.com/chaijs/assertion-error#readme +Copyright (c) 2013 Jake Luer +Copyright (c) 2013 Jake Luer (http://qualiancy.com) + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +assign-symbols 1.0.0 - MIT +https://github.com/jonschlinkert/assign-symbols +Copyright (c) 2015 Jon Schlinkert +Copyright (c) 2015, Jon Schlinkert. + +The MIT License (MIT) + +Copyright (c) 2015, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +ast-transform 0.0.0 - MIT +https://github.com/hughsk/ast-transform +Copyright (c) 2014 Hugh Kennedy + +## The MIT License (MIT) ## + +Copyright (c) 2014 Hugh Kennedy + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +ast-types 0.7.8 - MIT +http://github.com/benjamn/ast-types +Copyright (c) 2013 Ben Newman + +Copyright (c) 2013 Ben Newman + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +async 2.6.2 - MIT +https://caolan.github.io/async/ +Copyright (c) 2010-2018 Caolan McMahon + +Copyright (c) 2010-2018 Caolan McMahon + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +async-each 1.0.3 - MIT +https://github.com/paulmillr/async-each/ +Copyright (c) 2016 Paul Miller (paulmillr.com) (http://paulmillr.com) + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +async-limiter 1.0.0 - MIT +https://github.com/strml/async-limiter#readme +Copyright (c) 2017 Samuel Reed + +The MIT License (MIT) +Copyright (c) 2017 Samuel Reed + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +asynckit 0.4.0 - MIT +https://github.com/alexindigo/asynckit#readme +Copyright (c) 2016 Alex Indigo + +The MIT License (MIT) + +Copyright (c) 2016 Alex Indigo + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +autoprefixer 7.2.6 - MIT +https://github.com/postcss/autoprefixer#readme +Copyright 2013 Andrey Sitnik + +The MIT License (MIT) + +Copyright 2013 Andrey Sitnik + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +aws4 1.8.0 - MIT +https://github.com/mhart/aws4#readme +Copyright 2013 Michael Hart (michael.hart.au@gmail.com) + +Copyright 2013 Michael Hart (michael.hart.au@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +axios 0.19.2 - MIT +https://github.com/axios/axios +Copyright (c) 2014-present Matt Zabriskie + +Copyright (c) 2014-present Matt Zabriskie + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +babel-runtime 6.26.0 - MIT + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +backbone 1.2.3 - MIT +https://github.com/jashkenas/backbone +(c) 2010-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors Backbone + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +backo2 1.0.2 - MIT +https://github.com/mokesmokes/backo + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +backports.functools-lru-cache 1.6.1 - MIT +Copyright Jason R. Coombs + +Copyright Jason R. Coombs + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +bail 1.0.5 - MIT +https://github.com/wooorm/bail#readme +(c) Titus Wormer +Copyright (c) 2015 Titus Wormer + +(The MIT License) + +Copyright (c) 2015 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +balanced-match 0.4.2 - MIT +https://github.com/juliangruber/balanced-match +Copyright (c) 2013 Julian Gruber + +(MIT) + +Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +balanced-match 1.0.0 - MIT +https://github.com/juliangruber/balanced-match +Copyright (c) 2013 Julian Gruber + +(MIT) + +Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +balanced-match 0.1.0 - MIT +https://github.com/juliangruber/balanced-match +Copyright (c) 2013 Julian Gruber + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +base 0.11.2 - MIT +https://github.com/node-base/base +Copyright (c) 2015-2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2015-2017, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +base64-arraybuffer 0.1.5 - MIT +https://github.com/niklasvh/base64-arraybuffer +Copyright (c) 2012 Niklas von Hertzen + +Copyright (c) 2012 Niklas von Hertzen + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +base64-js 0.0.8 - MIT +https://github.com/beatgammit/base64-js +Copyright (c) 2014 + +The MIT License (MIT) + +Copyright (c) 2014 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +base64-js 1.3.0 - MIT +https://github.com/beatgammit/base64-js +Copyright (c) 2014 + +The MIT License (MIT) + +Copyright (c) 2014 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +base64id 2.0.0 - MIT +https://github.com/faeldt/base64id#readme +Copyright (c) 2012-2016 Kristian Faeldt + +(The MIT License) + +Copyright (c) 2012-2016 Kristian Faeldt + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +better-assert 1.0.2 - MIT +https://github.com/visionmedia/better-assert +Copyright (c) 2012 TJ Holowaychuk + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +binary-extensions 1.13.1 - MIT +https://github.com/sindresorhus/binary-extensions#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) +(c) Sindre Sorhus (https://sindresorhus.com), Paul Miller (https://paulmillr.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +bl 4.0.2 - MIT +https://github.com/rvagg/bl +Copyright (c) 2013-2019 bl contributors + +The MIT License (MIT) +===================== + +Copyright (c) 2013-2019 bl contributors +---------------------------------- + +*bl contributors listed at * + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +blob 0.0.5 - MIT +https://github.com/webmodules/blob +Copyright (c) 2014 Rase + +MIT License + +Copyright (C) 2014 Rase- + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +bluebird 3.5.5 - MIT +https://github.com/petkaantonov/bluebird +Copyright (c) 2013-2017 Petka Antonov +Copyright (c) 2013-2018 Petka Antonov + +The MIT License (MIT) + +Copyright (c) 2013-2018 Petka Antonov + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +brace-expansion 1.1.11 - MIT +https://github.com/juliangruber/brace-expansion +Copyright (c) 2013 Julian Gruber + +MIT License + +Copyright (c) 2013 Julian Gruber + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +braces 2.3.2 - MIT +https://github.com/micromatch/braces +Copyright (c) 2014-2018, Jon Schlinkert. +Copyright (c) 2018, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2018, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +braces 3.0.2 - MIT +https://github.com/micromatch/braces +Copyright (c) 2014-2018, Jon Schlinkert. +Copyright (c) 2019, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2018, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +brfs 1.6.1 - MIT +https://github.com/substack/brfs + +This software is released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +brfs 2.0.2 - MIT +https://github.com/substack/brfs + +This software is released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +brotli 1.3.2 - MIT +https://github.com/devongovett/brotli.js +Copyright 2013 Google Inc. + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +browser-resolve 1.11.3 - MIT +https://github.com/shtylman/node-browser-resolve#readme +Copyright (c) 2013-2015 Roman Shtylman + +The MIT License (MIT) + +Copyright (c) 2013-2015 Roman Shtylman + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +browserify-mime 1.2.9 - MIT +Copyright (c) 2010 Benjamin Thomas, Robert Kieffer + +Copyright (c) 2010 Benjamin Thomas, Robert Kieffer + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +browserify-optional 1.0.1 - MIT +https://github.com/devongovett/browserify-optional + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +browserslist 2.11.3 - MIT +https://github.com/ai/browserslist#readme +Copyright 2014 Andrey Sitnik + +The MIT License (MIT) + +Copyright 2014 Andrey Sitnik + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +buffer 4.9.2 - MIT +https://github.com/feross/buffer +Copyright (c) Feross Aboukhadijeh, and other contributors. +Copyright (c) Feross Aboukhadijeh (http://feross.org), and other contributors. + +The MIT License (MIT) + +Copyright (c) Feross Aboukhadijeh, and other contributors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +buffer 5.6.0 - MIT +https://github.com/feross/buffer +Copyright (c) Feross Aboukhadijeh, and other contributors. +Copyright (c) Feross Aboukhadijeh (http://feross.org), and other contributors. + +The MIT License (MIT) + +Copyright (c) Feross Aboukhadijeh, and other contributors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +buffer-crc32 0.2.13 - MIT +https://github.com/brianloveswords/buffer-crc32 +Copyright (c) 2013 Brian J. Brennan + +The MIT License + +Copyright (c) 2013 Brian J. Brennan + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the +Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +buffer-equal 0.0.1 - MIT +https://github.com/substack/node-buffer-equal + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +buffer-equal 1.0.0 - MIT +https://github.com/substack/node-buffer-equal#readme + +This software is released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +buffer-from 1.1.1 - MIT +https://github.com/LinusU/buffer-from#readme +Copyright (c) 2016, 2018 Linus Unneback + +MIT License + +Copyright (c) 2016, 2018 Linus Unnebäck + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +buffer-json 2.0.0 - MIT +https://github.com/jprichardson/buffer-json#readme + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +bytes 3.1.0 - MIT +https://github.com/visionmedia/bytes.js#readme +Copyright (c) 2015 Jed Watson +Copyright (c) 2012-2014 TJ Holowaychuk +Copyright (c) 2015 Jed Watson +Copyright (c) 2012-2014 TJ Holowaychuk + +(The MIT License) + +Copyright (c) 2012-2014 TJ Holowaychuk +Copyright (c) 2015 Jed Watson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +cache-base 1.0.1 - MIT +https://github.com/jonschlinkert/cache-base +Copyright (c) 2014-2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2017, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +cache-loader 4.1.0 - MIT +https://github.com/webpack-contrib/cache-loader +Copyright JS Foundation and other contributors + +Copyright JS Foundation and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +cacheable-request 6.1.0 - MIT +https://github.com/lukechilds/cacheable-request#readme +(c) Luke Childs +Copyright (c) 2017 Luke Childs + +MIT License + +Copyright (c) 2017 Luke Childs + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +caching-transform 4.0.0 - MIT +https://github.com/istanbuljs/caching-transform#readme +Copyright (c) James Talmage +(c) James Talmage (https://github.com/jamestalmage) + +The MIT License (MIT) + +Copyright (c) James Talmage (github.com/jamestalmage) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +camelcase 5.3.1 - MIT +https://github.com/sindresorhus/camelcase#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +camelcase 3.0.0 - MIT +https://github.com/sindresorhus/camelcase#readme +(c) Sindre Sorhus (http://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +caniuse-api 2.0.0 - MIT +https://github.com/nyalab/caniuse-api#readme +Copyright (c) 2014 Sebastien Balayn + +The MIT License (MIT) + +Copyright (c) 2014 Sébastien Balayn + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +canvas 2.6.0 - MIT +https://github.com/Automattic/node-canvas +copyright On Windows +Copyright (c) 2010 LearnBoost +Copyright (c) 2011 LearnBoost +Copyright (c) 2010 LearnBoost, and contributors +Copyright (c) 2014 Automattic, Inc and contributors + +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +chai 4.2.0 - MIT +http://chaijs.com +Copyright (c) 2013 +Copyright (c) 2017 Chai.js Assertion Library +Copyright (c) 2013 Jake Luer +Copyright (c) 2011 Jake Luer +Copyright (c) 2013 Jake Luer +Copyright (c) 2011-2014 Jake Luer +Copyright (c) 2011-2016 Jake Luer +Copyright (c) 2012-2014 Jake Luer +Copyright (c) 2012-2016 Jake Luer +Copyright (c) 2012-2015 Sakthipriyan Vairamani + +MIT License + +Copyright (c) 2017 Chai.js Assertion Library + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +chai-http 4.3.0 - MIT +https://github.com/chaijs/chai-http#readme +Copyright (c) 2013-2014 TJ Holowaychuk +Copyright (c) 2015-2016 Douglas Christopher Wilson +Copyright (c) Jake Luer +Copyright Joyent, Inc. and other Node contributors. +Copyright (c) 2011-2012 Jake Luer + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +chalk 2.4.2 - MIT +https://github.com/chalk/chalk#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +character-entities 1.2.4 - MIT +https://github.com/wooorm/character-entities#readme +(c) Titus Wormer +Copyright (c) 2015 Titus Wormer + +(The MIT License) + +Copyright (c) 2015 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +character-entities-legacy 1.1.4 - MIT +https://github.com/wooorm/character-entities-legacy#readme +(c) Titus Wormer +Copyright (c) 2015 Titus Wormer + +(The MIT License) + +Copyright (c) 2015 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +character-reference-invalid 1.1.4 - MIT +https://github.com/wooorm/character-reference-invalid#readme +(c) Titus Wormer +Copyright (c) 2015 Titus Wormer + +(The MIT License) + +Copyright (c) 2015 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +check-error 1.0.2 - MIT +https://github.com/chaijs/check-error#readme +Copyright (c) 2012-2016 Jake Luer +Copyright (c) 2013 Jake Luer (http://alogicalparadox.com) + +Copyright (c) 2013 Jake Luer (http://alogicalparadox.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +cheerio 1.0.0-rc.3 - MIT +https://github.com/cheeriojs/cheerio#readme +Copyright (c) 2016 Matt Mueller + +MIT License + +Copyright (c) 2016 Matt Mueller + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +chokidar 2.1.8 - MIT +https://github.com/paulmillr/chokidar +Copyright (c) 2012-2019 Paul Miller (https://paulmillr.com) & Elan Shanker + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +class-utils 0.3.6 - MIT +https://github.com/jonschlinkert/class-utils +Copyright (c) 2015, 2017-2018, Jon Schlinkert. +Copyright (c) 2018, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2015, 2017-2018, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +classnames 2.2.6 - MIT +https://github.com/JedWatson/classnames#readme +Copyright (c) 2017 Jed Watson. + +The MIT License (MIT) + +Copyright (c) 2017 Jed Watson + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +clean-stack 2.2.0 - MIT +https://github.com/sindresorhus/clean-stack#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +clone 2.1.2 - MIT +https://github.com/pvorb/node-clone#readme +Copyright (c) 2011-2015 Paul Vorbach +Copyright (c) 2011-2016 Paul Vorbach (https://paul.vorba.ch/) and contributors (https://github.com/pvorb/clone/graphs/contributors). + +Copyright © 2011-2015 Paul Vorbach + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the “Software”), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +clone 1.0.4 - MIT +https://github.com/pvorb/node-clone#readme +Copyright (c) 2011-2015 Paul Vorbach +Copyright (c) 2011-2015 Paul Vorbach (http://paul.vorba.ch/) and contributors (https://github.com/pvorb/node-clone/graphs/contributors). + +Copyright © 2011-2015 Paul Vorbach + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the “Software”), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +clone-buffer 1.0.0 - MIT +https://github.com/gulpjs/clone-buffer#readme +Copyright (c) 2016 Blaine Bublitz , Eric Schoffstall and other contributors + +The MIT License (MIT) + +Copyright (c) 2016 Blaine Bublitz , Eric Schoffstall and other contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +clone-response 1.0.2 - MIT +https://github.com/lukechilds/clone-response +(c) Luke Childs +Copyright (c) 2017 Luke Childs + +MIT License + +Copyright (c) 2017 Luke Childs + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +clone-stats 1.0.0 - MIT +https://github.com/hughsk/clone-stats +Copyright (c) 2014 Hugh Kennedy + +## The MIT License (MIT) ## + +Copyright (c) 2014 Hugh Kennedy + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +clone-stats 0.0.1 - MIT +https://github.com/hughsk/clone-stats +Copyright (c) 2014 Hugh Kennedy + +## The MIT License (MIT) ## + +Copyright (c) 2014 Hugh Kennedy + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +cloneable-readable 1.1.3 - MIT +https://github.com/mcollina/cloneable-readable#readme +Copyright (c) 2016 Matteo Collina + +The MIT License (MIT) + +Copyright (c) 2016 Matteo Collina + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +clsx 1.0.4 - MIT +https://github.com/lukeed/clsx#readme +(c) Luke Edwards (https://lukeed.com) +Copyright (c) Luke Edwards (lukeed.com) + +MIT License + +Copyright (c) Luke Edwards (lukeed.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +co 4.6.0 - MIT +https://github.com/tj/co#readme +Copyright (c) 2014 TJ Holowaychuk + +(The MIT License) + +Copyright (c) 2014 TJ Holowaychuk <tj@vision-media.ca> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +code-point-at 1.1.0 - MIT +https://github.com/sindresorhus/code-point-at#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +codemirror 5.47.0 - MIT +https://codemirror.net +copyright (c) by Lennart Ochel +copyright AtomicPages LLC 2014 +copyright (c) 2015 by Calin Barbat +copyright (c) HicknHack Software Gmbh +Copyright (c) 2011 by MarkLogic Corporation +copyright (c) 2015 by Grzegorz Mazur Loosely +copyright (c) 2016 Jared Dean, SAS Institute +copyright (c) by Marijn Haverbeke and others +Copyright (c) 2017 by Marijn Haverbeke and others + +MIT License + +Copyright (C) 2017 by Marijn Haverbeke and others + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +collapse-white-space 1.0.6 - MIT +https://github.com/wooorm/collapse-white-space#readme +(c) Titus Wormer +Copyright (c) 2015 Titus Wormer + +(The MIT License) + +Copyright (c) 2015 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +collection-visit 1.0.0 - MIT +https://github.com/jonschlinkert/collection-visit +Copyright (c) 2015, 2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2015, 2017, Jon Schlinkert + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +color 0.11.4 - MIT +https://github.com/qix-/color#readme +Copyright (c) 2012 Heather Arthur + +Copyright (c) 2012 Heather Arthur + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +color 2.0.1 - MIT +https://github.com/Qix-/color#readme +Copyright (c) 2012 Heather Arthur + +Copyright (c) 2012 Heather Arthur + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +color 1.0.3 - MIT +https://github.com/qix-/color#readme +Copyright (c) 2012 Heather Arthur + +Copyright (c) 2012 Heather Arthur + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +color 3.0.0 - MIT +https://github.com/Qix-/color#readme +Copyright (c) 2012 Heather Arthur + +Copyright (c) 2012 Heather Arthur + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +color-convert 2.0.1 - MIT +https://github.com/Qix-/color-convert#readme +Copyright (c) 2011-2016, Heather Arthur and Josh Junon. +Copyright (c) 2011-2016 Heather Arthur + +Copyright (c) 2011-2016 Heather Arthur + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +color-convert 1.9.3 - MIT +https://github.com/Qix-/color-convert#readme +Copyright (c) 2011-2016, Heather Arthur and Josh Junon. +Copyright (c) 2011-2016 Heather Arthur + +Copyright (c) 2011-2016 Heather Arthur + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +color-name 1.1.3 - MIT +https://github.com/dfcreative/color-name +Copyright (c) 2015 Dmitry Ivanov + +The MIT License (MIT) +Copyright (c) 2015 Dmitry Ivanov + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +color-name 1.1.4 - MIT +https://github.com/colorjs/color-name +Copyright (c) 2015 Dmitry Ivanov + +The MIT License (MIT) +Copyright (c) 2015 Dmitry Ivanov + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +color-string 1.5.3 - MIT +https://github.com/Qix-/color-string#readme +Copyright (c) 2011 Heather Arthur + +Copyright (c) 2011 Heather Arthur + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +color-string 0.3.0 - MIT +https://github.com/harthur/color-string +Copyright (c) 2011 Heather Arthur + +Copyright (c) 2011 Heather Arthur + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +colornames 1.1.1 - MIT +https://github.com/timoxley/colornames#readme +Copyright (c) 2015 Tim Oxley + +The MIT License (MIT) + +Copyright (c) 2015 Tim Oxley + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +colors 1.3.3 - MIT +https://github.com/Marak/colors.js +Copyright (c) Marak Squires +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Original Library + - Copyright (c) Marak Squires + +Additional Functionality + - Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +colorspace 1.1.2 - MIT +https://github.com/3rd-Eden/colorspace +Copyright (c) 2015 Arnout Kazemier, Martijn Swaagman + +The MIT License (MIT) + +Copyright (c) 2015 Arnout Kazemier, Martijn Swaagman, the Contributors. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +combined-stream 1.0.8 - MIT +https://github.com/felixge/node-combined-stream +Copyright (c) 2011 Debuggable Limited + +Copyright (c) 2011 Debuggable Limited + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +commander 2.20.0 - MIT +https://github.com/tj/commander.js#readme +Copyright (c) 2011 TJ Holowaychuk + +(The MIT License) + +Copyright (c) 2011 TJ Holowaychuk + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +commander 4.1.1 - MIT +https://github.com/tj/commander.js#readme +Copyright (c) 2011 TJ Holowaychuk + +(The MIT License) + +Copyright (c) 2011 TJ Holowaychuk + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +commander 2.20.3 - MIT +https://github.com/tj/commander.js#readme +Copyright (c) 2011 TJ Holowaychuk + +(The MIT License) + +Copyright (c) 2011 TJ Holowaychuk + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +component-bind 1.0.0 - MIT +https://github.com/component/bind + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +component-emitter 1.2.1 - MIT +https://github.com/component/emitter#readme +Copyright (c) 2014 Component + +(The MIT License) + +Copyright (c) 2014 Component contributors + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +component-emitter 1.3.0 - MIT +https://github.com/component/emitter#readme +Copyright (c) 2014 Component + +(The MIT License) + +Copyright (c) 2014 Component contributors + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +component-inherit 0.0.3 - MIT +https://github.com/component/inherit + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +concat-map 0.0.1 - MIT +https://github.com/substack/node-concat-map + +This software is released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +concat-stream 1.6.2 - MIT +https://github.com/maxogden/concat-stream#readme +Copyright (c) 2013 Max Ogden + +The MIT License + +Copyright (c) 2013 Max Ogden + +Permission is hereby granted, free of charge, +to any person obtaining a copy of this software and +associated documentation files (the "Software"), to +deal in the Software without restriction, including +without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom +the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +config-chain 1.1.12 - MIT +http://github.com/dominictarr/config-chain +Copyright (c) 2011 Dominic Tarr + +Copyright (c) 2011 Dominic Tarr + +Permission is hereby granted, free of charge, +to any person obtaining a copy of this software and +associated documentation files (the "Software"), to +deal in the Software without restriction, including +without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom +the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +console-browserify 1.2.0 - MIT +https://github.com/browserify/console-browserify +Copyright (c) 2012 Raynos. + +Copyright (c) 2012 Raynos. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +content-disposition 0.5.3 - MIT +https://github.com/jshttp/content-disposition#readme +Copyright (c) 2014-2017 Douglas Christopher Wilson + +(The MIT License) + +Copyright (c) 2014-2017 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +content-type 1.0.4 - MIT +https://github.com/jshttp/content-type#readme +Copyright (c) 2015 Douglas Christopher Wilson + +(The MIT License) + +Copyright (c) 2015 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +convert-source-map 1.6.0 - MIT +https://github.com/thlorenz/convert-source-map +Copyright 2013 Thorsten Lorenz. + +Copyright 2013 Thorsten Lorenz. +All rights reserved. + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +convert-source-map 1.7.0 - MIT +https://github.com/thlorenz/convert-source-map +Copyright 2013 Thorsten Lorenz. + +Copyright 2013 Thorsten Lorenz. +All rights reserved. + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +cookie 0.3.1 - MIT +https://github.com/jshttp/cookie +Copyright (c) 2012-2014 Roman Shtylman +Copyright (c) 2015 Douglas Christopher Wilson +Copyright (c) 2012-2014 Roman Shtylman +Copyright (c) 2015 Douglas Christopher Wilson + +(The MIT License) + +Copyright (c) 2012-2014 Roman Shtylman +Copyright (c) 2015 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +cookie-signature 1.0.6 - MIT +https://github.com/visionmedia/node-cookie-signature +Copyright (c) 2012 LearnBoost + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +cookiejar 2.1.2 - MIT +https://github.com/bmeck/node-cookiejar#readme +Copyright (c) 2013 Bradley Meck + +The MIT License (MIT) +Copyright (c) 2013 Bradley Meck + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +copy-descriptor 0.1.1 - MIT +https://github.com/jonschlinkert/copy-descriptor +Copyright (c) 2015, Jon Schlinkert. +Copyright (c) 2015-2016, Jon Schlinkert + +The MIT License (MIT) + +Copyright (c) 2015-2016, Jon Schlinkert + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +core-js 1.2.7 - MIT +https://github.com/zloirock/core-js#readme +(c) 2016 Denis Pushkarev +Copyright (c) 2015 Denis Pushkarev + +Copyright (c) 2015 Denis Pushkarev + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +core-js 2.6.9 - MIT +https://github.com/zloirock/core-js#readme +(c) 2019 Denis Pushkarev +copyright (c) 2019 Denis Pushkarev +Copyright (c) 2014-2019 Denis Pushkarev + +Copyright (c) 2014-2019 Denis Pushkarev + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +core-util-is 1.0.2 - MIT +https://github.com/isaacs/core-util-is#readme +Copyright Joyent, Inc. and other Node contributors. + +Copyright Node.js contributors. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +cors 2.8.5 - MIT +https://github.com/expressjs/cors#readme +Copyright (c) 2013 Troy Goode + +(The MIT License) + +Copyright (c) 2013 Troy Goode + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +create-react-context 0.3.0 - MIT +https://github.com/thejameskyle/create-react-context#readme +Copyright (c) 2017-present James Kyle + +Copyright (c) 2017-present James Kyle + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +cross-env 6.0.3 - MIT +https://github.com/kentcdodds/cross-env#readme +Copyright (c) 2017 Kent C. Dodds + +The MIT License (MIT) +Copyright (c) 2017 Kent C. Dodds + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +cross-spawn 7.0.1 - MIT +https://github.com/moxystudio/node-cross-spawn +Copyright (c) 2018 Made With MOXY Lda + +The MIT License (MIT) + +Copyright (c) 2018 Made With MOXY Lda + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +cross-spawn 5.1.0 - MIT +https://github.com/IndigoUnited/node-cross-spawn#readme +Copyright (c) 2014 IndigoUnited + +Copyright (c) 2014 IndigoUnited + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +cross-spawn 6.0.5 - MIT +https://github.com/moxystudio/node-cross-spawn +Copyright (c) 2018 Made With MOXY Lda + +The MIT License (MIT) + +Copyright (c) 2018 Made With MOXY Lda + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +crypto-js 3.3.0 - MIT +http://github.com/brix/crypto-js +(c) 2012 by Cedric Mesnil. +Copyright (c) 2009-2013 Jeff Mott +Copyright (c) 2013-2016 Evan Vosberg + +# License + +[The MIT License (MIT)](http://opensource.org/licenses/MIT) + +Copyright (c) 2009-2013 Jeff Mott +Copyright (c) 2013-2016 Evan Vosberg + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +css-color-function 1.3.3 - MIT +https://github.com/ianstormtaylor/css-color-function#readme +Copyright (c) 2013 Ian Storm Taylor + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +css-unit-converter 1.1.1 - MIT +https://github.com/andyjansson/css-unit-converter +Copyright 2015 Andy Jansson + +The MIT License (MIT) + +Copyright 2015 Andy Jansson + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +csstype 2.6.6 - MIT +https://github.com/frenic/csstype#readme +Copyright (c) 2017-2018 Fredrik Nicol + +Copyright (c) 2017-2018 Fredrik Nicol + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +csstype 2.6.9 - MIT +https://github.com/frenic/csstype#readme +Copyright (c) 2017-2018 Fredrik Nicol + +Copyright (c) 2017-2018 Fredrik Nicol + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +cyclist 1.0.1 - MIT +https://github.com/mafintosh/cyclist +Copyright (c) 2015 Mathias Buus + +The MIT License (MIT) + +Copyright (c) 2015 Mathias Buus + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +cyclist 0.2.2 - MIT + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +dashdash 1.14.1 - MIT +https://github.com/trentm/node-dashdash#readme +Copyright 2016 Trent Mick +Copyright 2016 Joyent, Inc. +Copyright (c) 2013 Joyent Inc. +Copyright (c) 2013 Trent Mick. + +# This is the MIT license + +Copyright (c) 2013 Trent Mick. All rights reserved. +Copyright (c) 2013 Joyent Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +date-format 3.0.0 - MIT +https://github.com/nomiddlename/date-format#readme +Copyright (c) 2013 Gareth Jones + +The MIT License (MIT) + +Copyright (c) 2013 Gareth Jones + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +date-format 2.1.0 - MIT +https://github.com/nomiddlename/date-format#readme +Copyright (c) 2013 Gareth Jones + +The MIT License (MIT) + +Copyright (c) 2013 Gareth Jones + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +debug 3.2.6 - MIT +https://github.com/visionmedia/debug#readme +Copyright (c) 2014 TJ Holowaychuk +Copyright (c) 2014-2017 TJ Holowaychuk + +(The MIT License) + +Copyright (c) 2014 TJ Holowaychuk + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the 'Software'), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +debug 4.1.1 - MIT +https://github.com/visionmedia/debug#readme +Copyright (c) 2014 TJ Holowaychuk +Copyright (c) 2014-2017 TJ Holowaychuk + +(The MIT License) + +Copyright (c) 2014 TJ Holowaychuk + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the 'Software'), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +debug 3.1.0 - MIT +https://github.com/visionmedia/debug#readme +Copyright (c) 2014 TJ Holowaychuk +Copyright (c) 2014-2017 TJ Holowaychuk + +(The MIT License) + +Copyright (c) 2014 TJ Holowaychuk + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the 'Software'), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +debug 2.6.9 - MIT +https://github.com/visionmedia/debug#readme +Copyright (c) 2014 TJ Holowaychuk +Copyright (c) 2014-2016 TJ Holowaychuk + +(The MIT License) + +Copyright (c) 2014 TJ Holowaychuk + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the 'Software'), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +debug 4.1.0 - MIT +https://github.com/visionmedia/debug#readme +Copyright (c) 2014 TJ Holowaychuk +Copyright (c) 2014-2017 TJ Holowaychuk + +(The MIT License) + +Copyright (c) 2014 TJ Holowaychuk + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the 'Software'), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +decamelize 1.2.0 - MIT +https://github.com/sindresorhus/decamelize#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +decode-uri-component 0.2.0 - MIT +https://github.com/samverschueren/decode-uri-component#readme +(c) Sam Verschueren (https://github.com/SamVerschueren) +Copyright (c) Sam Verschueren + +The MIT License (MIT) + +Copyright (c) Sam Verschueren (github.com/SamVerschueren) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +decompress 4.2.1 - MIT +https://github.com/kevva/decompress#readme +(c) Kevin Martensson (https://github.com/kevva) +Copyright (c) Kevin Martensson + +MIT License + +Copyright (c) Kevin Mårtensson (github.com/kevva) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +decompress-response 4.2.1 - MIT +https://github.com/sindresorhus/decompress-response#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +decompress-response 3.3.0 - MIT +https://github.com/sindresorhus/decompress-response#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +`The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +dedent 0.7.0 - MIT +https://github.com/dmnd/dedent +Copyright (c) 2015 Desmond Brand (dmnd@desmondbrand.com) + +The MIT License (MIT) + +Copyright (c) 2015 Desmond Brand (dmnd@desmondbrand.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +deemon 1.4.0 - MIT +https://github.com/joaomoreno/deemon#readme + +MIT License + +Copyright (c) 2020 João Moreno + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +deep-assign 1.0.0 - MIT +https://github.com/sindresorhus/deep-assign#readme +(c) Sindre Sorhus (http://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +deep-diff 0.3.8 - MIT +https://github.com/flitbit/diff#readme +Copyright (c) 2011-2013 Phillip Clark + +Copyright (c) 2011-2013 Phillip Clark + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +deep-eql 3.0.1 - MIT +https://github.com/chaijs/deep-eql#readme +Copyright (c) 2013 +Copyright (c) 2013 Jake Luer +Copyright (c) 2013 Jake Luer (http://alogicalparadox.com) + +Copyright (c) 2013 Jake Luer (http://alogicalparadox.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +deep-equal 1.1.1 - MIT +https://github.com/substack/node-deep-equal#readme +Copyright (c) 2012, 2013, 2014 James Halliday , 2009 Thomas Robinson <280north.com> + +MIT License + +Copyright (c) 2012, 2013, 2014 James Halliday , 2009 Thomas Robinson <280north.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +deep-equal 1.0.1 - MIT +https://github.com/substack/node-deep-equal#readme + +This software is released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +deep-extend 0.6.0 - MIT +https://github.com/unclechu/node-deep-extend +Copyright (c) 2013-2018 Viacheslav Lotsmanov +Copyright (c) 2013-2018, Viacheslav Lotsmanov + +The MIT License (MIT) + +Copyright (c) 2013-2018, Viacheslav Lotsmanov + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +deep-is 0.1.3 - MIT +https://github.com/thlorenz/deep-is +Copyright (c) 2009 Thomas Robinson <280north.com> +Copyright (c) 2012 James Halliday +Copyright (c) 2012, 2013 Thorsten Lorenz + +Copyright (c) 2012, 2013 Thorsten Lorenz +Copyright (c) 2012 James Halliday +Copyright (c) 2009 Thomas Robinson <280north.com> + +This software is released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +default-require-extensions 3.0.0 - MIT +https://github.com/avajs/default-require-extensions#readme +Copyright (c) Node.js contributors, James Talmage + +MIT License + +Copyright (c) Node.js contributors, James Talmage (github.com/jamestalmage) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +defer-to-connect 1.1.3 - MIT +https://github.com/szmarczak/defer-to-connect#readme +Copyright (c) 2018 Szymon Marczak + +MIT License + +Copyright (c) 2018 Szymon Marczak + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +define-properties 1.1.3 - MIT +https://github.com/ljharb/define-properties#readme +Copyright (c) 2015 Jordan Harband + +The MIT License (MIT) + +Copyright (C) 2015 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +define-property 1.0.0 - MIT +https://github.com/jonschlinkert/define-property +Copyright (c) 2015, 2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2015, 2017, Jon Schlinkert + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +define-property 2.0.2 - MIT +https://github.com/jonschlinkert/define-property +Copyright (c) 2015-2018, Jon Schlinkert. +Copyright (c) 2018, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2015-2018, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +define-property 0.2.5 - MIT +https://github.com/jonschlinkert/define-property +Copyright (c) 2015 Jon Schlinkert +Copyright (c) 2015, Jon Schlinkert. + +The MIT License (MIT) + +Copyright (c) 2015, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +delayed-stream 1.0.0 - MIT +https://github.com/felixge/node-delayed-stream +Copyright (c) 2011 Debuggable Limited + +Copyright (c) 2011 Debuggable Limited + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +delegates 1.0.0 - MIT +https://github.com/visionmedia/node-delegates#readme +Copyright (c) 2015 TJ Holowaychuk + +Copyright (c) 2015 TJ Holowaychuk + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +depd 1.1.2 - MIT +https://github.com/dougwilson/nodejs-depd#readme +Copyright (c) 2014 Douglas Christopher Wilson +Copyright (c) 2015 Douglas Christopher Wilson +Copyright (c) 2014-2015 Douglas Christopher Wilson +Copyright (c) 2014-2017 Douglas Christopher Wilson + +(The MIT License) + +Copyright (c) 2014-2017 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +des.js 1.0.1 - MIT +https://github.com/indutny/des.js#readme +Copyright Fedor Indutny, 2015. + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +destroy 1.0.4 - MIT +https://github.com/stream-utils/destroy +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2014 Jonathan Ong me@jongleberry.com + + +The MIT License (MIT) + +Copyright (c) 2014 Jonathan Ong me@jongleberry.com + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +detect-file 1.0.0 - MIT +https://github.com/doowb/detect-file +Copyright (c) 2016-2017, Brian Woodward. +Copyright (c) 2017, Brian Woodward (https://github.com/doowb). + +The MIT License (MIT) + +Copyright (c) 2016-2017, Brian Woodward. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +detect-indent 6.0.0 - MIT +https://github.com/sindresorhus/detect-indent#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +detect-newline 2.1.0 - MIT +https://github.com/sindresorhus/detect-newline#readme +(c) Sindre Sorhus (http://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +dfa 1.2.0 - MIT +https://github.com/devongovett/dfa#readme + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +diagnostic-channel 0.2.0 - MIT +https://github.com/Microsoft/node-diagnostic-channel +Copyright (c) Microsoft Corporation. + + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +diagnostics 1.1.1 - MIT +https://github.com/bigpipe/diagnostics +Copyright (c) 2015 Arnout Kazemier, Martijn Swaagman + +The MIT License (MIT) + +Copyright (c) 2015 Arnout Kazemier, Martijn Swaagman, the Contributors. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +dns-packet 5.2.1 - MIT +https://github.com/mafintosh/dns-packet +Copyright (c) 2016 Mathias Buus + +The MIT License (MIT) + +Copyright (c) 2016 Mathias Buus + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +dns-socket 4.2.0 - MIT +https://github.com/mafintosh/dns-socket +Copyright (c) 2016 Mathias Buus + +The MIT License (MIT) + +Copyright (c) 2016 Mathias Buus + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +dom-helpers 3.4.0 - MIT +https://github.com/jquense/dom-helpers#readme +(c) 2010-2015 Thomas Fuchs +Copyright (c) 2015 Jason Quense +Copyright 2013-2014, Facebook, Inc. +Copyright 2014-2015, Facebook, Inc. + +The MIT License (MIT) + +Copyright (c) 2015 Jason Quense + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +dom-serializer 0.1.1 - MIT +https://github.com/cheeriojs/dom-renderer#readme +Copyright (c) 2014 + +License + +(The MIT License) + +Copyright (c) 2014 The cheeriojs contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +dom-serializer 0.2.2 - MIT +https://github.com/cheeriojs/dom-renderer#readme +Copyright (c) 2014 + +License + +(The MIT License) + +Copyright (c) 2014 The cheeriojs contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +dom4 2.1.5 - MIT +https://github.com/WebReflection/dom4 +(c) Andrea Giammarchi +Copyright (c) 2013-2015 by Andrea Giammarchi + +Copyright (C) 2013-2015 by Andrea Giammarchi - @WebReflection + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +duplexer 0.1.1 - MIT +https://github.com/Raynos/duplexer +Copyright (c) 2012 Raynos. + +Copyright (c) 2012 Raynos. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +duplexify 3.7.1 - MIT +https://github.com/mafintosh/duplexify +Copyright (c) 2014 Mathias Buus + +The MIT License (MIT) + +Copyright (c) 2014 Mathias Buus + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +ecc-jsbn 0.1.2 - MIT +https://github.com/quartzjer/ecc-jsbn +Copyright (c) 2003-2005 Tom Wu +Copyright (c) 2014 Jeremie Miller + +The MIT License (MIT) + +Copyright (c) 2014 Jeremie Miller + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +ee-first 1.1.1 - MIT +https://github.com/jonathanong/ee-first +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2014 Jonathan Ong me@jongleberry.com + + +The MIT License (MIT) + +Copyright (c) 2014 Jonathan Ong me@jongleberry.com + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +emoji-regex 7.0.3 - MIT +https://mths.be/emoji-regex +Copyright Mathias Bynens + +Copyright Mathias Bynens + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +emoji-regex 8.0.0 - MIT +https://mths.be/emoji-regex +Copyright Mathias Bynens + +Copyright Mathias Bynens + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +emojis-list 3.0.0 - MIT +https://nidecoc.io/Kikobeats/emojis-list +Copyright (c) 2015 Kiko Beats +(c) Kiko Beats (http://www.kikobeats.com) + +The MIT License (MIT) + +Copyright © 2015 Kiko Beats + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +enabled 1.0.2 - MIT +https://github.com/bigpipe/enabled#readme +Copyright (c) 2015 Arnout Kazemier, Martijn Swaagman + +The MIT License (MIT) + +Copyright (c) 2015 Arnout Kazemier, Martijn Swaagman, the Contributors. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +encodeurl 1.0.2 - MIT +https://github.com/pillarjs/encodeurl#readme +Copyright (c) 2016 Douglas Christopher Wilson + +(The MIT License) + +Copyright (c) 2016 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +encoding 0.1.12 - MIT +https://github.com/andris9/encoding#readme +Copyright (c) 2012-2014 Andris Reinman + +Copyright (c) 2012-2014 Andris Reinman + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +end-of-stream 1.4.4 - MIT +https://github.com/mafintosh/end-of-stream +Copyright (c) 2014 Mathias Buus + +The MIT License (MIT) + +Copyright (c) 2014 Mathias Buus + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +end-of-stream 1.4.1 - MIT +https://github.com/mafintosh/end-of-stream +Copyright (c) 2014 Mathias Buus + +The MIT License (MIT) + +Copyright (c) 2014 Mathias Buus + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +engine.io 3.4.0 - MIT +https://github.com/socketio/engine.io +Copyright (c) 2014 Guillermo Rauch + +(The MIT License) + +Copyright (c) 2014 Guillermo Rauch + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the 'Software'), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, +sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or +substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +engine.io-client 3.4.0 - MIT +https://github.com/socketio/engine.io-client +Copyright (c) 2014 Automattic, Inc. +Copyright (c) 2012 Niklas von Hertzen +Copyright (c) 2014-2015 Automattic + +(The MIT License) + +Copyright (c) 2014-2015 Automattic + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +engine.io-parser 2.2.0 - MIT +https://github.com/socketio/engine.io-parser +Copyright (c) 2016 Guillermo Rauch + +(The MIT License) + +Copyright (c) 2016 Guillermo Rauch (@rauchg) + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +env-variable 0.0.5 - MIT +https://github.com/3rd-Eden/env-variable +Copyright 2014 Arnout Kazemier + +Copyright 2014 Arnout Kazemier + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +errno 0.1.7 - MIT +https://github.com/rvagg/node-errno#readme +Copyright (c) 2012-2015 Rod Vagg (https://github.com/rvagg) ( rvagg (https://twitter.com/rvagg)) + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +error-ex 1.3.2 - MIT +https://github.com/qix-/node-error-ex#readme +Copyright (c) 2015 JD Ballard + +The MIT License (MIT) + +Copyright (c) 2015 JD Ballard + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +es-abstract 1.17.0 - MIT +https://github.com/ljharb/es-abstract#readme +(c) Object C +Copyright (c) 2015 Jordan Harband + +The MIT License (MIT) + +Copyright (C) 2015 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +es-to-primitive 1.2.0 - MIT +https://github.com/ljharb/es-to-primitive#readme +Copyright (c) 2015 Jordan Harband + +The MIT License (MIT) + +Copyright (c) 2015 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +es-to-primitive 1.2.1 - MIT +https://github.com/ljharb/es-to-primitive#readme +Copyright (c) 2015 Jordan Harband + +The MIT License (MIT) + +Copyright (c) 2015 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +es6-iterator 2.0.3 - MIT +https://github.com/medikoo/es6-iterator#readme +Copyright (c) 2013-2017 Mariusz Nowak (www.medikoo.com) + +The MIT License (MIT) + +Copyright (C) 2013-2017 Mariusz Nowak (www.medikoo.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +es6-map 0.1.5 - MIT +https://github.com/medikoo/es6-map#readme +Copyright (c) 2013 Mariusz Nowak (www.medikoo.com) + +Copyright (C) 2013 Mariusz Nowak (www.medikoo.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +es6-promise 4.2.8 - MIT +https://github.com/stefanpenner/es6-promise +Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors + +Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +es6-promisify 5.0.0 - MIT +https://github.com/digitaldesignlabs/es6-promisify#readme + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +es6-set 0.1.5 - MIT +https://github.com/medikoo/es6-set#readme +Copyright (c) 2013 Mariusz Nowak (www.medikoo.com) + +Copyright (C) 2013 Mariusz Nowak (www.medikoo.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +es6-symbol 3.1.1 - MIT +https://github.com/medikoo/es6-symbol#readme +Copyright (c) 2013-2015 Mariusz Nowak (www.medikoo.com) + +Copyright (C) 2013-2015 Mariusz Nowak (www.medikoo.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +escape-html 1.0.3 - MIT +https://github.com/component/escape-html +Copyright (c) 2015 Andreas Lubbe +Copyright (c) 2012-2013 TJ Holowaychuk +Copyright (c) 2015 Tiancheng Timothy Gu + +(The MIT License) + +Copyright (c) 2012-2013 TJ Holowaychuk +Copyright (c) 2015 Andreas Lubbe +Copyright (c) 2015 Tiancheng "Timothy" Gu + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +escape-string-regexp 1.0.5 - MIT +https://github.com/sindresorhus/escape-string-regexp +(c) Sindre Sorhus (http://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +eslint-config-prettier 6.9.0 - MIT +https://github.com/prettier/eslint-config-prettier#readme +Copyright (c) 2017, 2018, 2019 Simon Lydell and contributors + +The MIT License (MIT) + +Copyright (c) 2017, 2018, 2019 Simon Lydell and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +eslint-plugin-prettier 3.1.2 - MIT +https://github.com/prettier/eslint-plugin-prettier#readme +Copyright (c) 2017 Andres Suarez and Teddy Katz + +# The MIT License (MIT) + +Copyright © 2017 Andres Suarez and Teddy Katz + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the “Software”), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +eslint-plugin-prettier 2.7.0 - MIT +https://github.com/prettier/eslint-plugin-prettier#readme +Copyright (c) 2017 Andres Suarez and Teddy Katz + +The MIT License (MIT) +===================== + +Copyright © 2017 Andres Suarez and Teddy Katz + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the “Software”), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +event-emitter 0.3.5 - MIT +https://github.com/medikoo/event-emitter#readme +Copyright (c) 2012-2015 Mariusz Nowak (www.medikoo.com) + +Copyright (C) 2012-2015 Mariusz Nowak (www.medikoo.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +event-stream 3.3.4 - MIT +http://github.com/dominictarr/event-stream +Copyright (c) 2011 Dominic Tarr + +The MIT License (MIT) + +Copyright (c) 2011 Dominic Tarr + +Permission is hereby granted, free of charge, +to any person obtaining a copy of this software and +associated documentation files (the "Software"), to +deal in the Software without restriction, including +without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom +the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +execa 1.0.0 - MIT +https://github.com/sindresorhus/execa#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +expand-brackets 2.1.4 - MIT +https://github.com/jonschlinkert/expand-brackets +Copyright (c) 2015-2016, Jon Schlinkert +Copyright (c) 2016, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2015-2016, Jon Schlinkert + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +expand-tilde 2.0.2 - MIT +https://github.com/jonschlinkert/expand-tilde +Copyright (c) 2015 Jon Schlinkert. +Copyright (c) 2015-2016, Jon Schlinkert. +Copyright (c) 2016, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2015-2016, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +extend 3.0.2 - MIT +https://github.com/justmoon/node-extend#readme +Copyright (c) 2014 Stefan Thomas + +The MIT License (MIT) + +Copyright (c) 2014 Stefan Thomas + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +extend-shallow 2.0.1 - MIT +https://github.com/jonschlinkert/extend-shallow +Copyright (c) 2015 Jon Schlinkert +Copyright (c) 2014-2015, Jon Schlinkert. + +The MIT License (MIT) + +Copyright (c) 2014-2015, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +extend-shallow 3.0.2 - MIT +https://github.com/jonschlinkert/extend-shallow +Copyright (c) 2014-2015, 2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2015, 2017, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +extglob 2.0.4 - MIT +https://github.com/micromatch/extglob +Copyright (c) 2015-2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2015-2017, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +extsprintf 1.3.0 - MIT +https://github.com/davepacheco/node-extsprintf +Copyright (c) 2012, Joyent, Inc. + +Copyright (c) 2012, Joyent, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +falafel 2.2.0 - MIT +https://github.com/substack/node-falafel#readme + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +fast-deep-equal 2.0.1 - MIT +https://github.com/epoberezkin/fast-deep-equal#readme +Copyright (c) 2017 Evgeny Poberezkin + +MIT License + +Copyright (c) 2017 Evgeny Poberezkin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +fast-deep-equal 3.1.1 - MIT +https://github.com/epoberezkin/fast-deep-equal#readme +Copyright (c) 2017 Evgeny Poberezkin + +MIT License + +Copyright (c) 2017 Evgeny Poberezkin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +fast-json-stable-stringify 2.0.0 - MIT +https://github.com/epoberezkin/fast-json-stable-stringify + +This software is released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +fast-levenshtein 2.0.6 - MIT +https://github.com/hiddentao/fast-levenshtein#readme +Copyright (c) 2013 Ramesh Nair (http://www.hiddentao.com/) + +(MIT License) + +Copyright (c) 2013 [Ramesh Nair](http://www.hiddentao.com/) + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +fast-plist 0.1.2 - MIT +https://github.com/Microsoft/node-fast-plist#readme +Copyright (c) Microsoft Corporation. + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +fast-safe-stringify 2.0.6 - MIT +https://github.com/davidmarkclements/fast-safe-stringify#readme +Copyright (c) 2016 David Mark Clements +Copyright (c) 2017 David Mark Clements & Matteo Collina +Copyright (c) 2018 David Mark Clements, Matteo Collina & Ruben Bridgewater + +The MIT License (MIT) + +Copyright (c) 2016 David Mark Clements +Copyright (c) 2017 David Mark Clements & Matteo Collina +Copyright (c) 2018 David Mark Clements, Matteo Collina & Ruben Bridgewater + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +fast-xml-parser 3.16.0 - MIT +https://github.com/NaturalIntelligence/fast-xml-parser#readme +Copyright (c) 2017 Amit Kumar Gupta +Copyright 2013 Timothy J Fontaine + +MIT License + +Copyright (c) 2017 Amit Kumar Gupta + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +If you use this library in a public repository then you give us the right to mention your company name and logo in user's list without further permission required, but you can request them to be taken down within 30 days. + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +fbjs 0.8.17 - MIT +https://github.com/facebook/fbjs#readme +Copyright 2015-present Facebook. +copyright 2014-2015 Jon Schlinkert +Copyright (c) 2013-present, Facebook, Inc. +Copyright (c) 2014-present, Facebook, Inc. +copyright 2009-2013 Jeremy Ashkenas, DocumentCloud Inc. + +MIT License + +Copyright (c) 2013-present, Facebook, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +fd-slicer 1.1.0 - MIT +https://github.com/andrewrk/node-fd-slicer#readme +Copyright (c) 2014 Andrew Kelley + +Copyright (c) 2014 Andrew Kelley + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation files +(the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of the Software, +and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +fecha 2.3.3 - MIT +https://github.com/taylorhakes/fecha +Copyright (c) 2015 Taylor Hakes + +The MIT License (MIT) + +Copyright (c) 2015 Taylor Hakes + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +figures 2.0.0 - MIT +https://github.com/sindresorhus/figures#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +file-loader 5.1.0 - MIT +https://github.com/webpack-contrib/file-loader +Copyright JS Foundation and other contributors + +Copyright JS Foundation and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +fill-range 7.0.1 - MIT +https://github.com/jonschlinkert/fill-range +Copyright (c) 2014-present, Jon Schlinkert. +Copyright (c) 2019, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-present, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +fill-range 4.0.0 - MIT +https://github.com/jonschlinkert/fill-range +Copyright (c) 2014-2017, Jon Schlinkert +Copyright (c) 2014-2015, 2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2017, Jon Schlinkert + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +find-cache-dir 3.3.1 - MIT +https://github.com/avajs/find-cache-dir#readme +Copyright (c) Sindre Sorhus (https://sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (https://sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +find-cache-dir 3.2.0 - MIT +https://github.com/avajs/find-cache-dir#readme +Copyright (c) James Talmage + +MIT License + +Copyright (c) James Talmage (github.com/jamestalmage) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +find-up 2.1.0 - MIT +https://github.com/sindresorhus/find-up#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +find-up 3.0.0 - MIT +https://github.com/sindresorhus/find-up#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +find-up 4.1.0 - MIT +https://github.com/sindresorhus/find-up#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +findup-sync 3.0.0 - MIT +https://github.com/gulpjs/findup-sync#readme +Copyright (c) 2013-2018 Ben Alman , Blaine Bublitz , and Eric Schoffstall + +The MIT License (MIT) + +Copyright (c) 2013-2018 Ben Alman , Blaine Bublitz , and Eric Schoffstall + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +flatten 1.0.3 - MIT +https://github.com/mk-pmb/flatten-js/#readme +Copyright (c) 2016 Joshua Holbrook + +The MIT License (MIT) + +Copyright (c) 2016 Joshua Holbrook + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +flush-write-stream 1.1.1 - MIT +https://github.com/mafintosh/flush-write-stream +Copyright (c) 2015 Mathias Buus + +The MIT License (MIT) + +Copyright (c) 2015 Mathias Buus + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +follow-redirects 1.5.10 - MIT +https://github.com/follow-redirects/follow-redirects +Copyright 2014-present Olivier Lalonde , James Talmage , Ruben Verborgh + +Copyright 2014–present Olivier Lalonde , James Talmage , Ruben Verborgh + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +fontkit 1.8.0 - MIT + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +for-in 1.0.2 - MIT +https://github.com/jonschlinkert/for-in +Copyright (c) 2014-2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2017, Jon Schlinkert + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +for-own 1.0.0 - MIT +https://github.com/jonschlinkert/for-own +Copyright (c) 2014-2017, Jon Schlinkert. +Copyright (c) 2014-2015, 2017, Jon Schlinkert +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2015, 2017, Jon Schlinkert + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +foreach 2.0.5 - MIT +https://github.com/manuelstofer/foreach +Copyright (c) 2013 Manuel Stofer + +The MIT License + +Copyright (c) 2013 Manuel Stofer + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +fork-ts-checker-webpack-plugin 4.1.6 - MIT +https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#readme + +MIT License + +Copyright (c) 2020 TypeStrong + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +form-data 3.0.0 - MIT +https://github.com/form-data/form-data#readme +Copyright (c) 2012 Felix Geisendorfer (felix@debuggable.com) and contributors + +Copyright (c) 2012 Felix Geisendörfer (felix@debuggable.com) and contributors + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +form-data 2.3.3 - MIT +https://github.com/form-data/form-data#readme +Copyright (c) 2012 Felix Geisendorfer (felix@debuggable.com) and contributors + +Copyright (c) 2012 Felix Geisendörfer (felix@debuggable.com) and contributors + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +formidable 1.2.1 - MIT +https://github.com/felixge/node-formidable +Copyright (c) 2011 Felix Geisendorfer + +Copyright (C) 2011 Felix Geisendörfer + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +forwarded 0.1.2 - MIT +https://github.com/jshttp/forwarded#readme +Copyright (c) 2014-2017 Douglas Christopher Wilson + +(The MIT License) + +Copyright (c) 2014-2017 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +fragment-cache 0.2.1 - MIT +https://github.com/jonschlinkert/fragment-cache +Copyright (c) 2016-2017, Jon Schlinkert. +Copyright (c) 2016, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2016-2017, Jon Schlinkert + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +free-style 3.1.0 - MIT +https://github.com/blakeembrey/free-style +Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) + +The MIT License (MIT) + +Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +fresh 0.5.2 - MIT +https://github.com/jshttp/fresh#readme +Copyright (c) 2012 TJ Holowaychuk +Copyright (c) 2016-2017 Douglas Christopher Wilson +Copyright (c) 2012 TJ Holowaychuk +Copyright (c) 2016-2017 Douglas Christopher Wilson + +(The MIT License) + +Copyright (c) 2012 TJ Holowaychuk +Copyright (c) 2016-2017 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +from 0.1.7 - MIT +https://github.com/dominictarr/from#readme +Copyright (c) 2011 Dominic Tarr + +The MIT License + +Copyright (c) 2011 Dominic Tarr + +Permission is hereby granted, free of charge, +to any person obtaining a copy of this software and +associated documentation files (the "Software"), to +deal in the Software without restriction, including +without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom +the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +from2 2.3.0 - MIT +https://github.com/hughsk/from2 +Copyright (c) 2014 Hugh Kennedy + +## The MIT License (MIT) ## + +Copyright (c) 2014 Hugh Kennedy + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +fromentries 1.2.0 - MIT +https://github.com/feross/fromentries +Copyright (c) Feross Aboukhadijeh +Copyright (c) Feross Aboukhadijeh (http://feross.org). + +The MIT License (MIT) + +Copyright (c) Feross Aboukhadijeh + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +fs-extra 4.0.3 - MIT +https://github.com/jprichardson/node-fs-extra +Copyright (c) 2011-2017 JP Richardson +Copyright (c) 2011-2017 JP Richardson (https://github.com/jprichardson) +Copyright (c) 2014-2016 Jonathan Ong me@jongleberry.com and Contributors + +(The MIT License) + +Copyright (c) 2011-2017 JP Richardson + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files +(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, + merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS +OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +fs-extra 8.1.0 - MIT +https://github.com/jprichardson/node-fs-extra +Copyright (c) 2011-2017 JP Richardson +Copyright (c) 2011-2017 JP Richardson (https://github.com/jprichardson) +Copyright (c) 2014-2016 Jonathan Ong me@jongleberry.com and Contributors + +(The MIT License) + +Copyright (c) 2011-2017 JP Richardson + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files +(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, + merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS +OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +fs-mkdirp-stream 1.0.0 - MIT +https://github.com/gulpjs/fs-mkdirp-stream#readme +Copyright 2010 James Halliday +Copyright (c) 2017 Blaine Bublitz , Eric Schoffstall and other contributors + +The MIT License (MIT) + +Copyright (c) 2017 Blaine Bublitz , Eric Schoffstall and other contributors (Originally based on code from node-mkdirp - MIT/X11 license - Copyright 2010 James Halliday) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +function-bind 1.1.1 - MIT +https://github.com/Raynos/function-bind +Copyright (c) 2013 Raynos. + +Copyright (c) 2013 Raynos. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +fuzzy 0.1.3 - MIT +https://github.com/mattyork/fuzzy +Copyright (c) 2012 Matt York +Copyright (c) 2015 Matt York + +Copyright (c) 2012 Matt York + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +get-func-name 2.0.0 - MIT +https://github.com/chaijs/get-func-name#readme +Copyright (c) 2012-2016 Jake Luer +Copyright (c) 2013 Jake Luer (http://alogicalparadox.com) + +Copyright (c) 2013 Jake Luer (http://alogicalparadox.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +get-port 3.2.0 - MIT +https://github.com/sindresorhus/get-port#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +get-stream 3.0.0 - MIT +https://github.com/sindresorhus/get-stream#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +get-stream 5.1.0 - MIT +https://github.com/sindresorhus/get-stream#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +get-stream 4.1.0 - MIT +https://github.com/sindresorhus/get-stream#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +get-value 2.0.6 - MIT +https://github.com/jonschlinkert/get-value +Copyright (c) 2014-2015, Jon Schlinkert. +Copyright (c) 2014-2016, Jon Schlinkert. + +The MIT License (MIT) + +Copyright (c) 2014-2016, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +getpass 0.1.7 - MIT +https://github.com/arekinath/node-getpass#readme +Copyright Joyent, Inc. +Copyright 2016, Joyent, Inc. + +Copyright Joyent, Inc. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +glob-stream 6.1.0 - MIT +https://github.com/gulpjs/glob-stream#readme +Copyright (c) 2015-2017 Blaine Bublitz , Eric Schoffstall and other contributors + +The MIT License (MIT) + +Copyright (c) 2015-2017 Blaine Bublitz , Eric Schoffstall and other contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +global-modules 1.0.0 - MIT +https://github.com/jonschlinkert/global-modules +Copyright (c) 2015-2017 Jon Schlinkert. +Copyright (c) 2015-2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2015-2017, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +global-prefix 1.0.2 - MIT +https://github.com/jonschlinkert/global-prefix +Copyright (c) 2015-2017 Jon Schlinkert. +Copyright (c) 2015-2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2015-2017, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +got 9.6.0 - MIT +https://github.com/sindresorhus/got#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +gud 1.0.0 - MIT +https://github.com/jamiebuilds/global-unique-id#readme + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +gulp-azure-storage 0.11.1 - MIT +https://github.com/joaomoreno/gulp-azure-storage#readme + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +gulp-cli 2.2.0 - MIT +http://gulpjs.com +Copyright (c) 2014 Jason Jarrett +Copyright (c) 2012 Tyler Kellen, contributors +Copyright (c) 2015 Blaine Bublitz, Eric Schoffstall and other contributors + +The MIT License (MIT) + +Copyright (c) 2015 Blaine Bublitz, Eric Schoffstall and other contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +gulp-untar 0.0.8 - MIT +https://github.com/jmerrifield/gulp-untar#readme +(c) Jon Merrifield (http://www.jmerrifield.com) + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +gulp-vinyl-zip 2.1.2 - MIT +https://github.com/joaomoreno/gulp-vinyl-zip + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +har-validator 5.1.3 - MIT +https://github.com/ahmadnassri/node-har-validator +Copyright (c) 2018 Ahmad Nassri + +MIT License + +Copyright (c) 2018 Ahmad Nassri + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +has 1.0.3 - MIT +https://github.com/tarruda/has +Copyright (c) 2013 Thiago de Arruda + +Copyright (c) 2013 Thiago de Arruda + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +has-binary2 1.0.3 - MIT +Copyright (c) 2014 Kevin Roark + +The MIT License (MIT) + +Copyright (c) 2014 Kevin Roark + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +has-cors 1.1.0 - MIT +https://github.com/component/has-cors + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +has-flag 3.0.0 - MIT +https://github.com/sindresorhus/has-flag#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +has-flag 4.0.0 - MIT +https://github.com/sindresorhus/has-flag#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +has-symbols 1.0.0 - MIT +https://github.com/ljharb/has-symbols#readme +Copyright (c) 2016 Jordan Harband + +MIT License + +Copyright (c) 2016 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +has-symbols 1.0.1 - MIT +https://github.com/ljharb/has-symbols#readme +Copyright (c) 2016 Jordan Harband + +MIT License + +Copyright (c) 2016 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +has-value 0.3.1 - MIT +https://github.com/jonschlinkert/has-value +Copyright (c) 2014-2016, Jon Schlinkert. +Copyright (c) 2016, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2016, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +has-value 1.0.0 - MIT +https://github.com/jonschlinkert/has-value +Copyright (c) 2014-2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2017, Jon Schlinkert + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +has-values 0.1.4 - MIT +https://github.com/jonschlinkert/has-values +Copyright (c) 2014-2015, Jon Schlinkert. +Copyright (c) 2014-2016, Jon Schlinkert. +Copyright (c) 2016, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2016, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +has-values 1.0.0 - MIT +https://github.com/jonschlinkert/has-values +Copyright (c) 2014-2017, Jon Schlinkert +Copyright (c) 2014-2015, 2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2017, Jon Schlinkert + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +hash-base 3.0.4 - MIT +https://github.com/crypto-browserify/hash-base +Copyright (c) 2016 Kirill Fomichev + +The MIT License (MIT) + +Copyright (c) 2016 Kirill Fomichev + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +hash.js 1.1.7 - MIT +https://github.com/indutny/hash.js +Copyright Fedor Indutny, 2014. + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +hasha 5.1.0 - MIT +https://github.com/sindresorhus/hasha#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +homedir-polyfill 1.0.3 - MIT +https://github.com/doowb/homedir-polyfill +Copyright (c) 2016 Brian Woodward +Copyright (c) 2016 - 2019, Brian Woodward (https://github.com/doowb). + +The MIT License (MIT) + +Copyright (c) 2016 Brian Woodward + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +html-encoding-sniffer 1.0.2 - MIT +https://github.com/jsdom/html-encoding-sniffer#readme +Copyright (c) 2016 Domenic Denicola + +Copyright © 2016 Domenic Denicola + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +html-escaper 2.0.0 - MIT +https://github.com/WebReflection/html-escaper +Copyright (c) 2017-present by Andrea Giammarchi + +Copyright (C) 2017-present by Andrea Giammarchi - @WebReflection + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +html-to-react 1.4.3 - MIT +https://github.com/aknuds1/html-to-react +Copyright (c) 2015 Mike Nikles + +The MIT License (MIT) + +Copyright (c) 2015 Mike Nikles +Copyright (c) 2020 Arve Knudsen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +htmlparser2 3.10.1 - MIT +https://github.com/fb55/htmlparser2#readme +Copyright 2010, 2011, Chris Winberry + +Copyright 2010, 2011, Chris Winberry . All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +htmlparser2 4.1.0 - MIT +https://github.com/fb55/htmlparser2#readme +Copyright 2010, 2011, Chris Winberry + +Copyright 2010, 2011, Chris Winberry . All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +http-basic 8.1.3 - MIT +https://github.com/ForbesLindesay/http-basic#readme +Copyright (c) 2014 Forbes Lindesay + +Copyright (c) 2014 Forbes Lindesay + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +http-errors 1.7.3 - MIT +https://github.com/jshttp/http-errors#readme +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2016 Douglas Christopher Wilson +Copyright (c) 2014 Jonathan Ong me@jongleberry.com +Copyright (c) 2016 Douglas Christopher Wilson doug@somethingdoug.com + + +The MIT License (MIT) + +Copyright (c) 2014 Jonathan Ong me@jongleberry.com +Copyright (c) 2016 Douglas Christopher Wilson doug@somethingdoug.com + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +http-proxy-agent 2.1.0 - MIT +https://github.com/TooTallNate/node-http-proxy-agent#readme +Copyright (c) 2013 Nathan Rajlich + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +http-response-object 3.0.2 - MIT +https://github.com/ForbesLindesay/http-response-object#readme +Copyright (c) 2014 Forbes Lindesay + +Copyright (c) 2014 Forbes Lindesay + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +http-signature 1.2.0 - MIT +https://github.com/joyent/node-http-signature/ +Copyright Joyent, Inc. +Copyright 2012 Joyent, Inc. +Copyright 2015 Joyent, Inc. +Copyright (c) 2011 Joyent, Inc. + +Copyright Joyent, Inc. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +https-proxy-agent 2.2.4 - MIT +https://github.com/TooTallNate/node-https-proxy-agent#readme +Copyright (c) 2013 Nathan Rajlich + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +https-proxy-agent 3.0.1 - MIT +https://github.com/TooTallNate/node-https-proxy-agent#readme +Copyright (c) 2013 Nathan Rajlich + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +iconv-lite 0.4.24 - MIT +https://github.com/ashtuchkin/iconv-lite +Copyright (c) Microsoft Corporation. +Copyright (c) 2011 Alexander Shtuchkin + +Copyright (c) 2011 Alexander Shtuchkin + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +iferr 0.1.5 - MIT +https://github.com/shesek/iferr +Copyright (c) 2014 Nadav Ivgi + +The MIT License (MIT) + +Copyright (c) 2014 Nadav Ivgi + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +immutable 4.0.0-rc.12 - MIT +https://facebook.github.com/immutable-js +Copyright (c) 2014-present, Facebook, Inc. + +MIT License + +Copyright (c) 2014-present, Facebook, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +import-cwd 2.1.0 - MIT +https://github.com/sindresorhus/import-cwd#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +import-from 2.1.0 - MIT +https://github.com/sindresorhus/import-from#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +imurmurhash 0.1.4 - MIT +https://github.com/jensyt/imurmurhash-js +Copyright (c) 2013 Gary Court, Jens Taylor + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +indent-string 4.0.0 - MIT +https://github.com/sindresorhus/indent-string#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +indexes-of 1.0.1 - MIT +https://github.com/dominictarr/indexes-of +Copyright (c) 2013 Dominic Tarr + +Copyright (c) 2013 Dominic Tarr + +Permission is hereby granted, free of charge, +to any person obtaining a copy of this software and +associated documentation files (the "Software"), to +deal in the Software without restriction, including +without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom +the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +indexof 0.0.1 - MIT + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +interpret 1.2.0 - MIT +https://github.com/gulpjs/interpret#readme +Copyright (c) 2014-2018 Tyler Kellen , Blaine Bublitz , and Eric Schoffstall + +Copyright (c) 2014-2018 Tyler Kellen , Blaine Bublitz , and Eric Schoffstall + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +inversify 4.13.0 - MIT +http://inversify.io +Copyright (c) 2015-2017 Remo H. Jansen +Copyright (c) 2015-2017 Remo H. Jansen (http://www.remojansen.com) + +The MIT License (MIT) + +Copyright (c) 2015-2017 Remo H. Jansen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +invert-kv 1.0.0 - MIT +https://github.com/sindresorhus/invert-kv +(c) Sindre Sorhus (http://sindresorhus.com) + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +ip 1.1.5 - MIT +https://github.com/indutny/node-ip +Copyright Fedor Indutny, 2012. + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +ip-regex 4.1.0 - MIT +https://github.com/sindresorhus/ip-regex#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +ip-regex 2.1.0 - MIT +https://github.com/sindresorhus/ip-regex#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +ipaddr.js 1.9.0 - MIT +https://github.com/whitequark/ipaddr.js#readme +Copyright (c) 2011-2017 + +Copyright (C) 2011-2017 whitequark + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-absolute 1.0.0 - MIT +https://github.com/jonschlinkert/is-absolute +Copyright (c) 2009-2014, TJ Holowaychuk +Copyright (c) 2014-2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2017, Jon Schlinkert. +Copyright (c) 2009-2014, TJ Holowaychuk + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-accessor-descriptor 0.1.6 - MIT +https://github.com/jonschlinkert/is-accessor-descriptor +Copyright (c) 2015, Jon Schlinkert. +Copyright (c) 2015 Jon Schlinkert (https://github.com/jonschlinkert) + +The MIT License (MIT) + +Copyright (c) 2015, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-accessor-descriptor 1.0.0 - MIT +https://github.com/jonschlinkert/is-accessor-descriptor +Copyright (c) 2015-2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2015-2017, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-alphabetical 1.0.4 - MIT +https://github.com/wooorm/is-alphabetical#readme +(c) Titus Wormer +Copyright (c) 2016 Titus Wormer + +(The MIT License) + +Copyright (c) 2016 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-alphanumerical 1.0.4 - MIT +https://github.com/wooorm/is-alphanumerical#readme +(c) Titus Wormer +Copyright (c) 2016 Titus Wormer + +(The MIT License) + +Copyright (c) 2016 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-arguments 1.0.4 - MIT +https://github.com/ljharb/is-arguments +Copyright (c) 2014 Jordan Harband + +The MIT License (MIT) + +Copyright (c) 2014 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-arrayish 0.2.1 - MIT +https://github.com/qix-/node-is-arrayish#readme +Copyright (c) 2015 JD Ballard + +The MIT License (MIT) + +Copyright (c) 2015 JD Ballard + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-arrayish 0.3.2 - MIT +https://github.com/qix-/node-is-arrayish#readme +Copyright (c) 2015 JD Ballard + +The MIT License (MIT) + +Copyright (c) 2015 JD Ballard + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-binary-path 1.0.1 - MIT +https://github.com/sindresorhus/is-binary-path +(c) Sindre Sorhus (http://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-buffer 1.1.6 - MIT +https://github.com/feross/is-buffer#readme +Copyright (c) Feross Aboukhadijeh +Copyright (c) Feross Aboukhadijeh (http://feross.org). + +The MIT License (MIT) + +Copyright (c) Feross Aboukhadijeh + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-callable 1.1.4 - MIT +https://github.com/ljharb/is-callable#readme +Copyright (c) 2015 Jordan Harband + +The MIT License (MIT) + +Copyright (c) 2015 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-callable 1.1.5 - MIT +https://github.com/ljharb/is-callable#readme +Copyright (c) 2015 Jordan Harband + +The MIT License (MIT) + +Copyright (c) 2015 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-data-descriptor 1.0.0 - MIT +https://github.com/jonschlinkert/is-data-descriptor +Copyright (c) 2015-2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2015-2017, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-data-descriptor 0.1.4 - MIT +https://github.com/jonschlinkert/is-data-descriptor +Copyright (c) 2015, Jon Schlinkert. +Copyright (c) 2015 Jon Schlinkert (https://github.com/jonschlinkert) + +The MIT License (MIT) + +Copyright (c) 2015, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-date-object 1.0.1 - MIT +https://github.com/ljharb/is-date-object#readme +Copyright (c) 2015 Jordan Harband + +The MIT License (MIT) + +Copyright (c) 2015 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-decimal 1.0.4 - MIT +https://github.com/wooorm/is-decimal#readme +(c) Titus Wormer +Copyright (c) 2016 Titus Wormer + +(The MIT License) + +Copyright (c) 2016 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-descriptor 0.1.6 - MIT +https://github.com/jonschlinkert/is-descriptor +Copyright (c) 2015-2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2015-2017, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-descriptor 1.0.2 - MIT +https://github.com/jonschlinkert/is-descriptor +Copyright (c) 2015-2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2015-2017, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-extendable 1.0.1 - MIT +https://github.com/jonschlinkert/is-extendable +Copyright (c) 2015-2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2015-2017, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-extendable 0.1.1 - MIT +https://github.com/jonschlinkert/is-extendable +Copyright (c) 2015 Jon Schlinkert +Copyright (c) 2015, Jon Schlinkert. + +The MIT License (MIT) + +Copyright (c) 2015, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-extglob 2.1.1 - MIT +https://github.com/jonschlinkert/is-extglob +Copyright (c) 2014-2016, Jon Schlinkert. +Copyright (c) 2016, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2016, Jon Schlinkert + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-fullwidth-code-point 2.0.0 - MIT +https://github.com/sindresorhus/is-fullwidth-code-point#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-fullwidth-code-point 3.0.0 - MIT +https://github.com/sindresorhus/is-fullwidth-code-point#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-fullwidth-code-point 1.0.0 - MIT +https://github.com/sindresorhus/is-fullwidth-code-point +(c) Sindre Sorhus (http://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-glob 4.0.1 - MIT +https://github.com/micromatch/is-glob +Copyright (c) 2014-2017, Jon Schlinkert. +Copyright (c) 2019, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2017, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-glob 3.1.0 - MIT +https://github.com/jonschlinkert/is-glob +Copyright (c) 2014-2016, Jon Schlinkert. +Copyright (c) 2016, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2016, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-hexadecimal 1.0.4 - MIT +https://github.com/wooorm/is-hexadecimal#readme +(c) Titus Wormer +Copyright (c) 2016 Titus Wormer + +(The MIT License) + +Copyright (c) 2016 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-ip 2.0.0 - MIT +https://github.com/sindresorhus/is-ip#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-ip 3.1.0 - MIT +https://github.com/sindresorhus/is-ip#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-negated-glob 1.0.0 - MIT +https://github.com/jonschlinkert/is-negated-glob +Copyright (c) 2016 Jon Schlinkert +Copyright (c) 2016, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2016 Jon Schlinkert + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-number 7.0.0 - MIT +https://github.com/jonschlinkert/is-number +Copyright (c) 2014-present, Jon Schlinkert. +Copyright (c) 2018, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-present, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-number 3.0.0 - MIT +https://github.com/jonschlinkert/is-number +Copyright (c) 2014-2016, Jon Schlinkert +Copyright (c) 2014-2015, Jon Schlinkert. +Copyright (c) 2016, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2016, Jon Schlinkert + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-number 4.0.0 - MIT +https://github.com/jonschlinkert/is-number +Copyright (c) 2014-2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2017, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-obj 1.0.1 - MIT +https://github.com/sindresorhus/is-obj#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-online 8.2.1 - MIT +https://github.com/sindresorhus/is-online#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-path-inside 1.0.1 - MIT +https://github.com/sindresorhus/is-path-inside#readme +(c) Sindre Sorhus (http://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-plain-object 2.0.4 - MIT +https://github.com/jonschlinkert/is-plain-object +Copyright (c) 2014-2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2017, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-regex 1.0.5 - MIT +https://github.com/ljharb/is-regex +Copyright (c) 2014 Jordan Harband + +The MIT License (MIT) + +Copyright (c) 2014 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-regex 1.0.4 - MIT +https://github.com/ljharb/is-regex +Copyright (c) 2014 Jordan Harband + +The MIT License (MIT) + +Copyright (c) 2014 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-relative 1.0.0 - MIT +https://github.com/jonschlinkert/is-relative +Copyright (c) 2014-2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2017, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-retry-allowed 1.1.0 - MIT +https://github.com/floatdrop/is-retry-allowed#readme +(c) Vsevolod Strukchinsky (http://github.com/floatdrop) +Copyright (c) Vsevolod Strukchinsky + +The MIT License (MIT) + +Copyright (c) Vsevolod Strukchinsky (github.com/floatdrop) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-stream 1.1.0 - MIT +https://github.com/sindresorhus/is-stream#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-stream 2.0.0 - MIT +https://github.com/sindresorhus/is-stream#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-symbol 1.0.2 - MIT +https://github.com/ljharb/is-symbol#readme +Copyright (c) 2015 Jordan Harband + +The MIT License (MIT) + +Copyright (c) 2015 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-typedarray 1.0.0 - MIT +https://github.com/hughsk/is-typedarray + +This software is released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-unc-path 1.0.0 - MIT +https://github.com/jonschlinkert/is-unc-path +Copyright (c) 2015-2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2015-2017, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-url 1.2.4 - MIT +https://github.com/segmentio/is-url#readme + +MIT LICENSE + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-utf8 0.2.1 - MIT +https://github.com/wayfind/is-utf8#readme +Copyright (c) 2014 Wei Fanzhe + +The MIT License (MIT) + +Copyright (C) 2014 Wei Fanzhe + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +   +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-valid-glob 1.0.0 - MIT +https://github.com/jonschlinkert/is-valid-glob +Copyright (c) 2015-2017, Jon Schlinkert +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2015-2017, Jon Schlinkert + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-whitespace-character 1.0.4 - MIT +https://github.com/wooorm/is-whitespace-character#readme +(c) Titus Wormer +Copyright (c) 2016 Titus Wormer + +(The MIT License) + +Copyright (c) 2016 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-windows 1.0.2 - MIT +https://github.com/jonschlinkert/is-windows +Copyright (c) 2015-2018, Jon Schlinkert. +Copyright (c) 2018, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2015-2018, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-word-character 1.0.4 - MIT +https://github.com/wooorm/is-word-character#readme +(c) Titus Wormer +Copyright (c) 2016 Titus Wormer + +(The MIT License) + +Copyright (c) 2016 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is-wsl 1.1.0 - MIT +https://github.com/sindresorhus/is-wsl#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +is2 2.0.1 - MIT +http://github.com/stdarg/is2 +Copyright (c) 2011 Enrico Marino +Copyright (c) 2013 Edmond Meinfelder +Copyright (c) 2013,2014 Edmond Meinfelder +Copyright (c) 2011 Enrico Marino +Copyright (c) 2013,2014 Edmond Meinfelder + +The MIT License (MIT) + +Copyright (c) 2013 Edmond Meinfelder + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +isarray 2.0.1 - MIT +https://github.com/juliangruber/isarray +Copyright (c) 2013 Julian Gruber + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +isarray 0.0.1 - MIT +https://github.com/juliangruber/isarray +Copyright (c) 2013 Julian Gruber + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +isarray 1.0.0 - MIT +https://github.com/juliangruber/isarray +Copyright (c) 2013 Julian Gruber + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +isnumeric 0.2.0 - MIT +http://ilee.co.uk +(c) Lee Crossley (http://ilee.co.uk/) + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +isobject 3.0.1 - MIT +https://github.com/jonschlinkert/isobject +Copyright (c) 2014-2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2017, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +isobject 2.1.0 - MIT +https://github.com/jonschlinkert/isobject +Copyright (c) 2014-2015, Jon Schlinkert. +Copyright (c) 2014-2016, Jon Schlinkert. +Copyright (c) 2016, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2016, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +isomorphic-fetch 2.2.1 - MIT +https://github.com/matthew-andrews/isomorphic-fetch/issues +Copyright (c) 2015 Matt Andrews + +The MIT License (MIT) + +Copyright (c) 2015 Matt Andrews + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +isort 4.3.21 - MIT +Copyright (c) 2015 Helen Sherwood-Taylor +Copyright (c) 2013 Timothy Edmund Crosley + +The MIT License (MIT) + +Copyright (c) 2013 Timothy Edmund Crosley + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +isstream 0.1.2 - MIT +https://github.com/rvagg/isstream +Copyright (c) 2015 Rod Vagg +Copyright (c) 2015 Rod Vagg rvagg (https://twitter.com/rvagg) + +The MIT License (MIT) +===================== + +Copyright (c) 2015 Rod Vagg +--------------------------- + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +jedi 0.17.2 - MIT +Copyright (c) <2013> +Copyright (c) Maxim Kurnikov. +copyright u'jedi contributors +copyright (c) 2014 by Armin Ronacher. +Copyright (c) 2015 Jukka Lehtosalo and contributors + +All contributions towards Jedi are MIT licensed. + +------------------------------------------------------------------------------- +The MIT License (MIT) + +Copyright (c) <2013> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +Copyright (c) Maxim Kurnikov. +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +The "typeshed" project is licensed under the terms of the Apache license, as +reproduced below. + += = = = = + +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + += = = = = + +Parts of typeshed are licensed under different licenses (like the MIT +license), reproduced below. + += = = = = + +The MIT License + +Copyright (c) 2015 Jukka Lehtosalo and contributors + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + += = = = = + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +jest-docblock 21.2.0 - MIT +https://github.com/facebook/jest#readme +Copyright (c) 2014-present, Facebook, Inc. + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +jest-worker 24.9.0 - MIT +https://github.com/facebook/jest#readme +Copyright (c) Facebook, Inc. and its affiliates. + +MIT License + +Copyright (c) Facebook, Inc. and its affiliates. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +jquery-ui 1.12.1 - MIT +http://jqueryui.com +Copyright 2011, John Resig +Copyright 2011, The Dojo Foundation +Copyright (c) 2015 Alexander Schmitz +Copyright (c) 2010-2014, The Dojo Foundation +Copyright Software Freedom Conservancy, Inc. +Copyright (c) 2011 John Resig, http://jquery.com +(c) 2009-2013 Jeremy Ashkenas, DocumentCloud Inc. +Copyright (c) 2009 Thomas Robinson <280north.com> +Copyright 2012 Anton Kovalyov (http://jshint.com) +Copyright jQuery Foundation and other contributors +Copyright Joyent, Inc. and other Node contributors. +Copyright (c) 2002 Douglas Crockford (www.JSLint.com) +Copyright 2012 jQuery Foundation and other contributors +Copyright 2014 jQuery Foundation and other contributors +Copyright (c) 2013 Brandon Aaron (http://brandon.aaron.sh) +Copyright (c) 2013, Brandon Aaron (http://brandon.aaron.sh) +Copyright 2013 jQuery Foundation, Inc. and other contributors +Copyright 2005, 2012 jQuery Foundation, Inc. and other contributors +Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors +Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors +Copyright 2008, 2014 jQuery Foundation, Inc. and other contributors +Copyright jQuery Foundation and other contributors http://jquery.com +Copyright Software Freedom Conservancy, Inc. http://jquery.org/license +Copyright jQuery Foundation and other contributors, https://jquery.org +Copyright 2012 jQuery Foundation and other contributors http://jquery.com +Copyright 2013 jQuery Foundation and other contributors http://jquery.com +Copyright 2014 jQuery Foundation and other contributors http://jquery.com +Copyright 2006 Google Inc. http://code.google.com/p/google-diff-match-patch +Copyright 2007, 2014 jQuery Foundation and other contributors, https://jquery.org + +Copyright jQuery Foundation and other contributors, https://jquery.org/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/jquery-ui + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code contained within the demos directory. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. + + +Copyright (c) 2013, Brandon Aaron (http://brandon.aaron.sh) + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +Copyright (c) 2011 John Resig, http://jquery.com/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +Copyright (c) 2011 John Resig, http://jquery.com/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +The MIT License (MIT) + +Copyright (c) 2015 Alexander Schmitz + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +Copyright (c) 2011 John Resig, http://jquery.com/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +Copyright 2012 Anton Kovalyov (http://jshint.com) + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +Copyright Software Freedom Conservancy, Inc. +http://jquery.org/license + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +js-tokens 4.0.0 - MIT +https://github.com/lydell/js-tokens#readme +Copyright 2014, 2015, 2016, 2017, 2018 Simon Lydell +Copyright (c) 2014, 2015, 2016, 2017, 2018 Simon Lydell + +The MIT License (MIT) + +Copyright (c) 2014, 2015, 2016, 2017, 2018 Simon Lydell + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +js-yaml 3.13.1 - MIT +https://github.com/nodeca/js-yaml +Copyright (c) 2011-2015 by Vitaly Puzrin + +(The MIT License) + +Copyright (C) 2011-2015 by Vitaly Puzrin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +jsbn 0.1.1 - MIT +https://github.com/andyperlitch/jsbn#readme +Copyright (c) 2005 Tom Wu +Copyright (c) 2003-2005 Tom Wu +Copyright (c) 2005-2009 Tom Wu + +Licensing +--------- + +This software is covered under the following copyright: + +/* + * Copyright (c) 2003-2005 Tom Wu + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, + * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY + * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + * + * IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL, + * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER + * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF + * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT + * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * In addition, the following condition applies: + * + * All redistributions must retain an intact copy of this copyright notice + * and disclaimer. + */ + +Address all questions regarding this license to: + + Tom Wu + tjw@cs.Stanford.EDU + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +json-buffer 3.0.0 - MIT +https://github.com/dominictarr/json-buffer +Copyright (c) 2013 Dominic Tarr + +Copyright (c) 2013 Dominic Tarr + +Permission is hereby granted, free of charge, +to any person obtaining a copy of this software and +associated documentation files (the "Software"), to +deal in the Software without restriction, including +without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom +the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +json-edm-parser 0.1.2 - MIT +https://github.com/yaxia/json-edm-parser#readme +Copyright (c) 2016 Yang Xia + +The MIT License (MIT) + +Copyright (c) 2016 Yang Xia + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +json-parse-better-errors 1.0.2 - MIT +https://github.com/zkat/json-parse-better-errors#readme +Copyright 2017 Kat Marchan + +Copyright 2017 Kat Marchán + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +json-schema-traverse 0.4.1 - MIT +https://github.com/epoberezkin/json-schema-traverse#readme +Copyright (c) 2017 Evgeny Poberezkin + +MIT License + +Copyright (c) 2017 Evgeny Poberezkin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +json-stable-stringify 1.0.1 - MIT +https://github.com/substack/json-stable-stringify + +This software is released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +json-stable-stringify-without-jsonify 1.0.1 - MIT +https://github.com/samn/json-stable-stringify + +This software is released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +json-stringify-pretty-compact 2.0.0 - MIT +https://github.com/lydell/json-stringify-pretty-compact#readme +Copyright (c) 2014, 2016, 2017, 2019 Simon Lydell + +The MIT License (MIT) + +Copyright (c) 2014, 2016, 2017, 2019 Simon Lydell + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +json5 2.1.0 - MIT +http://json5.org/ +Copyright (c) 2012-2018 Aseem Kishore, and others + +MIT License + +Copyright (c) 2012-2018 Aseem Kishore, and [others]. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +[others]: https://github.com/json5/json5/contributors + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +jsonc-parser 2.1.0 - MIT +https://github.com/Microsoft/node-jsonc-parser#readme +Copyright (c) Microsoft +Copyright 2018, Microsoft +Copyright (c) Microsoft Corporation. + +The MIT License (MIT) + +Copyright (c) Microsoft + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +jsonfile 4.0.0 - MIT +https://github.com/jprichardson/node-jsonfile#readme +Copyright 2012-2016, JP Richardson +Copyright (c) 2012-2015, JP Richardson + +(The MIT License) + +Copyright (c) 2012-2015, JP Richardson + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files +(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, + merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS +OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +jsonparse 1.2.0 - MIT +https://github.com/creationix/jsonparse +Copyright (c) 2012 Tim Caswell +Copyright (c) 2011-2012 Tim Caswell + +The MIT License + +Copyright (c) 2012 Tim Caswell + +Permission is hereby granted, free of charge, +to any person obtaining a copy of this software and +associated documentation files (the "Software"), to +deal in the Software without restriction, including +without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom +the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +jsonparse 1.3.1 - MIT +https://github.com/creationix/jsonparse#readme +Copyright (c) 2012 Tim Caswell +Copyright (c) 2011-2012 Tim Caswell + +The MIT License + +Copyright (c) 2012 Tim Caswell + +Permission is hereby granted, free of charge, +to any person obtaining a copy of this software and +associated documentation files (the "Software"), to +deal in the Software without restriction, including +without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom +the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +jsprim 1.4.1 - MIT +https://github.com/joyent/node-jsprim#readme +Copyright (c) 2012, Joyent, Inc. + +Copyright (c) 2012, Joyent, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +keyv 3.0.0 - MIT +https://github.com/lukechilds/keyv +(c) Luke Childs +Copyright (c) 2017 Luke Childs + +MIT License + +Copyright (c) 2017 Luke Childs + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +kind-of 3.2.2 - MIT +https://github.com/jonschlinkert/kind-of +Copyright (c) 2014-2017, Jon Schlinkert +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2017, Jon Schlinkert + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +kind-of 4.0.0 - MIT +https://github.com/jonschlinkert/kind-of +Copyright (c) 2014-2017, Jon Schlinkert +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2017, Jon Schlinkert + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +kind-of 6.0.3 - MIT +https://github.com/jonschlinkert/kind-of +Copyright (c) 2014-2017, Jon Schlinkert. + +The MIT License (MIT) + +Copyright (c) 2014-2017, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +kind-of 5.1.0 - MIT +https://github.com/jonschlinkert/kind-of +Copyright (c) 2014-2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2017, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +kuler 1.0.1 - MIT +https://github.com/3rd-Eden/kuler +Copyright 2014 Arnout Kazemier + +Copyright 2014 Arnout Kazemier + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +lazystream 1.0.0 - MIT +https://github.com/jpommerening/node-lazystream +Copyright (c) 2013 J. Pommerening, contributors. + +Copyright (c) 2013 J. Pommerening, contributors. + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +lcid 1.0.0 - MIT +https://github.com/sindresorhus/lcid +(c) Sindre Sorhus (http://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +lead 1.0.0 - MIT +https://github.com/gulpjs/lead#readme +Copyright (c) 2017 Blaine Bublitz , Eric Schoffstall and other contributors + +The MIT License (MIT) + +Copyright (c) 2017 Blaine Bublitz , Eric Schoffstall and other contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +levn 0.3.0 - MIT +https://github.com/gkz/levn +Copyright (c) George Zahariev + +Copyright (c) George Zahariev + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +line-by-line 0.1.6 - MIT +https://github.com/Osterjour/line-by-line +Copyright (c) 2012 Markus von der Wehd +Copyright (c) 2012 Markus von der Wehd + + +Copyright (c) 2012 Markus von der Wehd + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +linebreak 1.0.2 - MIT +https://github.com/devongovett/linebreaker +Copyright (c) 1991-2014 Unicode, Inc. + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +lines-and-columns 1.1.6 - MIT +https://github.com/eventualbuddha/lines-and-columns#readme +Copyright (c) 2015 Brian Donovan + +The MIT License (MIT) + +Copyright (c) 2015 Brian Donovan + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +load-json-file 1.1.0 - MIT +https://github.com/sindresorhus/load-json-file +(c) Sindre Sorhus (http://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +loader-utils 1.4.0 - MIT +https://github.com/webpack/loader-utils#readme +Copyright JS Foundation and other contributors + +Copyright JS Foundation and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +locate-path 2.0.0 - MIT +https://github.com/sindresorhus/locate-path#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +locate-path 3.0.0 - MIT +https://github.com/sindresorhus/locate-path#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +locate-path 5.0.0 - MIT +https://github.com/sindresorhus/locate-path#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +lodash 4.17.19 - MIT +https://lodash.com/ +Copyright OpenJS Foundation and other contributors +Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors +copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + +Copyright OpenJS Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +lodash-es 4.17.15 - MIT +https://lodash.com/custom-builds +Copyright OpenJS Foundation and other contributors +Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors +copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + +Copyright OpenJS Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +lodash.assign 4.2.0 - MIT +https://lodash.com/ +Copyright jQuery Foundation and other contributors +Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors +copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +lodash.clonedeep 4.5.0 - MIT +https://lodash.com/ +Copyright jQuery Foundation and other contributors +Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors +copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +lodash.escape 4.0.1 - MIT +https://lodash.com/ +Copyright jQuery Foundation and other contributors +Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors +copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +lodash.escaperegexp 4.1.2 - MIT +https://lodash.com/ +Copyright jQuery Foundation and other contributors +Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors +copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +lodash.isplainobject 4.0.6 - MIT +https://lodash.com/ +Copyright jQuery Foundation and other contributors +Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors +copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +lodash.isstring 4.0.1 - MIT +https://lodash.com/ +Copyright 2012-2016 The Dojo Foundation +Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors +copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + +Copyright 2012-2016 The Dojo Foundation +Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +lodash.memoize 4.1.2 - MIT +https://lodash.com/ +Copyright jQuery Foundation and other contributors +Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors +copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +lodash.mergewith 4.6.2 - MIT +https://lodash.com/ +Copyright OpenJS Foundation and other contributors +Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors +copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + +Copyright OpenJS Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +lodash.union 4.6.0 - MIT +https://lodash.com/ +Copyright jQuery Foundation and other contributors +Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors +copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +lodash.uniq 4.5.0 - MIT +https://lodash.com/ +Copyright jQuery Foundation and other contributors +Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors +copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +logform 2.1.2 - MIT +https://github.com/winstonjs/logform#readme +Copyright (c) 2017 Charlie Robbins & the Contributors. + +MIT License + +Copyright (c) 2017 Charlie Robbins & the Contributors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +loose-envify 1.4.0 - MIT +https://github.com/zertosh/loose-envify +Copyright (c) 2015 Andres Suarez + +The MIT License (MIT) + +Copyright (c) 2015 Andres Suarez + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +lower-case 1.1.4 - MIT +https://github.com/blakeembrey/lower-case +Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) + +The MIT License (MIT) + +Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +lowercase-keys 1.0.1 - MIT +https://github.com/sindresorhus/lowercase-keys#readme +(c) Sindre Sorhus (http://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +lowercase-keys 2.0.0 - MIT +https://github.com/sindresorhus/lowercase-keys#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +magic-string 0.22.5 - MIT +https://github.com/rich-harris/magic-string#readme + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +make-dir 3.1.0 - MIT +https://github.com/sindresorhus/make-dir#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +make-dir 1.3.0 - MIT +https://github.com/sindresorhus/make-dir#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +make-dir 3.0.0 - MIT +https://github.com/sindresorhus/make-dir#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +map-cache 0.2.2 - MIT +https://github.com/jonschlinkert/map-cache +Copyright (c) 2015, Jon Schlinkert. +Copyright (c) 2015-2016, Jon Schlinkert. +Copyright (c) 2016, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2015-2016, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +map-stream 0.1.0 - MIT +http://github.com/dominictarr/map-stream +Copyright (c) 2011 Dominic Tarr + +Copyright (c) 2011 Dominic Tarr + +Permission is hereby granted, free of charge, +to any person obtaining a copy of this software and +associated documentation files (the "Software"), to +deal in the Software without restriction, including +without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom +the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +map-visit 1.0.0 - MIT +https://github.com/jonschlinkert/map-visit +Copyright (c) 2015-2017, Jon Schlinkert +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2015-2017, Jon Schlinkert + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +markdown-escapes 1.0.4 - MIT +https://github.com/wooorm/markdown-escapes#readme +(c) Titus Wormer +Copyright (c) 2016 Titus Wormer + +(The MIT License) + +Copyright (c) 2016 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +markdown-it 8.4.2 - MIT +https://github.com/markdown-it/markdown-it#readme +(c) (tm) +Copyright (c) 2014 Vitaly Puzrin, Alex Kocharin. +Copyright Joyent, Inc. and other Node contributors. + +Copyright (c) 2014 Vitaly Puzrin, Alex Kocharin. + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +marked 0.7.0 - MIT +https://marked.js.org +Copyright (c) 2011-2013, Christopher Jeffrey +Copyright (c) 2011-2014, Christopher Jeffrey +Copyright (c) 2011-2018, Christopher Jeffrey. +Copyright (c) 2004, John Gruber http://daringfireball.net +Copyright (c) 2011-2018, Christopher Jeffrey (https://github.com/chjj/) +Copyright (c) 2011-2018, Christopher Jeffrey. (MIT Licensed) https://github.com/markedjs/marked + +# License information + +## Contribution License Agreement + +If you contribute code to this project, you are implicitly allowing your code +to be distributed under the MIT license. You are also implicitly verifying that +all code is your original work. `` + +## Marked + +Copyright (c) 2011-2018, Christopher Jeffrey (https://github.com/chjj/) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +## Markdown + +Copyright © 2004, John Gruber +http://daringfireball.net/ +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +* Neither the name “Markdown” nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +This software is provided by the copyright holders and contributors “as is” and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright owner or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +math-expression-evaluator 1.2.22 - MIT +https://github.com/bugwheels94/math-expression-evaluator#readme +Copyright (c) Ankit +Copyright (c) 2015 Ankit G. + +The MIT License (MIT) + +Copyright (c) 2015 Ankit G. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +md5.js 1.3.4 - MIT +https://github.com/crypto-browserify/md5.js +Copyright (c) 2016 Kirill Fomichev + +The MIT License (MIT) + +Copyright (c) 2016 Kirill Fomichev + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +media-typer 0.3.0 - MIT +https://github.com/jshttp/media-typer +Copyright (c) 2014 Douglas Christopher Wilson + +(The MIT License) + +Copyright (c) 2014 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +memoize-one 5.1.1 - MIT +https://github.com/alexreardon/memoize-one#readme +Copyright (c) 2019 Alexander Reardon + +MIT License + +Copyright (c) 2019 Alexander Reardon + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +memory-fs 0.5.0 - MIT +https://github.com/webpack/memory-fs +Copyright (c) 2012-2014 Tobias Koppers +Copyright JS Foundation and other contributors + +Copyright JS Foundation and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +merge-descriptors 1.0.1 - MIT +https://github.com/component/merge-descriptors +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2015 Douglas Christopher Wilson +Copyright (c) 2013 Jonathan Ong +Copyright (c) 2015 Douglas Christopher Wilson + +(The MIT License) + +Copyright (c) 2013 Jonathan Ong +Copyright (c) 2015 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- -Copyright (c) 2015 - 2018 koajs and other contributors +merge-source-map 1.0.4 - MIT +https://github.com/keik/merge-source-map#readme + +The MIT License (MIT) + +Copyright (c) keik Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -1403,421 +31870,405 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF @koa/cors NOTICES AND INFORMATION -%% @loadable/component 5.12.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@loadable/component/-/component-5.12.0.tgz) -========================================= -Copyright 2019 Greg Bergé +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +merge-stream 2.0.0 - MIT +https://github.com/grncdr/merge-stream#readme +Copyright (c) Stephen Sugden (stephensugden.com) -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +The MIT License (MIT) -========================================= -END OF @loadable/component NOTICES AND INFORMATION +Copyright (c) Stephen Sugden (stephensugden.com) -%% @mapbox/polylabel 1.0.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@mapbox/polylabel/-/polylabel-1.0.2.tgz) -========================================= -ISC License -Copyright (c) 2016 Mapbox +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO -THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. -IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA -OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS -ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -========================================= -END OF @mapbox/polylabel NOTICES AND INFORMATION -%% @nteract/markdown 3.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@nteract/markdown/-/markdown-3.0.1.tgz) -========================================= -Copyright (c) 2016, nteract contributors -All rights reserved. +------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +------------------------------------------------------------------- -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +methods 1.1.2 - MIT +https://github.com/jshttp/methods +Copyright (c) 2013-2014 TJ Holowaychuk +Copyright (c) 2015-2016 Douglas Christopher Wilson +Copyright (c) 2013-2014 TJ Holowaychuk +Copyright (c) 2015-2016 Douglas Christopher Wilson -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +(The MIT License) -* Neither the name of nteract nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +Copyright (c) 2013-2014 TJ Holowaychuk +Copyright (c) 2015-2016 Douglas Christopher Wilson -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -========================================= -END OF @nteract/markdown NOTICES AND INFORMATION +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -%% @nteract/mathjax 3.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@nteract/mathjax/-/mathjax-3.0.1.tgz) -========================================= -Copyright (c) 2016, nteract contributors -All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +------------------------------------------------------------------- -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +------------------------------------------------------------------- -* Neither the name of nteract nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +microevent.ts 0.1.1 - MIT +https://github.com/DirtyHairy/microevent#readme +Copyright (c) 2016 Christian Speckner -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The MIT License (MIT) +Copyright (c) 2016 Christian Speckner -========================================= -END OF @nteract/mathjax NOTICES AND INFORMATION +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -%% @nteract/octicons 0.5.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@nteract/octicons/-/octicons-0.5.1.tgz) -========================================= -Copyright (c) 2016, nteract contributors -All rights reserved. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +------------------------------------------------------------------- -* Neither the name of nteract nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +micromatch 3.1.10 - MIT +https://github.com/micromatch/micromatch +Copyright (c) 2014-2018, Jon Schlinkert. +Copyright (c) 2018, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2018, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +mime 1.6.0 - MIT +https://github.com/broofa/node-mime#readme +Copyright (c) 2010 Benjamin Thomas, Robert Kieffer + +The MIT License (MIT) + +Copyright (c) 2010 Benjamin Thomas, Robert Kieffer + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +mime 2.4.4 - MIT +https://github.com/broofa/node-mime#readme +Copyright (c) 2010 Benjamin Thomas, Robert Kieffer + +The MIT License (MIT) + +Copyright (c) 2010 Benjamin Thomas, Robert Kieffer + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -========================================= -END OF @nteract/octicons NOTICES AND INFORMATION +------------------------------------------------------------------- -%% @nteract/styled-blueprintjsx 1.1.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@nteract/styled-blueprintjsx/-/styled-blueprintjsx-1.1.1.tgz) -========================================= -Copyright (c) 2016, nteract contributors -All rights reserved. +------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +mime-db 1.40.0 - MIT +https://github.com/jshttp/mime-db#readme +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2014 Jonathan Ong me@jongleberry.com -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +The MIT License (MIT) -* Neither the name of nteract nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +Copyright (c) 2014 Jonathan Ong me@jongleberry.com -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -========================================= -END OF @nteract/styled-blueprintjsx NOTICES AND INFORMATION +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -%% @nteract/transform-dataresource 4.5.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@nteract/transform-dataresource/-/transform-dataresource-4.5.2.tgz) -========================================= -Copyright (c) 2016, nteract contributors -All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +------------------------------------------------------------------- -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +------------------------------------------------------------------- -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +mime-types 2.1.24 - MIT +https://github.com/jshttp/mime-types#readme +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2015 Douglas Christopher Wilson +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2015 Douglas Christopher Wilson -* Neither the name of nteract nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +(The MIT License) -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2015 Douglas Christopher Wilson +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -========================================= -END OF @nteract/transform-dataresource NOTICES AND INFORMATION +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -%% @nteract/transform-geojson 3.2.5 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@nteract/transform-geojson/-/transform-geojson-3.2.5.tgz) -========================================= -Copyright (c) 2016, nteract contributors -All rights reserved. +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +------------------------------------------------------------------- -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +------------------------------------------------------------------- -* Neither the name of nteract nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +mimic-fn 1.2.0 - MIT +https://github.com/sindresorhus/mimic-fn#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +MIT License +Copyright (c) Sindre Sorhus (sindresorhus.com) -========================================= -END OF @nteract/transform-geojson NOTICES AND INFORMATION +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -%% @nteract/transform-model-debug 3.2.5 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@nteract/transform-model-debug/-/transform-model-debug-3.2.5.tgz) -========================================= -Copyright (c) 2016, nteract contributors -All rights reserved. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +------------------------------------------------------------------- -* Neither the name of nteract nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +mimic-response 1.0.1 - MIT +https://github.com/sindresorhus/mimic-response#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) +MIT License -========================================= -END OF @nteract/transform-model-debug NOTICES AND INFORMATION +Copyright (c) Sindre Sorhus (sindresorhus.com) -%% @nteract/transform-plotly 6.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@nteract/transform-plotly/-/transform-plotly-6.0.0.tgz) -========================================= -Copyright (c) 2016, nteract contributors -All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -* Neither the name of nteract nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- +mimic-response 2.0.0 - MIT +https://github.com/sindresorhus/mimic-response#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) -========================================= -END OF @nteract/transform-plotly NOTICES AND INFORMATION +MIT License -%% @nteract/transform-vdom 2.2.5 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@nteract/transform-vdom/-/transform-vdom-2.2.5.tgz) -========================================= -Copyright (c) 2016, nteract contributors -All rights reserved. +Copyright (c) Sindre Sorhus (sindresorhus.com) -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -* Neither the name of nteract nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- +------------------------------------------------------------------- -========================================= -END OF @nteract/transform-vdom NOTICES AND INFORMATION +minimist 1.2.5 - MIT +https://github.com/substack/minimist -%% @nteract/transform-vega 6.0.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@nteract/transform-vega/-/transform-vega-6.0.3.tgz) -========================================= -Copyright (c) 2016, nteract contributors -All rights reserved. +This software is released under the MIT license: -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -* Neither the name of nteract nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- +------------------------------------------------------------------- -========================================= -END OF @nteract/transform-vega NOTICES AND INFORMATION +minizlib 1.3.3 - MIT +https://github.com/isaacs/minizlib#readme +Copyright Isaac Z. Schlueter and Contributors +Copyright Joyent, Inc. and other Node contributors. -%% @nteract/transforms 4.4.7 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@nteract/transforms/-/transforms-4.4.7.tgz) -========================================= -Copyright (c) 2016, nteract contributors -All rights reserved. +Minizlib was created by Isaac Z. Schlueter. +It is a derivative work of the Node.js project. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +""" +Copyright Isaac Z. Schlueter and Contributors +Copyright Node.js contributors. All rights reserved. +Copyright Joyent, Inc. and other Node contributors. All rights reserved. -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -* Neither the name of nteract nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +""" -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- -========================================= -END OF @nteract/transforms NOTICES AND INFORMATION +------------------------------------------------------------------- -%% @nteract/vega-embed-v2 1.1.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@nteract/vega-embed-v2/-/vega-embed-v2-1.1.0.tgz) -========================================= -MIT License +mixin-deep 1.3.2 - MIT +https://github.com/jonschlinkert/mixin-deep +Copyright (c) 2014-2015, 2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). -Copyright (c) 2018 nteract +The MIT License (MIT) + +Copyright (c) 2014-2015, 2017, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -1826,25 +32277,29 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -========================================= -END OF @nteract/vega-embed-v2 NOTICES AND INFORMATION -%% @nteract/vega-embed-v3 1.1.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@nteract/vega-embed-v3/-/vega-embed-v3-1.1.1.tgz) -========================================= -MIT License +------------------------------------------------------------------- -Copyright (c) 2018 nteract +------------------------------------------------------------------- + +mkdirp 0.5.5 - MIT +https://github.com/substack/node-mkdirp#readme +Copyright 2010 James Halliday (mail@substack.net) + +Copyright 2010 James Halliday (mail@substack.net) + +This project is free software released under the MIT/X11 license: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -1853,401 +32308,263 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -========================================= -END OF @nteract/vega-embed-v3 NOTICES AND INFORMATION - -%% @phosphor/algorithm 1.1.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.1.3.tgz) -========================================= -Copyright (c) 2014-2017, PhosphorJS Contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -========================================= -END OF @phosphor/algorithm NOTICES AND INFORMATION - -%% @phosphor/collections 1.2.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@phosphor/collections/-/collections-1.2.0.tgz) -========================================= -Copyright (c) 2014-2017, PhosphorJS Contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -========================================= -END OF @phosphor/collections NOTICES AND INFORMATION - -%% @phosphor/commands 1.7.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@phosphor/commands/-/commands-1.7.2.tgz) -========================================= -Copyright (c) 2014-2017, PhosphorJS Contributors -All rights reserved. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +------------------------------------------------------------------- -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +------------------------------------------------------------------- -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +moment 2.24.0 - MIT +http://momentjs.com +Copyright (c) JS Foundation and other contributors -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Copyright (c) JS Foundation and other contributors -========================================= -END OF @phosphor/commands NOTICES AND INFORMATION +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: -%% @phosphor/coreutils 1.3.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@phosphor/coreutils/-/coreutils-1.3.1.tgz) -========================================= -Copyright (c) 2014-2017, PhosphorJS Contributors -All rights reserved. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +------------------------------------------------------------------- -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +monaco-editor 0.18.1 - MIT +https://github.com/Microsoft/monaco-editor#readme +Copyright (c) 2015 +Copyright (c) Joshaven Potter +Copyright (c) 2014 Taylor Hakes +Copyright (c) Artyom Shalkhakov. +Copyright (c) 2015 David Owens II +Copyright (c) 2014 Forbes Lindesay +Copyright (c) 2015 Nicolas Bevacqua +Copyright (c) Microsoft Corporation. +Copyright (c) 2008 Microsoft Corporation +Copyright (c) David Owens II, owensd.io. +Copyright Drifty Co. http://drifty.com/. +Copyright (c) 2016 - present Microsoft Corporation +Copyright Joyent, Inc. and other Node contributors. +Copyright (c) 2007-2017 Einar Lielmanis, Liam Newman, and contributors. +Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors. +Copyright (c) 2011-2014, Christopher Jeffrey (https://github.com/chjj/) +Copyright (c) 2011-2014, Christopher Jeffrey. (MIT Licensed) https://github.com/markedjs/marked -========================================= -END OF @phosphor/coreutils NOTICES AND INFORMATION +The MIT License (MIT) -%% @phosphor/disposable 1.2.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.2.0.tgz) -========================================= -Copyright (c) 2014-2017, PhosphorJS Contributors -All rights reserved. +Copyright (c) 2016 - present Microsoft Corporation -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- -========================================= -END OF @phosphor/disposable NOTICES AND INFORMATION +------------------------------------------------------------------- -%% @phosphor/domutils 1.1.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@phosphor/domutils/-/domutils-1.1.4.tgz) -========================================= -Copyright (c) 2014-2017, PhosphorJS Contributors -All rights reserved. +monaco-editor-textmate 2.2.1 - MIT +https://github.com/NeekSandhu/monaco-editor-textmate#readme +Copyright (c) 2018 Neek Sandhu -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +The MIT License (MIT) -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +Copyright (c) 2018 Neek Sandhu -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -========================================= -END OF @phosphor/domutils NOTICES AND INFORMATION -%% @phosphor/keyboard 1.1.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@phosphor/keyboard/-/keyboard-1.1.3.tgz) -========================================= -Copyright (c) 2014-2017, PhosphorJS Contributors -All rights reserved. +------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +------------------------------------------------------------------- -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +monaco-textmate 3.0.1 - MIT +https://github.com/NeekSandhu/monaco-textmate#readme +Copyright (c) Microsoft Corporation. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +The MIT License (MIT) -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +Copyright (c) Microsoft Corporation -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -========================================= -END OF @phosphor/keyboard NOTICES AND INFORMATION +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -%% @phosphor/messaging 1.3.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@phosphor/messaging/-/messaging-1.3.0.tgz) -========================================= -Copyright (c) 2014-2017, PhosphorJS Contributors -All rights reserved. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +------------------------------------------------------------------- -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +------------------------------------------------------------------- -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +ms 2.1.2 - MIT +https://github.com/zeit/ms#readme +Copyright (c) 2016 Zeit, Inc. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The MIT License (MIT) -========================================= -END OF @phosphor/messaging NOTICES AND INFORMATION +Copyright (c) 2016 Zeit, Inc. -%% @phosphor/properties 1.1.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@phosphor/properties/-/properties-1.1.3.tgz) -========================================= -Copyright (c) 2014-2017, PhosphorJS Contributors -All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- -========================================= -END OF @phosphor/properties NOTICES AND INFORMATION +ms 2.1.1 - MIT +https://github.com/zeit/ms#readme +Copyright (c) 2016 Zeit, Inc. -%% @phosphor/signaling 1.2.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.2.3.tgz) -========================================= -Copyright (c) 2014-2017, PhosphorJS Contributors -All rights reserved. +The MIT License (MIT) -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +Copyright (c) 2016 Zeit, Inc. -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -========================================= -END OF @phosphor/signaling NOTICES AND INFORMATION +------------------------------------------------------------------- -%% _pydev_calltip_util.py (for PyDev.Debugger) NOTICES AND INFORMATION BEGIN HERE (https://github.com/fabioz/PyDev.Debugger/blob/master/_pydev_bundle/_pydev_calltip_util.py) -========================================= -Copyright (c) Yuli Fitterman +------------------------------------------------------------------- -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at +ms 2.0.0 - MIT +https://github.com/zeit/ms#readme +Copyright (c) 2016 Zeit, Inc. - http://www.apache.org/licenses/LICENSE-2.0 +The MIT License (MIT) -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. +Copyright (c) 2016 Zeit, Inc. -========================================= -END OF _pydev_calltip_util.py NOTICES AND INFORMATION +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -%% accepts 1.3.7 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz) -========================================= -(The MIT License) +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -Copyright (c) 2014 Jonathan Ong -Copyright (c) 2015 Douglas Christopher Wilson +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF accepts NOTICES AND INFORMATION +named-js-regexp 1.3.5 - MIT +https://github.com/edvinv/named-js-regexp#readme +Copyright (c) 2015 -%% acorn 5.7.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz) -========================================= -Copyright (C) 2012-2018 by various contributors (see AUTHORS) +The MIT License + +Copyright (c) 2015, @edvinv Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -2267,14 +32584,44 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF acorn NOTICES AND INFORMATION +------------------------------------------------------------------- + +------------------------------------------------------------------- + +nan 2.14.0 - MIT +https://github.com/nodejs/nan#readme +Copyright (c) 2018 NAN WG Members +Copyright (c) 2018 NAN contributors +Copyright Joyent, Inc. and other Node contributors. +Copyright (c) 2018 NAN contributors - Rod Vagg -%% ajv 6.10.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/ajv/-/ajv-6.10.1.tgz) -========================================= The MIT License (MIT) +===================== -Copyright (c) 2015-2017 Evgeny Poberezkin +Copyright (c) 2018 NAN contributors +----------------------------------- + +*NAN contributors listed at * + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +nanomatch 1.2.13 - MIT +https://github.com/micromatch/nanomatch +Copyright (c) 2016-2018, Jon Schlinkert. +Copyright (c) 2018, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2016-2018, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -2283,63 +32630,69 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -========================================= -END OF ajv NOTICES AND INFORMATION +------------------------------------------------------------------- -%% amdefine 1.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz) -========================================= -amdefine is released under two licenses: new BSD, and MIT. You may pick the -license that best suits your development needs. The text of both licenses are -provided below. +------------------------------------------------------------------- +negotiator 0.6.2 - MIT +https://github.com/jshttp/negotiator#readme +Copyright (c) 2012 Federico Romero +Copyright (c) 2014 Federico Romero +Copyright (c) 2012 Isaac Z. Schlueter +Copyright (c) 2012-2014 Federico Romero +Copyright (c) 2012-2014 Isaac Z. Schlueter +Copyright (c) 2015 Douglas Christopher Wilson +Copyright (c) 2014-2015 Douglas Christopher Wilson -The "New" BSD License: ----------------------- +(The MIT License) -Copyright (c) 2011-2016, The Dojo Foundation -All rights reserved. +Copyright (c) 2012-2014 Federico Romero +Copyright (c) 2012-2014 Isaac Z. Schlueter +Copyright (c) 2014-2015 Douglas Christopher Wilson -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of the Dojo Foundation nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- +------------------------------------------------------------------- +next-tick 1.0.0 - MIT +https://github.com/medikoo/next-tick#readme +Copyright (c) 2012-2016 Mariusz Nowak -MIT License ------------ +The MIT License -Copyright (c) 2011-2016, The Dojo Foundation +Copyright (C) 2012-2016 Mariusz Nowak Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -2359,29 +32712,18 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF amdefine NOTICES AND INFORMATION - -%% angular.io (for RxJS 5.5) NOTICES AND INFORMATION BEGIN HERE (https://angular.io/) -========================================= -The MIT License - -Copyright (c) 2014-2017 Google, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF angular.io NOTICES AND INFORMATION +nice-try 1.0.5 - MIT +https://github.com/electerious/nice-try +Copyright (c) 2018 Tobias Reich -%% anser 1.4.8 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/anser/-/anser-1.4.8.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2012-19 Ionică Bizău (https://ionicabizau.net) +Copyright (c) 2018 Tobias Reich Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -2390,114 +32732,90 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -========================================= -END OF anser NOTICES AND INFORMATION - -%% ansi-regex 4.1.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz) -========================================= -MIT License +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +no-case 2.3.2 - MIT +https://github.com/blakeembrey/no-case +Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) -========================================= -END OF ansi-regex NOTICES AND INFORMATION +The MIT License (MIT) -%% ansi-styles 3.2.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz) -========================================= -MIT License +Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) -Copyright (c) Sindre Sorhus (sindresorhus.com) +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF ansi-styles NOTICES AND INFORMATION +------------------------------------------------------------------- -%% ansi-to-html 0.6.11 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.11.tgz) -========================================= -Copyright (c) 2012 Rob Burns +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: +nocache 2.1.0 - MIT +https://helmetjs.github.io/docs/nocache/ -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +The MIT License (MIT) -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF ansi-to-html NOTICES AND INFORMATION +Copyright (c) 2014-2019 Evan Hahn, Adam Baldwin -%% ansi-to-react 3.3.5 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/ansi-to-react/-/ansi-to-react-3.3.5.tgz) -========================================= -Copyright (c) 2016, nteract contributors -All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -* Neither the name of nteract nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- +node-fetch 2.6.0 - MIT +https://github.com/bitinn/node-fetch +Copyright (c) 2016 David Frank -========================================= -END OF ansi-to-react NOTICES AND INFORMATION +The MIT License (MIT) -%% any-promise 1.3.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz) -========================================= -Copyright (C) 2014-2016 Kevin Beaty +Copyright (c) 2016 David Frank Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -2506,63 +32824,62 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -========================================= -END OF any-promise NOTICES AND INFORMATION +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -%% applicationinsights 1.0.6 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/applicationinsights/-/applicationinsights-1.0.6.tgz) -========================================= -The MIT License (MIT) -Copyright © Microsoft Corporation -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF applicationinsights NOTICES AND INFORMATION +node-fetch 1.7.3 - MIT +https://github.com/bitinn/node-fetch +Copyright (c) 2016 David Frank -%% arch 2.1.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/arch/-/arch-2.1.1.tgz) -========================================= The MIT License (MIT) -Copyright (c) Feross Aboukhadijeh +Copyright (c) 2016 David Frank -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -========================================= -END OF arch NOTICES AND INFORMATION -%% asn1 0.2.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz) -========================================= -Copyright (c) 2011 Mark Cavage, All rights reserved. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +node-gyp-build 4.2.1 - MIT +https://github.com/prebuild/node-gyp-build +Copyright (c) 2017 Mathias Buus + +The MIT License (MIT) + +Copyright (c) 2017 Mathias Buus Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -2580,42 +32897,20 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE - -========================================= -END OF asn1 NOTICES AND INFORMATION - -%% assert-plus 1.0.0 NOTICES AND INFORMATION BEGIN HERE (https://github.com/joyent/node-assert-plus/tree/v1.0.0) -========================================= -The MIT License (MIT) -Copyright (c) 2012 Mark Cavage +THE SOFTWARE. -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF assert-plus NOTICES AND INFORMATION +node-preload 0.2.1 - MIT +https://github.com/cfware/node-preload#readme +Copyright (c) 2019 CFWare, LLC -%% ast-transform 0.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/ast-transform/-/ast-transform-0.0.0.tgz) -========================================= -## The MIT License (MIT) ## +MIT License -Copyright (c) 2014 Hugh Kennedy +Copyright (c) 2019 CFWare, LLC Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -2624,23 +32919,30 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -========================================= -END OF ast-transform NOTICES AND INFORMATION -%% ast-types 0.7.8 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/ast-types/-/ast-types-0.7.8.tgz) -========================================= -Copyright (c) 2013 Ben Newman +------------------------------------------------------------------- + +------------------------------------------------------------------- + +node-stream-zip 1.8.2 - MIT +https://github.com/antelle/node-stream-zip +Copyright (c) 2015 Antelle https://github.com/antelle +(c) 2015 Antelle https://github.com/antelle/node-stream-zip/blob/master/LICENSE +Copyright (c) 2012 Another-D-Mention Software and other contributors, http://www.another-d-mention.ro +Portions copyright https://github.com/cthackers/adm-zip https://raw.githubusercontent.com/cthackers/adm-zip/master/LICENSE + +Copyright (c) 2015 Antelle https://github.com/antelle Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -2655,18 +32957,48 @@ included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +== dependency license: adm-zip == -========================================= -END OF ast-types NOTICES AND INFORMATION +Copyright (c) 2012 Another-D-Mention Software and other contributors, +http://www.another-d-mention.ro/ -%% async 2.6.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/async/-/async-2.6.2.tgz) -========================================= -Copyright (c) 2010-2018 Caolan McMahon +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +normalize-path 3.0.0 - MIT +https://github.com/jonschlinkert/normalize-path +Copyright (c) 2014-2018, Jon Schlinkert. +Copyright (c) 2018, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2018, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -2686,28 +33018,19 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF async NOTICES AND INFORMATION - -%% async-limiter 1.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz) -========================================= -The MIT License (MIT) -Copyright (c) 2017 Samuel Reed - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF async-limiter NOTICES AND INFORMATION +normalize-path 2.1.1 - MIT +https://github.com/jonschlinkert/normalize-path +Copyright (c) 2014-2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). -%% asynckit 0.4.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2016 Alex Indigo +Copyright (c) 2014-2017, Jon Schlinkert Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -2716,83 +33039,80 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -========================================= -END OF asynckit NOTICES AND INFORMATION - -%% aws-sign2 0.7.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz) -========================================= -Apache License - -Version 2.0, January 2004 - -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -1. Definitions. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. +------------------------------------------------------------------- -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. +------------------------------------------------------------------- -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. +normalize-range 0.1.2 - MIT +https://github.com/jamestalmage/normalize-range#readme +Copyright (c) James Talmage +(c) James Talmage (http://github.com/jamestalmage) -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. +The MIT License (MIT) -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. +Copyright (c) James Talmage (github.com/jamestalmage) -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. +------------------------------------------------------------------- -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. +------------------------------------------------------------------- -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: +normalize-url 4.5.0 - MIT +https://github.com/sindresorhus/normalize-url#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) -You must give any other recipients of the Work or Derivative Works a copy of this License; and +MIT License -You must cause any modified files to carry prominent notices stating that You changed the files; and +Copyright (c) Sindre Sorhus (sindresorhus.com) -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. +------------------------------------------------------------------- -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. +------------------------------------------------------------------- -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. +normalize.css 8.0.1 - MIT +https://necolas.github.io/normalize.css +Copyright (c) Nicolas Gallagher and Jonathan Neal -END OF TERMS AND CONDITIONS -========================================= -END OF aws-sign2 NOTICES AND INFORMATION +# The MIT License (MIT) -%% aws4 1.8.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz) -========================================= -Copyright 2013 Michael Hart (michael.hart.au@gmail.com) +Copyright © Nicolas Gallagher and Jonathan Neal Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in @@ -2812,287 +33132,88 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF aws4 NOTICES AND INFORMATION - -%% azure-storage 2.10.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/azure-storage/-/azure-storage-2.10.3.tgz) -========================================= - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. +------------------------------------------------------------------- - END OF TERMS AND CONDITIONS -========================================= -END OF azure-storage NOTICES AND INFORMATION +------------------------------------------------------------------- -%% babel-polyfill 6.26.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz) -========================================= -MIT License +now-and-later 2.0.1 - MIT +https://github.com/gulpjs/now-and-later#readme +Copyright (c) 2014 Blaine Bublitz, Eric Schoffstall and other contributors -Copyright (c) 2014-2018 Sebastian McKenzie and other contributors +The MIT License (MIT) -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Copyright (c) 2014 Blaine Bublitz, Eric Schoffstall and other contributors -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -========================================= -END OF babel-polyfill NOTICES AND INFORMATION -%% babel-runtime 6.26.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz) -========================================= -MIT License +------------------------------------------------------------------- -Copyright (c) 2014-2018 Sebastian McKenzie and other contributors +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +npm-run-path 2.0.2 - MIT +https://github.com/sindresorhus/npm-run-path#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +The MIT License (MIT) -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Copyright (c) Sindre Sorhus (sindresorhus.com) -========================================= -END OF babel-runtime NOTICES AND INFORMATION +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -%% bail 1.0.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/bail/-/bail-1.0.4.tgz) -========================================= -(The MIT License) +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -Copyright (c) 2015 Titus Wormer +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF bail NOTICES AND INFORMATION +num2fraction 1.2.2 - MIT +https://github.com/yisibl/num2fraction#readme +Copyright (c) 2014 PostCSS -%% balanced-match 1.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz) -========================================= -(MIT) +The MIT License (MIT) -Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> +Copyright (c) 2014 PostCSS -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. @@ -3105,14 +33226,20 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF balanced-match NOTICES AND INFORMATION -%% base16 1.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/base16/-/base16-1.0.0.tgz) -========================================= + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +number-is-nan 1.0.1 - MIT +https://github.com/sindresorhus/number-is-nan#readme +(c) Sindre Sorhus (http://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + The MIT License (MIT) -Copyright (c) 2015 Dan Abramov +Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -3121,25 +33248,65 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +nwsapi 2.1.4 - MIT +http://javascript.nwbox.com/nwsapi/ +Copyright (c) 2007-2017 Diego Perini +Copyright (c) 2007-2019 Diego Perini +Copyright (c) 2007-2019 Diego Perini (http://www.iport.it/) + +Copyright (c) 2007-2019 Diego Perini (http://www.iport.it/) + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + -========================================= -END OF base16 NOTICES AND INFORMATION +------------------------------------------------------------------- + +------------------------------------------------------------------- + +object-assign 4.1.1 - MIT +https://github.com/sindresorhus/object-assign#readme +(c) Sindre Sorhus +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) -%% base64-js 1.3.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2014 +Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -3159,84 +33326,155 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF base64-js NOTICES AND INFORMATION -%% bcrypt-pbkdf 1.0.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz) -========================================= -The Blowfish portions are under the following license: +------------------------------------------------------------------- -Blowfish block cipher for OpenBSD -Copyright 1997 Niels Provos -All rights reserved. +------------------------------------------------------------------- -Implementation advice by David Mazieres . +object-component 0.0.3 - MIT -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -3. The name of the author may not be used to endorse or promote products - derived from this software without specific prior written permission. +MIT License -THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Copyright (c) +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -The bcrypt_pbkdf portions are under the following license: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Copyright (c) 2013 Ted Unangst +------------------------------------------------------------------- -Permission to use, copy, modify, and distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +object-copy 0.1.0 - MIT +https://github.com/jonschlinkert/object-copy +Copyright (c) 2016, Jon Schlinkert. +The MIT License (MIT) +Copyright (c) 2016, Jon Schlinkert. -Performance improvements (Javascript-specific): +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Copyright 2016, Joyent Inc -Author: Alex Wilson +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +object-inspect 1.4.1 - MIT +https://github.com/substack/object-inspect +Copyright Joyent, Inc. and other Node contributors. + +This software is released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +object-inspect 1.7.0 - MIT +https://github.com/substack/object-inspect +Copyright (c) 2013 James Halliday + +MIT License + +Copyright (c) 2013 James Halliday + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +object-keys 1.1.1 - MIT +https://github.com/ljharb/object-keys#readme +Copyright (c) 2013 Jordan Harband + +The MIT License (MIT) + +Copyright (C) 2013 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -Permission to use, copy, modify, and distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF bcrypt-pbkdf NOTICES AND INFORMATION +object-visit 1.0.1 - MIT +https://github.com/jonschlinkert/object-visit +Copyright (c) 2015, 2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) -%% bintrees 1.0.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/bintrees/-/bintrees-1.0.2.tgz) -========================================= -Copyright (C) 2011 by Vadim Graboys +Copyright (c) 2015, 2017, Jon Schlinkert Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -3256,15 +33494,18 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF bintrees NOTICES AND INFORMATION -%% bootstrap-less 3.3.8 NOTICES AND INFORMATION BEGIN HERE (https://github.com/distros/bootstrap-less) -========================================= +------------------------------------------------------------------- + +------------------------------------------------------------------- + +object.assign 4.1.0 - MIT +https://github.com/ljharb/object.assign#readme +Copyright (c) 2014 Jordan Harband + The MIT License (MIT) -Copyright (c) 2011-2019 Twitter, Inc. -Copyright (c) 2011-2019 The Bootstrap Authors +Copyright (c) 2014 Jordan Harband Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -3273,25 +33514,28 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -========================================= -END OF bootstrap-less NOTICES AND INFORMATION +------------------------------------------------------------------- -%% brace-expansion 1.1.11 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz) -========================================= -MIT License +------------------------------------------------------------------- -Copyright (c) 2013 Julian Gruber +object.getownpropertydescriptors 2.0.3 - MIT +https://github.com/ljharb/object.getownpropertydescriptors#readme +Copyright (c) 2015 Jordan Harband + +The MIT License (MIT) + +Copyright (c) 2015 Jordan Harband Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -3311,40 +33555,88 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF brace-expansion NOTICES AND INFORMATION -%% brotli 1.3.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/brotli/-/brotli-1.3.2.tgz) -========================================= -Copyright 2019 brotli developers -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including +------------------------------------------------------------------- + +------------------------------------------------------------------- + +object.pick 1.3.0 - MIT +https://github.com/jonschlinkert/object.pick +Copyright (c) 2014-2016, Jon Schlinkert. +Copyright (c) 2014-2015 Jon Schlinkert, contributors. +Copyright (c) 2016, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2014-2016, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +on-finished 2.3.0 - MIT +https://github.com/jshttp/on-finished +Copyright (c) 2013 Jonathan Ong +Copyright (c) 2014 Douglas Christopher Wilson +Copyright (c) 2013 Jonathan Ong +Copyright (c) 2014 Douglas Christopher Wilson + +(The MIT License) + +Copyright (c) 2013 Jonathan Ong +Copyright (c) 2014 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF brotli NOTICES AND INFORMATION -%% browser-resolve 1.11.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz) -========================================= +------------------------------------------------------------------- + +------------------------------------------------------------------- + +one-time 0.0.4 - MIT +https://github.com/unshiftio/one-time +Copyright (c) 2015 Unshift.io, Arnout Kazemier + The MIT License (MIT) -Copyright (c) 2013-2015 Roman Shtylman +Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -3364,12 +33656,19 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF browser-resolve NOTICES AND INFORMATION -%% browserify-mime 1.2.9 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/browserify-mime/-/browserify-mime-1.2.9.tgz) -========================================= -Copyright (c) 2010 Benjamin Thomas, Robert Kieffer + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +onigasm 2.2.2 - MIT +https://github.com/NeekSandhu/onigasm#readme +Copyright (c) 2018 Neek Sandhu + +The MIT License (MIT) + +Copyright (c) 2018 Neek Sandhu Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -3389,38 +33688,50 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF browserify-mime NOTICES AND INFORMATION -%% browserify-optional 1.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/browserify-optional/-/browserify-optional-1.0.1.tgz) -========================================= -Copyright 2019 browserify-optional developers +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. +optionator 0.8.2 - MIT +https://github.com/gkz/optionator +Copyright (c) George Zahariev -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. +Copyright (c) George Zahariev + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: -========================================= -END OF browserify-optional NOTICES AND INFORMATION +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -%% buffer-equal 0.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz) -========================================= -This software is released under the MIT license: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +ordered-read-streams 1.0.1 - MIT +https://github.com/armed/ordered-read-streams#readme +Copyright (c) 2014 Artem Medeusheyev + +The MIT License (MIT) + +Copyright (c) 2014 Artem Medeusheyev Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in @@ -3439,14 +33750,19 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF buffer-equal NOTICES AND INFORMATION -%% buffer-from 1.1.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz) -========================================= -MIT License +------------------------------------------------------------------- -Copyright (c) 2016, 2018 Linus Unnebäck +------------------------------------------------------------------- + +os-homedir 1.0.2 - MIT +https://github.com/sindresorhus/os-homedir#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -3455,115 +33771,131 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -========================================= -END OF buffer-from NOTICES AND INFORMATION -%% bytes 3.1.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz) -========================================= -(The MIT License) +------------------------------------------------------------------- -Copyright (c) 2012-2014 TJ Holowaychuk -Copyright (c) 2015 Jed Watson +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +os-locale 1.4.0 - MIT +https://github.com/sindresorhus/os-locale +(c) Sindre Sorhus (http://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +The MIT License (MIT) -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +os-tmpdir 1.0.2 - MIT +https://github.com/sindresorhus/os-tmpdir#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +p-any 2.1.0 - MIT +https://github.com/sindresorhus/p-any#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF bytes NOTICES AND INFORMATION -%% cache-content-type 1.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz) -========================================= -MIT +------------------------------------------------------------------- -========================================= -END OF cache-content-type NOTICES AND INFORMATION +------------------------------------------------------------------- -%% canvas 2.6.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/canvas/-/canvas-2.6.0.tgz) -========================================= -This software is released under the MIT license: +p-cancelable 2.0.0 - MIT +https://github.com/sindresorhus/p-cancelable#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +MIT License -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Copyright (c) Sindre Sorhus (sindresorhus.com) -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -========================================= -END OF canvas NOTICES AND INFORMATION +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -%% caseless 0.12.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz) -========================================= -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -1. Definitions. -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: -You must give any other recipients of the Work or Derivative Works a copy of this License; and -You must cause any modified files to carry prominent notices stating that You changed the files; and -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and -If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. -END OF TERMS AND CONDITIONS -========================================= -END OF caseless NOTICES AND INFORMATION +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +p-cancelable 1.1.0 - MIT +https://github.com/sindresorhus/p-cancelable#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) -%% chalk 2.4.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz) -========================================= MIT License Copyright (c) Sindre Sorhus (sindresorhus.com) @@ -3574,103 +33906,71 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF chalk NOTICES AND INFORMATION -%% character-entities-legacy 1.1.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz) -========================================= -(The MIT License) +------------------------------------------------------------------- -Copyright (c) 2015 Titus Wormer +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +p-finally 1.0.0 - MIT +https://github.com/sindresorhus/p-finally#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +The MIT License (MIT) -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Copyright (c) Sindre Sorhus (sindresorhus.com) -========================================= -END OF character-entities-legacy NOTICES AND INFORMATION +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -%% character-reference-invalid 1.1.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz) -========================================= -(The MIT License) +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -Copyright (c) 2015 Titus Wormer +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF character-reference-invalid NOTICES AND INFORMATION +p-limit 2.2.0 - MIT +https://github.com/sindresorhus/p-limit#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) -%% charenc 0.0.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz) -========================================= -Copyright © 2011, Paul Vorbach. All rights reserved. -Copyright © 2009, Jeff Mott. All rights reserved. +MIT License -All rights reserved. +Copyright (c) Sindre Sorhus (sindresorhus.com) -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. -* Neither the name Crypto-JS nor the names of its contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF charenc NOTICES AND INFORMATION -%% classnames 2.2.6 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz) -========================================= +------------------------------------------------------------------- + +------------------------------------------------------------------- + +p-locate 2.0.0 - MIT +https://github.com/sindresorhus/p-locate#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + The MIT License (MIT) -Copyright (c) 2017 Jed Watson +Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -3679,49 +33979,30 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -========================================= -END OF classnames NOTICES AND INFORMATION - -%% clone 1.0.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/clone/-/clone-1.0.4.tgz) -========================================= -Copyright © 2011-2015 Paul Vorbach +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the “Software”), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF clone NOTICES AND INFORMATION +p-locate 3.0.0 - MIT +https://github.com/sindresorhus/p-locate#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) -%% clsx 1.0.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/clsx/-/clsx-1.0.4.tgz) -========================================= MIT License -Copyright (c) Luke Edwards (lukeed.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: @@ -3729,164 +34010,97 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF clsx NOTICES AND INFORMATION - -%% co 4.6.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/co/-/co-4.6.0.tgz) -========================================= -(The MIT License) - -Copyright (c) 2014 TJ Holowaychuk <tj@vision-media.ca> - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF co NOTICES AND INFORMATION +------------------------------------------------------------------- -%% collapse-white-space 1.0.5 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.5.tgz) -========================================= -(The MIT License) +------------------------------------------------------------------- -Copyright (c) 2015 Titus Wormer +p-locate 4.1.0 - MIT +https://github.com/sindresorhus/p-locate#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +MIT License -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +Copyright (c) Sindre Sorhus (sindresorhus.com) -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -========================================= -END OF collapse-white-space NOTICES AND INFORMATION +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -%% color 3.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/color/-/color-3.0.0.tgz) -========================================= -Copyright (c) 2012 Heather Arthur +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- +p-map 3.0.0 - MIT +https://github.com/sindresorhus/p-map#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) -========================================= -END OF color NOTICES AND INFORMATION +MIT License -%% color-convert 1.9.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz) -========================================= -Copyright (c) 2011-2016 Heather Arthur +Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF color-convert NOTICES AND INFORMATION +------------------------------------------------------------------- -%% color-name 1.1.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz) -========================================= -The MIT License (MIT) -Copyright (c) 2015 Dmitry Ivanov +------------------------------------------------------------------- + +p-some 4.1.0 - MIT +https://github.com/sindresorhus/p-some#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF color-name NOTICES AND INFORMATION -%% color-string 1.5.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz) -========================================= -Copyright (c) 2011 Heather Arthur -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +------------------------------------------------------------------- + +p-timeout 3.2.0 - MIT +https://github.com/sindresorhus/p-timeout#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF color-string NOTICES AND INFORMATION +------------------------------------------------------------------- + +p-try 1.0.0 - MIT +https://github.com/sindresorhus/p-try#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) -%% colornames 1.1.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/colornames/-/colornames-1.1.1.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2015 Tim Oxley +Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -3906,69 +34120,38 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF colornames NOTICES AND INFORMATION -%% colors 1.3.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/colors/-/colors-1.3.3.tgz) -========================================= -MIT License +------------------------------------------------------------------- -Original Library - - Copyright (c) Marak Squires +------------------------------------------------------------------- -Additional Functionality - - Copyright (c) Sindre Sorhus (sindresorhus.com) +p-try 2.2.0 - MIT +https://github.com/sindresorhus/p-try#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +MIT License -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +Copyright (c) Sindre Sorhus (sindresorhus.com) -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -========================================= -END OF colors NOTICES AND INFORMATION +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -%% colorspace 1.1.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz) -========================================= -The MIT License (MIT) +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Copyright (c) 2015 Arnout Kazemier, Martijn Swaagman, the Contributors. -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +pako 0.2.9 - MIT +https://github.com/nodeca/pako +Copyright (c) 2014-2016 by Vitaly Puzrin -========================================= -END OF colorspace NOTICES AND INFORMATION +(The MIT License) -%% combined-stream 1.0.8 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz) -========================================= -Copyright (c) 2011 Debuggable Limited +Copyright (C) 2014-2016 by Vitaly Puzrin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -3988,101 +34171,20 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF combined-stream NOTICES AND INFORMATION - -%% compressible 2.0.17 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz) -========================================= -(The MIT License) - -Copyright (c) 2013 Jonathan Ong -Copyright (c) 2014 Jeremiah Senkpiel -Copyright (c) 2015 Douglas Christopher Wilson - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -========================================= -END OF compressible NOTICES AND INFORMATION - -%% concat-map 0.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz) -========================================= -This software is released under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -========================================= -END OF concat-map NOTICES AND INFORMATION - -%% concat-stream 1.6.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz) -========================================= -The MIT License - -Copyright (c) 2013 Max Ogden - -Permission is hereby granted, free of charge, -to any person obtaining a copy of this software and -associated documentation files (the "Software"), to -deal in the Software without restriction, including -without limitation the rights to use, copy, modify, -merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom -the Software is furnished to do so, -subject to the following conditions: -The above copyright notice and this permission notice -shall be included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF concat-stream NOTICES AND INFORMATION +------------------------------------------------------------------- -%% content-disposition 0.5.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz) -========================================= -(The MIT License) +parallel-transform 1.1.0 - MIT +https://github.com/mafintosh/parallel-transform +Copyright 2013 Mathias Buus -Copyright (c) 2014-2017 Douglas Christopher Wilson +Copyright 2013 Mathias Buus Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including +"Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to @@ -4091,26 +34193,28 @@ the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF content-disposition NOTICES AND INFORMATION -%% content-type 1.0.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz) -========================================= -(The MIT License) +------------------------------------------------------------------- -Copyright (c) 2015 Douglas Christopher Wilson +------------------------------------------------------------------- + +parallel-transform 1.2.0 - MIT +https://github.com/mafintosh/parallel-transform#readme +Copyright 2013 Mathias Buus + +Copyright 2013 Mathias Buus Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including +"Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to @@ -4119,105 +34223,59 @@ the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -========================================= -END OF content-type NOTICES AND INFORMATION - -%% convert-source-map 1.6.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz) -========================================= -Copyright 2013 Thorsten Lorenz. -All rights reserved. - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -========================================= -END OF convert-source-map NOTICES AND INFORMATION - -%% cookies 0.8.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz) -========================================= -(The MIT License) +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Copyright (c) 2014 Jed Schmidt, http://jed.is/ -Copyright (c) 2015-2016 Douglas Christopher Wilson -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +parse-json 2.2.0 - MIT +https://github.com/sindresorhus/parse-json +(c) Sindre Sorhus (http://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) -========================================= -END OF cookies NOTICES AND INFORMATION +The MIT License (MIT) -%% core-util-is 1.0.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz) -========================================= -Copyright Node.js contributors. All rights reserved. +Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- -========================================= -END OF core-util-is NOTICES AND INFORMATION +parse-passwd 1.0.0 - MIT +https://github.com/doowb/parse-passwd +Copyright (c) 2016 Brian Woodward +Copyright (c) 2016, Brian Woodward (https://github.com/doowb). -%% create-emotion 9.2.12 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/create-emotion/-/create-emotion-9.2.12.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2016 Kye Hohenberger +Copyright (c) 2016 Brian Woodward Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -4237,12 +34295,16 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF create-emotion NOTICES AND INFORMATION -%% create-react-context 0.3.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/create-react-context/-/create-react-context-0.3.0.tgz) -========================================= -Copyright (c) 2017-present James Kyle +------------------------------------------------------------------- + +------------------------------------------------------------------- + +parse5 3.0.3 - MIT +https://github.com/inikulin/parse5 +Copyright (c) 2013-2016 Ivan Nikulin (ifaaan@gmail.com, https://github.com/inikulin) + +Copyright (c) 2013-2016 Ivan Nikulin (ifaaan@gmail.com, https://github.com/inikulin) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -4251,61 +34313,60 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -========================================= -END OF create-react-context NOTICES AND INFORMATION -%% crypt 0.0.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz) -========================================= -Copyright © 2011, Paul Vorbach. All rights reserved. -Copyright © 2009, Jeff Mott. All rights reserved. +------------------------------------------------------------------- -All rights reserved. +------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +parseqs 0.0.5 - MIT +https://github.com/get/querystring +Copyright (c) 2015 Gal Koren -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. -* Neither the name Crypto-JS nor the names of its contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +The MIT License (MIT) -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Copyright (c) 2015 Gal Koren -========================================= -END OF crypt NOTICES AND INFORMATION +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -%% crypto-js 3.1.9-1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/crypto-js/-/crypto-js-3.1.9-1.tgz) -========================================= -# License +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -[The MIT License (MIT)](http://opensource.org/licenses/MIT) +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -Copyright (c) 2009-2013 Jeff Mott -Copyright (c) 2013-2016 Evan Vosberg + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +parseuri 0.0.5 - MIT +https://github.com/get/parseuri +Copyright (c) 2014 Gal Koren + +The MIT License (MIT) + +Copyright (c) 2014 Gal Koren Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -4325,12 +34386,23 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF crypto-js NOTICES AND INFORMATION -%% css-loader 1.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz) -========================================= -Copyright JS Foundation and other contributors +------------------------------------------------------------------- + +------------------------------------------------------------------- + +parseurl 1.3.3 - MIT +https://github.com/pillarjs/parseurl#readme +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2014-2017 Douglas Christopher Wilson +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2014-2017 Douglas Christopher Wilson + + +(The MIT License) + +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2014-2017 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -4351,840 +34423,663 @@ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF css-loader NOTICES AND INFORMATION -%% d3 3.5.17 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3/-/d3-3.5.17.tgz) -========================================= -Copyright (c) 2010-2016, Michael Bostock -All rights reserved. +------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +------------------------------------------------------------------- -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +parso 0.7.0 - MIT +Copyright (c) <2013-2017> +Copyright 2006 Google, Inc. +copyright u'parso contributors +Copyright (c) 2010 by Armin Ronacher. +Copyright David Halter and Contributors +Copyright 2004-2005 Elemental Security, Inc. +Copyright 2014 David Halter and Contributors +Copyright (c) 2014-2016 Ian Lee +Copyright (c) 2017-???? Dave Halter +Copyright (c) 2006-2009 Johann C. Rocholl +Copyright 2010 by Armin Ronacher. :license Flask Design License +Copyright (c) 2009-2014 Florent Xicluna +Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Python Software Foundation -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +All contributions towards parso are MIT licensed. -* The name Michael Bostock may not be used to endorse or promote products - derived from this software without specific prior written permission. +Some Python files have been taken from the standard library and are therefore +PSF licensed. Modifications on these files are dual licensed (both MIT and +PSF). These files are: -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL MICHAEL BOSTOCK BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +- parso/pgen2/* +- parso/tokenize.py +- parso/token.py +- test/test_pgen2.py -========================================= -END OF d3 NOTICES AND INFORMATION +Also some test files under test/normalizer_issue_files have been copied from +https://github.com/PyCQA/pycodestyle (Expat License == MIT License). -%% d3-array 1.2.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz) -========================================= -Copyright 2010-2016 Mike Bostock -All rights reserved. +------------------------------------------------------------------------------- +The MIT License (MIT) -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +Copyright (c) <2013-2017> -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------------------- -========================================= -END OF d3-array NOTICES AND INFORMATION +PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 +-------------------------------------------- -%% d3-bboxCollide 1.0.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-bboxCollide/-/d3-bboxCollide-1.0.4.tgz) -========================================= -This is free and unencumbered software released into the public domain. +1. This LICENSE AGREEMENT is between the Python Software Foundation +("PSF"), and the Individual or Organization ("Licensee") accessing and +otherwise using this software ("Python") in source or binary form and +its associated documentation. -Anyone is free to copy, modify, publish, use, compile, sell, or -distribute this software, either in source code form or as a compiled -binary, for any purpose, commercial or non-commercial, and by any -means. +2. Subject to the terms and conditions of this License Agreement, PSF hereby +grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, +analyze, test, perform and/or display publicly, prepare derivative works, +distribute, and otherwise use Python alone or in any derivative version, +provided, however, that PSF's License Agreement and PSF's notice of copyright, +i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, +2011, 2012, 2013, 2014, 2015 Python Software Foundation; All Rights Reserved" +are retained in Python alone or in any derivative version prepared by Licensee. -In jurisdictions that recognize copyright laws, the author or authors -of this software dedicate any and all copyright interest in the -software to the public domain. We make this dedication for the benefit -of the public at large and to the detriment of our heirs and -successors. We intend this dedication to be an overt act of -relinquishment in perpetuity of all present and future rights to this -software under copyright law. +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. +4. PSF is making Python available to Licensee on an "AS IS" +basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. -For more information, please refer to +5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. -========================================= -END OF d3-bboxCollide NOTICES AND INFORMATION +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. -%% d3-brush 1.0.6 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-brush/-/d3-brush-1.0.6.tgz) -========================================= -Copyright 2010-2016 Mike Bostock -All rights reserved. +7. Nothing in this License Agreement shall be deemed to create any +relationship of agency, partnership, or joint venture between PSF and +Licensee. This License Agreement does not grant permission to use PSF +trademarks or trade name in a trademark sense to endorse or promote +products or services of Licensee, or any third party. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +8. By copying, installing or otherwise using Python, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +Copyright (c) 2010 by Armin Ronacher. -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +Some rights reserved. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Redistribution and use in source and binary forms of the theme, with or +without modification, are permitted provided that the following conditions +are met: + +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + +* The names of the contributors may not be used to endorse or + promote products derived from this software without specific + prior written permission. + +We kindly ask you to only use these themes in an unmodified manner just +for Flask and Flask-related products, not for unrelated projects. If you +like the visual style and want to use it for your own projects, please +consider making some larger changes to the themes (such as changing +font faces, sizes, colors or margins). + +THIS THEME IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS THEME, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +pascalcase 0.1.1 - MIT +https://github.com/jonschlinkert/pascalcase +Copyright (c) 2015 Jon Schlinkert +Copyright (c) 2015, Jon Schlinkert. + +The MIT License (MIT) + +Copyright (c) 2015, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -========================================= -END OF d3-brush NOTICES AND INFORMATION +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -%% d3-chord 1.0.6 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.6.tgz) -========================================= -Copyright 2010-2016 Mike Bostock -All rights reserved. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +------------------------------------------------------------------- -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +------------------------------------------------------------------- -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +path-dirname 1.0.2 - MIT +https://github.com/es128/path-dirname#readme +Copyright (c) Elan Shanker and Node.js contributors. -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The MIT License (MIT) -========================================= -END OF d3-chord NOTICES AND INFORMATION +Copyright (c) Elan Shanker and Node.js contributors. All rights reserved. -%% d3-cloud 1.2.5 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-cloud/-/d3-cloud-1.2.5.tgz) -========================================= -Copyright (c) 2013, Jason Davies. -All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * The name Jason Davies may not be used to endorse or promote products - derived from this software without specific prior written permission. +------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL JASON DAVIES BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- -========================================= -END OF d3-cloud NOTICES AND INFORMATION +path-exists 4.0.0 - MIT +https://github.com/sindresorhus/path-exists#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) -%% d3-collection 1.0.7 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.7.tgz) -========================================= -Copyright 2010-2016, Mike Bostock -All rights reserved. +MIT License -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +Copyright (c) Sindre Sorhus (sindresorhus.com) -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -========================================= -END OF d3-collection NOTICES AND INFORMATION +------------------------------------------------------------------- -%% d3-color 1.2.8 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-color/-/d3-color-1.2.8.tgz) -========================================= -Copyright 2010-2016 Mike Bostock -All rights reserved. +------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +path-exists 3.0.0 - MIT +https://github.com/sindresorhus/path-exists#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +The MIT License (MIT) -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +Copyright (c) Sindre Sorhus (sindresorhus.com) -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -========================================= -END OF d3-color NOTICES AND INFORMATION +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -%% d3-contour 1.3.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-contour/-/d3-contour-1.3.2.tgz) -========================================= -Copyright 2012-2017 Mike Bostock -All rights reserved. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +------------------------------------------------------------------- -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +------------------------------------------------------------------- -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +path-is-absolute 1.0.1 - MIT +https://github.com/sindresorhus/path-is-absolute#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +The MIT License (MIT) -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Copyright (c) Sindre Sorhus (sindresorhus.com) -========================================= -END OF d3-contour NOTICES AND INFORMATION +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -%% d3-delaunay 5.1.6 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-5.1.6.tgz) -========================================= -Copyright 2018 Observable, Inc. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. -========================================= -END OF d3-delaunay NOTICES AND INFORMATION +------------------------------------------------------------------- -%% d3-dispatch 1.0.5 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.5.tgz) -========================================= -Copyright 2010-2016 Mike Bostock -All rights reserved. +------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +path-key 2.0.1 - MIT +https://github.com/sindresorhus/path-key#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +The MIT License (MIT) -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +Copyright (c) Sindre Sorhus (sindresorhus.com) -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -========================================= -END OF d3-dispatch NOTICES AND INFORMATION +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -%% d3-drag 1.2.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.3.tgz) -========================================= -Copyright 2010-2016 Mike Bostock -All rights reserved. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +------------------------------------------------------------------- -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +------------------------------------------------------------------- -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +path-key 3.1.1 - MIT +https://github.com/sindresorhus/path-key#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +MIT License -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Copyright (c) Sindre Sorhus (sindresorhus.com) -========================================= -END OF d3-drag NOTICES AND INFORMATION +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -%% d3-dsv 0.1.14 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-dsv/-/d3-dsv-0.1.14.tgz) -========================================= -Copyright 2013-2015 Mike Bostock -All rights reserved. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +------------------------------------------------------------------- -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +path-parse 1.0.6 - MIT +https://github.com/jbgutierrez/path-parse#readme +Copyright (c) 2015 Javier Blanco +(c) Javier Blanco (http://jbgutierrez.info) -========================================= -END OF d3-dsv NOTICES AND INFORMATION +The MIT License (MIT) -%% d3-ease 1.0.5 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.5.tgz) -========================================= -Copyright 2010-2016 Mike Bostock -Copyright 2001 Robert Penner -All rights reserved. +Copyright (c) 2015 Javier Blanco -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- -========================================= -END OF d3-ease NOTICES AND INFORMATION +------------------------------------------------------------------- -%% d3-force 1.2.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-force/-/d3-force-1.2.1.tgz) -========================================= -Copyright 2010-2016 Mike Bostock -All rights reserved. +path-to-regexp 1.8.0 - MIT +https://github.com/pillarjs/path-to-regexp#readme +Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +The MIT License (MIT) -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -========================================= -END OF d3-force NOTICES AND INFORMATION -%% d3-format 1.3.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-format/-/d3-format-1.3.2.tgz) -========================================= -Copyright 2010-2015 Mike Bostock -All rights reserved. +------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +------------------------------------------------------------------- -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +pathval 1.1.0 - MIT +https://github.com/chaijs/pathval +Copyright (c) 2011-2013 Jake Luer jake@alogicalparadox.com +Copyright (c) 2012-2014 Jake Luer -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +MIT License -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +Copyright (c) 2011-2013 Jake Luer jake@alogicalparadox.com -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the following conditions: -========================================= -END OF d3-format NOTICES AND INFORMATION +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. -%% d3-geo 1.11.6 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-geo/-/d3-geo-1.11.6.tgz) -========================================= -Copyright 2010-2016 Mike Bostock -All rights reserved. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +------------------------------------------------------------------- -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +------------------------------------------------------------------- -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +pdfkit 0.11.0 - MIT +http://pdfkit.org/ +(c) 2012 by Cedric Mesnil. +Copyright 2013 Google Inc. +Copyright (c) 2011 Devon Govett +Copyright (c) 2014 Devon Govett +copyright (c) 2019 Denis Pushkarev +Copyright (c) 2014-present, Facebook, Inc. +(c) 1995-2013 Jean-loup Gailly and Mark Adler +(c) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +Copyright (c) 2009 Thomas Robinson <280north.com> +Copyright Joyent, Inc. and other Node contributors. +Copyright (c) 1985, 1987, 1988, 1989, 1997 Adobe Systems Incorporated. +Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. +Copyright (c) 1989, 1990, 1991, 1993, 1997 Adobe Systems Incorporated. +Copyright (c) 1985, 1987, 1989, 1990, 1993, 1997 Adobe Systems Incorporated. +Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +MIT LICENSE +Copyright (c) 2014 Devon Govett -This license applies to GeographicLib, versions 1.12 and later. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -Copyright (c) 2008-2012, Charles Karney +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF d3-geo NOTICES AND INFORMATION +pend 1.2.0 - MIT +Copyright (c) 2014 Andrew Kelley -%% d3-glyphedge 1.2.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-glyphedge/-/d3-glyphedge-1.2.0.tgz) -========================================= -This is free and unencumbered software released into the public domain. +The MIT License (Expat) -Anyone is free to copy, modify, publish, use, compile, sell, or -distribute this software, either in source code form or as a compiled -binary, for any purpose, commercial or non-commercial, and by any -means. +Copyright (c) 2014 Andrew Kelley -In jurisdictions that recognize copyright laws, the author or authors -of this software dedicate any and all copyright interest in the -software to the public domain. We make this dedication for the benefit -of the public at large and to the detriment of our heirs and -successors. We intend this dedication to be an overt act of -relinquishment in perpetuity of all present and future rights to this -software under copyright law. +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation files +(the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of the Software, +and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -For more information, please refer to +------------------------------------------------------------------- -========================================= -END OF d3-glyphedge NOTICES AND INFORMATION +------------------------------------------------------------------- -%% d3-hexbin 0.2.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-hexbin/-/d3-hexbin-0.2.2.tgz) -========================================= -Copyright Mike Bostock, 2012-2016 -All rights reserved. +performance-now 0.2.0 - MIT +https://github.com/meryn/performance-now +Copyright (c) 2013 Meryn Stol -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +Copyright (c) 2013 Meryn Stol -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- -========================================= -END OF d3-hexbin NOTICES AND INFORMATION +------------------------------------------------------------------- -%% d3-hierarchy 1.1.8 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.8.tgz) -========================================= -Copyright 2010-2016 Mike Bostock -All rights reserved. +performance-now 2.1.0 - MIT +https://github.com/braveg1rl/performance-now +Copyright (c) 2013 Braveg1rl +Copyright (c) 2017 Braveg1rl -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +Copyright (c) 2013 Braveg1rl -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- -========================================= -END OF d3-hierarchy NOTICES AND INFORMATION +------------------------------------------------------------------- -%% d3-interpolate 1.3.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.3.2.tgz) -========================================= -Copyright 2010-2016 Mike Bostock -All rights reserved. +pidusage 1.2.0 - MIT +https://github.com/soyuka/pidusage +Copyright (c) 2014 -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +The MIT License (MIT) -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +Copyright (c) 2014 soyuka + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- -========================================= -END OF d3-interpolate NOTICES AND INFORMATION +------------------------------------------------------------------- -%% d3-path 1.0.7 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-path/-/d3-path-1.0.7.tgz) -========================================= -Copyright 2015-2016 Mike Bostock -All rights reserved. +pify 3.0.0 - MIT +https://github.com/sindresorhus/pify#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +MIT License -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +Copyright (c) Sindre Sorhus (sindresorhus.com) -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF d3-path NOTICES AND INFORMATION -%% d3-polygon 1.0.5 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.5.tgz) -========================================= -Copyright 2010-2016 Mike Bostock -All rights reserved. +------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +------------------------------------------------------------------- -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +pify 2.3.0 - MIT +https://github.com/sindresorhus/pify +(c) Sindre Sorhus (http://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +The MIT License (MIT) -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +Copyright (c) Sindre Sorhus (sindresorhus.com) -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -========================================= -END OF d3-polygon NOTICES AND INFORMATION +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -%% d3-quadtree 1.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.1.tgz) -========================================= -Copyright 2010-2016 Mike Bostock -All rights reserved. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +------------------------------------------------------------------- -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +------------------------------------------------------------------- -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +pinkie 2.0.4 - MIT +(c) Vsevolod Strukchinsky (http://github.com/floatdrop) +Copyright (c) Vsevolod Strukchinsky -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The MIT License (MIT) -========================================= -END OF d3-quadtree NOTICES AND INFORMATION +Copyright (c) Vsevolod Strukchinsky (github.com/floatdrop) -%% d3-request 1.0.6 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-request/-/d3-request-1.0.6.tgz) -========================================= -Copyright 2010-2016 Mike Bostock -All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- -========================================= -END OF d3-request NOTICES AND INFORMATION +pinkie-promise 2.0.1 - MIT +https://github.com/floatdrop/pinkie-promise +(c) Vsevolod Strukchinsky (http://github.com/floatdrop) +Copyright (c) Vsevolod Strukchinsky -%% d3-sankey-circular 0.25.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-sankey-circular/-/d3-sankey-circular-0.25.0.tgz) -========================================= -MIT License +The MIT License (MIT) -Copyright (c) 2017 Tom Shanley +Copyright (c) Vsevolod Strukchinsky (github.com/floatdrop) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -5193,366 +35088,314 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -========================================= -END OF d3-sankey-circular NOTICES AND INFORMATION -%% d3-scale 2.2.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-scale/-/d3-scale-2.2.2.tgz) -========================================= -Copyright 2010-2015 Mike Bostock -All rights reserved. +------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +------------------------------------------------------------------- -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +pixrem 4.0.1 - MIT +https://github.com/robwierzbowski/node-pixrem +Copyright (c) 2013 Robert Wierzbowski, contributors -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +Copyright (c) 2013 Robert Wierzbowski, contributors -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -========================================= -END OF d3-scale NOTICES AND INFORMATION +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. -%% d3-scale-chromatic 1.5.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-1.5.0.tgz) -========================================= -Copyright 2010-2018 Mike Bostock -All rights reserved. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +------------------------------------------------------------------- -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +------------------------------------------------------------------- -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +pkg-dir 4.2.0 - MIT +https://github.com/sindresorhus/pkg-dir#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +MIT License -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Copyright (c) Sindre Sorhus (sindresorhus.com) -Apache-Style Software License for ColorBrewer software and ColorBrewer Color -Schemes +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -Copyright (c) 2002 Cynthia Brewer, Mark Harrower, and The Pennsylvania State -University. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +pleeease-filters 4.0.0 - MIT +https://github.com/iamvdo/pleeease-filters#readme +Copyright (c) 2012 - 2013 Christian Schepp Schaefer +(c) 2014 Vincent De Oliveira · iamvdo (https://github.com/iamvdo) + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at +------------------------------------------------------------------- -http://www.apache.org/licenses/LICENSE-2.0 +plotly.js-dist 1.54.5 - MIT +https://github.com/plotly/plotly.js#readme +(c) Va Y +(c) Wa Y +(c) Sindre Sorhus +Copyright 2018 Mike Bostock +Copyright 2019 Mike Bostock. +Copyright (c) 2011 Google Inc. +Copyright (c) 2014-2015, Jon Schlinkert. +Copyright (c) 2009 Thomas Robinson <280north.com> +Copyright Joyent, Inc. and other Node contributors. +copyright 2016 Sean Connelly (@voidqk), http://syntheti.cc +Copyright (c) 2010-2013 Arthur Clemens, arthur@visiblearea.com +(c) Copyright 2016, Sean Connelly (@voidqk), http://syntheti.cc +(c) Copyright 2017, Sean Connelly (@voidqk), http://syntheti.cc +Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors -Unless required by applicable law or agreed to in writing, software distributed -under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -CONDITIONS OF ANY KIND, either express or implied. See the License for the -specific language governing permissions and limitations under the License. +The MIT License (MIT) -========================================= -END OF d3-scale-chromatic NOTICES AND INFORMATION +Copyright (c) 2020 Plotly, Inc -%% d3-selection 1.4.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.0.tgz) -========================================= -Copyright (c) 2010-2018, Michael Bostock -All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -* The name Michael Bostock may not be used to endorse or promote products - derived from this software without specific prior written permission. +------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL MICHAEL BOSTOCK BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- -========================================= -END OF d3-selection NOTICES AND INFORMATION +pn 1.1.0 - MIT +https://github.com/cscott/node-pn#readme +Copyright (c) 2014-2018 C. Scott Ananian -%% d3-shape 1.3.5 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.5.tgz) -========================================= -Copyright 2010-2015 Mike Bostock -All rights reserved. +MIT License -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +Copyright (c) -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- -========================================= -END OF d3-shape NOTICES AND INFORMATION +------------------------------------------------------------------- -%% d3-time 1.0.11 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-time/-/d3-time-1.0.11.tgz) -========================================= -Copyright 2010-2016 Mike Bostock -All rights reserved. +png-js 1.0.0 - MIT +https://github.com/devongovett/png.js#readme +Copyright (c) 2011 Devon Govett +Copyright (c) 2017 Devon Govett +Copyright (c) 2011 Mozilla Foundation -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +MIT License -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +Copyright (c) 2017 Devon Govett -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -========================================= -END OF d3-time NOTICES AND INFORMATION -%% d3-time-format 2.1.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.1.3.tgz) -========================================= -Copyright 2010-2017 Mike Bostock -All rights reserved. +------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +------------------------------------------------------------------- -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +pngjs 3.4.0 - MIT +https://github.com/lukeapage/pngjs +Copyright (c) 2015 Luke Page +Copyright (c) 2012 Kuba Niegowski +(c) 1995-2013 Jean-loup Gailly and Mark Adler +(c) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +Copyright (c) 2009 Thomas Robinson <280north.com> +Copyright Joyent, Inc. and other Node contributors. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +pngjs2 original work Copyright (c) 2015 Luke Page & Original Contributors +pngjs derived work Copyright (c) 2012 Kuba Niegowski -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -========================================= -END OF d3-time-format NOTICES AND INFORMATION +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -%% d3-timer 1.0.9 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.9.tgz) -========================================= -Copyright 2010-2016 Mike Bostock -All rights reserved. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +------------------------------------------------------------------- -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +------------------------------------------------------------------- -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +popper.js 1.16.0 - MIT +https://popper.js.org/ +copyright 2016 Federico Zivolo +Copyright (c) Federico Zivolo 2019 +Copyright (c) 2016 Federico Zivolo and contributors -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +MIT License -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Copyright (c) -========================================= -END OF d3-timer NOTICES AND INFORMATION +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -%% d3-transition 1.2.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-transition/-/d3-transition-1.2.0.tgz) -========================================= -Copyright (c) 2010-2015, Michael Bostock -All rights reserved. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +------------------------------------------------------------------- -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +------------------------------------------------------------------- -* The name Michael Bostock may not be used to endorse or promote products - derived from this software without specific prior written permission. +portfinder 1.0.25 - MIT +https://github.com/indexzero/node-portfinder#readme +(c) 2011, Charlie Robbins +Copyright (c) 2012 Charlie Robbins -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL MICHAEL BOSTOCK BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +node-portfinder -TERMS OF USE - EASING EQUATIONS +Copyright (c) 2012 Charlie Robbins -Open source under the BSD License. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -Copyright 2001 Robert Penner -All rights reserved. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +------------------------------------------------------------------- -- Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +------------------------------------------------------------------- -- Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +posix-character-classes 0.1.1 - MIT +https://github.com/jonschlinkert/posix-character-classes +Copyright (c) 2016-2017, Jon Schlinkert +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The MIT License (MIT) -========================================= -END OF d3-transition NOTICES AND INFORMATION +Copyright (c) 2016-2017, Jon Schlinkert -%% d3-voronoi 1.1.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.4.tgz) -========================================= -Copyright 2010-2016 Mike Bostock -All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -* Neither the name of the author nor the names of contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- -Copyright (C) 2010-2013 Raymond Hill -https://github.com/gorhill/Javascript-Voronoi +postcss 6.0.23 - MIT +https://postcss.org/ +Copyright 2013 Andrey Sitnik -Licensed under The MIT License -http://en.wikipedia.org/wiki/MIT_License +The MIT License (MIT) + +Copyright 2013 Andrey Sitnik Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in @@ -5571,78 +35414,48 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF d3-voronoi NOTICES AND INFORMATION - -%% dashdash 1.14.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz) -========================================= -# This is the MIT license - -Copyright (c) 2013 Trent Mick. All rights reserved. -Copyright (c) 2013 Joyent Inc. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +postcss 7.0.27 - MIT +https://postcss.org/ +Copyright 2013 Andrey Sitnik +The MIT License (MIT) -========================================= -END OF dashdash NOTICES AND INFORMATION +Copyright 2013 Andrey Sitnik -%% datalib 1.9.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/datalib/-/datalib-1.9.2.tgz) -========================================= -Copyright (c) 2015, University of Washington Interactive Data Lab -All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- -========================================= -END OF datalib NOTICES AND INFORMATION +postcss-attribute-case-insensitive 2.0.0 - MIT +https://github.com/Semigradsky/postcss-attribute-case-insensitive#readme +Copyright 2016 Dmitry Semigradsky -%% debugpy 1.0.0a2 NOTICES AND INFORMATION BEGIN HERE (https://github.com/Microsoft/debugpy/tree/v1.0.0a2) -========================================= -Copyright (c) Microsoft Corporation -All rights reserved. +The MIT License (MIT) -MIT License +Copyright 2016 Dmitry Semigradsky Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in @@ -5654,19 +35467,25 @@ subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF debugpy NOTICES AND INFORMATION -%% deep-equal 1.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz) -========================================= -This software is released under the MIT license: +------------------------------------------------------------------- + +------------------------------------------------------------------- + +postcss-calc 6.0.2 - MIT +https://github.com/postcss/postcss-calc#readme +Copyright (c) 2014 Maxime Thirouin + +The MIT License (MIT) + +Copyright (c) 2014 Maxime Thirouin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in @@ -5685,16 +35504,18 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF deep-equal NOTICES AND INFORMATION -%% deep-is 0.1.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz) -========================================= -Copyright (c) 2012, 2013 Thorsten Lorenz -Copyright (c) 2012 James Halliday -Copyright (c) 2009 Thomas Robinson <280north.com> +------------------------------------------------------------------- -This software is released under the MIT license: +------------------------------------------------------------------- + +postcss-color-function 4.1.0 - MIT +https://github.com/postcss/postcss-color-function#readme +Copyright (c) 2017 Maxime Thirouin & Ian Storm Taylor + +The MIT License (MIT) + +Copyright (c) 2017 Maxime Thirouin & Ian Storm Taylor Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in @@ -5713,59 +35534,48 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF deep-is NOTICES AND INFORMATION -%% define-properties 1.1.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz) -========================================= +------------------------------------------------------------------- + +------------------------------------------------------------------- + +postcss-color-hex-alpha 3.0.0 - MIT +https://github.com/postcss/postcss-color-hex-alpha#readme +Copyright (c) 2014 Maxime Thirouin + The MIT License (MIT) -Copyright (C) 2015 Jordan Harband +Copyright (c) 2014 Maxime Thirouin -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -========================================= -END OF define-properties NOTICES AND INFORMATION +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -%% delaunator 4.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/delaunator/-/delaunator-4.0.1.tgz) -========================================= -ISC License -Copyright (c) 2017, Mapbox +------------------------------------------------------------------- -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. +postcss-color-hsl 2.0.0 - MIT +https://github.com/dmarchena/postcss-color-hsl +Copyright (c) 2016 David Marchena -========================================= -END OF delaunator NOTICES AND INFORMATION +MIT License -%% delayed-stream 1.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz) -========================================= -Copyright (c) 2011 Debuggable Limited +Copyright (c) 2016 David Marchena Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -5774,202 +35584,119 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -========================================= -END OF delayed-stream NOTICES AND INFORMATION - -%% delegates 1.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz) -========================================= -Copyright (c) 2015 TJ Holowaychuk - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -========================================= -END OF delegates NOTICES AND INFORMATION - -%% depd 1.1.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/depd/-/depd-1.1.2.tgz) -========================================= -(The MIT License) - -Copyright (c) 2014-2017 Douglas Christopher Wilson - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF depd NOTICES AND INFORMATION +------------------------------------------------------------------- -%% destroy 1.0.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz) -========================================= +postcss-color-hwb 3.0.0 - MIT +https://github.com/postcss/postcss-color-hwb#readme +Copyright (c) 2014 Maxime Thirouin The MIT License (MIT) -Copyright (c) 2014 Jonathan Ong me@jongleberry.com +Copyright (c) 2014 Maxime Thirouin -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -========================================= -END OF destroy NOTICES AND INFORMATION - -%% detect-indent 6.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz) -========================================= -MIT License +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +postcss-color-rebeccapurple 3.1.0 - MIT +https://github.com/postcss/postcss-color-rebeccapurple#readme +Copyright (c) 2014 Maxime Thirouin -========================================= -END OF detect-indent NOTICES AND INFORMATION +The MIT License (MIT) -%% dfa 1.2.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz) -========================================= -Copyright 2019 dfa developers +Copyright (c) 2014 Maxime Thirouin -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF dfa NOTICES AND INFORMATION -%% diagnostic-channel 0.2.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/diagnostic-channel/-/diagnostic-channel-0.2.0.tgz) -========================================= - MIT License +------------------------------------------------------------------- - Copyright (c) Microsoft Corporation. All rights reserved. +------------------------------------------------------------------- - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +postcss-color-rgb 2.0.0 - MIT +https://github.com/dmarchena/postcss-color-rgb +Copyright 2016 David Marchena - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. +The MIT License (MIT) - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE +Copyright 2016 David Marchena -========================================= -END OF diagnostic-channel NOTICES AND INFORMATION +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: -%% diagnostic-channel-publishers 0.2.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/diagnostic-channel-publishers/-/diagnostic-channel-publishers-0.2.1.tgz) -========================================= - MIT License +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - Copyright (c) Microsoft Corporation. All rights reserved. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. +------------------------------------------------------------------- - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE +------------------------------------------------------------------- -========================================= -END OF diagnostic-channel-publishers NOTICES AND INFORMATION +postcss-color-rgba-fallback 3.0.0 - MIT +https://github.com/postcss/postcss-color-rgba-fallback#readme +Copyright (c) 2015 Guillaume Demesy -%% diagnostics 1.1.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/diagnostics/-/diagnostics-1.1.1.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2015 Arnout Kazemier, Martijn Swaagman, the Contributors. +Copyright (c) 2015 Guillaume Démésy Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in @@ -5988,221 +35715,109 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF diagnostics NOTICES AND INFORMATION - -%% diff-match-patch 1.0.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.4.tgz) -========================================= - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +------------------------------------------------------------------- - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +------------------------------------------------------------------- - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +postcss-cssnext 3.1.0 - MIT +http://cssnext.io/ +Copyright (c) 2014 Maxime Thirouin - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +The MIT License (MIT) - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +Copyright (c) 2014 Maxime Thirouin - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. +------------------------------------------------------------------- - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +------------------------------------------------------------------- - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. +postcss-custom-media 6.0.0 - MIT +https://github.com/postcss/postcss-custom-media#readme +Copyright (c) 2017 Maxime Thirouin & Nicolas Gallagher - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: +The MIT License (MIT) - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and +Copyright (c) 2017 Maxime Thirouin & Nicolas Gallagher - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +------------------------------------------------------------------- - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. +------------------------------------------------------------------- - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. +postcss-custom-properties 6.3.1 - MIT +https://github.com/postcss/postcss-custom-properties#readme +Copyright (c) 2017 Maxime Thirouin, Nicolas Gallagher & TJ Holowaychuk - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. +The MIT License (MIT) - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. +Copyright (c) 2017 Maxime Thirouin, Nicolas Gallagher & TJ Holowaychuk - END OF TERMS AND CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: - APPENDIX: How to apply the Apache License to your work. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - Copyright [yyyy] [name of copyright owner] - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at +------------------------------------------------------------------- - http://www.apache.org/licenses/LICENSE-2.0 +------------------------------------------------------------------- - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -========================================= -END OF diff-match-patch NOTICES AND INFORMATION +postcss-custom-selectors 4.0.1 - MIT +https://github.com/postcss/postcss-custom-selectors#readme +Copyright (c) 2017 PostCSS -%% dom-helpers 3.4.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2015 Jason Quense +Copyright (c) 2017 PostCSS Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -6221,71 +35836,140 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF dom-helpers NOTICES AND INFORMATION -%% dom4 2.1.5 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/dom4/-/dom4-2.1.5.tgz) -========================================= -Copyright (C) 2013-2015 by Andrea Giammarchi - @WebReflection -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +------------------------------------------------------------------- + +------------------------------------------------------------------- + +postcss-font-variant 3.0.0 - MIT +https://github.com/postcss/postcss-font-variant#readme +Copyright (c) 2014 Maxime Thirouin & Ian Storm Taylor + +The MIT License (MIT) + +Copyright (c) 2014 Maxime Thirouin & Ian Storm Taylor + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF dom4 NOTICES AND INFORMATION -%% duplexer2 0.1.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz) -========================================= -Copyright (c) 2013, Deoxxa Development -====================================== -All rights reserved. --------------------- +------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -3. Neither the name of Deoxxa Development nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY DEOXXA DEVELOPMENT ''AS IS'' AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL DEOXXA DEVELOPMENT BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +postcss-image-set-polyfill 0.3.5 - MIT +https://github.com/SuperOl3g/postcss-image-set-polyfill#readme +Copyright 2015 Alex + +The MIT License (MIT) + +Copyright 2015 Alex + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- -========================================= -END OF duplexer2 NOTICES AND INFORMATION +------------------------------------------------------------------- + +postcss-import 12.0.1 - MIT +https://github.com/postcss/postcss-import#readme +Copyright (c) Maxime Thirouin, Jason Campbell & Kevin Martensson -%% ecc-jsbn 0.1.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2014 Jeremie Miller +Copyright (c) Maxime Thirouin, Jason Campbell & Kevin Mårtensson + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +postcss-initial 2.0.0 - MIT +https://github.com/maximkoretskiy/postcss-initial#readme +Copyright 2015 Maksim Koretskiy + +The MIT License (MIT) + +Copyright 2015 Maksim Koretskiy + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +postcss-load-config 2.1.0 - MIT +https://github.com/michael-ciniawsky/postcss-load-config#readme +Copyright (c) Michael Ciniawsky + +License (MIT) + +Copyright (c) Michael Ciniawsky Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -6304,15 +35988,49 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF ecc-jsbn NOTICES AND INFORMATION -%% ee-first 1.1.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz) -========================================= + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +postcss-loader 3.0.0 - MIT +https://github.com/postcss/postcss-loader#readme +Copyright 2017 Andrey Sitnik + +License (MIT) + +Copyright 2017 Andrey Sitnik + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +postcss-media-minmax 3.0.0 - MIT +https://github.com/postcss/postcss-media-minmax#readme +Copyright (c) 2014 PostCSS The MIT License (MIT) -Copyright (c) 2014 Jonathan Ong me@jongleberry.com +Copyright (c) 2014 PostCSS Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -6321,52 +36039,154 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +postcss-media-query-parser 0.2.3 - MIT +https://github.com/dryoma/postcss-media-query-parser + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +postcss-message-helpers 2.0.0 - MIT +https://github.com/MoOx/postcss-message-helpers +Copyright (c) 2014 Maxime Thirouin + +The MIT License (MIT) + +Copyright (c) 2014 Maxime Thirouin + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +postcss-pseudoelements 5.0.0 - MIT +https://github.com/axa-ch/postcss-pseudoelements + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +postcss-replace-overflow-wrap 2.0.0 - MIT +https://github.com/MattDiMu/postcss-replace-overflow-wrap +Copyright 2016 Matthias Muller + +The MIT License (MIT) + +Copyright 2016 Matthias Müller + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- -========================================= -END OF ee-first NOTICES AND INFORMATION +postcss-selector-matches 3.0.1 - MIT +https://github.com/postcss/postcss-selector-matches#readme +Copyright (c) 2017 Maxime Thirouin -%% emotion 9.2.12 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/emotion/-/emotion-9.2.12.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2016 Kye Hohenberger +Copyright (c) 2017 Maxime Thirouin -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + -========================================= -END OF emotion NOTICES AND INFORMATION +------------------------------------------------------------------- + +------------------------------------------------------------------- + +postcss-selector-not 3.0.1 - MIT +https://github.com/postcss/postcss-selector-not#readme +Copyright (c) 2017 Maxime Thirouin -%% enabled 1.0.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2015 Arnout Kazemier, Martijn Swaagman, the Contributors. +Copyright (c) 2017 Maxime Thirouin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in @@ -6385,79 +36205,115 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF enabled NOTICES AND INFORMATION -%% encodeurl 1.0.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz) -========================================= -(The MIT License) +------------------------------------------------------------------- -Copyright (c) 2016 Douglas Christopher Wilson +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +postcss-selector-parser 2.2.3 - MIT +https://github.com/postcss/postcss-selector-parser +Copyright (c) Ben Briggs (http://beneb.info) + +Copyright (c) Ben Briggs (http://beneb.info) + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF encodeurl NOTICES AND INFORMATION -%% encoding 0.1.12 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz) -========================================= -Copyright (c) 2012-2014 Andris Reinman +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +postcss-values-parser 1.5.0 - MIT +https://github.com/lesshint/postcss-values-parser#readme +Copyright (c) Andrew Powell -========================================= -END OF encoding NOTICES AND INFORMATION +Copyright (c) Andrew Powell -%% entities 1.1.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/entities/-/entities-1.1.2.tgz) -========================================= -Copyright (c) Felix Böhm -All rights reserved. +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. -Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, -EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- -========================================= -END OF entities NOTICES AND INFORMATION +------------------------------------------------------------------- -%% env-variable 0.0.5 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/env-variable/-/env-variable-0.0.5.tgz) -========================================= -Copyright 2014 Arnout Kazemier +prelude-ls 1.1.2 - MIT +http://preludels.com +Copyright (c) George Zahariev + +Copyright (c) George Zahariev + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +prepend-http 2.0.0 - MIT +https://github.com/sindresorhus/prepend-http#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: @@ -6465,14 +36321,82 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF env-variable NOTICES AND INFORMATION -%% error-inject 1.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/error-inject/-/error-inject-1.0.0.tgz) -========================================= -The MIT License (MIT) +------------------------------------------------------------------- + +------------------------------------------------------------------- + +prettier 2.0.2 - MIT +https://prettier.io +Copyright Google Inc. +Copyright (c) 2014-2016 Teambition +Copyright (c) Microsoft Corporation. +Copyright (c) 2014-2015, Jon Schlinkert. +Copyright (c) 2014-2016, Jon Schlinkert. +Copyright (c) 2014-2017, Jon Schlinkert. +Copyright (c) 2015-2017, Jon Schlinkert. +Copyright (c) James Long and contributors +Copyright (c) 2014-present, Jon Schlinkert. +Copyright (c) Facebook, Inc. and its affiliates. +Copyright (c) 2014 Ivan Nikulin +Copyright 2014, 2015, 2016, 2017, 2018 Simon Lydell +Copyright (c) 2013 Yusuke Suzuki +Copyright (c) 2013-2014 Yusuke Suzuki + +Copyright © James Long and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +prettier-linter-helpers 1.0.0 - MIT +https://github.com/prettier/prettier-linter-helpers#readme +Copyright (c) 2017 Andres Suarez and Teddy Katz + +# The MIT License (MIT) + +Copyright © 2017 Andres Suarez and Teddy Katz + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the “Software”), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +pretty-format 24.9.0 - MIT +https://github.com/facebook/jest#readme +Copyright (c) Facebook, Inc. and its affiliates. + +MIT License -Copyright (c) 2014 dead_horse +Copyright (c) Facebook, Inc. and its affiliates. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -6492,14 +36416,16 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF error-inject NOTICES AND INFORMATION -%% escape-carriage 1.3.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/escape-carriage/-/escape-carriage-1.3.0.tgz) -========================================= -MIT License +------------------------------------------------------------------- + +------------------------------------------------------------------- -Copyright (c) 2016 Lukas Geiger +process-nextick-args 2.0.1 - MIT +https://github.com/calvinmetcalf/process-nextick-args +Copyright (c) 2015 Calvin Metcalf + +# Copyright (c) 2015 Calvin Metcalf Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -6511,52 +36437,24 @@ furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +**THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -========================================= -END OF escape-carriage NOTICES AND INFORMATION - -%% escape-html 1.0.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz) -========================================= -(The MIT License) - -Copyright (c) 2012-2013 TJ Holowaychuk -Copyright (c) 2015 Andreas Lubbe -Copyright (c) 2015 Tiancheng "Timothy" Gu - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +SOFTWARE.** -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF escape-html NOTICES AND INFORMATION +------------------------------------------------------------------- -%% escape-string-regexp 1.0.5 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz) -========================================= -The MIT License (MIT) +process-nextick-args 1.0.7 - MIT +https://github.com/calvinmetcalf/process-nextick-args +Copyright (c) 2015 Calvin Metcalf -Copyright (c) Sindre Sorhus (sindresorhus.com) +# Copyright (c) 2015 Calvin Metcalf Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -6565,79 +36463,65 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +**THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE.** -========================================= -END OF escape-string-regexp NOTICES AND INFORMATION -%% estraverse 1.5.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz) -========================================= -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +------------------------------------------------------------------- - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. +------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +process-on-spawn 1.0.0 - MIT +https://github.com/cfware/process-on-spawn#readme +Copyright (c) 2019 CFWare, LLC + +MIT License + +Copyright (c) 2019 CFWare, LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -========================================= -END OF estraverse NOTICES AND INFORMATION +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -%% esutils 1.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz) -========================================= -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. +------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- -========================================= -END OF esutils NOTICES AND INFORMATION +progress 2.0.3 - MIT +https://github.com/visionmedia/node-progress#readme +Copyright (c) 2011 TJ Holowaychuk +Copyright (c) 2017 TJ Holowaychuk -%% extend 3.0.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/extend/-/extend-3.0.2.tgz) -========================================= -The MIT License (MIT) +(The MIT License) -Copyright (c) 2014 Stefan Thomas +Copyright (c) 2017 TJ Holowaychuk Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including +'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to @@ -6646,21 +36530,24 @@ the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF extend NOTICES AND INFORMATION +------------------------------------------------------------------- -%% extsprintf 1.3.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz) -========================================= -Copyright (c) 2012, Joyent, Inc. All rights reserved. +------------------------------------------------------------------- + +promise 8.0.3 - MIT +https://github.com/then/promise#readme +Copyright (c) 2014 Forbes Lindesay + +Copyright (c) 2014 Forbes Lindesay Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -6678,42 +36565,51 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE +THE SOFTWARE. -========================================= -END OF extsprintf NOTICES AND INFORMATION -%% falafel 2.1.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz) -========================================= -Copyright 2019 falafel developers +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. +promise 7.3.1 - MIT +https://github.com/then/promise#readme +Copyright (c) 2014 Forbes Lindesay + +Copyright (c) 2014 Forbes Lindesay + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF falafel NOTICES AND INFORMATION +------------------------------------------------------------------- + +------------------------------------------------------------------- + +prop-types 15.7.2 - MIT +https://facebook.github.io/react/ +(c) Sindre Sorhus +Copyright (c) 2013-present, Facebook, Inc. +Copyright (c) Facebook, Inc. and its affiliates. -%% fast-deep-equal 2.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz) -========================================= MIT License -Copyright (c) 2017 Evgeny Poberezkin +Copyright (c) 2013-present, Facebook, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -6733,19 +36629,57 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF fast-deep-equal NOTICES AND INFORMATION -%% fast-json-stable-stringify 2.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz) -========================================= -This software is released under the MIT license: +------------------------------------------------------------------- + +------------------------------------------------------------------- + +proxy-addr 2.0.5 - MIT +https://github.com/jshttp/proxy-addr#readme +Copyright (c) 2014-2016 Douglas Christopher Wilson + +(The MIT License) + +Copyright (c) 2014-2016 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +proxy-from-env 1.1.0 - MIT +https://github.com/Rob--W/proxy-from-env#readme +Copyright (c) 2016-2018 Rob Wu + +The MIT License + +Copyright (C) 2016-2018 Rob Wu Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. @@ -6757,45 +36691,80 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF fast-json-stable-stringify NOTICES AND INFORMATION -%% fast-levenshtein 2.0.6 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz) -========================================= -(MIT License) +------------------------------------------------------------------- -Copyright (c) 2013 [Ramesh Nair](http://www.hiddentao.com/) +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: +prr 1.0.1 - MIT +https://github.com/rvagg/prr +Copyright (c) 2014 Rod Vagg +(c) 2013 Rod Vagg https://github.com/rvagg/prr +Copyright (c) 2013 Rod Vagg rvagg (https://twitter.com/rvagg) -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +The MIT License (MIT) +===================== + +Copyright (c) 2014 Rod Vagg +--------------------------- + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF fast-levenshtein NOTICES AND INFORMATION +------------------------------------------------------------------- + +psl 1.2.0 - MIT +https://github.com/lupomontero/psl#readme +Copyright (c) 2017 Lupo Montero lupomontero@gmail.com +Copyright (c) 2017 Lupo Montero -%% fast-plist 0.1.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/fast-plist/-/fast-plist-0.1.2.tgz) -========================================= The MIT License (MIT) -Copyright (c) Microsoft Corporation +Copyright (c) 2017 Lupo Montero lupomontero@gmail.com + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +public-ip 3.2.0 - MIT +https://github.com/sindresorhus/public-ip#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +pump 3.0.0 - MIT +https://github.com/mafintosh/pump#readme +Copyright (c) 2014 Mathias Buus + +The MIT License (MIT) + +Copyright (c) 2014 Mathias Buus Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -6804,27 +36773,28 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- -========================================= -END OF fast-plist NOTICES AND INFORMATION +pump 2.0.1 - MIT +https://github.com/mafintosh/pump#readme +Copyright (c) 2014 Mathias Buus -%% fast-safe-stringify 2.0.6 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.6.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2016 David Mark Clements -Copyright (c) 2017 David Mark Clements & Matteo Collina -Copyright (c) 2018 David Mark Clements, Matteo Collina & Ruben Bridgewater +Copyright (c) 2014 Mathias Buus Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -6833,25 +36803,28 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +------------------------------------------------------------------- -========================================= -END OF fast-safe-stringify NOTICES AND INFORMATION +------------------------------------------------------------------- + +pumpify 1.5.1 - MIT +https://github.com/mafintosh/pumpify +Copyright (c) 2014 Mathias Buus -%% fecha 2.3.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2015 Taylor Hakes +Copyright (c) 2014 Mathias Buus Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -6860,264 +36833,214 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF fecha NOTICES AND INFORMATION +------------------------------------------------------------------- -%% fontkit 1.8.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/fontkit/-/fontkit-1.8.0.tgz) -========================================= -Copyright 2019 fontkit developers +punycode 2.1.1 - MIT +https://mths.be/punycode +Copyright Mathias Bynens -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the +Copyright Mathias Bynens + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. - -========================================= -END OF fontkit NOTICES AND INFORMATION - -%% foreach 2.0.5 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz) -========================================= -The MIT License - -Copyright (c) 2013 Manuel Stofer - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -========================================= -END OF foreach NOTICES AND INFORMATION - -%% forever-agent 0.6.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz) -========================================= -Apache License +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Version 2.0, January 2004 -http://www.apache.org/licenses/ +------------------------------------------------------------------- -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +------------------------------------------------------------------- -1. Definitions. +punycode 1.4.1 - MIT +https://mths.be/punycode +Copyright Mathias Bynens -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. +Copyright Mathias Bynens -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. +------------------------------------------------------------------- -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). +------------------------------------------------------------------- -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. +python-jsonrpc-server 0.2.0 - MIT +Copyright 2017 Palantir Technologies, Inc. +Copyright 2018 Palantir Technologies, Inc. -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." +The MIT License (MIT) -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. +Copyright 2017 Palantir Technologies, Inc. -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -You must give any other recipients of the Work or Derivative Works a copy of this License; and -You must cause any modified files to carry prominent notices stating that You changed the files; and +------------------------------------------------------------------- -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and +------------------------------------------------------------------- -If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. +querystringify 2.1.1 - MIT +https://github.com/unshiftio/querystringify +Copyright (c) 2015 Unshift.io, Arnout Kazemier -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. +The MIT License (MIT) -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. +Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors. -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -END OF TERMS AND CONDITIONS -========================================= -END OF forever-agent NOTICES AND INFORMATION -%% form-data 2.3.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz) -========================================= -Copyright (c) 2012 Felix Geisendörfer (felix@debuggable.com) and contributors - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +------------------------------------------------------------------- - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. +------------------------------------------------------------------- - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. +queue 4.5.1 - MIT +https://github.com/jessetane/queue#readme +Copyright (c) 2014 Jesse Tane -========================================= -END OF form-data NOTICES AND INFORMATION +The MIT License (MIT) +Copyright (c) 2014 Jesse Tane -%% fresh 0.5.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz) -========================================= -(The MIT License) +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -Copyright (c) 2012 TJ Holowaychuk -Copyright (c) 2016-2017 Douglas Christopher Wilson +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF fresh NOTICES AND INFORMATION +------------------------------------------------------------------- -%% fs-extra 4.0.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz) -========================================= -(The MIT License) +quote-stream 1.0.2 - MIT +https://github.com/substack/quote-stream -Copyright (c) 2011-2017 JP Richardson +This software is released under the MIT license: -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files -(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, - merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS -OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF fs-extra NOTICES AND INFORMATION -%% fs.realpath 1.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz) -========================================= -The ISC License +------------------------------------------------------------------- -Copyright (c) Isaac Z. Schlueter and Contributors +------------------------------------------------------------------- -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +raf 3.4.1 - MIT +https://github.com/chrisdickinson/raf#readme +Copyright 2013 Chris Dickinson -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +Copyright 2013 Chris Dickinson ----- +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -This library bundles a version of the `fs.realpath` and `fs.realpathSync` -methods from Node.js v0.10 under the terms of the Node.js MIT license. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -Node's license follows, also included at the header of `old.js` which contains -the licensed code: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - Copyright Joyent, Inc. and other Node contributors. - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: +------------------------------------------------------------------- - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. +------------------------------------------------------------------- - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. +ramda 0.27.0 - MIT +https://ramdajs.com/ +(c) 2014 J. C. Phillipps. +Copyright (c) 2013-2018 Scott Sauyet and Michael Hurley -========================================= -END OF fs.realpath NOTICES AND INFORMATION +The MIT License (MIT) -%% function-bind 1.1.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz) -========================================= -Copyright (c) 2013 Raynos. +Copyright (c) 2013-2018 Scott Sauyet and Michael Hurley Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -7138,219 +37061,210 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF function-bind NOTICES AND INFORMATION +------------------------------------------------------------------- -%% fuzzy 0.1.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/fuzzy/-/fuzzy-0.1.3.tgz) -========================================= -Copyright (c) 2012 Matt York +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: +react 16.8.6 - MIT +https://reactjs.org/ +(c) Sindre Sorhus +Copyright (c) 2013-present, Facebook, Inc. +Copyright (c) Facebook, Inc. and its affiliates. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +MIT License -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. +Copyright (c) Facebook, Inc. and its affiliates. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -========================================= -END OF fuzzy NOTICES AND INFORMATION +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -%% get-port 3.2.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz) -========================================= -MIT License +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +react-dom 16.8.6 - MIT +https://reactjs.org/ +Copyright (c) 2013-present, Facebook, Inc. +Copyright (c) Facebook, Inc. and its affiliates. -========================================= -END OF get-port NOTICES AND INFORMATION +MIT License + +Copyright (c) Facebook, Inc. and its affiliates. -%% getpass 0.1.7 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz) -========================================= -Copyright Joyent, Inc. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. - -========================================= -END OF getpass NOTICES AND INFORMATION - -%% glob 7.1.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/glob/-/glob-7.1.4.tgz) -========================================= -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +------------------------------------------------------------------- -## Glob Logo +------------------------------------------------------------------- -Glob's logo created by Tanya Brassie , licensed -under a Creative Commons Attribution-ShareAlike 4.0 International License -https://creativecommons.org/licenses/by-sa/4.0/ +react-draggable 4.4.2 - MIT +https://github.com/mzabriskie/react-draggable +Copyright (c) 2017 Jed Watson. +Copyright (c) 2014-2016 Matt Zabriskie. +Copyright (c) 2013-present, Facebook, Inc. -========================================= -END OF glob NOTICES AND INFORMATION +(MIT License) -%% graceful-fs 4.2.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz) -========================================= -The ISC License +Copyright (c) 2014-2016 Matt Zabriskie. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. -Copyright (c) Isaac Z. Schlueter, Ben Noordhuis, and Contributors -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF graceful-fs NOTICES AND INFORMATION +react-is 16.8.6 - MIT +https://reactjs.org/ +Copyright (c) Facebook, Inc. and its affiliates. -%% gud 1.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/gud/-/gud-1.0.0.tgz) -========================================= -Copyright 2018 gud contributors +MIT License -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +Copyright (c) Facebook, Inc. and its affiliates. -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -========================================= -END OF gud NOTICES AND INFORMATION +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -%% har-schema 2.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz) -========================================= -Copyright (c) 2015, Ahmad Nassri -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF har-schema NOTICES AND INFORMATION +react-is 16.11.0 - MIT +https://reactjs.org/ +Copyright (c) Facebook, Inc. and its affiliates. -%% har-validator 5.1.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz) -========================================= MIT License -Copyright (c) 2018 Ahmad Nassri +Copyright (c) Facebook, Inc. and its affiliates. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -========================================= -END OF har-validator NOTICES AND INFORMATION -%% has 1.0.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/has/-/has-1.0.3.tgz) -========================================= -Copyright (c) 2013 Thiago de Arruda +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +react-lifecycles-compat 3.0.4 - MIT +https://github.com/reactjs/react-lifecycles-compat#readme +Copyright (c) 2013-present, Facebook, Inc. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. +MIT License -========================================= -END OF has NOTICES AND INFORMATION +Copyright (c) 2013-present, Facebook, Inc. -%% has-flag 3.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz) -========================================= -MIT License +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Copyright (c) Sindre Sorhus (sindresorhus.com) +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF has-flag NOTICES AND INFORMATION +react-markdown 4.3.1 - MIT +https://github.com/rexxars/react-markdown#readme +Copyright (c) 2015 Espen Hovlandsdal +Copyright (c) 2014-2015, Jon Schlinkert. +(c) Espen Hovlandsdal (https://espen.codes/) +Copyright (c) Facebook, Inc. and its affiliates. -%% hash-base 3.0.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2016 Kirill Fomichev +Copyright (c) 2015 Espen Hovlandsdal Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -7359,119 +37273,98 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -========================================= -END OF hash-base NOTICES AND INFORMATION -%% hash.js 1.1.7 NOTICES AND INFORMATION BEGIN HERE (https://github.com/indutny/hash.js/tree/v1.1.7) -========================================= -This software is licensed under the MIT License. +------------------------------------------------------------------- -Copyright Fedor Indutny, 2014. +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: +react-motion 0.5.2 - MIT +https://github.com/chenglou/react-motion#readme +(c) Sindre Sorhus +Copyright (c) 2015 React Motion +Copyright (c) 2013-present, Facebook, Inc. +Copyright (c) 2014-present, Facebook, Inc. -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. +The MIT License (MIT) -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. +Copyright (c) 2015 React Motion authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -========================================= -END OF hash.js NOTICES AND INFORMATION +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -%% hoist-non-react-statics 3.3.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz) -========================================= -Software License Agreement (BSD License) -======================================== +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -Copyright (c) 2015, Yahoo! Inc. All rights reserved. ----------------------------------------------------- -Redistribution and use of this software in source and binary forms, with or -without modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of Yahoo! Inc. nor the names of YUI's contributors may be - used to endorse or promote products derived from this software without - specific prior written permission of Yahoo! Inc. +------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- -========================================= -END OF hoist-non-react-statics NOTICES AND INFORMATION +react-move 2.9.1 - MIT +https://github.com/react-tools/react-move#readme +(c) Sindre Sorhus +Copyright (c) 2013-present, Facebook, Inc. +Copyright (c) 2017 Steven Hall and Tanner Linsley -%% http-assert 1.4.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/http-assert/-/http-assert-1.4.1.tgz) -========================================= -(The MIT License) -Copyright (c) 2014 +MIT License -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Copyright (c) 2017 Steven Hall and Tanner Linsley -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -========================================= -END OF http-assert NOTICES AND INFORMATION -%% http-errors 1.7.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz) -========================================= +------------------------------------------------------------------- -The MIT License (MIT) +------------------------------------------------------------------- -Copyright (c) 2014 Jonathan Ong me@jongleberry.com -Copyright (c) 2016 Douglas Christopher Wilson doug@somethingdoug.com +react-popper 1.3.7 - MIT +https://github.com/souporserious/react-popper +Copyright (c) 2018 React Popper + +The MIT License (MIT) + +Copyright (c) 2018 React Popper authors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -7480,143 +37373,141 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -========================================= -END OF http-errors NOTICES AND INFORMATION -%% http-signature 1.2.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz) -========================================= -Copyright Joyent, Inc. All rights reserved. +------------------------------------------------------------------- + +------------------------------------------------------------------- + +react-redux 7.1.1 - MIT +https://github.com/reduxjs/react-redux +(c) Sindre Sorhus +Copyright 2015, Yahoo! Inc. +Copyright (c) 2015-present Dan Abramov +Copyright (c) 2013-present, Facebook, Inc. + +The MIT License (MIT) + +Copyright (c) 2015-present Dan Abramov + Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. - -========================================= -END OF http-signature NOTICES AND INFORMATION - -%% humanize-number 0.0.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/humanize-number/-/humanize-number-0.0.2.tgz) -========================================= -MIT - -========================================= -END OF humanize-number NOTICES AND INFORMATION - -%% iconv-lite 0.4.24 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz) -========================================= -Copyright (c) 2011 Alexander Shtuchkin - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- +------------------------------------------------------------------- -========================================= -END OF iconv-lite NOTICES AND INFORMATION +react-svg-pan-zoom 3.1.0 - MIT +https://chrvadala.github.io/react-svg-pan-zoom/ +(c) Sindre Sorhus +Copyright 2009-2015 +(c) 2019 Denis Pushkarev +Copyright (c) 2016 Jed Watson. +Copyright (c) 2017 Jed Watson. +Copyright (c) 2015 Andreas Lubbe +(c) ,null c&&ic(c.type),b b.value,null +Copyright (c) 2012-2013 TJ Holowaychuk +Copyright (c) 2015 Tiancheng Timothy Gu +Copyright (c) 2014-2017, Jon Schlinkert. +Copyright (c) 2016 https://github.com/chrvadala +Copyright (c) Facebook, Inc. and its affiliates. +Copyright (c) 2016 Federico Zivolo and contributors +Copyright 2013-2016 by Paul Miller (http://paulmillr.com) -%% ieee754 1.1.13 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz) -========================================= -Copyright 2008 Fair Oaks Labs, Inc. +MIT License -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: +Copyright (c) 2016 https://github.com/chrvadala -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -========================================= -END OF ieee754 NOTICES AND INFORMATION +------------------------------------------------------------------- -%% inflight 1.0.6 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz) -========================================= -The ISC License +------------------------------------------------------------------- -Copyright (c) Isaac Z. Schlueter +react-svgmt 1.1.8 - MIT +https://hugozap.github.io/react-svgmt +Copyright (c) 2014 +Copyright (c) 2017 Hugo Zapata +Copyright (c) 2014-2015 Waybury -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +The MIT License (MIT) -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +Copyright (c) 2017 Hugo Zapata -========================================= -END OF inflight NOTICES AND INFORMATION +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -%% inherits 2.0.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz) -========================================= -The ISC License +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -Copyright (c) Isaac Z. Schlueter +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. +------------------------------------------------------------------- +------------------------------------------------------------------- -========================================= -END OF inherits NOTICES AND INFORMATION +react-virtualized 9.21.1 - MIT +https://github.com/bvaughn/react-virtualized +Copyright (c) 2015 Brian Vaughn +Copyright (c) 2013-present, Facebook, Inc. -%% invariant 2.2.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz) -========================================= -MIT License +The MIT License (MIT) -Copyright (c) 2013-present, Facebook, Inc. +Copyright (c) 2015 Brian Vaughn Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -7636,14 +37527,51 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF invariant NOTICES AND INFORMATION -%% inversify 4.13.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/inversify/-/inversify-4.13.0.tgz) -========================================= + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +read-cache 1.0.0 - MIT +https://github.com/TrySound/read-cache#readme +(c) Bogdan Chadkin +Copyright 2016 Bogdan Chadkin + The MIT License (MIT) -Copyright (c) 2015-2017 Remo H. Jansen +Copyright 2016 Bogdan Chadkin + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +read-pkg 1.1.0 - MIT +https://github.com/sindresorhus/read-pkg +(c) Sindre Sorhus (http://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -7652,151 +37580,117 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -========================================= -END OF inversify NOTICES AND INFORMATION - -%% IPython (for PyDev.Debugger) NOTICES AND INFORMATION BEGIN HERE (https://ipython.org/) -========================================= -Copyright (c) 2008-2010, IPython Development Team -Copyright (c) 2001-2007, Fernando Perez. -Copyright (c) 2001, Janko Hauser -Copyright (c) 2001, Nathaniel Gray - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - -Redistributions in binary form must reproduce the above copyright notice, this -list of conditions and the following disclaimer in the documentation and/or -other materials provided with the distribution. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -Neither the name of the IPython Development Team nor the names of its -contributors may be used to endorse or promote products derived from this -software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- -========================================= -END OF IPython NOTICES AND INFORMATION +------------------------------------------------------------------- -%% is-alphabetical 1.0.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.3.tgz) -========================================= -(The MIT License) +readable-stream 2.3.6 - MIT +https://github.com/nodejs/readable-stream#readme +Copyright Joyent, Inc. and other Node contributors. -Copyright (c) 2016 Titus Wormer +Node.js is licensed for use as follows: -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +""" +Copyright Node.js contributors. All rights reserved. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -========================================= -END OF is-alphabetical NOTICES AND INFORMATION +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" -%% is-alphanumerical 1.0.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz) -========================================= -(The MIT License) +This license applies to parts of Node.js originating from the +https://github.com/joyent/node repository: -Copyright (c) 2016 Titus Wormer +""" +Copyright Joyent, Inc. and other Node contributors. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF is-alphanumerical NOTICES AND INFORMATION +------------------------------------------------------------------- -%% is-arguments 1.0.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz) -========================================= -The MIT License (MIT) +------------------------------------------------------------------- -Copyright (c) 2014 Jordan Harband +readable-stream 3.4.0 - MIT +https://github.com/nodejs/readable-stream#readme +Copyright Joyent, Inc. and other Node contributors. -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +Node.js is licensed for use as follows: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +""" +Copyright Node.js contributors. All rights reserved. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -========================================= -END OF is-arguments NOTICES AND INFORMATION +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -%% is-arrayish 0.3.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz) -========================================= -The MIT License (MIT) +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" -Copyright (c) 2015 JD Ballard +This license applies to parts of Node.js originating from the +https://github.com/joyent/node repository: +""" +Copyright Joyent, Inc. and other Node contributors. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in @@ -7806,24 +37700,26 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" -========================================= -END OF is-arrayish NOTICES AND INFORMATION -%% is-buffer 1.1.6 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz) -========================================= -The MIT License (MIT) +------------------------------------------------------------------- -Copyright (c) Feross Aboukhadijeh +------------------------------------------------------------------- +readable-stream 2.0.6 - MIT +https://github.com/nodejs/readable-stream#readme +Copyright Joyent, Inc. and other Node contributors. + +Copyright Joyent, Inc. and other Node contributors. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in @@ -7833,74 +37729,79 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. -========================================= -END OF is-buffer NOTICES AND INFORMATION -%% is-date-object 1.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz) -========================================= -The MIT License (MIT) +------------------------------------------------------------------- -Copyright (c) 2015 Jordan Harband +------------------------------------------------------------------- + +readable-stream 2.3.7 - MIT +https://github.com/nodejs/readable-stream#readme +Copyright Joyent, Inc. and other Node contributors. + +Node.js is licensed for use as follows: + +""" +Copyright Node.js contributors. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" +This license applies to parts of Node.js originating from the +https://github.com/joyent/node repository: -========================================= -END OF is-date-object NOTICES AND INFORMATION +""" +Copyright Joyent, Inc. and other Node contributors. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -%% is-decimal 1.0.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.3.tgz) -========================================= -(The MIT License) +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -Copyright (c) 2016 Titus Wormer +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF is-decimal NOTICES AND INFORMATION +readdirp 2.2.1 - MIT +https://github.com/paulmillr/readdirp +Copyright (c) 2012-2015 Thorsten Lorenz -%% is-generator-function 1.0.7 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.7.tgz) -========================================= -The MIT License (MIT) +This software is released under the MIT license: -Copyright (c) 2014 Jordan Harband +Copyright (c) 2012-2015 Thorsten Lorenz Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in @@ -7919,69 +37820,18 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF is-generator-function NOTICES AND INFORMATION - -%% is-hexadecimal 1.0.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz) -========================================= -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -========================================= -END OF is-hexadecimal NOTICES AND INFORMATION - -%% is-plain-obj 1.1.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz) -========================================= -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF is-plain-obj NOTICES AND INFORMATION +reduce-css-calc 1.3.0 - MIT +https://github.com/MoOx/reduce-css-calc#readme +Copyright (c) 2014 Maxime Thirouin & Joakim Bengtson -%% is-regex 1.0.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2014 Jordan Harband +Copyright (c) 2014 Maxime Thirouin & Joakim Bengtson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in @@ -8000,39 +37850,18 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF is-regex NOTICES AND INFORMATION - -%% is-stream 1.1.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz) -========================================= -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +reduce-css-calc 2.1.7 - MIT +https://github.com/MoOx/reduce-css-calc#readme +Copyright (c) 2014 Maxime Thirouin & Joakim Bengtson -========================================= -END OF is-stream NOTICES AND INFORMATION +The MIT License (MIT) -%% is-typedarray 1.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz) -========================================= -This software is released under the MIT license: +Copyright (c) 2014 Maxime Thirouin & Joakim Bengtson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in @@ -8051,97 +37880,48 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF is-typedarray NOTICES AND INFORMATION - -%% is-whitespace-character 1.0.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.3.tgz) -========================================= -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -========================================= -END OF is-whitespace-character NOTICES AND INFORMATION - -%% is-word-character 1.0.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.3.tgz) -========================================= -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF is-word-character NOTICES AND INFORMATION +reduce-function-call 1.0.3 - MIT +https://github.com/MoOx/reduce-function-call#readme +Copyright (c) Maxime Thirouin -%% isarray 1.0.0 NOTICES AND INFORMATION BEGIN HERE (https://github.com/juliangruber/isarray/blob/v1.0.0) -========================================= -(MIT) +The MIT License (MIT) -Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> +Copyright (c) Maxime Thirouin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- -========================================= -END OF isarray NOTICES AND INFORMATION +redux 3.7.2 - MIT +http://redux.js.org +Copyright (c) 2015-present Dan Abramov -%% isort 4.3.4 NOTICES AND INFORMATION BEGIN HERE (https://github.com/timothycrosley/isort/tree/4.3.4) -========================================= The MIT License (MIT) -Copyright (c) 2013 Timothy Edmund Crosley +Copyright (c) 2015-present Dan Abramov Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -8150,45 +37930,29 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -========================================= -END OF isort NOTICES AND INFORMATION - -%% isstream 0.1.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz) -========================================= -The MIT License (MIT) -===================== - -Copyright (c) 2015 Rod Vagg ---------------------------- - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF isstream NOTICES AND INFORMATION +------------------------------------------------------------------- -%% Jedi 0.13.3 NOTICES AND INFORMATION BEGIN HERE (https://github.com/davidhalter/jedi/tree/v0.13.3) -========================================= -All contributions towards Jedi are MIT licensed. +redux 4.0.4 - MIT +http://redux.js.org +Copyright (c) 2015-present Dan Abramov -------------------------------------------------------------------------------- The MIT License (MIT) -Copyright (c) <2013> +Copyright (c) 2015-present Dan Abramov Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -8197,70 +37961,27 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -========================================= -END OF Jedi NOTICES AND INFORMATION - -%% jsbn 0.1.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz) -========================================= -Licensing ---------- - -This software is covered under the following copyright: +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -/* - * Copyright (c) 2003-2005 Tom Wu - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, - * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY - * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - * - * IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL, - * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER - * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF - * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT - * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * In addition, the following condition applies: - * - * All redistributions must retain an intact copy of this copyright notice - * and disclaimer. - */ -Address all questions regarding this license to: +------------------------------------------------------------------- - Tom Wu - tjw@cs.Stanford.EDU -========================================= -END OF jsbn NOTICES AND INFORMATION +------------------------------------------------------------------- -%% json-edm-parser 0.1.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/json-edm-parser/-/json-edm-parser-0.1.2.tgz) -========================================= -The MIT License (MIT) +redux-logger 3.0.6 - MIT +https://github.com/theaqua/redux-logger#readme +Copyright (c) 2016 Eugene Rodionov -Copyright (c) 2016 Yang Xia +Copyright (c) 2016 Eugene Rodionov Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -8269,41 +37990,64 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -========================================= -END OF json-edm-parser NOTICES AND INFORMATION +------------------------------------------------------------------- -%% json-schema 0.2.3 NOTICES AND INFORMATION BEGIN HERE (https://www.npmjs.com/package/json-schema) -========================================= -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: +------------------------------------------------------------------- -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +regenerator-runtime 0.13.2 - MIT +Copyright (c) 2014-present, Facebook, Inc. -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +MIT License -3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. +Copyright (c) -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- -========================================= -END OF json-schema NOTICES AND INFORMATION +------------------------------------------------------------------- + +regenerator-runtime 0.11.1 - MIT +Copyright (c) 2014-present, Facebook, Inc. -%% json-schema-traverse 0.4.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz) -========================================= MIT License -Copyright (c) 2017 Evgeny Poberezkin +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +regex-not 1.0.2 - MIT +https://github.com/jonschlinkert/regex-not +Copyright (c) 2016, 2018, Jon Schlinkert. +Copyright (c) 2018, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2016, 2018, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -8323,38 +38067,18 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF json-schema-traverse NOTICES AND INFORMATION - -%% json-stable-stringify 1.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz) -========================================= -This software is released under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF json-stable-stringify NOTICES AND INFORMATION +regexp.prototype.flags 1.3.0 - MIT +https://github.com/es-shims/RegExp.prototype.flags#readme +Copyright (c) 2014 Jordan Harband -%% json-stringify-pretty-compact 2.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-2.0.0.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2014, 2016, 2017, 2019 Simon Lydell +Copyright (C) 2014 Jordan Harband Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -8374,55 +38098,48 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF json-stringify-pretty-compact NOTICES AND INFORMATION +------------------------------------------------------------------- -%% json-stringify-safe 5.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz) -========================================= -The ISC License +------------------------------------------------------------------- -Copyright (c) Isaac Z. Schlueter and Contributors +remove-bom-buffer 3.0.0 - MIT +https://github.com/jonschlinkert/remove-bom-buffer +Copyright (c) 2015-2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +The MIT License (MIT) -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +Copyright (c) 2015-2017, Jon Schlinkert. -========================================= -END OF json-stringify-safe NOTICES AND INFORMATION +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -%% json2csv 4.5.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/json2csv/-/json2csv-4.5.2.tgz) -========================================= -Copyright (C) 2012 [Mirco Zeiss](mailto: mirco.zeiss@gmail.com) +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and -to permit persons to whom the Software is furnished to do so, subject to the following conditions: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE -OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF json2csv NOTICES AND INFORMATION +remove-bom-stream 1.2.0 - MIT +https://github.com/gulpjs/remove-bom-stream#readme +Copyright (c) 2017 Blaine Bublitz , Eric Schoffstall and other contributors -%% json5 2.1.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/json5/-/json5-2.1.0.tgz) -========================================= -MIT License +The MIT License (MIT) -Copyright (c) 2012-2018 Aseem Kishore, and [others]. +Copyright (c) 2017 Blaine Bublitz , Eric Schoffstall and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -8442,16 +38159,17 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -[others]: https://github.com/json5/json5/contributors -========================================= -END OF json5 NOTICES AND INFORMATION +------------------------------------------------------------------- -%% jsonc-parser 2.1.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.1.0.tgz) -========================================= -The MIT License (MIT) +------------------------------------------------------------------- -Copyright (c) Microsoft +remove-files-webpack-plugin 1.4.0 - MIT +https://github.com/Amaimersion/remove-files-webpack-plugin/blob/master/README.md + +MIT License + +Copyright (c) 2020 Sergey Kuznetsov Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -8471,70 +38189,52 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF jsonc-parser NOTICES AND INFORMATION - -%% jsonfile 4.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz) -========================================= -(The MIT License) -Copyright (c) 2012-2015, JP Richardson +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files -(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, - merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +repeat-element 1.1.3 - MIT +https://github.com/jonschlinkert/repeat-element +Copyright (c) 2015-present, Jon Schlinkert. +Copyright (c) 2018, Jon Schlinkert (https://github.com/jonschlinkert). -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS -OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +The MIT License (MIT) -========================================= -END OF jsonfile NOTICES AND INFORMATION +Copyright (c) 2015-present, Jon Schlinkert. -%% jsonify 0.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz) -========================================= -public domain +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -========================================= -END OF jsonify NOTICES AND INFORMATION +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -%% jsonparse 1.2.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/jsonparse/-/jsonparse-1.2.0.tgz) -========================================= -The MIT License +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -Copyright (c) 2012 Tim Caswell -Permission is hereby granted, free of charge, -to any person obtaining a copy of this software and -associated documentation files (the "Software"), to -deal in the Software without restriction, including -without limitation the rights to use, copy, modify, -merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom -the Software is furnished to do so, -subject to the following conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice -shall be included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +repeat-string 1.6.1 - MIT +https://github.com/jonschlinkert/repeat-string +Copyright (c) 2014-2015, Jon Schlinkert. +Copyright (c) 2014-2016, Jon Schlinkert. +Copyright (c) 2016, Jon Schlinkert (http://github.com/jonschlinkert). -========================================= -END OF jsonparse NOTICES AND INFORMATION +The MIT License (MIT) -%% jsprim 1.4.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz) -========================================= -Copyright (c) 2012, Joyent, Inc. All rights reserved. +Copyright (c) 2014-2016, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -8552,16 +38252,20 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE +THE SOFTWARE. -========================================= -END OF jsprim NOTICES AND INFORMATION -%% keygrip 1.1.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz) -========================================= +------------------------------------------------------------------- + +------------------------------------------------------------------- + +replace-ext 1.0.0 - MIT +https://github.com/gulpjs/replace-ext#readme +Copyright (c) 2014 Blaine Bublitz , Eric Schoffstall and other contributors + The MIT License (MIT) -Copyright (c) 2011-2014 Jed Schmidt (http://jedschmidt.com) +Copyright (c) 2014 Blaine Bublitz , Eric Schoffstall and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -8570,29 +38274,31 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -========================================= -END OF keygrip NOTICES AND INFORMATION -%% koa 2.11.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/koa/-/koa-2.11.0.tgz) -========================================= -(The MIT License) +------------------------------------------------------------------- + +------------------------------------------------------------------- -Copyright (c) 2019 Koa contributors +replace-ext 0.0.1 - MIT +http://github.com/wearefractal/replace-ext +Copyright (c) 2014 Fractal + +Copyright (c) 2014 Fractal Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including +"Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to @@ -8601,40 +38307,34 @@ the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -========================================= -END OF koa NOTICES AND INFORMATION +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -%% koa-compose 4.1.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz) -========================================= -MIT -========================================= -END OF koa-compose NOTICES AND INFORMATION +------------------------------------------------------------------- -%% koa-compress 3.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/koa-compress/-/koa-compress-3.0.0.tgz) -========================================= +------------------------------------------------------------------- -The MIT License (MIT) +request-progress 3.0.0 - MIT +https://github.com/IndigoUnited/node-request-progress#readme +Copyright (c) 2012 IndigoUnited -Copyright (c) 2014 Jonathan Ong me@jongleberry.com +Copyright (c) 2012 IndigoUnited Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, @@ -8644,14 +38344,74 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF koa-compress NOTICES AND INFORMATION +------------------------------------------------------------------- + +------------------------------------------------------------------- + +require-directory 2.1.1 - MIT +https://github.com/troygoode/node-require-directory/ +Copyright (c) 2011 Troy Goode + +The MIT License (MIT) + +Copyright (c) 2011 Troy Goode + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +requirejs 2.3.6 - MIT +http://github.com/jrburke/r.js +Copyright 2011 The Closure Compiler +Copyright (c) 2012-2014, The Dojo Foundation +Copyright 2011 Mozilla Foundation and contributors +Copyright 2014 Mozilla Foundation and contributors +Copyright jQuery Foundation and other contributors. +Copyright 2012 (c) Mihai Bazon +Copyright 2009-2011 Mozilla Foundation and contributors +Copyright JS Foundation and other contributors, https://js.foundation + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +requires-port 1.0.0 - MIT +https://github.com/unshiftio/requires-port +Copyright (c) 2015 Unshift.io, Arnout Kazemier -%% koa-convert 1.2.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/koa-convert/-/koa-convert-1.2.0.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2015 yunsong +Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -8672,15 +38432,18 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF koa-convert NOTICES AND INFORMATION -%% koa-is-json 1.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/koa-is-json/-/koa-is-json-1.0.0.tgz) -========================================= +------------------------------------------------------------------- + +------------------------------------------------------------------- + +resize-observer-polyfill 1.5.1 - MIT +https://github.com/que-etc/resize-observer-polyfill +Copyright (c) 2016 Denis Rul The MIT License (MIT) -Copyright (c) 2014 Jonathan Ong me@jongleberry.com +Copyright (c) 2016 Denis Rul Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -8689,350 +38452,244 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -========================================= -END OF koa-is-json NOTICES AND INFORMATION - -%% koa-logger 3.2.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/koa-logger/-/koa-logger-3.2.1.tgz) -========================================= -MIT - -========================================= -END OF koa-logger NOTICES AND INFORMATION - -%% kuler 1.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/kuler/-/kuler-1.0.1.tgz) -========================================= -Copyright 2014 Arnout Kazemier - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -========================================= -END OF kuler NOTICES AND INFORMATION - -%% labella 1.1.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/labella/-/labella-1.1.4.tgz) -========================================= -Copyright 2015 Twitter, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - http://www.apache.org/licenses/LICENSE-2.0 -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -========================================= -END OF labella NOTICES AND INFORMATION +------------------------------------------------------------------- -%% leaflet 1.5.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/leaflet/-/leaflet-1.5.1.tgz) -========================================= -Copyright (c) 2010-2018, Vladimir Agafonkin -Copyright (c) 2010-2011, CloudMade -All rights reserved. +------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without modification, are -permitted provided that the following conditions are met: +resolve 1.11.1 - MIT +https://github.com/browserify/resolve#readme - 1. Redistributions of source code must retain the above copyright notice, this list of - conditions and the following disclaimer. +This software is released under the MIT license: - 2. Redistributions in binary form must reproduce the above copyright notice, this list - of conditions and the following disclaimer in the documentation and/or other materials - provided with the distribution. +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR -TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -========================================= -END OF leaflet NOTICES AND INFORMATION +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -%% levn 0.3.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/levn/-/levn-0.3.0.tgz) -========================================= -Copyright (c) George Zahariev -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. +resolve 1.1.7 - MIT +https://github.com/substack/node-resolve#readme -========================================= -END OF levn NOTICES AND INFORMATION +This software is released under the MIT license: -%% line-by-line 0.1.6 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/line-by-line/-/line-by-line-0.1.6.tgz) -========================================= +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: -Copyright (c) 2012 Markus von der Wehd +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following conditions: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE -OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF line-by-line NOTICES AND INFORMATION +------------------------------------------------------------------- -%% linear-layout-vector 0.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/linear-layout-vector/-/linear-layout-vector-0.0.1.tgz) -========================================= -Copyright 2019 linear-layout-vector developers +resolve-dir 1.0.1 - MIT +https://github.com/jonschlinkert/resolve-dir +Copyright (c) 2015, Jon Schlinkert. +Copyright (c) 2015-2016, Jon Schlinkert +Copyright (c) 2016, Jon Schlinkert (https://github.com/jonschlinkert). -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +The MIT License (MIT) -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +Copyright (c) 2015-2016, Jon Schlinkert -========================================= -END OF linear-layout-vector NOTICES AND INFORMATION +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -%% linebreak 0.3.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/linebreak/-/linebreak-0.3.0.tgz) -========================================= -Copyright 2019 linebreak developers +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF linebreak NOTICES AND INFORMATION +------------------------------------------------------------------- -%% lodash 4.17.15 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz) -========================================= -Copyright OpenJS Foundation and other contributors +resolve-from 5.0.0 - MIT +https://github.com/sindresorhus/resolve-from#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) -Based on Underscore.js, copyright Jeremy Ashkenas, -DocumentCloud and Investigative Reporters & Editors +MIT License -This software consists of voluntary contributions made by many -individuals. For exact contribution history, see the revision history -available at https://github.com/lodash/lodash +Copyright (c) Sindre Sorhus (sindresorhus.com) -The following license applies to all parts of this software except as -documented below: +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -==== +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -==== +------------------------------------------------------------------- -Copyright and related rights for sample code are waived via CC0. Sample -code is defined as all source code displayed within the prose of the -documentation. +resolve-options 1.1.0 - MIT +https://github.com/gulpjs/resolve-options#readme +Copyright (c) 2017 Blaine Bublitz , Eric Schoffstall and other contributors -CC0: http://creativecommons.org/publicdomain/zero/1.0/ +The MIT License (MIT) -==== +Copyright (c) 2017 Blaine Bublitz , Eric Schoffstall and other contributors -Files located in the node_modules and vendor directories are externally -maintained libraries used by this software which have their own -licenses; we recommend you read them, as their terms may differ from the -terms above. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -========================================= -END OF lodash NOTICES AND INFORMATION +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -%% lodash.curry 4.1.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz) -========================================= -Copyright jQuery Foundation and other contributors +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -Based on Underscore.js, copyright Jeremy Ashkenas, -DocumentCloud and Investigative Reporters & Editors -This software consists of voluntary contributions made by many -individuals. For exact contribution history, see the revision history -available at https://github.com/lodash/lodash +------------------------------------------------------------------- -The following license applies to all parts of this software except as -documented below: +------------------------------------------------------------------- -==== +resolve-url 0.2.1 - MIT +https://github.com/lydell/resolve-url +Copyright (c) 2013 Simon Lydell +Copyright 2014 Simon Lydell X11 -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +The MIT License (MIT) -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +Copyright (c) 2013 Simon Lydell -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -==== +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -Copyright and related rights for sample code are waived via CC0. Sample -code is defined as all source code displayed within the prose of the -documentation. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -CC0: http://creativecommons.org/publicdomain/zero/1.0/ -==== +------------------------------------------------------------------- -Files located in the node_modules and vendor directories are externally -maintained libraries used by this software which have their own -licenses; we recommend you read them, as their terms may differ from the -terms above. +------------------------------------------------------------------- -========================================= -END OF lodash.curry NOTICES AND INFORMATION +responselike 1.0.2 - MIT +https://github.com/lukechilds/responselike#readme +(c) Luke Childs +Copyright (c) 2017 Luke Childs -%% lodash.flow 3.5.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz) -========================================= -Copyright jQuery Foundation and other contributors +Copyright (c) 2017 Luke Childs -Based on Underscore.js, copyright Jeremy Ashkenas, -DocumentCloud and Investigative Reporters & Editors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -This software consists of voluntary contributions made by many -individuals. For exact contribution history, see the revision history -available at https://github.com/lodash/lodash +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -The following license applies to all parts of this software except as -documented below: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -==== -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +restructure 0.5.4 - MIT +https://github.com/devongovett/restructure -==== +MIT License -Copyright and related rights for sample code are waived via CC0. Sample -code is defined as all source code displayed within the prose of the -documentation. +Copyright (c) -CC0: http://creativecommons.org/publicdomain/zero/1.0/ +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -==== +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -Files located in the node_modules and vendor directories are externally -maintained libraries used by this software which have their own -licenses; we recommend you read them, as their terms may differ from the -terms above. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF lodash.flow NOTICES AND INFORMATION +------------------------------------------------------------------- -%% logform 2.1.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/logform/-/logform-2.1.2.tgz) -========================================= -MIT License +------------------------------------------------------------------- -Copyright (c) 2017 Charlie Robbins & the Contributors. +ret 0.1.15 - MIT +https://github.com/fent/ret.js#readme +Copyright (c) 2011 by Roly Fentanes + +Copyright (C) 2011 by Roly Fentanes Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -9041,88 +38698,72 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -========================================= -END OF logform NOTICES AND INFORMATION -%% lru-cache 4.1.5 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz) -========================================= -The ISC License +------------------------------------------------------------------- -Copyright (c) Isaac Z. Schlueter and Contributors +------------------------------------------------------------------- -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +rfdc 1.1.4 - MIT +https://github.com/davidmarkclements/rfdc#readme +Copyright 2019 David Mark Clements -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +Copyright 2019 "David Mark Clements " -========================================= -END OF lru-cache NOTICES AND INFORMATION +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and +to permit persons to whom the Software is furnished to do so, subject to the following conditions: -%% magic-string 0.22.5 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz) -========================================= -Copyright 2018 Rich Harris +The above copyright notice and this permission notice shall be included in all copies or substantial portions +of the Software. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- +------------------------------------------------------------------- -========================================= -END OF magic-string NOTICES AND INFORMATION +rgb 0.1.0 - MIT +https://github.com/kamicane/rgb -%% markdown-escapes 1.0.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.3.tgz) -========================================= -(The MIT License) +MIT License -Copyright (c) 2016 Titus Wormer +Copyright (c) -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF markdown-escapes NOTICES AND INFORMATION +------------------------------------------------------------------- -%% martinez-polygon-clipping 0.1.5 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/martinez-polygon-clipping/-/martinez-polygon-clipping-0.1.5.tgz) -========================================= -MIT License +------------------------------------------------------------------- + +rgb-hex 2.1.0 - MIT +https://github.com/sindresorhus/rgb-hex#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) -Copyright (c) 2018 Alexander Milevski +Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -9131,72 +38772,88 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -========================================= -END OF martinez-polygon-clipping NOTICES AND INFORMATION +------------------------------------------------------------------- -%% material-colors 1.2.6 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz) -========================================= -ISC License +------------------------------------------------------------------- -Copyright 2014 Shuhei Kagawa +safe-buffer 5.1.2 - MIT +https://github.com/feross/safe-buffer +Copyright (c) Feross Aboukhadijeh +Copyright (c) Feross Aboukhadijeh (http://feross.org) -Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. +The MIT License (MIT) -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +Copyright (c) Feross Aboukhadijeh -========================================= -END OF material-colors NOTICES AND INFORMATION +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -%% md5 2.2.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/md5/-/md5-2.2.1.tgz) -========================================= -Copyright © 2011-2012, Paul Vorbach. -Copyright © 2009, Jeff Mott. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -All rights reserved. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. -* Neither the name Crypto-JS nor the names of its contributors may be used to - endorse or promote products derived from this software without specific prior - written permission. +------------------------------------------------------------------- + +------------------------------------------------------------------- + +safe-regex 1.1.0 - MIT +https://github.com/substack/safe-regex + +This software is released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -========================================= -END OF md5 NOTICES AND INFORMATION +------------------------------------------------------------------- -%% md5.js 1.3.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz) -========================================= -The MIT License (MIT) +------------------------------------------------------------------- -Copyright (c) 2016 Kirill Fomichev +safer-buffer 2.1.2 - MIT +https://github.com/ChALkeR/safer-buffer#readme +Copyright (c) 2018 Nikita Skovoroda + +MIT License + +Copyright (c) 2018 Nikita Skovoroda Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -9205,25 +38862,57 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -========================================= -END OF md5.js NOTICES AND INFORMATION -%% mdast-add-list-metadata 1.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/mdast-add-list-metadata/-/mdast-add-list-metadata-1.0.1.tgz) -========================================= -The MIT License (MIT) +------------------------------------------------------------------- + +------------------------------------------------------------------- + +sanitize-html 1.20.1 - MIT +https://github.com/punkave/sanitize-html#readme +Copyright 2011 The Closure Compiler +Copyright (c) 2013, 2014, 2015 P'unk Avenue LLC +Copyright 2011 Mozilla Foundation and contributors +Copyright 2014 Mozilla Foundation and contributors +Copyright Joyent, Inc. and other Node contributors. +Copyright 2009-2011 Mozilla Foundation and contributors +(c) // http://mathiasbynens.be/notes/javascript-encoding +Copyright 2012-2016 The Dojo Foundation +Copyright JS Foundation and other contributors +Copyright jQuery Foundation and other contributors +Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors +Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + +Copyright (c) 2013, 2014, 2015 P'unk Avenue LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -Copyright (c) 2018 André Staltz (staltz.com) +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +scheduler 0.13.6 - MIT +https://reactjs.org/ +Copyright (c) Facebook, Inc. and its affiliates. + +MIT License + +Copyright (c) Facebook, Inc. and its affiliates. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -9243,14 +38932,16 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF mdast-add-list-metadata NOTICES AND INFORMATION -%% media-typer 0.3.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz) -========================================= -(The MIT License) +------------------------------------------------------------------- -Copyright (c) 2014 Douglas Christopher Wilson +------------------------------------------------------------------- + +schema-utils 2.6.6 - MIT +https://github.com/webpack/schema-utils +Copyright JS Foundation and other contributors + +Copyright JS Foundation and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -9271,42 +38962,80 @@ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF media-typer NOTICES AND INFORMATION -%% merge-source-map 1.0.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz) -========================================= -The MIT License (MIT) +------------------------------------------------------------------- -Copyright (c) keik +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +schema-utils 2.6.2 - MIT +https://github.com/webpack/schema-utils +Copyright JS Foundation and other contributors -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +Copyright JS Foundation and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +schema-utils 2.6.5 - MIT +https://github.com/webpack/schema-utils +Copyright JS Foundation and other contributors + +Copyright JS Foundation and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -========================================= -END OF merge-source-map NOTICES AND INFORMATION +------------------------------------------------------------------- -%% mime-db 1.40.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz) -========================================= +------------------------------------------------------------------- + +set-value 2.0.1 - MIT +https://github.com/jonschlinkert/set-value +Copyright (c) 2014-2017, Jon Schlinkert +Copyright (c) 2014-2015, 2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). The MIT License (MIT) -Copyright (c) 2014 Jonathan Ong me@jongleberry.com +Copyright (c) 2014-2017, Jon Schlinkert Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -9326,19 +39055,20 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF mime-db NOTICES AND INFORMATION -%% mime-types 2.1.24 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz) -========================================= -(The MIT License) +------------------------------------------------------------------- -Copyright (c) 2014 Jonathan Ong -Copyright (c) 2015 Douglas Christopher Wilson +------------------------------------------------------------------- + +setimmediate 1.0.5 - MIT +https://github.com/yuzujs/setImmediate#readme +Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, and Domenic Denicola + +Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, and Domenic Denicola Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including +"Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to @@ -9347,58 +39077,22 @@ the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -========================================= -END OF mime-types NOTICES AND INFORMATION - -%% minimalistic-assert 1.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz) -========================================= -Copyright 2015 Calvin Metcalf - -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -========================================= -END OF minimalistic-assert NOTICES AND INFORMATION - -%% minimatch 3.0.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz) -========================================= -The ISC License +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Copyright (c) Isaac Z. Schlueter and Contributors -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF minimatch NOTICES AND INFORMATION +shallow-copy 0.0.1 - MIT +https://github.com/substack/shallow-copy -%% minimist 1.2.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz) -========================================= This software is released under the MIT license: Permission is hereby granted, free of charge, to any person obtaining a copy of @@ -9418,14 +39112,38 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF minimist NOTICES AND INFORMATION -%% mkdirp 0.5.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz) -========================================= -Copyright 2010 James Halliday (mail@substack.net) +------------------------------------------------------------------- -This project is free software released under the MIT/X11 license: +------------------------------------------------------------------- + +shebang-command 2.0.0 - MIT +https://github.com/kevva/shebang-command#readme +Copyright (c) Kevin Martensson + +MIT License + +Copyright (c) Kevin Mårtensson (github.com/kevva) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +shebang-command 1.2.0 - MIT +https://github.com/kevva/shebang-command#readme +(c) Kevin Martensson (http://github.com/kevva) +Copyright (c) Kevin Martensson + +The MIT License (MIT) + +Copyright (c) Kevin Martensson (github.com/kevva) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -9445,69 +39163,132 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF mkdirp NOTICES AND INFORMATION -%% moment 2.24.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/moment/-/moment-2.24.0.tgz) -========================================= -Copyright (c) JS Foundation and other contributors +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: +------------------------------------------------------------------- + +shebang-regex 1.0.0 - MIT +https://github.com/sindresorhus/shebang-regex +(c) Sindre Sorhus (http://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +shebang-regex 3.0.0 - MIT +https://github.com/sindresorhus/shebang-regex#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +simple-concat 1.0.0 - MIT +https://github.com/feross/simple-concat +Copyright (c) Feross Aboukhadijeh +Copyright (c) Feross Aboukhadijeh (http://feross.org). + +The MIT License (MIT) + +Copyright (c) Feross Aboukhadijeh + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF moment NOTICES AND INFORMATION +------------------------------------------------------------------- + +simple-get 3.1.0 - MIT +https://github.com/feross/simple-get +Copyright (c) Feross Aboukhadijeh +Copyright (c) Feross Aboukhadijeh (http://feross.org). -%% monaco-editor 0.18.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.18.1.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2016 - present Microsoft Corporation +Copyright (c) Feross Aboukhadijeh -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + -========================================= -END OF monaco-editor NOTICES AND INFORMATION +------------------------------------------------------------------- + +------------------------------------------------------------------- + +simple-swizzle 0.2.2 - MIT +https://github.com/qix-/node-simple-swizzle#readme +Copyright (c) 2015 Josh Junon -%% monaco-editor-textmate 2.2.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/monaco-editor-textmate/-/monaco-editor-textmate-2.2.1.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2018 Neek Sandhu +Copyright (c) 2015 Josh Junon Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -9527,41 +39308,86 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF monaco-editor-textmate NOTICES AND INFORMATION -%% monaco-textmate 3.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/monaco-textmate/-/monaco-textmate-3.0.1.tgz) -========================================= -The MIT License (MIT) +------------------------------------------------------------------- -Copyright (c) Microsoft Corporation +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +slash 1.0.0 - MIT +https://github.com/sindresorhus/slash +(c) Sindre Sorhus (http://sindresorhus.com) -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +MIT License -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +slickgrid 2.4.17 - MIT +https://github.com/6pac/SlickGrid#readme +(c) jQuery Foundation +(c) 2012 Julian Aubourg +(c) 2009-2016 Michael Leibman +Copyright (c) 2008 Ariel Flesler +Copyright 2011-2015 Twitter, Inc. +Copyright (c) 2010 Three Dub Media +(c) 2005, 2014 jQuery Foundation, Inc. +Copyright (c) 2011-2014, The Dojo Foundation +Copyright (c) 2009 John Resig, Jorn Zaefferer +Copyright 2011, Software Freedom Conservancy, Inc. +Copyright jQuery Foundation and other contributors +Copyright 2012 jQuery Foundation and other contributors +Copyright 2014 jQuery Foundation and other contributors +Copyright 2015 jQuery Foundation and other contributors +Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) +Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net) +(c) 2005, 2013 jQuery Foundation, Inc. and other contributors +Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors +Copyright 2008, 2014 jQuery Foundation, Inc. and other contributors +Copyright (c) 2009-2019 Michael Leibman and Ben McIntyre, http://github.com/6pac/slickgrid + +Copyright (c) 2009-2019 Michael Leibman and Ben McIntyre, http://github.com/6pac/slickgrid + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF monaco-textmate NOTICES AND INFORMATION +------------------------------------------------------------------- + +------------------------------------------------------------------- + +snapdragon 0.8.2 - MIT +https://github.com/jonschlinkert/snapdragon +Copyright (c) 2015-2016, Jon Schlinkert. +Copyright (c) 2012 TJ Holowaychuk +Copyright (c) 2016, Jon Schlinkert (https://github.com/jonschlinkert). -%% ms 2.1.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/ms/-/ms-2.1.2.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2016 Zeit, Inc. +Copyright (c) 2015-2016, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -9570,25 +39396,30 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -========================================= -END OF ms NOTICES AND INFORMATION -%% named-js-regexp 1.3.5 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/named-js-regexp/-/named-js-regexp-1.3.5.tgz) -========================================= -The MIT License +------------------------------------------------------------------- -Copyright (c) 2015, @edvinv +------------------------------------------------------------------- + +snapdragon-node 2.1.1 - MIT +https://github.com/jonschlinkert/snapdragon-node +Copyright (c) 2017, Jon Schlinkert +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2017, Jon Schlinkert Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -9607,44 +39438,20 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF named-js-regexp NOTICES AND INFORMATION - -%% negotiator 0.6.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz) -========================================= -(The MIT License) -Copyright (c) 2012-2014 Federico Romero -Copyright (c) 2012-2014 Isaac Z. Schlueter -Copyright (c) 2014-2015 Douglas Christopher Wilson - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF negotiator NOTICES AND INFORMATION +snapdragon-util 3.0.1 - MIT +https://github.com/jonschlinkert/snapdragon-util +Copyright (c) 2017, Jon Schlinkert +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). -%% node-fetch 1.7.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2016 David Frank +Copyright (c) 2017, Jon Schlinkert Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -9653,26 +39460,29 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +------------------------------------------------------------------- -========================================= -END OF node-fetch NOTICES AND INFORMATION +------------------------------------------------------------------- + +socket.io 2.3.0 - MIT +https://github.com/socketio/socket.io#readme +Copyright (c) 2014-2018 Automattic -%% node-libs-browser 2.2.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz) -========================================= (The MIT License) -Copyright (c) 2012 Tobias Koppers +Copyright (c) 2014-2018 Automattic Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -9693,151 +39503,51 @@ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF node-libs-browser NOTICES AND INFORMATION - -%% node-stream-zip 1.8.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.8.2.tgz) -========================================= -Copyright (c) 2015 Antelle https://github.com/antelle - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -== dependency license: adm-zip == - -Copyright (c) 2012 Another-D-Mention Software and other contributors, -http://www.another-d-mention.ro/ - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF node-stream-zip NOTICES AND INFORMATION - -%% numeral 2.0.6 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/numeral/-/numeral-2.0.6.tgz) -========================================= -Copyright (c) 2016 Adam Draper - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -========================================= -END OF numeral NOTICES AND INFORMATION - -%% oauth-sign 0.9.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz) -========================================= -Apache License - -Version 2.0, January 2004 - -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. +------------------------------------------------------------------- -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: +------------------------------------------------------------------- -You must give any other recipients of the Work or Derivative Works a copy of this License; and +socket.io-adapter 1.1.2 - MIT +https://github.com/socketio/socket.io-adapter#readme +Copyright (c) 2014 Guillermo Rauch -You must cause any modified files to carry prominent notices stating that You changed the files; and +(The MIT License) -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and +Copyright (c) 2014 Guillermo Rauch -If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the 'Software'), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. +------------------------------------------------------------------- -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. +------------------------------------------------------------------- -END OF TERMS AND CONDITIONS -========================================= -END OF oauth-sign NOTICES AND INFORMATION +socket.io-client 2.3.0 - MIT +https://github.com/Automattic/socket.io-client#readme +(c) 2014-2019 Guillermo Rauch +Copyright (c) 2014 Guillermo Rauch +Copyright (c) 2012 Niklas von Hertzen -%% object-assign 4.1.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz) -========================================= The MIT License (MIT) -Copyright (c) Sindre Sorhus (sindresorhus.com) +Copyright (c) 2014 Guillermo Rauch + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -9857,15 +39567,20 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF object-assign NOTICES AND INFORMATION +------------------------------------------------------------------- -%% object-inspect 1.4.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz) -========================================= -This software is released under the MIT license: +------------------------------------------------------------------- + +socket.io-parser 3.4.0 - MIT +https://github.com/Automattic/socket.io-parser#readme +Copyright (c) 2014 Guillermo Rauch + +(The MIT License) + +Copyright (c) 2014 Guillermo Rauch Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in +this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, @@ -9874,24 +39589,28 @@ subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF object-inspect NOTICES AND INFORMATION -%% object-is 1.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz) -========================================= -The MIT License (MIT) +------------------------------------------------------------------- -Copyright (c) 2014 Jordan Harband +------------------------------------------------------------------- + +socket.io-parser 3.3.0 - MIT +https://github.com/Automattic/socket.io-parser#readme +Copyright (c) 2014 Guillermo Rauch + +(The MIT License) + +Copyright (c) 2014 Guillermo Rauch Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in +this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, @@ -9900,21 +39619,29 @@ subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF object-is NOTICES AND INFORMATION -%% object-keys 1.1.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz) -========================================= +------------------------------------------------------------------- + +------------------------------------------------------------------- + +source-map-resolve 0.5.2 - MIT +https://github.com/lydell/source-map-resolve#readme +Copyright 2014 Simon Lydell X11 +Copyright 2017 Simon Lydell X11 +Copyright 2014, 2017 Simon Lydell X11 +Copyright (c) 2014, 2015, 2016, 2017 Simon Lydell +Copyright 2014, 2015, 2016, 2017 Simon Lydell X11 + The MIT License (MIT) -Copyright (C) 2013 Jordan Harband +Copyright (c) 2014, 2015, 2016, 2017 Simon Lydell Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -9933,28 +39660,95 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF object-keys NOTICES AND INFORMATION -%% on-finished 2.3.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz) -========================================= -(The MIT License) -Copyright (c) 2013 Jonathan Ong -Copyright (c) 2014 Douglas Christopher Wilson +------------------------------------------------------------------- + +------------------------------------------------------------------- + +source-map-support 0.5.16 - MIT +https://github.com/evanw/node-source-map-support#readme +Copyright (c) 2014 Evan Wallace + +The MIT License (MIT) + +Copyright (c) 2014 Evan Wallace + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +source-map-url 0.4.0 - MIT +https://github.com/lydell/source-map-url#readme +Copyright (c) 2014 Simon Lydell +Copyright 2014 Simon Lydell X11 + +The MIT License (MIT) + +Copyright (c) 2014 Simon Lydell + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +spdx-expression-parse 3.0.0 - MIT +https://github.com/jslicense/spdx-expression-parse.js#readme +Copyright (c) 2015 Kyle E. Mitchell + +The MIT License + +Copyright (c) 2015 Kyle E. Mitchell & other authors listed in AUTHORS Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including +"Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY @@ -9962,35 +39756,50 @@ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF on-finished NOTICES AND INFORMATION -%% once 1.4.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/once/-/once-1.4.0.tgz) -========================================= -The ISC License +------------------------------------------------------------------- -Copyright (c) Isaac Z. Schlueter and Contributors +------------------------------------------------------------------- -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +split 0.3.3 - MIT +http://github.com/dominictarr/split +Copyright (c) 2011 Dominic Tarr -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +Copyright (c) 2011 Dominic Tarr + +Permission is hereby granted, free of charge, +to any person obtaining a copy of this software and +associated documentation files (the "Software"), to +deal in the Software without restriction, including +without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom +the Software is furnished to do so, +subject to the following conditions: -========================================= -END OF once NOTICES AND INFORMATION +The above copyright notice and this permission notice +shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +split-string 3.1.0 - MIT +https://github.com/jonschlinkert/split-string +Copyright (c) 2015-2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). -%% one-time 0.0.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/one-time/-/one-time-0.0.4.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors. +Copyright (c) 2015-2017, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -9999,26 +39808,182 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +srcset 1.0.0 - MIT +https://github.com/sindresorhus/srcset#readme +(c) Sindre Sorhus (http://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +sshpk 1.16.1 - MIT +https://github.com/arekinath/node-sshpk#readme +Copyright Joyent, Inc. +Copyright 2015 Joyent, Inc. +Copyright 2016 Joyent, Inc. +Copyright 2017 Joyent, Inc. +Copyright 2018 Joyent, Inc. + +Copyright Joyent, Inc. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +stack-trace 0.0.10 - MIT +https://github.com/felixge/node-stack-trace +Copyright (c) 2011 Felix Geisendorfer (felix@debuggable.com) + +Copyright (c) 2011 Felix Geisendörfer (felix@debuggable.com) + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +state-toggle 1.0.3 - MIT +https://github.com/wooorm/state-toggle#readme +(c) Titus Wormer +Copyright (c) 2016 Titus Wormer + +(The MIT License) + +Copyright (c) 2016 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +static-eval 2.0.2 - MIT +https://github.com/substack/static-eval + +This software is released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF one-time NOTICES AND INFORMATION +------------------------------------------------------------------- + +------------------------------------------------------------------- + +static-extend 0.1.2 - MIT +https://github.com/jonschlinkert/static-extend +Copyright (c) 2016, Jon Schlinkert. -%% onigasm 2.2.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/onigasm/-/onigasm-2.2.2.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2018 Neek Sandhu +Copyright (c) 2016, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -10038,84 +40003,77 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF onigasm NOTICES AND INFORMATION - -%% only 0.0.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/only/-/only-0.0.2.tgz) -========================================= -(The MIT License) -Copyright (c) 2012 TJ Holowaychuk +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +static-module 3.0.3 - MIT +https://github.com/substack/static-module -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +This software is released under the MIT license: -========================================= -END OF only NOTICES AND INFORMATION +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: -%% optionator 0.8.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz) -========================================= -Copyright (c) George Zahariev +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF optionator NOTICES AND INFORMATION +------------------------------------------------------------------- -%% os-tmpdir 1.0.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz) -========================================= -The MIT License (MIT) +static-module 2.2.5 - MIT +https://github.com/substack/static-module -Copyright (c) Sindre Sorhus (sindresorhus.com) +This software is released under the MIT license: -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF os-tmpdir NOTICES AND INFORMATION -%% pako 0.2.9 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/pako/-/pako-0.2.9.tgz) -========================================= -(The MIT License) +------------------------------------------------------------------- -Copyright (C) 2014-2016 by Vitaly Puzrin +------------------------------------------------------------------- + +statuses 1.5.0 - MIT +https://github.com/jshttp/statuses#readme +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2016 Douglas Christopher Wilson +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2016 Douglas Christopher Wilson + + +The MIT License (MIT) + +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2016 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -10135,87 +40093,50 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF pako NOTICES AND INFORMATION - -%% parse-entities 1.2.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz) -========================================= -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF parse-entities NOTICES AND INFORMATION +------------------------------------------------------------------- -%% parseurl 1.3.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz) -========================================= +------------------------------------------------------------------- -(The MIT License) +stream-combiner 0.0.4 - MIT +https://github.com/dominictarr/stream-combiner +Copyright (c) 2012 Dominic Tarr -Copyright (c) 2014 Jonathan Ong -Copyright (c) 2014-2017 Douglas Christopher Wilson +Copyright (c) 2012 'Dominic Tarr' -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Permission is hereby granted, free of charge, +to any person obtaining a copy of this software and +associated documentation files (the "Software"), to +deal in the Software without restriction, including +without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom +the Software is furnished to do so, +subject to the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice +shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF parseurl NOTICES AND INFORMATION -%% parso 0.5.0 NOTICES AND INFORMATION BEGIN HERE (https://github.com/davidhalter/parso/tree/v0.5.0) -========================================= -All contributions towards parso are MIT licensed. - -Some Python files have been taken from the standard library and are therefore -PSF licensed. Modifications on these files are dual licensed (both MIT and -PSF). These files are: +------------------------------------------------------------------- -- parso/pgen2/* -- parso/tokenize.py -- parso/token.py -- test/test_pgen2.py +------------------------------------------------------------------- -Also some test files under test/normalizer_issue_files have been copied from -https://github.com/PyCQA/pycodestyle (Expat License == MIT License). +stream-shift 1.0.0 - MIT +https://github.com/mafintosh/stream-shift +Copyright (c) 2016 Mathias Buus -------------------------------------------------------------------------------- The MIT License (MIT) -Copyright (c) <2013-2017> +Copyright (c) 2016 Mathias Buus Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -10235,70 +40156,109 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 --------------------------------------------- +------------------------------------------------------------------- -1. This LICENSE AGREEMENT is between the Python Software Foundation -("PSF"), and the Individual or Organization ("Licensee") accessing and -otherwise using this software ("Python") in source or binary form and -its associated documentation. +------------------------------------------------------------------- -2. Subject to the terms and conditions of this License Agreement, PSF hereby -grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, -analyze, test, perform and/or display publicly, prepare derivative works, -distribute, and otherwise use Python alone or in any derivative version, -provided, however, that PSF's License Agreement and PSF's notice of copyright, -i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -2011, 2012, 2013, 2014, 2015 Python Software Foundation; All Rights Reserved" -are retained in Python alone or in any derivative version prepared by Licensee. +streamroller 2.2.3 - MIT +https://github.com/nomiddlename/streamroller#readme +Copyright (c) 2013 Gareth Jones -3. In the event Licensee prepares a derivative work that is based on -or incorporates Python or any part thereof, and wants to make -the derivative work available to others as provided herein, then -Licensee hereby agrees to include in any such work a brief summary of -the changes made to Python. +The MIT License (MIT) -4. PSF is making Python available to Licensee on an "AS IS" -basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. +Copyright (c) 2013 Gareth Jones -5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON -FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: -6. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -7. Nothing in this License Agreement shall be deemed to create any -relationship of agency, partnership, or joint venture between PSF and -Licensee. This License Agreement does not grant permission to use PSF -trademarks or trade name in a trademark sense to endorse or promote -products or services of Licensee, or any third party. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -8. By copying, installing or otherwise using Python, Licensee -agrees to be bound by the terms and conditions of this License -Agreement. -========================================= -END OF parso NOTICES AND INFORMATION +------------------------------------------------------------------- -%% passthrough-counter 1.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/passthrough-counter/-/passthrough-counter-1.0.0.tgz) -========================================= -The MIT License (MIT) +------------------------------------------------------------------- + +string_decoder 0.10.31 - MIT +https://github.com/rvagg/string_decoder +Copyright Joyent, Inc. and other Node contributors. + +Copyright Joyent, Inc. and other Node contributors. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- -Copyright (c) {{year}} Jonathan Ong me@jongleberry.com +------------------------------------------------------------------- + +string_decoder 1.2.0 - MIT +https://github.com/nodejs/string_decoder +Copyright Joyent, Inc. and other Node contributors. + +Node.js is licensed for use as follows: + +""" +Copyright Node.js contributors. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" + +This license applies to parts of Node.js originating from the +https://github.com/joyent/node repository: + +""" +Copyright Joyent, Inc. and other Node contributors. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in @@ -10308,48 +40268,55 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" -========================================= -END OF passthrough-counter NOTICES AND INFORMATION -%% path-browserify 0.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz) -========================================= -This software is released under the MIT license: -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +string_decoder 1.1.1 - MIT +https://github.com/nodejs/string_decoder +Copyright Joyent, Inc. and other Node contributors. -========================================= -END OF path-browserify NOTICES AND INFORMATION +Node.js is licensed for use as follows: -%% path-is-absolute 1.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz) -========================================= -The MIT License (MIT) +""" +Copyright Node.js contributors. All rights reserved. -Copyright (c) Sindre Sorhus (sindresorhus.com) +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" + +This license applies to parts of Node.js originating from the +https://github.com/joyent/node repository: +""" +Copyright Joyent, Inc. and other Node contributors. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in @@ -10359,18 +40326,24 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" + -========================================= -END OF path-is-absolute NOTICES AND INFORMATION -%% path-parse 1.0.6 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz) -========================================= +------------------------------------------------------------------- + +------------------------------------------------------------------- + +string-argv 0.3.1 - MIT +https://github.com/mccormicka/string-argv +Copyright 2014 Anthony McCormick + The MIT License (MIT) -Copyright (c) 2015 Javier Blanco +Copyright 2014 Anthony McCormick Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -10390,21 +40363,25 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF path-parse NOTICES AND INFORMATION -%% path-posix 1.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/path-posix/-/path-posix-1.0.0.tgz) -========================================= -Node's license follows: +------------------------------------------------------------------- -==== +------------------------------------------------------------------- + +string-width 1.0.2 - MIT +https://github.com/sindresorhus/string-width#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) -Copyright Joyent, Inc. and other Node contributors. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in @@ -10414,45 +40391,81 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -==== -========================================= -END OF path-posix NOTICES AND INFORMATION +------------------------------------------------------------------- -%% pdfkit 0.10.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/pdfkit/-/pdfkit-0.10.0.tgz) -========================================= -MIT LICENSE -Copyright (c) 2014 Devon Govett +------------------------------------------------------------------- + +string-width 4.2.0 - MIT +https://github.com/sindresorhus/string-width#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF pdfkit NOTICES AND INFORMATION -%% performance-now 2.1.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz) -========================================= -Copyright (c) 2013 Braveg1rl + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +string-width 3.1.0 - MIT +https://github.com/sindresorhus/string-width#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +string-width 2.1.1 - MIT +https://github.com/sindresorhus/string-width#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF performance-now NOTICES AND INFORMATION -%% pidusage 1.2.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/pidusage/-/pidusage-1.2.0.tgz) -========================================= + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +string.prototype.trimleft 2.1.1 - MIT +https://github.com/es-shims/String.prototype.trimLeft#readme +Copyright (c) 2015 Jordan Harband + The MIT License (MIT) -Copyright (c) 2014 soyuka +Copyright (c) 2015 Jordan Harband Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -10471,14 +40484,20 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF pidusage NOTICES AND INFORMATION -%% plotly.js-dist 1.51.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/plotly.js-dist/-/plotly.js-dist-1.51.1.tgz) -========================================= + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +string.prototype.trimright 2.1.1 - MIT +https://github.com/es-shims/String.prototype.trimRight#readme +Copyright (c) 2015 Jordan Harband + The MIT License (MIT) -Copyright (c) 2019 Plotly, Inc +Copyright (c) 2015 Jordan Harband Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -10487,25 +40506,69 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +------------------------------------------------------------------- + +------------------------------------------------------------------- -========================================= -END OF plotly.js-dist NOTICES AND INFORMATION +strip-ansi 4.0.0 - MIT +https://github.com/chalk/strip-ansi#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) -%% png-js 0.1.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/png-js/-/png-js-0.1.1.tgz) -========================================= MIT License -Copyright (c) 2017 Devon Govett +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +strip-ansi 6.0.0 - MIT +https://github.com/chalk/strip-ansi#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +strip-ansi 3.0.1 - MIT +https://github.com/chalk/strip-ansi +(c) Sindre Sorhus (http://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -10514,147 +40577,101 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -========================================= -END OF png-js NOTICES AND INFORMATION -%% polygon-offset 0.3.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/polygon-offset/-/polygon-offset-0.3.1.tgz) -========================================= -The MIT License (MIT) +------------------------------------------------------------------- -Copyright (c) 2014 Alexander Milevski +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +strip-ansi 5.2.0 - MIT +https://github.com/chalk/strip-ansi#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +MIT License -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Copyright (c) Sindre Sorhus (sindresorhus.com) -========================================= -END OF polygon-offset NOTICES AND INFORMATION +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -%% popper.js 1.16.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/popper.js/-/popper.js-1.16.0.tgz) -========================================= -The MIT License (MIT) +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -Copyright © 2016 Federico Zivolo and contributors +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF popper.js NOTICES AND INFORMATION +strip-bom 2.0.0 - MIT +https://github.com/sindresorhus/strip-bom +(c) Sindre Sorhus (http://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) -%% portfinder 1.0.25 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz) -========================================= -node-portfinder +The MIT License (MIT) -Copyright (c) 2012 Charlie Robbins +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF portfinder NOTICES AND INFORMATION +------------------------------------------------------------------- -%% prelude-ls 1.1.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz) -========================================= -Copyright (c) George Zahariev +strip-bom 4.0.0 - MIT +https://github.com/sindresorhus/strip-bom#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: +MIT License -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +Copyright (c) Sindre Sorhus (sindresorhus.com) -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -========================================= -END OF prelude-ls NOTICES AND INFORMATION +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -%% process 0.11.10 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/process/-/process-0.11.10.tgz) -========================================= -(The MIT License) +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Copyright (c) 2013 Roman Shtylman -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +strip-eof 1.0.0 - MIT +https://github.com/sindresorhus/strip-eof +(c) Sindre Sorhus (http://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) -========================================= -END OF process NOTICES AND INFORMATION +The MIT License (MIT) -%% process-nextick-args 1.0.7 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz) -========================================= -# Copyright (c) 2015 Calvin Metcalf +Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -10663,25 +40680,30 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -**THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE.** +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -========================================= -END OF process-nextick-args NOTICES AND INFORMATION -%% prop-types 15.7.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz) -========================================= -MIT License +------------------------------------------------------------------- -Copyright (c) 2013-present, Facebook, Inc. +------------------------------------------------------------------- + +strip-json-comments 2.0.1 - MIT +https://github.com/sindresorhus/strip-json-comments#readme +(c) Sindre Sorhus (http://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -10690,90 +40712,65 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -========================================= -END OF prop-types NOTICES AND INFORMATION - -%% pseudomap 1.0.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz) -========================================= -The ISC License +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -Copyright (c) Isaac Z. Schlueter and Contributors -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF pseudomap NOTICES AND INFORMATION +sudo-prompt 8.2.5 - MIT +https://github.com/jorangreef/sudo-prompt#readme +Copyright (c) 2015 Joran Dirk Greef -%% psl 1.2.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/psl/-/psl-1.2.0.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2017 Lupo Montero lupomontero@gmail.com - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +Copyright (c) 2015 Joran Dirk Greef -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -========================================= -END OF psl NOTICES AND INFORMATION +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -%% ptvsd 4.3.2 NOTICES AND INFORMATION BEGIN HERE (https://github.com/Microsoft/ptvsd/tree/v4.3.2) -========================================= -Copyright (c) Microsoft Corporation -All rights reserved. -MIT License -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +superagent 3.8.3 - MIT +https://github.com/visionmedia/superagent#readme +Copyright (c) 2014-2016 TJ Holowaychuk -========================================= -END OF ptvsd NOTICES AND INFORMATION +(The MIT License) -%% punycode 2.1.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz) -========================================= -Copyright Mathias Bynens +Copyright (c) 2014-2016 TJ Holowaychuk Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including +'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to @@ -10782,54 +40779,45 @@ the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF punycode NOTICES AND INFORMATION -%% pure-color 1.3.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz) -========================================= -The MIT License (MIT) +------------------------------------------------------------------- -Copyright (c) 2015 Nick Williams -Copyright (c) 2011 Heather Arthur +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +supports-color 7.1.0 - MIT +https://github.com/chalk/supports-color#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +MIT License -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF pure-color NOTICES AND INFORMATION +------------------------------------------------------------------- -%% py2app (for PyDev.Debugger) NOTICES AND INFORMATION BEGIN HERE (https://bitbucket.org/ronaldoussoren/py2app) -========================================= -This is the MIT license. This software may also be distributed under the same terms as Python (the PSF license). +------------------------------------------------------------------- -Copyright (c) 2004 Bob Ippolito. +supports-color 6.1.0 - MIT +https://github.com/chalk/supports-color#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License -Some parts copyright (c) 2010-2014 Ronald Oussoren +Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: @@ -10837,247 +40825,75 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF py2app NOTICES AND INFORMATION -%% PyDev.Debugger (for ptvsd 4 & debugpy 1) NOTICES AND INFORMATION BEGIN HERE (https://pypi.org/project/pydevd/) -========================================= -Eclipse Public License - v 1.0 +------------------------------------------------------------------- -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC -LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM -CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. +------------------------------------------------------------------- -1. DEFINITIONS +supports-color 5.5.0 - MIT +https://github.com/chalk/supports-color#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) -"Contribution" means: +MIT License -a) in the case of the initial Contributor, the initial code and documentation - distributed under this Agreement, and -b) in the case of each subsequent Contributor: - i) changes to the Program, and - ii) additions to the Program; +Copyright (c) Sindre Sorhus (sindresorhus.com) - where such changes and/or additions to the Program originate from and are - distributed by that particular Contributor. A Contribution 'originates' - from a Contributor if it was added to the Program by such Contributor - itself or anyone acting on such Contributor's behalf. Contributions do not - include additions to the Program which: (i) are separate modules of - software distributed in conjunction with the Program under their own - license agreement, and (ii) are not derivative works of the Program. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -"Contributor" means any person or entity that distributes the Program. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -"Licensed Patents" mean patent claims licensable by a Contributor which are -necessarily infringed by the use or sale of its Contribution alone or when -combined with the Program. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -"Program" means the Contributions distributed in accordance with this -Agreement. -"Recipient" means anyone who receives the Program under this Agreement, -including all Contributors. - -2. GRANT OF RIGHTS - a) Subject to the terms of this Agreement, each Contributor hereby grants - Recipient a non-exclusive, worldwide, royalty-free copyright license to - reproduce, prepare derivative works of, publicly display, publicly - perform, distribute and sublicense the Contribution of such Contributor, - if any, and such derivative works, in source code and object code form. - b) Subject to the terms of this Agreement, each Contributor hereby grants - Recipient a non-exclusive, worldwide, royalty-free patent license under - Licensed Patents to make, use, sell, offer to sell, import and otherwise - transfer the Contribution of such Contributor, if any, in source code and - object code form. This patent license shall apply to the combination of - the Contribution and the Program if, at the time the Contribution is - added by the Contributor, such addition of the Contribution causes such - combination to be covered by the Licensed Patents. The patent license - shall not apply to any other combinations which include the Contribution. - No hardware per se is licensed hereunder. - c) Recipient understands that although each Contributor grants the licenses - to its Contributions set forth herein, no assurances are provided by any - Contributor that the Program does not infringe the patent or other - intellectual property rights of any other entity. Each Contributor - disclaims any liability to Recipient for claims brought by any other - entity based on infringement of intellectual property rights or - otherwise. As a condition to exercising the rights and licenses granted - hereunder, each Recipient hereby assumes sole responsibility to secure - any other intellectual property rights needed, if any. For example, if a - third party patent license is required to allow Recipient to distribute - the Program, it is Recipient's responsibility to acquire that license - before distributing the Program. - d) Each Contributor represents that to its knowledge it has sufficient - copyright rights in its Contribution, if any, to grant the copyright - license set forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form under -its own license agreement, provided that: - - a) it complies with the terms and conditions of this Agreement; and - b) its license agreement: - i) effectively disclaims on behalf of all Contributors all warranties - and conditions, express and implied, including warranties or - conditions of title and non-infringement, and implied warranties or - conditions of merchantability and fitness for a particular purpose; - ii) effectively excludes on behalf of all Contributors all liability for - damages, including direct, indirect, special, incidental and - consequential damages, such as lost profits; - iii) states that any provisions which differ from this Agreement are - offered by that Contributor alone and not by any other party; and - iv) states that source code for the Program is available from such - Contributor, and informs licensees how to obtain it in a reasonable - manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - - a) it must be made available under this Agreement; and - b) a copy of this Agreement must be included with each copy of the Program. - Contributors may not remove or alter any copyright notices contained - within the Program. - -Each Contributor must identify itself as the originator of its Contribution, -if -any, in a manner that reasonably allows subsequent Recipients to identify the -originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain responsibilities with -respect to end users, business partners and the like. While this license is -intended to facilitate the commercial use of the Program, the Contributor who -includes the Program in a commercial product offering should do so in a manner -which does not create potential liability for other Contributors. Therefore, -if a Contributor includes the Program in a commercial product offering, such -Contributor ("Commercial Contributor") hereby agrees to defend and indemnify -every other Contributor ("Indemnified Contributor") against any losses, -damages and costs (collectively "Losses") arising from claims, lawsuits and -other legal actions brought by a third party against the Indemnified -Contributor to the extent caused by the acts or omissions of such Commercial -Contributor in connection with its distribution of the Program in a commercial -product offering. The obligations in this section do not apply to any claims -or Losses relating to any actual or alleged intellectual property -infringement. In order to qualify, an Indemnified Contributor must: -a) promptly notify the Commercial Contributor in writing of such claim, and -b) allow the Commercial Contributor to control, and cooperate with the -Commercial Contributor in, the defense and any related settlement -negotiations. The Indemnified Contributor may participate in any such claim at -its own expense. - -For example, a Contributor might include the Program in a commercial product -offering, Product X. That Contributor is then a Commercial Contributor. If -that Commercial Contributor then makes performance claims, or offers -warranties related to Product X, those performance claims and warranties are -such Commercial Contributor's responsibility alone. Under this section, the -Commercial Contributor would have to defend claims against the other -Contributors related to those performance claims and warranties, and if a -court requires any other Contributor to pay any damages as a result, the -Commercial Contributor must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR -IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, -NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each -Recipient is solely responsible for determining the appropriateness of using -and distributing the Program and assumes all risks associated with its -exercise of rights under this Agreement , including but not limited to the -risks and costs of program errors, compliance with applicable laws, damage to -or loss of data, programs or equipment, and unavailability or interruption of -operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY -CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION -LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE -EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY -OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of the -remainder of the terms of this Agreement, and without further action by the -parties hereto, such provision shall be reformed to the minimum extent -necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against any entity (including a -cross-claim or counterclaim in a lawsuit) alleging that the Program itself -(excluding combinations of the Program with other software or hardware) -infringes such Recipient's patent(s), then such Recipient's rights granted -under Section 2(b) shall terminate as of the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it fails to -comply with any of the material terms or conditions of this Agreement and does -not cure such failure in a reasonable period of time after becoming aware of -such noncompliance. If all Recipient's rights under this Agreement terminate, -Recipient agrees to cease use and distribution of the Program as soon as -reasonably practicable. However, Recipient's obligations under this Agreement -and any licenses granted by Recipient relating to the Program shall continue -and survive. - -Everyone is permitted to copy and distribute copies of this Agreement, but in -order to avoid inconsistency the Agreement is copyrighted and may only be -modified in the following manner. The Agreement Steward reserves the right to -publish new versions (including revisions) of this Agreement from time to -time. No one other than the Agreement Steward has the right to modify this -Agreement. The Eclipse Foundation is the initial Agreement Steward. The -Eclipse Foundation may assign the responsibility to serve as the Agreement -Steward to a suitable separate entity. Each new version of the Agreement will -be given a distinguishing version number. The Program (including -Contributions) may always be distributed subject to the version of the -Agreement under which it was received. In addition, after a new version of the -Agreement is published, Contributor may elect to distribute the Program -(including its Contributions) under the new version. Except as expressly -stated in Sections 2(a) and 2(b) above, Recipient receives no rights or -licenses to the intellectual property of any Contributor under this Agreement, -whether expressly, by implication, estoppel or otherwise. All rights in the -Program not expressly granted under this Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and the -intellectual property laws of the United States of America. No party to this -Agreement will bring a legal action under this Agreement more than one year -after the cause of action arose. Each party waives its rights to a jury trial in -any resulting litigation. - -========================================= -END OF PyDev.Debugger NOTICES AND INFORMATION - -%% pyparsing 2.4.0 NOTICES AND INFORMATION BEGIN HERE (https://github.com/pyparsing/pyparsing/tree/pyparsing_2.4.0) -========================================= -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +svg-to-pdfkit 0.1.8 - MIT +https://github.com/alafr/SVG-to-PDFKit#readme +(c) www.w3.org +Copyright 2013 Google Inc. +Copyright (c) 2011 Devon Govett +copyright (c) 2018 Denis Pushkarev +Copyright (c) 2014-present, Facebook, Inc. +(c) 1995-2013 Jean-loup Gailly and Mark Adler +Copyright (c) 2019 SVG-to-PDFKit contributors +(c) 2014-2017 Vitaly Puzrin and Andrey Tupitsin +Copyright (c) 2009 Thomas Robinson <280north.com> +Copyright Joyent, Inc. and other Node contributors. +Copyright 2008 World Wide Web Consortium, Massachusetts Institute +Copyright 2009 World Wide Web Consortium, Massachusetts Institute +Copyright (c) 1985, 1987, 1988, 1989, 1997 Adobe Systems Incorporated. +Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. +Copyright (c) 1989, 1990, 1991, 1993, 1997 Adobe Systems Incorporated. +Copyright (c) 1985, 1987, 1989, 1990, 1993, 1997 Adobe Systems Incorporated. +Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. +Copyright 2009 World Wide Web Consortium, (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics (ERCIM), Keio University). + +The MIT License (MIT) -========================================= -END OF pyparsing NOTICES AND INFORMATION +Copyright (c) 2019 SVG-to-PDFKit contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +symbol-observable 1.2.0 - MIT +https://github.com/blesh/symbol-observable#readme +Copyright (c) Ben Lesh +Copyright (c) Sindre Sorhus (sindresorhus.com) -%% python-jsonrpc-server 0.2.0 NOTICES AND INFORMATION BEGIN HERE (https://github.com/palantir/python-jsonrpc-server/releases/tag/0.2.0) -========================================= The MIT License (MIT) -Copyright 2017 Palantir Technologies, Inc. +Copyright (c) Sindre Sorhus (sindresorhus.com) +Copyright (c) Ben Lesh Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -11086,59 +40902,29 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -========================================= -END OF python-jsonrpc-server NOTICES AND INFORMATION - -%% qs 6.5.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/qs/-/qs-6.5.2.tgz) -========================================= -Copyright (c) 2014 Nathan LaFreniere and other contributors. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * The names of any contributors may not be used to endorse or promote - products derived from this software without specific prior written - permission. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * * * +------------------------------------------------------------------- -The complete list of contributors can be found at: https://github.com/hapijs/qs/graphs/contributors +------------------------------------------------------------------- -========================================= -END OF qs NOTICES AND INFORMATION +symbol-tree 3.2.4 - MIT +https://github.com/jsdom/js-symbol-tree#symbol-tree +Copyright (c) 2015 Joris van der Wel -%% querystringify 2.1.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors. +Copyright (c) 2015 Joris van der Wel Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -11147,50 +40933,27 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -========================================= -END OF querystringify NOTICES AND INFORMATION - -%% quote-stream 1.0.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz) -========================================= -This software is released under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF quote-stream NOTICES AND INFORMATION +------------------------------------------------------------------- -%% react 16.8.6 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/react/-/react-16.8.6.tgz) -========================================= -MIT License +sync-request 6.1.0 - MIT +https://github.com/ForbesLindesay/sync-request#readme +Copyright (c) 2014 Forbes Lindesay -Copyright (c) Facebook, Inc. and its affiliates. +Copyright (c) 2014 Forbes Lindesay Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -11199,234 +40962,191 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -========================================= -END OF react NOTICES AND INFORMATION +------------------------------------------------------------------- -%% react-annotation 2.1.6 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/react-annotation/-/react-annotation-2.1.6.tgz) -========================================= +------------------------------------------------------------------- - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +sync-rpc 1.3.6 - MIT +https://github.com/ForbesLindesay/sync-rpc#readme +Copyright (c) 2013 Dominic Tarr +Copyright (c) 2017 Forbes Lindesay (https://github.com/ForbesLindesay) - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +# The MIT License (MIT) - 1. Definitions. +Copyright (c) 2017 [Forbes Lindesay](https://github.com/ForbesLindesay) + +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + + +Copyright (c) 2013 Dominic Tarr - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +Permission is hereby granted, free of charge, +to any person obtaining a copy of this software and +associated documentation files (the "Software"), to +deal in the Software without restriction, including +without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom +the Software is furnished to do so, +subject to the following conditions: - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +The above copyright notice and this permission notice +shall be included in all copies or substantial portions of the Software. - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +------------------------------------------------------------------- - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +------------------------------------------------------------------- - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +tas-client 0.0.875 - MIT +Copyright (c) Microsoft Corporation. - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. +MIT License - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." +Copyright (c) - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: +------------------------------------------------------------------- - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and +------------------------------------------------------------------- - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and +tcp-port-used 1.0.1 - MIT +https://github.com/stdarg/tcp-port-used +Copyright (c) 2013 - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and +The MIT License (MIT) - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. +Copyright (c) 2013 jut-io - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. +------------------------------------------------------------------- - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. +------------------------------------------------------------------- - END OF TERMS AND CONDITIONS +terser-webpack-plugin 1.4.3 - MIT +https://github.com/webpack-contrib/terser-webpack-plugin +Copyright JS Foundation and other contributors + +Copyright JS Foundation and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- +------------------------------------------------------------------- + +terser-webpack-plugin 2.3.2 - MIT +https://github.com/webpack-contrib/terser-webpack-plugin +Copyright JS Foundation and other contributors + +Copyright JS Foundation and other contributors - APPENDIX: How to apply the Apache License to your work. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. - Copyright (c) 2017, Susie Lu +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 +------------------------------------------------------------------- - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. +------------------------------------------------------------------- -========================================= -END OF react-annotation NOTICES AND INFORMATION +text-hex 1.0.0 - MIT +https://github.com/3rd-Eden/text-hex +Copyright (c) 2014-2015 Arnout Kazemier -%% react-base16-styling 0.5.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.5.3.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2016 Alexander Kuznetsov +Copyright (c) 2014-2015 Arnout Kazemier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -11446,44 +41166,43 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF react-base16-styling NOTICES AND INFORMATION -%% react-color 2.17.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/react-color/-/react-color-2.17.3.tgz) -========================================= -The MIT License (MIT) +------------------------------------------------------------------- -Copyright (c) 2015 Case Sandberg +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +text-table 0.2.0 - MIT +https://github.com/substack/text-table + +This software is released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF react-color NOTICES AND INFORMATION -%% react-data-grid 6.1.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/react-data-grid/-/react-data-grid-6.1.0.tgz) -========================================= -The MIT License (MIT) +------------------------------------------------------------------- -Original work Copyright (c) 2014 Prometheus Research -Modified work Copyright 2015 Adazzle +------------------------------------------------------------------- -For the original source code please see https://github.com/prometheusresearch/react-grid +then-request 6.0.2 - MIT +https://github.com/then/then-request#readme +Copyright (c) 2014 Forbes Lindesay + +Copyright (c) 2014 Forbes Lindesay Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -11503,41 +41222,138 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF react-data-grid NOTICES AND INFORMATION +------------------------------------------------------------------- -%% react-dom 16.8.6 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/react-dom/-/react-dom-16.8.6.tgz) -========================================= -MIT License +------------------------------------------------------------------- -Copyright (c) Facebook, Inc. and its affiliates. +thread-loader 2.1.3 - MIT +https://github.com/webpack-contrib/thread-loader +Copyright JS Foundation and other contributors -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Copyright JS Foundation and other contributors -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- -========================================= -END OF react-dom NOTICES AND INFORMATION +throttleit 1.0.0 - MIT +https://github.com/component/throttle -%% react-hot-loader 4.12.6 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.12.6.tgz) -========================================= MIT License -Copyright (c) 2016 Dan Abramov +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +through 2.3.8 - MIT +https://github.com/dominictarr/through +Copyright (c) 2011 Dominic Tarr + +The MIT License + +Copyright (c) 2011 Dominic Tarr + +Permission is hereby granted, free of charge, +to any person obtaining a copy of this software and +associated documentation files (the "Software"), to +deal in the Software without restriction, including +without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom +the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +through2 2.0.5 - MIT +https://github.com/rvagg/through2#readme +Copyright (c) Rod Vagg +Copyright (c) Rod Vagg rvagg (https://twitter.com/rvagg) and additional contributors + +# The MIT License (MIT) + +**Copyright (c) Rod Vagg (the "Original Author") and additional contributors** + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +through2-filter 3.0.0 - MIT +https://github.com/brycebaril/through2-filter#readme +Copyright (c) Bryce B. Baril + +(The MIT License) + +Copyright (c) Bryce B. Baril + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +timed-out 4.0.1 - MIT +https://github.com/floatdrop/timed-out#readme +(c) Vsevolod Strukchinsky (floatdrop@gmail.com) +Copyright (c) Vsevolod Strukchinsky + +The MIT License (MIT) + +Copyright (c) Vsevolod Strukchinsky Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -11546,25 +41362,86 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +timers-browserify 2.0.11 - MIT +https://github.com/jryans/timers-browserify +Copyright Joyent, Inc. and other Node contributors. +Copyright (c) 2012 J. Ryan Stinnett + +# timers-browserify + +This project uses the [MIT](http://jryans.mit-license.org/) license: + + Copyright © 2012 J. Ryan Stinnett + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the “Software”), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + +# lib/node + +The `lib/node` directory borrows files from joyent/node which uses the following license: + + Copyright Joyent, Inc. and other Node contributors. All rights reserved. + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- -========================================= -END OF react-hot-loader NOTICES AND INFORMATION +tiny-inflate 1.0.3 - MIT +https://github.com/devongovett/tiny-inflate +Copyright (c) 2015-present Devon Govett -%% react-is 16.8.6 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/react-is/-/react-is-16.8.6.tgz) -========================================= MIT License -Copyright (c) Facebook, Inc. and its affiliates. +Copyright (c) 2015-present Devon Govett Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -11584,15 +41461,19 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF react-is NOTICES AND INFORMATION -%% react-json-tree 0.11.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/react-json-tree/-/react-json-tree-0.11.2.tgz) -========================================= -The MIT License (MIT) +------------------------------------------------------------------- + +------------------------------------------------------------------- + +tmp 0.0.29 - MIT +http://github.com/raszi/node-tmp +Copyright (c) 2014 KARASZI Istvan +Copyright (c) 2011-2015 KARASZI Istvan -Copyright (c) 2015 Shusaku Uesugi, (c) 2016-present Alexander Kuznetsov +The MIT License (MIT) +Copyright (c) 2014 KARASZI István Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -11612,14 +41493,19 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF react-json-tree NOTICES AND INFORMATION -%% react-lifecycles-compat 3.0.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz) -========================================= -MIT License +------------------------------------------------------------------- -Copyright (c) 2013-present, Facebook, Inc. +------------------------------------------------------------------- + +to-absolute-glob 2.0.2 - MIT +https://github.com/jonschlinkert/to-absolute-glob +Copyright (c) 2015-2016, Jon Schlinkert +Copyright (c) 2016, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2015-2016, Jon Schlinkert Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -11628,24 +41514,27 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -========================================= -END OF react-lifecycles-compat NOTICES AND INFORMATION +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -%% react-markdown 4.1.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/react-markdown/-/react-markdown-4.1.0.tgz) -========================================= -The MIT License (MIT) -Copyright (c) 2015 Espen Hovlandsdal +------------------------------------------------------------------- + +------------------------------------------------------------------- + +to-array 0.1.4 - MIT +https://github.com/Raynos/to-array +Copyright (c) 2012 Raynos. + +Copyright (c) 2012 Raynos. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -11654,25 +41543,30 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +------------------------------------------------------------------- -========================================= -END OF react-markdown NOTICES AND INFORMATION +------------------------------------------------------------------- + +to-object-path 0.3.0 - MIT +https://github.com/jonschlinkert/to-object-path +Copyright (c) 2015 Jon Schlinkert +Copyright (c) 2015, Jon Schlinkert. +Copyright (c) 2015-2016, Jon Schlinkert. -%% react-popper 1.3.7 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/react-popper/-/react-popper-1.3.7.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2018 React Popper authors +Copyright (c) 2015-2016, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -11681,25 +41575,50 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +to-readable-stream 1.0.0 - MIT +https://github.com/sindresorhus/to-readable-stream#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + -========================================= -END OF react-popper NOTICES AND INFORMATION +------------------------------------------------------------------- + +------------------------------------------------------------------- + +to-regex 3.0.2 - MIT +https://github.com/jonschlinkert/to-regex +Copyright (c) 2016-2018, Jon Schlinkert. +Copyright (c) 2018, Jon Schlinkert (https://github.com/jonschlinkert). -%% react-redux 7.1.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/react-redux/-/react-redux-7.1.1.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2015-present Dan Abramov +Copyright (c) 2016-2018, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -11708,25 +41627,31 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -========================================= -END OF react-redux NOTICES AND INFORMATION -%% react-svg-pan-zoom 3.1.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/react-svg-pan-zoom/-/react-svg-pan-zoom-3.1.0.tgz) -========================================= -MIT License +------------------------------------------------------------------- -Copyright (c) 2016 https://github.com/chrvadala +------------------------------------------------------------------- + +to-regex-range 2.1.1 - MIT +https://github.com/micromatch/to-regex-range +Copyright (c) 2015-2017, Jon Schlinkert +Copyright (c) 2015, 2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). + +The MIT License (MIT) + +Copyright (c) 2015-2017, Jon Schlinkert Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -11735,25 +41660,30 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- -========================================= -END OF react-svg-pan-zoom NOTICES AND INFORMATION +to-regex-range 5.0.1 - MIT +https://github.com/micromatch/to-regex-range +Copyright (c) 2015-present, Jon Schlinkert. +Copyright (c) 2019, Jon Schlinkert (https://github.com/jonschlinkert). -%% react-svgmt 1.1.8 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/react-svgmt/-/react-svgmt-1.1.8.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2017 Hugo Zapata +Copyright (c) 2015-present, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -11773,14 +41703,18 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF react-svgmt NOTICES AND INFORMATION -%% react-table 6.10.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/react-table/-/react-table-6.10.0.tgz) -========================================= -MIT License +------------------------------------------------------------------- + +------------------------------------------------------------------- + +to-through 2.0.0 - MIT +https://github.com/gulpjs/to-through#readme +Copyright (c) 2017 Blaine Bublitz , Eric Schoffstall and other contributors -Copyright (c) 2016 Tanner Linsley +The MIT License (MIT) + +Copyright (c) 2017 Blaine Bublitz , Eric Schoffstall and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -11800,14 +41734,19 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF react-table NOTICES AND INFORMATION -%% react-table-hoc-fixed-columns 1.0.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/react-table-hoc-fixed-columns/-/react-table-hoc-fixed-columns-1.0.2.tgz) -========================================= +------------------------------------------------------------------- + +------------------------------------------------------------------- + +toidentifier 1.0.0 - MIT +https://github.com/component/toidentifier#readme +Copyright (c) 2016 Douglas Christopher Wilson +Copyright (c) 2016 Douglas Christopher Wilson + MIT License -Copyright (c) 2018 Guillaume Jasmin +Copyright (c) 2016 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -11827,50 +41766,18 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF react-table-hoc-fixed-columns NOTICES AND INFORMATION -%% react-transition-group 2.9.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz) -========================================= -BSD 3-Clause License - -Copyright (c) 2018, React Community -Forked from React (https://github.com/facebook/react) Copyright 2013-present, Facebook, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- -========================================= -END OF react-transition-group NOTICES AND INFORMATION +transformation-matrix 2.0.5 - MIT +https://github.com/chrvadala/transformation-matrix#readme +Copyright (c) 2017 https://github.com/chrvadala -%% react-virtualized 9.21.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/react-virtualized/-/react-virtualized-9.21.1.tgz) -========================================= -The MIT License (MIT) +MIT License -Copyright (c) 2015 Brian Vaughn +Copyright (c) 2017 https://github.com/chrvadala Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -11891,14 +41798,17 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF react-virtualized NOTICES AND INFORMATION +------------------------------------------------------------------- -%% reactcss 1.2.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/reactcss/-/reactcss-1.2.3.tgz) -========================================= -The MIT License (MIT) +------------------------------------------------------------------- + +tree-kill 1.2.2 - MIT +https://github.com/pkrumins/node-tree-kill +Copyright (c) 2018 Peter Krumins + +MIT License -Copyright (c) 2015 Case Sandberg +Copyright (c) 2018 Peter Krumins Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -11918,67 +41828,52 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF reactcss NOTICES AND INFORMATION -%% readable-stream 3.4.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz) -========================================= -Node.js is licensed for use as follows: +------------------------------------------------------------------- -""" -Copyright Node.js contributors. All rights reserved. +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +trim-trailing-lines 1.1.3 - MIT +https://github.com/wooorm/trim-trailing-lines#readme +(c) Titus Wormer +Copyright (c) 2015 Titus Wormer -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +(The MIT License) -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" +Copyright (c) 2015 Titus Wormer -This license applies to parts of Node.js originating from the -https://github.com/joyent/node repository: +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -""" -Copyright Joyent, Inc. and other Node contributors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" -========================================= -END OF readable-stream NOTICES AND INFORMATION +------------------------------------------------------------------- -%% redux 4.0.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/redux/-/redux-4.0.4.tgz) -========================================= -The MIT License (MIT) +------------------------------------------------------------------- -Copyright (c) 2015-present Dan Abramov +triple-beam 1.3.0 - MIT +https://github.com/winstonjs/triple-beam#readme +Copyright (c) 2017 +(c) 2010 Charlie Robbins + +MIT License + +Copyright (c) 2017 winstonjs Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -11998,12 +41893,19 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF redux NOTICES AND INFORMATION -%% redux-logger 3.0.6 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/redux-logger/-/redux-logger-3.0.6.tgz) -========================================= -Copyright (c) 2016 Eugene Rodionov +------------------------------------------------------------------- + +------------------------------------------------------------------- + +trough 1.0.5 - MIT +https://github.com/wooorm/trough#readme +(c) Titus Wormer +Copyright (c) 2016 Titus Wormer + +(The MIT License) + +Copyright (c) 2016 Titus Wormer Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -12017,107 +41919,24 @@ all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF redux-logger NOTICES AND INFORMATION - -%% reflect-metadata 0.1.13 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz) -========================================= -Apache License - -Version 2.0, January 2004 - -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - -You must give any other recipients of the Work or Derivative Works a copy of this License; and - -You must cause any modified files to carry prominent notices stating that You changed the files; and - -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and - -If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. +------------------------------------------------------------------- -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. +------------------------------------------------------------------- -END OF TERMS AND CONDITIONS -========================================= -END OF reflect-metadata NOTICES AND INFORMATION +ts-mockito 2.5.0 - MIT +https://github.com/NagRock/ts-mockito#readme +Copyright (c) 2016 NagRock -%% regenerator-runtime 0.13.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz) -========================================= MIT License -Copyright (c) 2014-present, Facebook, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -========================================= -END OF regenerator-runtime NOTICES AND INFORMATION - -%% regexp.prototype.flags 1.3.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz) -========================================= -The MIT License (MIT) - -Copyright (C) 2014 Jordan Harband +Copyright (c) 2016 NagRock Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -12126,24 +41945,44 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -========================================= -END OF regexp.prototype.flags NOTICES AND INFORMATION +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -%% regression 2.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/regression/-/regression-2.0.1.tgz) -========================================= -The MIT License (MIT) -Copyright (c) Tom Alexander +------------------------------------------------------------------- + +------------------------------------------------------------------- + +tslint-config-prettier 1.18.0 - MIT +https://github.com/prettier/tslint-config-prettier#readme +Copyright 2017 Alex Jover Morales + +Copyright 2017 Alex Jover Morales + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +tslint-eslint-rules 5.4.0 - MIT +Copyright (c) 2015 Vitor Buzinaro, Victor Schiavi + +Copyright (c) 2015 Vitor Buzinaro, Victor Schiavi + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -12152,26 +41991,31 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF regression NOTICES AND INFORMATION -%% remark-parse 5.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/remark-parse/-/remark-parse-5.0.0.tgz) -========================================= -(The MIT License) +------------------------------------------------------------------- -Copyright (c) 2014-2016 Titus Wormer -Copyright (c) 2011-2014, Christopher Jeffrey (https://github.com/chjj/) +------------------------------------------------------------------- + +tslint-plugin-prettier 2.1.0 - MIT +https://github.com/prettier/tslint-plugin-prettier#readme +Copyright (c) Ika + +MIT License + +Copyright (c) Ika (https://github.com/ikatyang) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -12180,26 +42024,29 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -========================================= -END OF remark-parse NOTICES AND INFORMATION +------------------------------------------------------------------- + +------------------------------------------------------------------- + +tsutils 2.28.0 - MIT +https://github.com/ajafff/tsutils#readme +Copyright (c) 2017 Klaus Meinhardt -%% repeat-string 1.6.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2014-2016, Jon Schlinkert. +Copyright (c) 2017 Klaus Meinhardt Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -12208,25 +42055,29 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + -========================================= -END OF repeat-string NOTICES AND INFORMATION +------------------------------------------------------------------- + +------------------------------------------------------------------- + +tsutils 2.29.0 - MIT +https://github.com/ajafff/tsutils#readme +Copyright (c) 2017 Klaus Meinhardt -%% replace-ext 1.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2014 Blaine Bublitz , Eric Schoffstall and other contributors +Copyright (c) 2017 Klaus Meinhardt Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -12246,98 +42097,115 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF replace-ext NOTICES AND INFORMATION - -%% request 2.88.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/request/-/request-2.88.0.tgz) -========================================= -Apache License - -Version 2.0, January 2004 - -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -1. Definitions. +------------------------------------------------------------------- -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. +------------------------------------------------------------------- -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. +type-check 0.3.2 - MIT +https://github.com/gkz/type-check +Copyright (c) George Zahariev -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. +Copyright (c) George Zahariev -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. +------------------------------------------------------------------- -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." +------------------------------------------------------------------- -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. +type-detect 4.0.8 - MIT +https://github.com/chaijs/type-detect#readme +Copyright (c) 2013 +Copyright (c) 2013 Jake Luer (http://alogicalparadox.com) -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. +Copyright (c) 2013 Jake Luer (http://alogicalparadox.com) -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -You must give any other recipients of the Work or Derivative Works a copy of this License; and +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -You must cause any modified files to carry prominent notices stating that You changed the files; and -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and +------------------------------------------------------------------- -If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. +------------------------------------------------------------------- -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. +type-is 1.6.18 - MIT +https://github.com/jshttp/type-is#readme +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2014-2015 Douglas Christopher Wilson +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2014-2015 Douglas Christopher Wilson -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. +(The MIT License) -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2014-2015 Douglas Christopher Wilson -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -END OF TERMS AND CONDITIONS -========================================= -END OF request NOTICES AND INFORMATION +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -%% request-progress 3.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz) -========================================= -Copyright (c) 2012 IndigoUnited -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -========================================= -END OF request-progress NOTICES AND INFORMATION +typed-styles 0.0.7 - MIT +Copyright (c) 2017 Artur Kenzhaev -%% requires-port 1.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz) -========================================= -The MIT License (MIT) +MIT License -Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors. +Copyright (c) 2017 Artur Kenzhaev Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -12358,14 +42226,64 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF requires-port NOTICES AND INFORMATION +------------------------------------------------------------------- + +------------------------------------------------------------------- + +typedarray 0.0.6 - MIT +https://github.com/substack/typedarray +Copyright (c) 2012, Joshua Bell +Copyright (c) 2010, Linden Research, Inc. + +/* + Copyright (c) 2010, Linden Research, Inc. + Copyright (c) 2012, Joshua Bell + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + $/LicenseInfo$ + */ + +// Original can be found at: +// https://bitbucket.org/lindenlab/llsd +// Modifications by Joshua Bell inexorabletash@gmail.com +// https://github.com/inexorabletash/polyfill + +// ES3/ES5 implementation of the Krhonos Typed Array Specification +// Ref: http://www.khronos.org/registry/typedarray/specs/latest/ +// Date: 2011-02-01 +// +// Variations: +// * Allows typed_array.get/set() as alias for subscripts (typed_array[]) + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +typedarray-to-buffer 3.1.5 - MIT +http://feross.org +Copyright (c) Feross Aboukhadijeh +Copyright (c) Feross Aboukhadijeh (http://feross.org). -%% resize-observer-polyfill 1.5.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2016 Denis Rul +Copyright (c) Feross Aboukhadijeh Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -12374,75 +42292,29 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -========================================= -END OF resize-observer-polyfill NOTICES AND INFORMATION - -%% resolve 1.11.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz) -========================================= -This software is released under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -========================================= -END OF resolve NOTICES AND INFORMATION - -%% restructure 0.5.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/restructure/-/restructure-0.5.4.tgz) -========================================= -Copyright 2019 restructure developers - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + -========================================= -END OF restructure NOTICES AND INFORMATION +------------------------------------------------------------------- + +------------------------------------------------------------------- + +typestyle 2.1.0 - MIT +https://github.com/typestyle/typestyle#readme +Copyright (c) 2016 -%% roughjs-es5 0.1.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/roughjs-es5/-/roughjs-es5-0.1.0.tgz) -========================================= MIT License -Copyright (c) 2018 Preet Shihn +Copyright (c) 2016 typestyle Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -12462,249 +42334,149 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF roughjs-es5 NOTICES AND INFORMATION - -%% rxjs 5.5.12 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz) -========================================= - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +------------------------------------------------------------------- - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +------------------------------------------------------------------- - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +ua-parser-js 0.7.20 - MIT +http://github.com/faisalman/ua-parser-js +(c) 1996-2007 the VideoLAN team +Copyright (c) 2012-2019 Faisal Salman +Copyright (c) 2012-2019 Faisal Salman - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +MIT License - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. +Copyright (c) 2012-2019 Faisal Salman <> - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. +------------------------------------------------------------------- - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +------------------------------------------------------------------- - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. +uint64be 1.0.1 - MIT +https://github.com/mafintosh/uint64be +Copyright (c) 2015 Mathias Buus - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: +The MIT License (MIT) - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and +Copyright (c) 2015 Mathias Buus - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +------------------------------------------------------------------- - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. +------------------------------------------------------------------- - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. +unc-path-regex 0.1.2 - MIT +https://github.com/regexhq/unc-path-regex +Copyright (c) 2015 Jon Schlinkert +Copyright (c) 2015, Jon Schlinkert. - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. +The MIT License (MIT) - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. +Copyright (c) 2015, Jon Schlinkert. - END OF TERMS AND CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - APPENDIX: How to apply the Apache License to your work. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. - Copyright (c) 2015-2017 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at +------------------------------------------------------------------- - http://www.apache.org/licenses/LICENSE-2.0 +------------------------------------------------------------------- - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. +underscore 1.8.3 - MIT +http://underscorejs.org +Copyright (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors +(c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors Underscore +Copyright (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative +Reporters & Editors -========================================= -END OF rxjs NOTICES AND INFORMATION +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: -%% safe-buffer 5.1.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz) -========================================= -The MIT License (MIT) +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -Copyright (c) Feross Aboukhadijeh +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF safe-buffer NOTICES AND INFORMATION +unherit 1.1.3 - MIT +https://github.com/wooorm/unherit#readme +(c) Titus Wormer +Copyright (c) 2015 Titus Wormer -%% safer-buffer 2.1.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz) -========================================= -MIT License +(The MIT License) -Copyright (c) 2018 Nikita Skovoroda +Copyright (c) 2015 Titus Wormer Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -12713,242 +42485,118 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -========================================= -END OF safer-buffer NOTICES AND INFORMATION +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -%% sax 0.5.8 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/sax/-/sax-0.5.8.tgz) -========================================= -Copyright (c) Isaac Z. Schlueter ("Author") -All rights reserved. -The BSD License +------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +------------------------------------------------------------------- -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +unicode 10.0.0 - MIT +http://github.com/eversport/node-unicodetable +Copyright (c) 2014 -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. +Copyright (c) 2014 ▟ ▖▟ ▖(dodo) -THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS -BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -The file "examples/strict.dtd" is licensed by the W3C and used according -to the terms of the W3C SOFTWARE NOTICE AND LICENSE. See LICENSE-W3C.html -for details. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF sax NOTICES AND INFORMATION -%% scheduler 0.13.6 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz) -========================================= -MIT License +------------------------------------------------------------------- -Copyright (c) Facebook, Inc. and its affiliates. +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +unicode-properties 1.3.1 - MIT +https://github.com/devongovett/unicode-properties +Copyright 2018 -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Copyright 2018 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -========================================= -END OF scheduler NOTICES AND INFORMATION +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -%% semiotic 1.19.11 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/semiotic/-/semiotic-1.19.11.tgz) -========================================= -Copyright 2017 Elijah Meeks +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -========================================= -END OF semiotic NOTICES AND INFORMATION +------------------------------------------------------------------- -%% semiotic-mark 0.3.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/semiotic-mark/-/semiotic-mark-0.3.1.tgz) -========================================= -Copyright 2017 Elijah Meeks +------------------------------------------------------------------- -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at +unicode-trie 1.0.0 - MIT +https://github.com/devongovett/unicode-trie +Copyright 2018 - http://www.apache.org/licenses/LICENSE-2.0 +Copyright 2018 -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -========================================= -END OF semiotic-mark NOTICES AND INFORMATION +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -%% semver 5.7.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/semver/-/semver-5.7.0.tgz) -========================================= -The ISC License +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -Copyright (c) Isaac Z. Schlueter and Contributors +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -========================================= -END OF semver NOTICES AND INFORMATION +------------------------------------------------------------------- -%% setImmediate (for RxJS 5.5) NOTICES AND INFORMATION BEGIN HERE (https://github.com/YuzuJS/setImmediate) -========================================= -Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, and Domenic Denicola +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +unicode-trie 0.3.1 - MIT +https://github.com/devongovett/unicode-trie -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +MIT License -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Copyright (c) -========================================= -END OF setImmediate NOTICES AND INFORMATION +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -%% setimmediate 1.0.5 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz) -========================================= -Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, and Domenic Denicola +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF setimmediate NOTICES AND INFORMATION +unicode-trie 2.0.0 - MIT +https://github.com/devongovett/unicode-trie +Copyright 2018 -%% setprototypeof 1.1.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz) -========================================= -Copyright (c) 2015, Wes Todd +Copyright 2018 -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION -OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN -CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -========================================= -END OF setprototypeof NOTICES AND INFORMATION +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -%% shallow-copy 0.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz) -========================================= -This software is released under the MIT license: -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF shallow-copy NOTICES AND INFORMATION +union-value 1.0.1 - MIT +https://github.com/jonschlinkert/union-value +Copyright (c) 2015-2017, Jon Schlinkert +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). -%% simple-swizzle 0.2.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2015 Josh Junon +Copyright (c) 2015-2017, Jon Schlinkert Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -12968,12 +42616,20 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF simple-swizzle NOTICES AND INFORMATION -%% sizzle (for lodash 4.17) NOTICES AND INFORMATION BEGIN HERE (https://sizzlejs.com/) -========================================= -Copyright (c) 2009 John Resig +------------------------------------------------------------------- + +------------------------------------------------------------------- + +uniq 1.0.1 - MIT +https://github.com/mikolalysenko/uniq +(c) 2013 Mikola Lysenko. +Copyright (c) 2013 Mikola Lysenko + + +The MIT License (MIT) + +Copyright (c) 2013 Mikola Lysenko Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -12993,12 +42649,16 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF sizzle NOTICES AND INFORMATION -%% slickgrid 2.4.17 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/slickgrid/-/slickgrid-2.4.17.tgz) -========================================= -Copyright (c) 2009-2019 Michael Leibman and Ben McIntyre, http://github.com/6pac/slickgrid +------------------------------------------------------------------- + +------------------------------------------------------------------- + +unique-stream 2.3.1 - MIT +https://github.com/eugeneware/unique-stream#readme +Copyright 2014 Eugene Ware + +Copyright 2014 Eugene Ware Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -13018,94 +42678,17 @@ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF slickgrid NOTICES AND INFORMATION - -%% source-map 0.6.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz) -========================================= - -Copyright (c) 2009-2011, Mozilla Foundation and contributors -All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the names of the Mozilla Foundation nor the names of project - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -========================================= -END OF source-map NOTICES AND INFORMATION - -%% sshpk 1.16.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz) -========================================= -Copyright Joyent, Inc. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. - -========================================= -END OF sshpk NOTICES AND INFORMATION - -%% stack-trace 0.0.10 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz) -========================================= -Copyright (c) 2011 Felix Geisendörfer (felix@debuggable.com) - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF stack-trace NOTICES AND INFORMATION +------------------------------------------------------------------- + +unist-util-remove-position 1.1.4 - MIT +https://github.com/syntax-tree/unist-util-remove-position#readme +(c) Titus Wormer +Copyright (c) 2016 Titus Wormer -%% state-toggle 1.0.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.2.tgz) -========================================= (The MIT License) Copyright (c) 2016 Titus Wormer @@ -13129,39 +42712,72 @@ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF state-toggle NOTICES AND INFORMATION -%% static-eval 2.0.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz) -========================================= -This software is released under the MIT license: +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +units-css 0.4.0 - MIT +https://github.com/alexdunphy/units +(c) Alex Dunphy +(c) Lee Crossley (http://ilee.co.uk/) + +(c) Alex Dunphy + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -========================================= -END OF static-eval NOTICES AND INFORMATION -%% static-module 2.2.5 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/static-module/-/static-module-2.2.5.tgz) -========================================= -This software is released under the MIT license: +(c) Alex Dunphy + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +universalify 0.1.2 - MIT +https://github.com/RyanZim/universalify#readme +Copyright (c) 2017, Ryan Zimmerman + +(The MIT License) + +Copyright (c) 2017, Ryan Zimmerman Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in +this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, @@ -13170,23 +42786,59 @@ subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF static-module NOTICES AND INFORMATION -%% statuses 1.5.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz) -========================================= +------------------------------------------------------------------- + +------------------------------------------------------------------- + +unpipe 1.0.0 - MIT +https://github.com/stream-utils/unpipe +Copyright (c) 2015 Douglas Christopher Wilson +Copyright (c) 2015 Douglas Christopher Wilson + +(The MIT License) + +Copyright (c) 2015 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +unset-value 1.0.0 - MIT +https://github.com/jonschlinkert/unset-value +Copyright (c) 2015, 2017, Jon Schlinkert. +Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert). The MIT License (MIT) -Copyright (c) 2014 Jonathan Ong -Copyright (c) 2016 Douglas Christopher Wilson +Copyright (c) 2015, 2017, Jon Schlinkert Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -13206,14 +42858,19 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF statuses NOTICES AND INFORMATION -%% string-argv 0.3.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz) -========================================= +------------------------------------------------------------------- + +------------------------------------------------------------------- + +untildify 3.0.3 - MIT +https://github.com/sindresorhus/untildify#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + The MIT License (MIT) -Copyright 2014 Anthony McCormick +Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -13222,130 +42879,127 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -========================================= -END OF string-argv NOTICES AND INFORMATION -%% string-hash 1.1.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz) -========================================= -To the extend possible by law, The Dark Sky Company, LLC has [waived all -copyright and related or neighboring rights][cc0] to this library. +------------------------------------------------------------------- -[cc0]: http://creativecommons.org/publicdomain/zero/1.0/ +------------------------------------------------------------------- -========================================= -END OF string-hash NOTICES AND INFORMATION +upath 1.1.2 - MIT +http://github.com/anodynos/upath/ +Copyright (c) 2019 Angelos Pikoulas +Copyright (c) 2014-2017 Angelos Pikoulas (agelos.pikoulas@gmail.com) -%% string_decoder 1.2.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz) -========================================= -Node.js is licensed for use as follows: +Copyright(c) 2014-2017 Angelos Pikoulas (agelos.pikoulas@gmail.com) -""" -Copyright Node.js contributors. All rights reserved. +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" -This license applies to parts of Node.js originating from the -https://github.com/joyent/node repository: +------------------------------------------------------------------- -""" -Copyright Joyent, Inc. and other Node contributors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +upath 1.2.0 - MIT +http://github.com/anodynos/upath/ +Copyright (c) 2019 Angelos Pikoulas +Copyright (c) 2014-2019 Angelos Pikoulas (agelos.pikoulas@gmail.com) -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. -""" +Copyright(c) 2014-2019 Angelos Pikoulas (agelos.pikoulas@gmail.com) +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: -========================================= -END OF string_decoder NOTICES AND INFORMATION +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -%% strip-ansi 5.2.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz) -========================================= -MIT License +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. -Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +upper-case 1.1.3 - MIT +https://github.com/blakeembrey/upper-case +Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) -========================================= -END OF strip-ansi NOTICES AND INFORMATION +The MIT License (MIT) -%% style-loader 0.23.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz) -========================================= -Copyright JS Foundation and other contributors +Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -========================================= -END OF style-loader NOTICES AND INFORMATION -%% styled-jsx 3.2.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/styled-jsx/-/styled-jsx-3.2.1.tgz) -========================================= -MIT License +------------------------------------------------------------------- + +------------------------------------------------------------------- + +urix 0.1.0 - MIT +https://github.com/lydell/urix +Copyright (c) 2013 Simon Lydell +Copyright 2014 Simon Lydell X11 -Copyright (c) 2016-present Zeit, Inc. +The MIT License (MIT) + +Copyright (c) 2013 Simon Lydell Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -13354,25 +43008,29 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -========================================= -END OF styled-jsx NOTICES AND INFORMATION -%% stylis-rule-sheet 0.0.10 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz) -========================================= -MIT License +------------------------------------------------------------------- + +------------------------------------------------------------------- -Copyright (c) 2016 Sultan Tarimo +url-parse 1.4.7 - MIT +https://github.com/unshiftio/url-parse#readme +Copyright (c) 2015 Unshift.io, Arnout Kazemier + +The MIT License (MIT) + +Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -13393,14 +43051,40 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF stylis-rule-sheet NOTICES AND INFORMATION -%% sudo-prompt 8.2.5 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-8.2.5.tgz) -========================================= +------------------------------------------------------------------- + +------------------------------------------------------------------- + +url-parse-lax 3.0.0 - MIT +https://github.com/sindresorhus/url-parse-lax#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +use 3.1.1 - MIT +https://github.com/jonschlinkert/use +Copyright (c) 2015-2017, Jon Schlinkert. +Copyright (c) 2015-present, Jon Schlinkert. +Copyright (c) 2018, Jon Schlinkert (https://github.com/jonschlinkert). + The MIT License (MIT) -Copyright (c) 2015 Joran Dirk Greef +Copyright (c) 2015-present, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -13409,39 +43093,64 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -========================================= -END OF sudo-prompt NOTICES AND INFORMATION +------------------------------------------------------------------- -%% supports-color 5.5.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz) -========================================= -MIT License +------------------------------------------------------------------- -Copyright (c) Sindre Sorhus (sindresorhus.com) +util-deprecate 1.0.2 - MIT +https://github.com/TooTallNate/util-deprecate +Copyright (c) 2014 Nathan Rajlich -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +(The MIT License) -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +Copyright (c) 2014 Nathan Rajlich + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF supports-color NOTICES AND INFORMATION +------------------------------------------------------------------- + +------------------------------------------------------------------- + +utils-merge 1.0.1 - MIT +https://github.com/jaredhanson/utils-merge#readme +Copyright (c) 2013-2017 Jared Hanson +Copyright (c) 2013-2017 Jared Hanson < http://jaredhanson.net/ (http://jaredhanson.net/)> + +The MIT License (MIT) -%% svg-inline-react 3.1.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/svg-inline-react/-/svg-inline-react-3.1.0.tgz) -========================================= -Copyright 2015-2017 Jaeho Lee +Copyright (c) 2013-2017 Jared Hanson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in @@ -13460,14 +43169,20 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF svg-inline-react NOTICES AND INFORMATION -%% svg-path-bounding-box 1.0.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/svg-path-bounding-box/-/svg-path-bounding-box-1.0.4.tgz) -========================================= -MIT License +------------------------------------------------------------------- + +------------------------------------------------------------------- + +uuid 3.3.2 - MIT +https://github.com/kelektiv/node-uuid#readme +Copyright 2011, Sebastian Tschan https://blueimp.net +Copyright (c) 2010-2016 Robert Kieffer and other contributors +Copyright (c) Paul Johnston 1999 - 2009 Other contributors Greg Holt, Andrew Kepert, Ydnar, Lostinet -Copyright (c) 2016 Sultan Tarimo +The MIT License (MIT) + +Copyright (c) 2010-2016 Robert Kieffer and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -13488,40 +43203,19 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF svg-path-bounding-box NOTICES AND INFORMATION - -%% svg-to-pdfkit 0.1.7 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/svg-to-pdfkit/-/svg-to-pdfkit-0.1.7.tgz) -========================================= -Copyright 2019 svg-to-pdfkit developers - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF svg-to-pdfkit NOTICES AND INFORMATION +uuid 7.0.3 - MIT +https://github.com/uuidjs/uuid#readme +Copyright 2011, Sebastian Tschan https://blueimp.net +Copyright (c) 2010-2016 Robert Kieffer and other contributors +Copyright (c) Paul Johnston 1999 - 2009 Other contributors Greg Holt, Andrew Kepert, Ydnar, Lostinet -%% svgpath 2.2.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/svgpath/-/svgpath-2.2.2.tgz) -========================================= -(The MIT License) +The MIT License (MIT) -Copyright (C) 2013-2015 by Vitaly Puzrin +Copyright (c) 2010-2016 Robert Kieffer and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -13530,27 +43224,31 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- +------------------------------------------------------------------- -========================================= -END OF svgpath NOTICES AND INFORMATION +uuid 3.3.3 - MIT +https://github.com/kelektiv/node-uuid#readme +Copyright 2011, Sebastian Tschan https://blueimp.net +Copyright (c) 2010-2016 Robert Kieffer and other contributors +Copyright (c) Paul Johnston 1999 - 2009 Other contributors Greg Holt, Andrew Kepert, Ydnar, Lostinet -%% symbol-observable 1.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz) -========================================= The MIT License (MIT) -Copyright (c) Sindre Sorhus (sindresorhus.com) -Copyright (c) Ben Lesh +Copyright (c) 2010-2016 Robert Kieffer and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -13559,25 +43257,60 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +validator 9.4.1 - MIT +http://github.com/chriso/validator.js +Copyright (c) 2016 Chris O'Hara +Copyright (c) 2017 Chris O'Hara + +Copyright (c) 2016 Chris O'Hara + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- -========================================= -END OF symbol-observable NOTICES AND INFORMATION +------------------------------------------------------------------- + +value-or-function 3.0.0 - MIT +https://github.com/gulpjs/value-or-function#readme +Copyright (c) 2015 Blaine Bublitz, Eric Schoffstall and other contributors -%% text-hex 1.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2014-2015 Arnout Kazemier +Copyright (c) 2015 Blaine Bublitz, Eric Schoffstall and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -13597,133 +43330,139 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF text-hex NOTICES AND INFORMATION - -%% throttleit 1.0.0 NOTICES AND INFORMATION BEGIN HERE (https://github.com/component/throttle/tree/1.0.0) -========================================= -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF throttleit NOTICES AND INFORMATION +vary 1.1.2 - MIT +https://github.com/jshttp/vary#readme +Copyright (c) 2014-2017 Douglas Christopher Wilson -%% through 2.3.8 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/through/-/through-2.3.8.tgz) -========================================= -The MIT License +(The MIT License) -Copyright (c) 2011 Dominic Tarr +Copyright (c) 2014-2017 Douglas Christopher Wilson -Permission is hereby granted, free of charge, -to any person obtaining a copy of this software and -associated documentation files (the "Software"), to -deal in the Software without restriction, including -without limitation the rights to use, copy, modify, -merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom -the Software is furnished to do so, -subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -The above copyright notice and this permission notice -shall be included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF through NOTICES AND INFORMATION -%% through2 2.0.5 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/through2/-/through2-2.0.5.tgz) -========================================= -# The MIT License (MIT) +------------------------------------------------------------------- -**Copyright (c) Rod Vagg (the "Original Author") and additional contributors** +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +verror 1.10.0 - MIT +https://github.com/davepacheco/node-verror +Copyright (c) 2016, Joyent, Inc. -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +Copyright (c) 2016, Joyent, Inc. All rights reserved. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -========================================= -END OF through2 NOTICES AND INFORMATION +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -%% timers-browserify 2.0.10 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz) -========================================= -# timers-browserify +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE -This project uses the [MIT](http://jryans.mit-license.org/) license: - Copyright © 2012 J. Ryan Stinnett +------------------------------------------------------------------- - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the “Software”), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: +------------------------------------------------------------------- - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. +vfile-location 2.0.6 - MIT +https://github.com/vfile/vfile-location#readme +(c) Titus Wormer +Copyright (c) 2016 Titus Wormer - THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. +(The MIT License) -# lib/node +Copyright (c) 2016 Titus Wormer -The `lib/node` directory borrows files from joyent/node which uses the following license: +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: - Copyright Joyent, Inc. and other Node contributors. All rights reserved. - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to - deal in the Software without restriction, including without limitation the - rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - IN THE SOFTWARE. -========================================= -END OF timers-browserify NOTICES AND INFORMATION +------------------------------------------------------------------- + +------------------------------------------------------------------- + +viewport-dimensions 0.2.0 - MIT +https://github.com/alexdunphy/viewport +(c) Alex Dunphy + +(c) Alex Dunphy + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -%% tiny-inflate 1.0.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.2.tgz) -========================================= -Copyright 2018 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF tiny-inflate NOTICES AND INFORMATION +vinyl 1.2.0 - MIT +http://github.com/gulpjs/vinyl +Copyright (c) 2013 Fractal -%% tinycolor2 1.4.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz) -========================================= -Copyright (c), Brian Grinstead, http://briangrinstead.com +Copyright (c) 2013 Fractal Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -13743,35 +43482,19 @@ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF tinycolor2 NOTICES AND INFORMATION - -%% tinyqueue 1.2.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/tinyqueue/-/tinyqueue-1.2.3.tgz) -========================================= -ISC License -Copyright (c) 2017, Vladimir Agafonkin -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF tinyqueue NOTICES AND INFORMATION +vinyl 2.2.0 - MIT +https://github.com/gulpjs/vinyl#readme +Copyright (c) 2013 Blaine Bublitz , Eric Schoffstall and other contributors -%% tmp 0.0.29 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/tmp/-/tmp-0.0.29.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2014 KARASZI István +Copyright (c) 2013 Blaine Bublitz , Eric Schoffstall and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -13791,14 +43514,18 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF tmp NOTICES AND INFORMATION -%% toidentifier 1.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz) -========================================= -MIT License +------------------------------------------------------------------- -Copyright (c) 2016 Douglas Christopher Wilson +------------------------------------------------------------------- + +vinyl 2.0.2 - MIT +https://github.com/gulpjs/vinyl#readme +Copyright (c) 2013 Blaine Bublitz , Eric Schoffstall and other contributors + +The MIT License (MIT) + +Copyright (c) 2013 Blaine Bublitz , Eric Schoffstall and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -13818,51 +43545,18 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF toidentifier NOTICES AND INFORMATION -%% topojson-client 3.1.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz) -========================================= -Copyright 2012-2019 Michael Bostock - -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. - -========================================= -END OF topojson-client NOTICES AND INFORMATION - -%% tough-cookie 2.4.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz) -========================================= -Copyright (c) 2015, Salesforce.com, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -3. Neither the name of Salesforce.com nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. +------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- -========================================= -END OF tough-cookie NOTICES AND INFORMATION +vinyl-fs 3.0.3 - MIT +https://github.com/gulpjs/vinyl-fs#readme +Copyright (c) 2013-2017 Blaine Bublitz , Eric Schoffstall and other contributors -%% transformation-matrix 2.0.5 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/transformation-matrix/-/transformation-matrix-2.0.5.tgz) -========================================= -MIT License +The MIT License (MIT) -Copyright (c) 2017 https://github.com/chrvadala +Copyright (c) 2013-2017 Blaine Bublitz , Eric Schoffstall and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -13882,14 +43576,19 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF transformation-matrix NOTICES AND INFORMATION -%% tree-kill 1.2.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz) -========================================= -MIT License +------------------------------------------------------------------- -Copyright (c) 2018 Peter Krumins +------------------------------------------------------------------- + +vinyl-sourcemap 1.1.0 - MIT +https://github.com/gulpjs/vinyl-sourcemap#readme +Copyright (c) 2014, Florian Reiterer +Copyright (c) 2017 Blaine Bublitz , Eric Schoffstall and other contributors + +The MIT License (MIT) + +Copyright (c) 2017 Blaine Bublitz , Eric Schoffstall and other contributors (Based on code from gulp-sourcemaps - ISC License - Copyright (c) 2014, Florian Reiterer) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -13909,172 +43608,227 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF tree-kill NOTICES AND INFORMATION - -%% trim 0.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/trim/-/trim-0.0.1.tgz) -========================================= -(The MIT License) -Copyright (c) 2012 TJ Holowaychuk +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +vlq 0.2.3 - MIT +https://github.com/Rich-Harris/vlq#readme +Copyright (c) 2017 these people (https://github.com/Rich-Harris/vlq/graphs/contributors) -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.XXX +Copyright (c) 2017 [these people](https://github.com/Rich-Harris/vlq/graphs/contributors) -========================================= -END OF trim NOTICES AND INFORMATION +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -%% trim-trailing-lines 1.1.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz) -========================================= -(The MIT License) +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -Copyright (c) 2015 Titus Wormer +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF trim-trailing-lines NOTICES AND INFORMATION +vm-browserify 1.1.2 - MIT +https://github.com/substack/vm-browserify#readme -%% triple-beam 1.3.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz) -========================================= MIT License -Copyright (c) 2017 winstonjs - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF triple-beam NOTICES AND INFORMATION -%% trough 1.0.4 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/trough/-/trough-1.0.4.tgz) -========================================= -(The MIT License) +------------------------------------------------------------------- -Copyright (c) 2016 Titus Wormer +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +vscode-debugadapter 1.35.0 - MIT +https://github.com/Microsoft/vscode-debugadapter-node#readme +Copyright (c) Microsoft Corporation. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +Copyright (c) Microsoft Corporation -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +All rights reserved. -========================================= -END OF trough NOTICES AND INFORMATION +MIT License -%% tslib 1.10.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz) -========================================= -Apache License +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -Version 2.0, January 2004 +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -http://www.apache.org/licenses/ +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -1. Definitions. +------------------------------------------------------------------- -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. +------------------------------------------------------------------- -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. +vscode-debugprotocol 1.35.0 - MIT +https://github.com/Microsoft/vscode-debugadapter-node#readme +Copyright (c) Microsoft Corporation. -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. +Copyright (c) Microsoft Corporation -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. +All rights reserved. -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. +MIT License -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. +------------------------------------------------------------------- -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. +------------------------------------------------------------------- -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. +vscode-jsonrpc 6.0.0-next.3 - MIT +https://github.com/Microsoft/vscode-languageserver-node#readme +Copyright (c) Microsoft Corporation. -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: +Copyright (c) Microsoft Corporation -You must give any other recipients of the Work or Derivative Works a copy of this License; and +All rights reserved. -You must cause any modified files to carry prominent notices stating that You changed the files; and +MIT License -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. +------------------------------------------------------------------- -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. +------------------------------------------------------------------- -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. +vscode-languageclient 7.0.0-next.6 - MIT +https://github.com/Microsoft/vscode-languageserver-node#readme +Copyright (c) Microsoft Corporation. +Copyright (c) Isaac Z. Schlueter and Contributors -END OF TERMS AND CONDITIONS +Copyright (c) Microsoft Corporation -========================================= -END OF tslib NOTICES AND INFORMATION +All rights reserved. -%% tsscmp 1.0.6 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz) -========================================= -The MIT License (MIT) +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vscode-languageserver 7.0.0-next.4 - MIT +https://github.com/Microsoft/vscode-languageserver-node#readme +Copyright (c) Microsoft Corporation. + +Copyright (c) Microsoft Corporation + +All rights reserved. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vscode-languageserver-protocol 3.16.0-next.5 - MIT +https://github.com/Microsoft/vscode-languageserver-node#readme +Copyright (c) TypeFox and others. +Copyright (c) Microsoft Corporation. + +Copyright (c) Microsoft Corporation + +All rights reserved. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vscode-languageserver-types 3.16.0-next.2 - MIT +https://github.com/Microsoft/vscode-languageserver-node#readme +Copyright (c) Microsoft Corporation. + +Copyright (c) Microsoft Corporation + +All rights reserved. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vscode-tas-client 0.0.864 - MIT + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +vscode-test 1.2.3 - MIT +https://github.com/Microsoft/vscode-test#readme +Copyright (c) Microsoft Corporation. + +MIT License -Copyright (c) 2016 +Copyright (c) Microsoft Corporation. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -14092,135 +43846,118 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -========================================= -END OF tsscmp NOTICES AND INFORMATION - -%% tunnel-agent 0.6.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz) -========================================= -Apache License - -Version 2.0, January 2004 +SOFTWARE -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +------------------------------------------------------------------- -1. Definitions. +------------------------------------------------------------------- -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. +w3c-hr-time 1.0.1 - MIT -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. +MIT License -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. +Copyright (c) -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). +------------------------------------------------------------------- -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. +------------------------------------------------------------------- -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." +w3c-xmlserializer 1.1.2 - MIT +https://github.com/jsdom/w3c-xmlserializer#readme -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. +MIT License -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. +Copyright (c) -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -You must give any other recipients of the Work or Derivative Works a copy of this License; and +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -You must cause any modified files to carry prominent notices stating that You changed the files; and +------------------------------------------------------------------- -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and +------------------------------------------------------------------- -If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. +wait-for-expect 3.0.1 - MIT +https://github.com/TheBrainFamily/wait-for-expect#readme +Copyright (c) 2018 The Brain Software House -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. +MIT License -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. +Copyright (c) 2018 The Brain Software House -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -END OF TERMS AND CONDITIONS -========================================= -END OF tunnel-agent NOTICES AND INFORMATION -%% tweetnacl 0.14.5 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz) -========================================= -This is free and unencumbered software released into the public domain. +------------------------------------------------------------------- -Anyone is free to copy, modify, publish, use, compile, sell, or -distribute this software, either in source code form or as a compiled -binary, for any purpose, commercial or non-commercial, and by any -means. +------------------------------------------------------------------- -In jurisdictions that recognize copyright laws, the author or authors -of this software dedicate any and all copyright interest in the -software to the public domain. We make this dedication for the benefit -of the public at large and to the detriment of our heirs and -successors. We intend this dedication to be an overt act of -relinquishment in perpetuity of all present and future rights to this -software under copyright law. +warning 4.0.3 - MIT +https://github.com/BerkeleyTrue/warning +Copyright (c) 2013-present, Facebook, Inc. +Copyright (c) 2014-present, Facebook, Inc. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. +MIT License -For more information, please refer to +Copyright (c) 2013-present, Facebook, Inc. -========================================= -END OF tweetnacl NOTICES AND INFORMATION +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -%% type-check 0.3.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz) -========================================= -Copyright (c) George Zahariev +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF type-check NOTICES AND INFORMATION +------------------------------------------------------------------- -%% type-is 1.6.18 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz) -========================================= -(The MIT License) +webpack-bundle-analyzer 3.6.0 - MIT +https://github.com/webpack-contrib/webpack-bundle-analyzer +Copyright 2015, Yahoo! Inc. +Copyright (c) 2017 Jed Watson. +(c) Michel Weststrate 2015 - 2018 +Copyright 2002-2017, Carrot Search +Copyright JS Foundation and other contributors +copyright 2018 Jason Mulligan -Copyright (c) 2014 Jonathan Ong -Copyright (c) 2014-2015 Douglas Christopher Wilson +Copyright JS Foundation and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -14241,61 +43978,18 @@ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF type-is NOTICES AND INFORMATION - -%% typedarray 0.0.6 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz) -========================================= -/* - Copyright (c) 2010, Linden Research, Inc. - Copyright (c) 2012, Joshua Bell - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - $/LicenseInfo$ - */ - -// Original can be found at: -// https://bitbucket.org/lindenlab/llsd -// Modifications by Joshua Bell inexorabletash@gmail.com -// https://github.com/inexorabletash/polyfill -// ES3/ES5 implementation of the Krhonos Typed Array Specification -// Ref: http://www.khronos.org/registry/typedarray/specs/latest/ -// Date: 2011-02-01 -// -// Variations: -// * Allows typed_array.get/set() as alias for subscripts (typed_array[]) +------------------------------------------------------------------- -========================================= -END OF typedarray NOTICES AND INFORMATION +------------------------------------------------------------------- -%% typescript-char 0.0.0 NOTICES AND INFORMATION BEGIN HERE (https://github.com/mason-lang/typescript-char) -========================================= -http://unlicense.org/UNLICENSE -========================================= -END OF typescript-char NOTICES AND INFORMATION +webpack-require-from 1.8.0 - MIT +https://github.com/agoldis/webpack-require-from#readme +Copyright (c) 2017 Andrew Goldis -%% uint64be 1.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/uint64be/-/uint64be-1.0.1.tgz) -========================================= -The MIT License (MIT) +MIT License -Copyright (c) 2015 Mathias Buus +Copyright (c) 2017 Andrew Goldis Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -14304,54 +43998,29 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -========================================= -END OF uint64be NOTICES AND INFORMATION - -%% underscore 1.8.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz) -========================================= -Copyright (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative -Reporters & Editors +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF underscore NOTICES AND INFORMATION +webpack-sources 1.4.3 - MIT +https://github.com/webpack/webpack-sources#readme +Copyright (c) 2017 JS Foundation and other contributors -%% unherit 1.1.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/unherit/-/unherit-1.1.2.tgz) -========================================= -(The MIT License) +MIT License -Copyright (c) 2015 Titus Wormer +Copyright (c) 2017 JS Foundation and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -14360,125 +44029,48 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -========================================= -END OF unherit NOTICES AND INFORMATION - -%% unicode 10.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/unicode/-/unicode-10.0.0.tgz) -========================================= -Copyright (c) 2014 ▟ ▖▟ ▖(dodo) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -========================================= -END OF unicode NOTICES AND INFORMATION - -%% unicode-trie 0.3.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz) -========================================= -Copyright 2018 - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -========================================= -END OF unicode-trie NOTICES AND INFORMATION - -%% unified 6.2.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/unified/-/unified-6.2.0.tgz) -========================================= -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF unified NOTICES AND INFORMATION +------------------------------------------------------------------- -%% uniqid 5.0.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/uniqid/-/uniqid-5.0.3.tgz) -========================================= -(The MIT License) +whatwg-encoding 1.0.5 - MIT +https://github.com/jsdom/whatwg-encoding#readme +Copyright (c) 2016-2018 Domenic Denicola -Copyright (c) 2014 Halász Ádám +Copyright © 2016–2018 Domenic Denicola Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -========================================= -END OF uniqid NOTICES AND INFORMATION - -%% unist-util-is 3.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz) -========================================= -(The MIT license) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF unist-util-is NOTICES AND INFORMATION +------------------------------------------------------------------- -%% unist-util-remove-position 1.1.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.3.tgz) -========================================= -(The MIT License) +------------------------------------------------------------------- -Copyright (c) 2016 Titus Wormer +whatwg-fetch 3.0.0 - MIT +https://github.com/github/fetch#readme +Copyright (c) 2014-2016 GitHub, Inc. + +Copyright (c) 2014-2016 GitHub, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including +"Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to @@ -14487,109 +44079,90 @@ the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF unist-util-remove-position NOTICES AND INFORMATION -%% unist-util-stringify-position 1.1.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz) -========================================= -(The MIT License) +------------------------------------------------------------------- -Copyright (c) 2016 Titus Wormer +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +winston 3.2.1 - MIT +https://github.com/winstonjs/winston#readme +(c) 2015 Nimrod Becker +(c) 2010 Charlie Robbins +(c) 2016 Charlie Robbins +(c) 2011 Daniel Aristizabal +Copyright (c) 2010 Charlie Robbins -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +Copyright (c) 2010 Charlie Robbins -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -========================================= -END OF unist-util-stringify-position NOTICES AND INFORMATION +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -%% unist-util-visit 1.4.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz) -========================================= -(The MIT License) +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -Copyright (c) 2015 Titus Wormer +------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +winston-transport 4.3.0 - MIT +https://github.com/winstonjs/winston-transport#readme +Copyright (c) 2015 Charlie Robbins & the contributors. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +The MIT License (MIT) -========================================= -END OF unist-util-visit NOTICES AND INFORMATION +Copyright (c) 2015 Charlie Robbins & the contributors. -%% unist-util-visit-parents 1.1.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-1.1.2.tgz) -========================================= -(The MIT License) +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Copyright (c) 2016 Titus Wormer +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF unist-util-visit-parents NOTICES AND INFORMATION +------------------------------------------------------------------- -%% universalify 0.1.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz) -========================================= -(The MIT License) +------------------------------------------------------------------- -Copyright (c) 2017, Ryan Zimmerman +wordwrap 1.0.0 - MIT +https://github.com/substack/node-wordwrap#readme + +This software is released under the MIT license: Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the 'Software'), to deal in +this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, @@ -14598,18 +44171,42 @@ subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF universalify NOTICES AND INFORMATION -%% untildify 3.0.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/untildify/-/untildify-3.0.3.tgz) -========================================= +------------------------------------------------------------------- + +------------------------------------------------------------------- + +wrap-ansi 6.2.0 - MIT +https://github.com/chalk/wrap-ansi#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +------------------------------------------------------------------- + +------------------------------------------------------------------- + +wrap-ansi 2.1.0 - MIT +https://github.com/chalk/wrap-ansi#readme +(c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Sindre Sorhus (sindresorhus.com) + The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) @@ -14632,31 +44229,37 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF untildify NOTICES AND INFORMATION -%% uri-js 4.2.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz) -========================================= -Copyright 2011 Gary Court. All rights reserved. +------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: +------------------------------------------------------------------- + +wrap-ansi 5.1.0 - MIT +https://github.com/chalk/wrap-ansi#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) + +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -THIS SOFTWARE IS PROVIDED BY GARY COURT "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- -The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of Gary Court. +------------------------------------------------------------------- -========================================= -END OF uri-js NOTICES AND INFORMATION +ws 7.2.3 - MIT +https://github.com/websockets/ws +Copyright (c) 2011 Einar Otto Stangvik -%% url-parse 1.4.7 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors. +Copyright (c) 2011 Einar Otto Stangvik Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -14677,68 +44280,48 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF url-parse NOTICES AND INFORMATION +------------------------------------------------------------------- + +------------------------------------------------------------------- + +ws 7.2.0 - MIT +https://github.com/websockets/ws +Copyright (c) 2011 Einar Otto Stangvik + +The MIT License (MIT) + +Copyright (c) 2011 Einar Otto Stangvik -%% util 0.11.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/util/-/util-0.11.1.tgz) -========================================= -Copyright Joyent, Inc. and other Node contributors. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. - -========================================= -END OF util NOTICES AND INFORMATION - -%% util-deprecate 1.0.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz) -========================================= -(The MIT License) - -Copyright (c) 2014 Nathan Rajlich +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF util-deprecate NOTICES AND INFORMATION +ws 6.1.4 - MIT +https://github.com/websockets/ws +Copyright (c) 2011 Einar Otto Stangvik -%% uuid 3.3.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz) -========================================= The MIT License (MIT) -Copyright (c) 2010-2016 Robert Kieffer and other contributors +Copyright (c) 2011 Einar Otto Stangvik Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -14758,1062 +44341,774 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF uuid NOTICES AND INFORMATION - -%% validator 9.4.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/validator/-/validator-9.4.1.tgz) -========================================= -Copyright (c) 2016 Chris O'Hara - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF validator NOTICES AND INFORMATION +------------------------------------------------------------------- -%% vary 1.1.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vary/-/vary-1.1.2.tgz) -========================================= -(The MIT License) +------------------------------------------------------------------- -Copyright (c) 2014-2017 Douglas Christopher Wilson +ws 6.2.1 - MIT +https://github.com/websockets/ws +Copyright (c) 2011 Einar Otto Stangvik -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +The MIT License (MIT) -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +Copyright (c) 2011 Einar Otto Stangvik -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -========================================= -END OF vary NOTICES AND INFORMATION +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -%% vega 5.7.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega/-/vega-5.7.3.tgz) -========================================= -Copyright (c) 2015-2018, University of Washington Interactive Data Lab -All rights reserved. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +------------------------------------------------------------------- -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +------------------------------------------------------------------- -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +xml2js 0.2.8 - MIT +https://github.com/Leonidas-from-XIV/node-xml2js +Copyright 2010, 2011, 2012, 2013. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Copyright 2010, 2011, 2012, 2013. All rights reserved. -========================================= -END OF vega NOTICES AND INFORMATION +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -%% vega-canvas 1.2.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-canvas/-/vega-canvas-1.2.1.tgz) -========================================= -Copyright (c) 2015-2018, University of Washington Interactive Data Lab -All rights reserved. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +------------------------------------------------------------------- -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +xml2js 0.4.19 - MIT +https://github.com/Leonidas-from-XIV/node-xml2js +Copyright 2010, 2011, 2012, 2013. -========================================= -END OF vega-canvas NOTICES AND INFORMATION +Copyright 2010, 2011, 2012, 2013. All rights reserved. -%% vega-crossfilter 4.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-crossfilter/-/vega-crossfilter-4.0.1.tgz) -========================================= -Copyright (c) 2015-2018, University of Washington Interactive Data Lab -All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- -========================================= -END OF vega-crossfilter NOTICES AND INFORMATION +xmlbuilder 9.0.7 - MIT +http://github.com/oozcitak/xmlbuilder-js +Copyright (c) 2013 Ozgur Ozcitak -%% vega-dataflow 5.4.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-dataflow/-/vega-dataflow-5.4.1.tgz) -========================================= -Copyright (c) 2015-2018, University of Washington Interactive Data Lab -All rights reserved. +The MIT License (MIT) -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +Copyright (c) 2013 Ozgur Ozcitak -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -========================================= -END OF vega-dataflow NOTICES AND INFORMATION +------------------------------------------------------------------- -%% vega-embed 4.2.5 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-embed/-/vega-embed-4.2.5.tgz) -========================================= -Copyright (c) 2015, University of Washington Interactive Data Lab -All rights reserved. +------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +xmlchars 2.1.1 - MIT +https://github.com/lddubeau/xmlchars#readme +copyright Louis-Dominique Dubeau +Copyright Louis-Dominique Dubeau and contributors -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +Copyright Louis-Dominique Dubeau and contributors to xmlchars -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF vega-embed NOTICES AND INFORMATION -%% vega-encode 4.4.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-encode/-/vega-encode-4.4.1.tgz) -========================================= -Copyright (c) 2015-2018, University of Washington Interactive Data Lab -All rights reserved. +------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +------------------------------------------------------------------- -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +xmlhttprequest 1.8.0 - MIT +https://github.com/driverdan/node-XMLHttpRequest +Copyright (c) 2010 passive.ly LLC -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + Copyright (c) 2010 passive.ly LLC -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation + files (the "Software"), to deal in the Software without + restriction, including without limitation the rights to use, + copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following + conditions: -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. -========================================= -END OF vega-encode NOTICES AND INFORMATION + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. -%% vega-event-selector 2.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-event-selector/-/vega-event-selector-2.0.1.tgz) -========================================= -Copyright (c) 2015-2018, University of Washington Interactive Data Lab -All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +------------------------------------------------------------------- -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +------------------------------------------------------------------- -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +xmlhttprequest-ssl 1.5.5 - MIT +https://github.com/mjwwit/node-XMLHttpRequest#readme +Copyright (c) 2010 passive.ly LLC -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. + Copyright (c) 2010 passive.ly LLC -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation + files (the "Software"), to deal in the Software without + restriction, including without limitation the rights to use, + copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following + conditions: -========================================= -END OF vega-event-selector NOTICES AND INFORMATION + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. -%% vega-expression 2.6.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-expression/-/vega-expression-2.6.2.tgz) -========================================= -Copyright (c) 2015-2018, University of Washington Interactive Data Lab -All rights reserved. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +------------------------------------------------------------------- -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +------------------------------------------------------------------- -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +xtend 4.0.2 - MIT +https://github.com/Raynos/xtend +Copyright (c) 2012-2014 Raynos. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The MIT License (MIT) +Copyright (c) 2012-2014 Raynos. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -========================================= -END OF vega-expression NOTICES AND INFORMATION +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -%% vega-force 4.0.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-force/-/vega-force-4.0.3.tgz) -========================================= -Copyright (c) 2015-2018, University of Washington Interactive Data Lab -All rights reserved. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +------------------------------------------------------------------- -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +------------------------------------------------------------------- -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +yargs 15.3.1 - MIT +https://yargs.js.org/ +Copyright 2014 +Copyright (c) 2011 Andrei Mackenzie +Copyright 2010 James Halliday (mail@substack.net) -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Copyright 2010 James Halliday (mail@substack.net) +Modified work Copyright 2014 Contributors (ben@npmjs.com) -========================================= -END OF vega-force NOTICES AND INFORMATION +This project is free software released under the MIT/X11 license: -%% vega-functions 5.4.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-functions/-/vega-functions-5.4.1.tgz) -========================================= -Copyright (c) 2015-2018, University of Washington Interactive Data Lab -All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- -========================================= -END OF vega-functions NOTICES AND INFORMATION +yargs 13.3.0 - MIT +https://yargs.js.org/ +Copyright 2014 +Copyright (c) 2011 Andrei Mackenzie +Copyright 2010 James Halliday (mail@substack.net) +Copyright (c) Sindre Sorhus (sindresorhus.com) -%% vega-geo 4.1.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-geo/-/vega-geo-4.1.0.tgz) -========================================= -Copyright (c) 2015-2018, University of Washington Interactive Data Lab -All rights reserved. +Copyright 2010 James Halliday (mail@substack.net) +Modified work Copyright 2014 Contributors (ben@npmjs.com) -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +This project is free software released under the MIT/X11 license: -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -========================================= -END OF vega-geo NOTICES AND INFORMATION +------------------------------------------------------------------- -%% vega-hierarchy 4.0.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-hierarchy/-/vega-hierarchy-4.0.3.tgz) -========================================= -Copyright (c) 2015-2018, University of Washington Interactive Data Lab -All rights reserved. +------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +yauzl 2.10.0 - MIT +https://github.com/thejoshwolfe/yauzl +Copyright (c) 2014 Josh Wolfe -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +The MIT License (MIT) -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +Copyright (c) 2014 Josh Wolfe -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -========================================= -END OF vega-hierarchy NOTICES AND INFORMATION +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -%% vega-lite 3.4.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-lite/-/vega-lite-3.4.0.tgz) -========================================= -Copyright (c) 2015, University of Washington Interactive Data Lab. -All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +------------------------------------------------------------------- -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +------------------------------------------------------------------- -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +yazl 2.5.1 - MIT +https://github.com/thejoshwolfe/yazl +Copyright (c) 2014 Josh Wolfe -* Neither the name of the University of Washington Interactive Data Lab - nor the names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. +The MIT License (MIT) -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Copyright (c) 2014 Josh Wolfe -========================================= -END OF vega-lite NOTICES AND INFORMATION +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -%% vega-loader 4.1.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-loader/-/vega-loader-4.1.2.tgz) -========================================= -Copyright (c) 2015-2018, University of Washington Interactive Data Lab -All rights reserved. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +------------------------------------------------------------------- -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +yeast 0.1.2 - MIT +https://github.com/unshiftio/yeast +Copyright (c) 2015 Unshift.io, Arnout Kazemier -========================================= -END OF vega-loader NOTICES AND INFORMATION +The MIT License (MIT) -%% vega-parser 5.10.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-parser/-/vega-parser-5.10.1.tgz) -========================================= -Copyright (c) 2015-2018, University of Washington Interactive Data Lab -All rights reserved. +Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -========================================= -END OF vega-parser NOTICES AND INFORMATION +------------------------------------------------------------------- + +------------------------------------------------------------------- -%% vega-projection 1.3.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-projection/-/vega-projection-1.3.0.tgz) -========================================= -Copyright (c) 2015-2018, University of Washington Interactive Data Lab -All rights reserved. +zeromq 6.0.0-beta.6 - MIT +https://github.com/zeromq/zeromq.js#readme +Copyright (c) 2017 +Copyright (c) 2011 TJ Holowaychuk +Copyright 2017-2019 Rolf Timmermans +Copyright (c) 2010, 2011 Justin Tulloss +Copyright (c) 2017-2019 Rolf Timmermans -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +Copyright 2017-2019 Rolf Timmermans -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -========================================= -END OF vega-projection NOTICES AND INFORMATION +The MIT License (MIT) +===================== -%% vega-regression 1.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-regression/-/vega-regression-1.0.1.tgz) -========================================= -Copyright (c) 2015-2018, University of Washington Interactive Data Lab -All rights reserved. +Copyright (c) 2017 Node.js API collaborators +----------------------------------- -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +*Node.js API collaborators listed at * -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- -========================================= -END OF vega-regression NOTICES AND INFORMATION +------------------------------------------------------------------- -%% vega-runtime 5.0.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-runtime/-/vega-runtime-5.0.2.tgz) -========================================= -Copyright (c) 2015-2018, University of Washington Interactive Data Lab -All rights reserved. +futures 3.3.0 - Python-2.0 +Copyright 2009 Brian Quinlan. +copyright u'2009-2011, Brian Quinlan +Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Python Software Foundation -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 +-------------------------------------------- -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +1. This LICENSE AGREEMENT is between the Python Software Foundation +("PSF"), and the Individual or Organization ("Licensee") accessing and +otherwise using this software ("Python") in source or binary form and +its associated documentation. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +2. Subject to the terms and conditions of this License Agreement, PSF +hereby grants Licensee a nonexclusive, royalty-free, world-wide +license to reproduce, analyze, test, perform and/or display publicly, +prepare derivative works, distribute, and otherwise use Python +alone or in any derivative version, provided, however, that PSF's +License Agreement and PSF's notice of copyright, i.e., "Copyright (c) +2001, 2002, 2003, 2004, 2005, 2006 Python Software Foundation; All Rights +Reserved" are retained in Python alone or in any derivative version +prepared by Licensee. -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +4. PSF is making Python available to Licensee on an "AS IS" +basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. -========================================= -END OF vega-runtime NOTICES AND INFORMATION +5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. -%% vega-scale 4.1.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-scale/-/vega-scale-4.1.3.tgz) -========================================= -Copyright (c) 2015-2018, University of Washington Interactive Data Lab -All rights reserved. +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +7. Nothing in this License Agreement shall be deemed to create any +relationship of agency, partnership, or joint venture between PSF and +Licensee. This License Agreement does not grant permission to use PSF +trademarks or trade name in a trademark sense to endorse or promote +products or services of Licensee, or any third party. -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +8. By copying, installing or otherwise using Python, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- -========================================= -END OF vega-scale NOTICES AND INFORMATION +postcss-apply 0.8.0 - Unlicense +https://github.com/pascalduez/postcss-apply -%% vega-scenegraph 4.3.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-scenegraph/-/vega-scenegraph-4.3.1.tgz) -========================================= -Copyright (c) 2015-2018, University of Washington Interactive Data Lab -All rights reserved. +This is free and unencumbered software released into the public domain. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +For more information, please refer to -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -========================================= -END OF vega-scenegraph NOTICES AND INFORMATION +------------------------------------------------------------------- -%% vega-schema-url-parser 1.1.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-schema-url-parser/-/vega-schema-url-parser-1.1.0.tgz) -========================================= -BSD 3-Clause License +------------------------------------------------------------------- -Copyright (c) 2017, Vega -All rights reserved. +tweetnacl 0.14.5 - Unlicense +https://tweetnacl.js.org -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +This is free and unencumbered software released into the public domain. -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +For more information, please refer to -========================================= -END OF vega-schema-url-parser NOTICES AND INFORMATION -%% vega-selections 5.0.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-selections/-/vega-selections-5.0.1.tgz) -========================================= -Copyright (c) 2015-2018, University of Washington Interactive Data Lab -All rights reserved. +------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +------------------------------------------------------------------- -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +typescript-char 0.0.0 - Unlicense +https://github.com/mason-lang/typescript-char#readme -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +This is free and unencumbered software released into the public domain. -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and -========================================= -END OF vega-selections NOTICES AND INFORMATION +successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law. -%% vega-statistics 1.6.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-statistics/-/vega-statistics-1.6.1.tgz) -========================================= -Copyright (c) 2015-2018, University of Washington Interactive Data Lab -All rights reserved. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +For more information, please refer to -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +------------------------------------------------------------------- -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +------------------------------------------------------------------- + +@sheerun/mutationobserver-shim 0.3.2 - WTFPL +Copyright (c) 2014 Graeme Yeates + +Copyright © 2014 Graeme Yeates -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +This work is free. You can redistribute it and/or modify it under the +terms of the Do What The Fuck You Want To Public License, Version 2, +as published by Sam Hocevar. See http://www.wtfpl.net/ for more details. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +This program is free software. It comes without any warranty, to +the extent permitted by applicable law. You can redistribute it +and/or modify it under the terms of the Do What The Fuck You Want +To Public License, Version 2, as published by Sam Hocevar. See +http://www.wtfpl.net/ for more details. -========================================= -END OF vega-statistics NOTICES AND INFORMATION +------------------------------------------------------------------- -%% vega-themes 2.5.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-themes/-/vega-themes-2.5.0.tgz) -========================================= -Copyright (c) 2016, University of Washington Interactive Data Lab -All rights reserved. +------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +chai-as-promised 7.1.1 - WTFPL +https://github.com/domenic/chai-as-promised#readme +Copyright (c) 2004 Sam Hocevar +Copyright (c) 2012-2016 Domenic Denicola -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +Copyright © 2012–2016 Domenic Denicola -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +This work is free. You can redistribute it and/or modify it under the +terms of the Do What The Fuck You Want To Public License, Version 2, +as published by Sam Hocevar. See below for more details. -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + Copyright (C) 2004 Sam Hocevar -========================================= -END OF vega-themes NOTICES AND INFORMATION + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. -%% vega-tooltip 0.18.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-tooltip/-/vega-tooltip-0.18.1.tgz) -========================================= -Copyright 2016 Interactive Data Lab and contributors + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + 0. You just DO WHAT THE FUCK YOU WANT TO. -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +------------------------------------------------------------------- -3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. +------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +truncate-utf8-bytes 1.0.2 - WTFPL +https://github.com/parshap/truncate-utf8-bytes#readme -========================================= -END OF vega-tooltip NOTICES AND INFORMATION +DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE -%% vega-transforms 4.4.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-transforms/-/vega-transforms-4.4.3.tgz) -========================================= -Copyright (c) 2015-2018, University of Washington Interactive Data Lab -All rights reserved. +Version 2, December 2004 -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +Copyright (C) 2004 Sam Hocevar -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + 0. You just DO WHAT THE FUCK YOU WANT TO. -========================================= -END OF vega-transforms NOTICES AND INFORMATION +------------------------------------------------------------------- -%% vega-util 1.12.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-util/-/vega-util-1.12.0.tgz) -========================================= -Copyright (c) 2015-2018, University of Washington Interactive Data Lab -All rights reserved. +------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +utf8-byte-length 1.0.4 - WTFPL +https://github.com/parshap/utf8-byte-length#readme -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +Version 2, December 2004 -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +Copyright (C) 2004 Sam Hocevar -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed. -========================================= -END OF vega-util NOTICES AND INFORMATION +DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE -%% vega-view 5.3.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-view/-/vega-view-5.3.1.tgz) -========================================= -Copyright (c) 2015-2018, University of Washington Interactive Data Lab -All rights reserved. +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: + 0. You just DO WHAT THE FUCK YOU WANT TO. -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +------------------------------------------------------------------- -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +------------------------------------------------------------------- -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +json-schema 0.2.3 - AFL-2.1 OR BSD-3-Clause +https://github.com/kriszyp/json-schema#readme +Copyright (c) 2007 Kris Zyp SitePen (www.sitepen.com) -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +AFL-2.1 OR BSD-3-Clause -========================================= -END OF vega-view NOTICES AND INFORMATION +------------------------------------------------------------------- -%% vega-view-transforms 4.4.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-view-transforms/-/vega-view-transforms-4.4.1.tgz) -========================================= -Copyright (c) 2015-2018, University of Washington Interactive Data Lab -All rights reserved. +------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +rc 1.2.8 - BSD-2-Clause OR (MIT OR Apache-2.0) +https://github.com/dominictarr/rc#readme +Copyright (c) 2011 Dominic Tarr +Copyright (c) 2013, Dominic Tarr -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +The MIT License -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +Copyright (c) 2011 Dominic Tarr -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +Permission is hereby granted, free of charge, +to any person obtaining a copy of this software and +associated documentation files (the "Software"), to +deal in the Software without restriction, including +without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom +the Software is furnished to do so, +subject to the following conditions: -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The above copyright notice and this permission notice +shall be included in all copies or substantial portions of the Software. -========================================= -END OF vega-view-transforms NOTICES AND INFORMATION +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -%% vega-voronoi 4.1.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-voronoi/-/vega-voronoi-4.1.1.tgz) -========================================= -Copyright (c) 2015-2018, University of Washington Interactive Data Lab -All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +------------------------------------------------------------------- -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +------------------------------------------------------------------- -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +amdefine 1.0.1 - BSD-3-Clause OR MIT +http://github.com/jrburke/amdefine +Copyright (c) 2011-2016, The Dojo Foundation -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. +amdefine is released under two licenses: new BSD, and MIT. You may pick the +license that best suits your development needs. The text of both licenses are +provided below. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -========================================= -END OF vega-voronoi NOTICES AND INFORMATION +The "New" BSD License: +---------------------- -%% vega-wordcloud 4.0.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vega-wordcloud/-/vega-wordcloud-4.0.2.tgz) -========================================= -Copyright (c) 2015-2018, University of Washington Interactive Data Lab +Copyright (c) 2011-2016, The Dojo Foundation All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of the Dojo Foundation nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER @@ -15821,39 +45116,12 @@ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -========================================= -END OF vega-wordcloud NOTICES AND INFORMATION - -%% verror 1.10.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/verror/-/verror-1.10.0.tgz) -========================================= -Copyright (c) 2016, Joyent, Inc. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE -========================================= -END OF verror NOTICES AND INFORMATION -%% vfile 2.3.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz) -========================================= -(The MIT License) +MIT License +----------- -Copyright (c) 2015 Titus Wormer +Copyright (c) 2011-2016, The Dojo Foundation Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -15868,689 +45136,722 @@ all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -========================================= -END OF vfile NOTICES AND INFORMATION - -%% vfile-location 2.0.5 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.5.tgz) -========================================= -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -========================================= -END OF vfile-location NOTICES AND INFORMATION - -%% vfile-message 1.1.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz) -========================================= -(The MIT License) - -Copyright (c) 2017 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF vfile-message NOTICES AND INFORMATION +------------------------------------------------------------------- -%% viz-annotation 0.0.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/viz-annotation/-/viz-annotation-0.0.3.tgz) -========================================= -Copyright 2018 Susie Lu +sanitize-filename 1.6.3 - ISC OR WTFPL OR (ISC AND WTFPL) +https://github.com/parshap/node-sanitize-filename#readme +Copyright (c) 2004 Sam Hocevar -Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. +This project is licensed under the [WTFPL][] and [ISC][] licenses. -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +[WTFPL]: https://en.wikipedia.org/wiki/WTFPL +[ISC]: https://opensource.org/licenses/ISC -========================================= -END OF viz-annotation NOTICES AND INFORMATION +## WTFPL -%% vlq 0.2.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz) -========================================= -Copyright (c) 2017 [these people](https://github.com/Rich-Harris/vlq/graphs/contributors) +DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE +Version 2, December 2004 -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +Copyright (C) 2004 Sam Hocevar \ -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +Everyone is permitted to copy and distribute verbatim or modified copies +of this license document, and changing it is allowed as long as the name +is changed. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE TERMS AND CONDITIONS FOR +COPYING, DISTRIBUTION AND MODIFICATION -========================================= -END OF vlq NOTICES AND INFORMATION +0. You just DO WHAT THE FUCK YOU WANT TO. -%% vscode-debugadapter 1.35.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vscode-debugadapter/-/vscode-debugadapter-1.35.0.tgz) -========================================= -Copyright (c) Microsoft Corporation +## ISC -All rights reserved. +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. -MIT License +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------- -========================================= -END OF vscode-debugadapter NOTICES AND INFORMATION +pause-stream 0.0.11 - MIT AND Apache-2.0 +Copyright (c) 2013 Dominic Tarr -%% vscode-debugprotocol 1.35.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vscode-debugprotocol/-/vscode-debugprotocol-1.35.0.tgz) -========================================= -Copyright (c) Microsoft Corporation +Dual Licensed MIT and Apache 2 -All rights reserved. +The MIT License -MIT License +Copyright (c) 2013 Dominic Tarr -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, +to any person obtaining a copy of this software and +associated documentation files (the "Software"), to +deal in the Software without restriction, including +without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom +the Software is furnished to do so, +subject to the following conditions: -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice +shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF vscode-debugprotocol NOTICES AND INFORMATION -%% vscode-extension-telemetry 0.1.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vscode-extension-telemetry/-/vscode-extension-telemetry-0.1.0.tgz) -========================================= -vscode-extension-telemetry + ----------------------------------------------------------------------- -The MIT License (MIT) + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -Copyright (c) Microsoft Corporation + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + 1. Definitions. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -========================================= -END OF vscode-extension-telemetry NOTICES AND INFORMATION + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -%% vscode-jsonrpc 4.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-4.0.0.tgz) -========================================= -Copyright (c) Microsoft Corporation + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -All rights reserved. + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -MIT License + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -========================================= -END OF vscode-jsonrpc NOTICES AND INFORMATION + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -%% vscode-languageclient 5.2.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-5.2.1.tgz) -========================================= -Copyright (c) Microsoft Corporation + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -All rights reserved. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -MIT License + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -========================================= -END OF vscode-languageclient NOTICES AND INFORMATION + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -%% vscode-languageserver 5.2.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-5.2.1.tgz) -========================================= -Copyright (c) Microsoft Corporation + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -All rights reserved. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -MIT License + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -========================================= -END OF vscode-languageserver NOTICES AND INFORMATION + END OF TERMS AND CONDITIONS -%% vscode-languageserver-protocol 3.14.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.14.1.tgz) -========================================= -Copyright (c) Microsoft Corporation + APPENDIX: How to apply the Apache License to your work. -All rights reserved. + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -MIT License + Copyright (c) 2013 Dominic Tarr -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + http://www.apache.org/licenses/LICENSE-2.0 -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. -========================================= -END OF vscode-languageserver-protocol NOTICES AND INFORMATION +------------------------------------------------------------------- -%% vscode-languageserver-types 3.14.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.14.0.tgz) -========================================= -Copyright (c) Microsoft Corporation +------------------------------------------------------------------- -All rights reserved. +type-fest 0.8.1 - MIT OR (CC0-1.0 AND MIT) +https://github.com/sindresorhus/type-fest#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) MIT License +Copyright (c) Sindre Sorhus (sindresorhus.com) + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -========================================= -END OF vscode-languageserver-types NOTICES AND INFORMATION - -%% vsls 0.3.1291 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/vsls/-/vsls-0.3.1291.tgz) -========================================= -MICROSOFT PRE-RELEASE SOFTWARE LICENSE TERMS - -MICROSOFT VISUAL STUDIO LIVE SHARE SOFTWARE +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. They apply to the pre-release software named above. The terms also apply to any Microsoft services or updates for the software, except to the extent those have additional terms. -IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE RIGHTS BELOW. +------------------------------------------------------------------- -1. INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to evaluate it as you develop and test your software applications. You may use the software only with Microsoft Visual Studio or Visual Studio Code. The software works in tandem with an associated preview release service, as described below. +------------------------------------------------------------------- -2. PRE-RELEASE SOFTWARE. The software is a pre-release version. It may not work the way a final version of the software will. Microsoft may change it for the final, commercial version. We also may not release a commercial version. Microsoft is not obligated to provide maintenance, technical support or updates to you for the software. +atob 2.1.2 - MIT OR Apache-2.0 +https://git.coolaj86.com/coolaj86/atob.js.git +Copyright 2015 AJ ONeal +Copyright (c) 2015 AJ ONeal +copyright 2012-2018 AJ ONeal -3. ASSOCIATED ONLINE SERVICES. +At your option you may choose either of the following licenses: - a. Microsoft Azure Services. Some features of the software provide access to, or rely on, Azure online services, including an associated Azure online service to the software, Visual Studio Live Share (the “corresponding service”). The use of those services (but not the software) is governed by the separate terms and privacy policies in the agreement under which you obtained the Azure services at https://go.microsoft.com/fwLink/p/?LinkID=233178 (and, with respect to the corresponding service, the additional terms below). Please read them. The services may not be available in all regions. + * The MIT License (MIT) + * The Apache License 2.0 (Apache-2.0) - b. Limited Availability. The corresponding service is currently in “Preview,” and therefore, we may change or discontinue the corresponding service at any time without notice. Any changes or updates to the corresponding service may cause the software to stop working and may result in the deletion of any data stored on the corresponding service. You may not receive notice prior to these updates. -4. Licenses for other components. The software may include third party components with separate legal notices or governed by other agreements, as described in the ThirdPartyNotices file accompanying the software. Even if such components are governed by other agreements, the disclaimers and the limitations on and exclusions of damages below also apply. +The MIT License (MIT) -5. DATA. +Copyright (c) 2015 AJ ONeal - a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may opt out of many of these scenarios, but not all, as described in the product documentation. In using the software, you must comply with applicable law. You can learn more about data collection and use in the help documentation and the privacy statement at http://go.microsoft.com/fwlink/?LinkId=398505. Your use of the software operates as your consent to these practices. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at http://go.microsoft.com/?linkid=9840733. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -6. FEEDBACK. If you give feedback about the software to Microsoft, you give to Microsoft, without charge, the right to use, share and commercialize your feedback in any way and for any purpose. You will not give feedback that is subject to a license that requires Microsoft to license its software or documentation to third parties because we include your feedback in them. These rights survive this agreement. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -7. SCOPE OF LICENSE. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. For example, if Microsoft technically limits or disables extensibility for the software, you may not extend the software by, among other things, loading or injecting into the software any non-Microsoft add-ins, macros, or packages; modifying the software registry settings; or adding features or functionality equivalent to that found in other Visual Studio products. You may not: - * work around any technical limitations in the software; + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ - * reverse engineer, decompile or disassemble the software, or attempt to do so, except and only to the extent required by third party licensing terms governing use of certain open source components that may be included with the software; + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - * remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; + 1. Definitions. - * use the software in any way that is against the law; or + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. - * share, publish, rent or lease the software, or provide the software as a stand-alone offering for others to use. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -8. UPDATES. The software may periodically check for updates and download and install them for you. You may obtain updates only from Microsoft or authorized sources. Microsoft may need to update your system to provide you with updates. You agree to receive these automatic updates without any additional notice. Updates may not include or support all existing software features, services, or peripheral devices. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -9. EXPORT RESTRICTIONS. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users and end use. For further information on export restrictions, visit (aka.ms/exporting). + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -10. SUPPORT SERVICES. Because the software is “as is,” we may not provide support services for it. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -11. ENTIRE AGREEMENT. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -12. APPLICABLE LAW. If you acquired the software in the United States, Washington State law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -13. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You may have other rights, including consumer rights, under the laws of your state or country. Separate and apart from your relationship with Microsoft, you may also have rights with respect to the party from which you acquired the software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. - a. Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." - b. Canada. If you acquired the software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. - c. Germany and Austria. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. - (i) Warranty. The properly licensed software will perform substantially as described in any Microsoft materials that accompany the software. However, Microsoft gives no contractual guarantee in relation to the licensed software. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. - (ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as, in case of death or personal or physical injury, Microsoft is liable according to the statutory law. + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: - Subject to the foregoing clause (ii), Microsoft will only be liable for slight negligence if Microsoft is in breach of such material contractual obligations, the fulfillment of which facilitate the due performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence. + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -14. LEGAL EFFECT. This agreement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so. + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -15. DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -16. LIMITATION ON AND EXCLUSION OF DAMAGES. YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. - This limitation applies to (a) anything related to the software, services, content (including code) on third party Internet sites, or third party programs; and (b) claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. - It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -Please note: As the software is distributed in Quebec, Canada, some of the clauses in this agreement are provided below in French. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -Remarque : Ce logiciel étant distribué au Québec, Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en français. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -EXONÉRATION DE GARANTIE. Le logiciel visé par une licence est offert « tel quel ». Toute utilisation de ce logiciel est à votre seule risque et péril. Microsoft n’accorde aucune autre garantie expresse. Vous pouvez bénéficier de droits additionnels en vertu du droit local sur la protection des consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualité marchande, d’adéquation à un usage particulier et d’absence de contrefaçon sont exclues. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -LIMITATION DES DOMMAGES-INTÉRÊTS ET EXCLUSION DE RESPONSABILITÉ POUR LES DOMMAGES. Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement à hauteur de 5,00 $ US. Vous ne pouvez prétendre à aucune indemnisation pour les autres dommages, y compris les dommages spéciaux, indirects ou accessoires et pertes de bénéfices. + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -Cette limitation concerne : + END OF TERMS AND CONDITIONS -* tout ce qui est relié au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers ; et + APPENDIX: How to apply the Apache License to your work. -* les réclamations au titre de violation de contrat ou de garantie, ou au titre de responsabilité stricte, de négligence ou d’une autre faute dans la limite autorisée par la loi en vigueur. + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -Elle s’applique également, même si Microsoft connaissait ou devrait connaître l’éventualité d’un tel dommage. Si votre pays n’autorise pas l’exclusion ou la limitation de responsabilité pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l’exclusion ci-dessus ne s’appliquera pas à votre égard. + Copyright 2015 AJ ONeal -EFFET JURIDIQUE. Le présent contrat décrit certains droits juridiques. Vous pourriez avoir d’autres droits prévus par les lois de votre pays. Le présent contrat ne modifie pas les droits que vous confèrent les lois de votre pays si celles-ci ne le permettent pas. + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at -========================================= -END OF vsls NOTICES AND INFORMATION + http://www.apache.org/licenses/LICENSE-2.0 -%% warning 4.0.3 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/warning/-/warning-4.0.3.tgz) -========================================= -MIT License + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. -Copyright (c) 2013-present, Facebook, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +------------------------------------------------------------------- -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +------------------------------------------------------------------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +type-fest 0.3.1 - MIT OR CC0-1.0 +https://github.com/sindresorhus/type-fest#readme +Copyright (c) Sindre Sorhus (sindresorhus.com) -========================================= -END OF warning NOTICES AND INFORMATION +MIT License -%% webpack (for lodash 4) NOTICES AND INFORMATION BEGIN HERE (https://webpack.js.org/) -========================================= -Copyright (c) JS Foundation and other contributors +Copyright (c) Sindre Sorhus (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF webpack NOTICES AND INFORMATION -%% winreg 1.2.4 NOTICES AND INFORMATION BEGIN HERE (https://github.com/fresc81/node-winreg/tree/v1.2.4) -========================================= -This project is released under [BSD 2-Clause License](http://opensource.org/licenses/BSD-2-Clause). +------------------------------------------------------------------- -Copyright (c) 2016, Paul Bottin All rights reserved. +------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: +jsonify 0.0.0 - OTHER - * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +OTHER -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------- -========================================= -END OF winreg NOTICES AND INFORMATION +------------------------------------------------------------------- -%% winston 3.2.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/winston/-/winston-3.2.1.tgz) -========================================= -Copyright (c) 2010 Charlie Robbins +vsls 0.3.1291 - OTHER +https://aka.ms/vsls +Copyright (c) Microsoft Corporation. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +MICROSOFT PRE-RELEASE SOFTWARE LICENSE TERMS -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +MICROSOFT VISUAL STUDIO LIVE SHARE SOFTWARE -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -========================================= -END OF winston NOTICES AND INFORMATION +These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. They apply to the pre-release software named above. The terms also apply to any Microsoft services or updates for the software, except to the extent those have additional terms. -%% winston-transport 4.3.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/winston-transport/-/winston-transport-4.3.0.tgz) -========================================= -The MIT License (MIT) +IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE RIGHTS BELOW. -Copyright (c) 2015 Charlie Robbins & the contributors. +1. INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to evaluate it as you develop and test your software applications. You may use the software only with Microsoft Visual Studio or Visual Studio Code. The software works in tandem with an associated preview release service, as described below. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +2. PRE-RELEASE SOFTWARE. The software is a pre-release version. It may not work the way a final version of the software will. Microsoft may change it for the final, commercial version. We also may not release a commercial version. Microsoft is not obligated to provide maintenance, technical support or updates to you for the software. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +3. ASSOCIATED ONLINE SERVICES. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + a. Microsoft Azure Services. Some features of the software provide access to, or rely on, Azure online services, including an associated Azure online service to the software, Visual Studio Live Share (the “corresponding service”). The use of those services (but not the software) is governed by the separate terms and privacy policies in the agreement under which you obtained the Azure services at https://go.microsoft.com/fwLink/p/?LinkID=233178 (and, with respect to the corresponding service, the additional terms below). Please read them. The services may not be available in all regions. + b. Limited Availability. The corresponding service is currently in “Preview,” and therefore, we may change or discontinue the corresponding service at any time without notice. Any changes or updates to the corresponding service may cause the software to stop working and may result in the deletion of any data stored on the corresponding service. You may not receive notice prior to these updates. -========================================= -END OF winston-transport NOTICES AND INFORMATION +4. Licenses for other components. The software may include third party components with separate legal notices or governed by other agreements, as described in the ThirdPartyNotices file accompanying the software. Even if such components are governed by other agreements, the disclaimers and the limitations on and exclusions of damages below also apply. -%% wordwrap 1.0.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz) -========================================= -This software is released under the MIT license: +5. DATA. -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: + a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may opt out of many of these scenarios, but not all, as described in the product documentation. In using the software, you must comply with applicable law. You can learn more about data collection and use in the help documentation and the privacy statement at http://go.microsoft.com/fwlink/?LinkId=398505. Your use of the software operates as your consent to these practices. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at http://go.microsoft.com/?linkid=9840733. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +6. FEEDBACK. If you give feedback about the software to Microsoft, you give to Microsoft, without charge, the right to use, share and commercialize your feedback in any way and for any purpose. You will not give feedback that is subject to a license that requires Microsoft to license its software or documentation to third parties because we include your feedback in them. These rights survive this agreement. -========================================= -END OF wordwrap NOTICES AND INFORMATION +7. SCOPE OF LICENSE. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. For example, if Microsoft technically limits or disables extensibility for the software, you may not extend the software by, among other things, loading or injecting into the software any non-Microsoft add-ins, macros, or packages; modifying the software registry settings; or adding features or functionality equivalent to that found in other Visual Studio products. You may not: -%% wrappy 1.0.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz) -========================================= -The ISC License + * work around any technical limitations in the software; -Copyright (c) Isaac Z. Schlueter and Contributors + * reverse engineer, decompile or disassemble the software, or attempt to do so, except and only to the extent required by third party licensing terms governing use of certain open source components that may be included with the software; -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. + * remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * use the software in any way that is against the law; or -========================================= -END OF wrappy NOTICES AND INFORMATION + * share, publish, rent or lease the software, or provide the software as a stand-alone offering for others to use. -%% ws 6.2.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/ws/-/ws-6.2.1.tgz) -========================================= -The MIT License (MIT) +8. UPDATES. The software may periodically check for updates and download and install them for you. You may obtain updates only from Microsoft or authorized sources. Microsoft may need to update your system to provide you with updates. You agree to receive these automatic updates without any additional notice. Updates may not include or support all existing software features, services, or peripheral devices. -Copyright (c) 2011 Einar Otto Stangvik +9. EXPORT RESTRICTIONS. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users and end use. For further information on export restrictions, visit (aka.ms/exporting). -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +10. SUPPORT SERVICES. Because the software is “as is,” we may not provide support services for it. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +11. ENTIRE AGREEMENT. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +12. APPLICABLE LAW. If you acquired the software in the United States, Washington State law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. + +13. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You may have other rights, including consumer rights, under the laws of your state or country. Separate and apart from your relationship with Microsoft, you may also have rights with respect to the party from which you acquired the software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -========================================= -END OF ws NOTICES AND INFORMATION + a. Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -%% x-is-string 0.1.0 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz) -========================================= -Copyright (c) 2014 Matt-Esch. + b. Canada. If you acquired the software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + c. Germany and Austria. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + (i) Warranty. The properly licensed software will perform substantially as described in any Microsoft materials that accompany the software. However, Microsoft gives no contractual guarantee in relation to the licensed software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. + (ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as, in case of death or personal or physical injury, Microsoft is liable according to the statutory law. -========================================= -END OF x-is-string NOTICES AND INFORMATION + Subject to the foregoing clause (ii), Microsoft will only be liable for slight negligence if Microsoft is in breach of such material contractual obligations, the fulfillment of which facilitate the due performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence. -%% xml2js 0.4.19 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz) -========================================= -Copyright 2010, 2011, 2012, 2013. All rights reserved. +14. LEGAL EFFECT. This agreement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +15. DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +16. LIMITATION ON AND EXCLUSION OF DAMAGES. YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. + This limitation applies to (a) anything related to the software, services, content (including code) on third party Internet sites, or third party programs; and (b) claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law. -========================================= -END OF xml2js NOTICES AND INFORMATION + It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages. -%% xmlbuilder 9.0.7 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz) -========================================= -The MIT License (MIT) +Please note: As the software is distributed in Quebec, Canada, some of the clauses in this agreement are provided below in French. -Copyright (c) 2013 Ozgur Ozcitak +Remarque : Ce logiciel étant distribué au Québec, Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en français. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +EXONÉRATION DE GARANTIE. Le logiciel visé par une licence est offert « tel quel ». Toute utilisation de ce logiciel est à votre seule risque et péril. Microsoft n’accorde aucune autre garantie expresse. Vous pouvez bénéficier de droits additionnels en vertu du droit local sur la protection des consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualité marchande, d’adéquation à un usage particulier et d’absence de contrefaçon sont exclues. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +LIMITATION DES DOMMAGES-INTÉRÊTS ET EXCLUSION DE RESPONSABILITÉ POUR LES DOMMAGES. Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement à hauteur de 5,00 $ US. Vous ne pouvez prétendre à aucune indemnisation pour les autres dommages, y compris les dommages spéciaux, indirects ou accessoires et pertes de bénéfices. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +Cette limitation concerne : -========================================= -END OF xmlbuilder NOTICES AND INFORMATION +* tout ce qui est relié au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers ; et -%% xtend 4.0.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz) -========================================= -The MIT License (MIT) -Copyright (c) 2012-2014 Raynos. +* les réclamations au titre de violation de contrat ou de garantie, ou au titre de responsabilité stricte, de négligence ou d’une autre faute dans la limite autorisée par la loi en vigueur. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Elle s’applique également, même si Microsoft connaissait ou devrait connaître l’éventualité d’un tel dommage. Si votre pays n’autorise pas l’exclusion ou la limitation de responsabilité pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l’exclusion ci-dessus ne s’appliquera pas à votre égard. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +EFFET JURIDIQUE. Le présent contrat décrit certains droits juridiques. Vous pourriez avoir d’autres droits prévus par les lois de votre pays. Le présent contrat ne modifie pas les droits que vous confèrent les lois de votre pays si celles-ci ne le permettent pas. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -========================================= -END OF xtend NOTICES AND INFORMATION +------------------------------------------------------------------- -%% yallist 2.1.2 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz) -========================================= -The ISC License +------------------------------------------------------------------- -Copyright (c) Isaac Z. Schlueter and Contributors +path-is-inside 1.0.2 - WTFPL OR MIT +https://github.com/domenic/path-is-inside#readme +Copyright (c) 2004 Sam Hocevar +Copyright (c) 2013-2016 Domenic Denicola -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +Dual licensed under WTFPL and MIT: -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +--- -========================================= -END OF yallist NOTICES AND INFORMATION +Copyright © 2013–2016 Domenic Denicola -%% ylru 1.2.1 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz) -========================================= -Copyright (c) 2016 node-modules -Copyright (c) 2016 'Dominic Tarr' +This work is free. You can redistribute it and/or modify it under the +terms of the Do What The Fuck You Want To Public License, Version 2, +as published by Sam Hocevar. See below for more details. -Permission is hereby granted, free of charge, -to any person obtaining a copy of this software and -associated documentation files (the "Software"), to -deal in the Software without restriction, including -without limitation the rights to use, copy, modify, -merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom -the Software is furnished to do so, -subject to the following conditions: + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 -The above copyright notice and this permission notice -shall be included in all copies or substantial portions of the Software. + Copyright (C) 2004 Sam Hocevar -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. -========================================= -END OF ylru NOTICES AND INFORMATION + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION -%% zone.js 0.7.6 NOTICES AND INFORMATION BEGIN HERE (https://registry.npmjs.org/zone.js/-/zone.js-0.7.6.tgz) -========================================= -The MIT License + 0. You just DO WHAT THE FUCK YOU WANT TO. -Copyright (c) 2016 Google, Inc. +--- + +The MIT License (MIT) + +Copyright © 2013–2016 Domenic Denicola Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -16559,16 +45860,16 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + -========================================= -END OF zone.js NOTICES AND INFORMATION +------------------------------------------------------------------- diff --git a/ThirdPartyNotices-Repository.txt b/ThirdPartyNotices-Repository.txt index 21582af67bdf..1162db48bc9c 100644 --- a/ThirdPartyNotices-Repository.txt +++ b/ThirdPartyNotices-Repository.txt @@ -7,6 +7,7 @@ Microsoft Python extension for Visual Studio Code incorporates third party mater 1. Go for Visual Studio Code (https://github.com/Microsoft/vscode-go) 2. Files from the Python Project (https://www.python.org/) 3. Google Diff Match and Patch (https://github.com/GerHobbelt/google-diff-match-patch) +4. enchannel-zmq-backend (https://github.com/nteract/enchannel-zmq-backend) 6. omnisharp-vscode (https://github.com/OmniSharp/omnisharp-vscode) 8. PTVS (https://github.com/Microsoft/PTVS) 9. Python documentation (https://docs.python.org/) @@ -18,6 +19,7 @@ Microsoft Python extension for Visual Studio Code incorporates third party mater 15. jupyter-notebook (https://github.com/jupyter/notebook) 16. ipywidgets (https://github.com/jupyter-widgets) 17. vscode-cpptools (https://github.com/microsoft/vscode-cpptools) +18. font-awesome (https://github.com/FortAwesome/Font-Awesome) %% Go for Visual Studio Code NOTICES, INFORMATION, AND LICENSE BEGIN HERE @@ -1093,3 +1095,76 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ========================================= END OF vscode-cpptools NOTICES, INFORMATION, AND LICENSE + +%% enchannel-zmq-backend NOTICES, INFORMATION, AND LICENSE BEGIN HERE +Copyright (c) 2016, +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of enchannel-zmq-backend nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +========================================= +END OF enchannel-zmq-backend NOTICES, INFORMATION, AND LICENSE +======= + +%% font-awesome NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Font Name - FontAwesome + +Font Awesome Free License +------------------------- + +Font Awesome Free is free, open source, and GPL friendly. You can use it for +commercial projects, open source projects, or really almost whatever you want. +Full Font Awesome Free license: https://fontawesome.com/license/free. + +# Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/) +In the Font Awesome Free download, the CC BY 4.0 license applies to all icons +packaged as SVG and JS file types. + +# Fonts: SIL OFL 1.1 License (https://scripts.sil.org/OFL) +In the Font Awesome Free download, the SIL OFL license applies to all icons +packaged as web and desktop font files. + +# Code: MIT License (https://opensource.org/licenses/MIT) +In the Font Awesome Free download, the MIT license applies to all non-font and +non-icon files. + +# Attribution +Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font +Awesome Free files already contain embedded comments with sufficient +attribution, so you shouldn't need to do anything additional when using these +files normally. + +We've kept attribution comments terse, so we ask that you do not actively work +to remove them from files, especially code. They're a great way for folks to +learn about Font Awesome. + +# Brand Icons +All brand icons are trademarks of their respective owners. The use of these +trademarks does not indicate endorsement of the trademark holder by Font +Awesome, nor vice versa. **Please do not use brand logos for any purpose except +to represent the company, product, or service to which they refer.** +========================================= +END OF font-awesome NOTICES, INFORMATION, AND LICENSE \ No newline at end of file diff --git a/build/.eslintrc b/build/.eslintrc new file mode 100644 index 000000000000..8a44c2cfe2cc --- /dev/null +++ b/build/.eslintrc @@ -0,0 +1,41 @@ +{ + "root": true, + "env": { + "node": true, + "es6": true, + "mocha": true + }, + "extends": [ + "airbnb" + ], + "rules": { + "comma-dangle": "off", + "func-names": "off", + "import/no-extraneous-dependencies": [ + "error", + { + "peerDependencies": true, + "devDependencies": true + } + ], + "import/prefer-default-export": "off", + "indent": [ + "error", + 4, + { + "SwitchCase": 1 + } + ], + "max-len": [ + "error", + { + "code": 120 + } + ], + "no-console": "off", + "no-param-reassign": "off", + "no-underscore-dangle": "off", + "no-useless-escape": "off", + "strict": "off" + } +} diff --git a/build/.mocha.functional.json b/build/.mocha.functional.json new file mode 100644 index 000000000000..3cebb9367a52 --- /dev/null +++ b/build/.mocha.functional.json @@ -0,0 +1,12 @@ +{ + "spec": "./out/test/**/*.functional.test.js", + "require": ["out/test/unittests.js"], + "exclude": "out/**/*.jsx", + "reporter": "mocha-multi-reporters", + "reporter-option": "configFile=build/.mocha-multi-reporters.config", + "ui": "tdd", + "recursive": true, + "colors": true, + "exit": true, + "timeout": 180000 +} diff --git a/build/.mocha.functional.opts b/build/.mocha.functional.opts deleted file mode 100644 index 47ae4d6eeb25..000000000000 --- a/build/.mocha.functional.opts +++ /dev/null @@ -1,10 +0,0 @@ -./out/test/**/*.functional.test.js ---require=out/test/unittests.js ---exclude=out/**/*.jsx ---ui=tdd ---recursive ---colors ---exit ---timeout=180000 ---reporter mocha-multi-reporters ---reporter-options configFile=build/.mocha-multi-reporters.config diff --git a/build/.mocha.functional.perf.json b/build/.mocha.functional.perf.json new file mode 100644 index 000000000000..d67cbb73e8f7 --- /dev/null +++ b/build/.mocha.functional.perf.json @@ -0,0 +1,11 @@ +{ + "spec": "./out/test/**/*.functional.test.js", + "exclude-out": "out/**/*.jsx", + "require": ["out/test/unittests.js"], + "reporter": "spec", + "ui": "tdd", + "recursive": true, + "colors": true, + "exit": true, + "timeout": 180000 +} diff --git a/build/.mocha.functional.perf.opts b/build/.mocha.functional.perf.opts deleted file mode 100644 index decfc3ece6e6..000000000000 --- a/build/.mocha.functional.perf.opts +++ /dev/null @@ -1,9 +0,0 @@ -./out/test/**/*.functional.test.js ---require=out/test/unittests.js ---exclude=out/**/*.jsx ---ui=tdd ---recursive ---colors ---exit ---timeout=180000 ---reporter spec diff --git a/build/.mocha.performance.json b/build/.mocha.performance.json new file mode 100644 index 000000000000..4e398d556887 --- /dev/null +++ b/build/.mocha.performance.json @@ -0,0 +1,12 @@ +{ + "spec": "./out/test/**/*.functional.test.js", + "require": ["out/test/unittests.js"], + "reporter": "mocha-multi-reporters", + "reporter-option": "configFile=build/.mocha.perf.config", + "ui": "tdd", + "recursive": true, + "colors": true, + "exit": true, + "timeout": 30000, + "grep": "DataScience" +} diff --git a/build/.mocha.performance.opts b/build/.mocha.performance.opts deleted file mode 100644 index dafed0fdb18a..000000000000 --- a/build/.mocha.performance.opts +++ /dev/null @@ -1,10 +0,0 @@ -./out/test/**/*.functional.test.js ---require=out/test/unittests.js ---ui=tdd ---recursive ---colors ---exit ---timeout=30000 ---reporter mocha-multi-reporters ---reporter-options configFile=build/.mocha.perf.config ---grep DataScience diff --git a/build/.mocha.unittests.js.json b/build/.mocha.unittests.js.json new file mode 100644 index 000000000000..a0bc134c7dc8 --- /dev/null +++ b/build/.mocha.unittests.js.json @@ -0,0 +1,9 @@ +{ + "spec": "./out/test/**/*.unit.test.js", + "require": ["source-map-support/register", "out/test/unittests.js"], + "reporter": "mocha-multi-reporters", + "reporter-option": "configFile=build/.mocha-multi-reporters.config", + "ui": "tdd", + "recursive": true, + "colors": true +} diff --git a/build/.mocha.unittests.js.opts b/build/.mocha.unittests.js.opts deleted file mode 100644 index 314f85a1d3a9..000000000000 --- a/build/.mocha.unittests.js.opts +++ /dev/null @@ -1,8 +0,0 @@ ---require source-map-support/register ---require out/test/unittests.js ---reporter mocha-multi-reporters ---reporter-options configFile=build/.mocha-multi-reporters.config ---ui tdd ---recursive ---colors -./out/test/**/*.unit.test.js \ No newline at end of file diff --git a/build/.mocha.unittests.json b/build/.mocha.unittests.json new file mode 100644 index 000000000000..b4dcc393c7eb --- /dev/null +++ b/build/.mocha.unittests.json @@ -0,0 +1,9 @@ +{ + "spec": "./out/test/**/*.unit.test.js", + "require": ["out/test/unittests.js"], + "reporter": "mocha-multi-reporters", + "reporter-option": "configFile=build/.mocha-multi-reporters.config", + "ui": "tdd", + "recursive": true, + "colors": true +} diff --git a/build/.mocha.unittests.opts b/build/.mocha.unittests.opts deleted file mode 100644 index 1583fcaaa727..000000000000 --- a/build/.mocha.unittests.opts +++ /dev/null @@ -1,7 +0,0 @@ -./out/test/**/*.unit.test.js ---require out/test/unittests.js ---reporter mocha-multi-reporters ---reporter-options configFile=build/.mocha-multi-reporters.config ---ui tdd ---recursive ---colors diff --git a/build/.mocha.unittests.ts.json b/build/.mocha.unittests.ts.json new file mode 100644 index 000000000000..b20e02bfa96f --- /dev/null +++ b/build/.mocha.unittests.ts.json @@ -0,0 +1,9 @@ +{ + "spec": "./src/test/**/*.unit.test.ts", + "require": ["ts-node/register", "out/test/unittests.js"], + "reporter": "mocha-multi-reporters", + "reporter-option": "configFile=build/.mocha-multi-reporters.config", + "ui": "tdd", + "recursive": true, + "colors": true +} diff --git a/build/.mocha.unittests.ts.opts b/build/.mocha.unittests.ts.opts deleted file mode 100644 index 9d97e8ef972a..000000000000 --- a/build/.mocha.unittests.ts.opts +++ /dev/null @@ -1,8 +0,0 @@ ---require ts-node/register ---require src/test/unittests.ts ---reporter mocha-multi-reporters ---reporter-options configFile=build/.mocha-multi-reporters.config ---ui tdd ---recursive ---colors -./src/test/**/*.unit.test.ts diff --git a/build/ci/TSAOptions.json b/build/ci/TSAOptions.json new file mode 100644 index 000000000000..8edad9f01b84 --- /dev/null +++ b/build/ci/TSAOptions.json @@ -0,0 +1,6 @@ +{ + "projectName": "PVSC", + "areaPath": "PVSC\\Security", + "iterationPath": "PVSC", + "allTools": true +} diff --git a/build/ci/codecov.yml b/build/ci/codecov.yml index 817313b270d3..8ed52955f093 100644 --- a/build/ci/codecov.yml +++ b/build/ci/codecov.yml @@ -5,7 +5,7 @@ codecov: coverage: precision: 0 round: down - range: "70...100" + range: '70...100' status: project: yes @@ -22,6 +22,6 @@ parsers: comment: branch: !release* - layout: "header, diff, files" + layout: 'header, diff, files' behavior: default require_changes: no diff --git a/build/ci/conda_base.yml b/build/ci/conda_base.yml index 171868c9b879..0467c61b793d 100644 --- a/build/ci/conda_base.yml +++ b/build/ci/conda_base.yml @@ -1,4 +1,5 @@ pandas jupyter numpy -matplotlib \ No newline at end of file +matplotlib +pip diff --git a/build/ci/conda_env_1.yml b/build/ci/conda_env_1.yml index 7949c0f767f8..8d5ef6398197 100644 --- a/build/ci/conda_env_1.yml +++ b/build/ci/conda_env_1.yml @@ -4,4 +4,5 @@ dependencies: - pandas - jupyter - numpy - - matplotlib \ No newline at end of file + - matplotlib + - pip diff --git a/build/ci/conda_env_2.yml b/build/ci/conda_env_2.yml index 6c1fb6a0d335..6ccdb55b80b7 100644 --- a/build/ci/conda_env_2.yml +++ b/build/ci/conda_env_2.yml @@ -4,4 +4,5 @@ dependencies: - pandas - jupyter - numpy - - matplotlib \ No newline at end of file + - matplotlib + - pip diff --git a/build/ci/performance/DS_test_benchmark.json b/build/ci/performance/DS_test_benchmark.json new file mode 100644 index 000000000000..5d83e811700a --- /dev/null +++ b/build/ci/performance/DS_test_benchmark.json @@ -0,0 +1,542 @@ +[ + { + "name": "DataScience gotocell tests Basic execution", + "time": 0.135 + }, + { + "name": "DataScience gotocell tests Basic edit", + "time": 0.199 + }, + { + "name": "DataScience Error Handler Functional Tests Jupyter not installed", + "time": 0.215 + }, + { + "name": "DataScience Intellisense tests Simple autocomplete", + "time": 0.623 + }, + { + "name": "DataScience Intellisense tests Multiple interpreters", + "time": 0.535 + }, + { + "name": "DataScience Intellisense tests Jupyter autocomplete", + "time": 0.425 + }, + { + "name": "DataScience Intellisense tests Jupyter autocomplete not timeout", + "time": 0.496 + }, + { + "name": "DataScience Intellisense tests Filtered Jupyter autocomplete, verify magic commands appear", + "time": 0.409 + }, + { + "name": "DataScience Intellisense tests Filtered Jupyter autocomplete, verify magic commands are filtered", + "time": 0.366 + }, + { + "name": "DataScience Interactive Panel Input Cell is displayed", + "time": 0.121 + }, + { + "name": "DataScience Interactive Window output tests Simple text", + "time": 0.528 + }, + { + "name": "DataScience Interactive Window output tests Clear output", + "time": 0.495 + }, + { + "name": "DataScience Interactive Window output tests Hide inputs", + "time": 0.559 + }, + { + "name": "DataScience Interactive Window output tests Show inputs", + "time": 0.481 + }, + { + "name": "DataScience Interactive Window output tests Expand inputs", + "time": 0.496 + }, + { + "name": "DataScience Interactive Window output tests Ctrl + 1/Ctrl + 2", + "time": 0.427 + }, + { + "name": "DataScience Interactive Window output tests Escape/Ctrl+U", + "time": 0.365 + }, + { + "name": "DataScience Interactive Window output tests Click outside cells sets focus to input box", + "time": 0.447 + }, + { + "name": "DataScience Interactive Window output tests Collapse / expand cell", + "time": 0.568 + }, + { + "name": "DataScience Interactive Window output tests Hide / show cell", + "time": 0.486 + }, + { + "name": "DataScience Interactive Window output tests Mime Types", + "time": 1.141 + }, + { + "name": "DataScience Interactive Window output tests Undo/redo commands", + "time": 0.74 + }, + { + "name": "DataScience Interactive Window output tests Click buttons", + "time": 0.706 + }, + { + "name": "DataScience Interactive Window output tests Export", + "time": 0.462 + }, + { + "name": "DataScience Interactive Window output tests Dispose test", + "time": 0.466 + }, + { + "name": "DataScience Interactive Window output tests Editor Context", + "time": 0.469 + }, + { + "name": "DataScience Interactive Window output tests Simple input", + "time": 0.516 + }, + { + "name": "DataScience Interactive Window output tests Copy to source input", + "time": 0.561 + }, + { + "name": "DataScience Interactive Window output tests Multiple input", + "time": 0.96 + }, + { + "name": "DataScience Interactive Window output tests Restart with session failure", + "time": 0.89 + }, + { + "name": "DataScience Interactive Window output tests Gather code run from text editor", + "time": 0.485 + }, + { + "name": "DataScience Interactive Window output tests Gather code run from input box", + "time": 0.502 + }, + { + "name": "DataScience Interactive Window output tests Copy back to source", + "time": 0.296 + }, + { + "name": "DataScience Interactive Window output tests Limit text output", + "time": 0.431 + }, + { + "name": "DataScience Interactive Window output tests Type in input", + "time": 0.617 + }, + { + "name": "DataScience LiveShare tests Host alone", + "time": 0.473 + }, + { + "name": "DataScience LiveShare tests Host Shutdown and Run", + "time": 0.596 + }, + { + "name": "DataScience LiveShare tests Going through codewatcher", + "time": 0.711 + }, + { + "name": "DataScience LiveShare tests Export from guest", + "time": 0.138 + }, + { + "name": "DataScience LiveShare tests Guest does not have extension", + "time": 1.839 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Simple text", + "time": 0.596 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Invalid session still runs", + "time": 0.515 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Invalid kernel still runs", + "time": 0.563 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Mime Types", + "time": 1.979 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Click buttons", + "time": 0.551 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Server already loaded", + "time": 2.183 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Server load skipped", + "time": 0.672 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Convert to python", + "time": 0.563 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Save As", + "time": 0.516 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests RunAllCells", + "time": 0.629 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Startup and shutdown", + "time": 1.198 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Failure", + "time": 0.745 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Selection/Focus Markdown saved when selecting another cell", + "time": 0.464 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Model updates Add a cell and undo", + "time": 0.179 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Model updates Edit a cell and undo", + "time": 0.962 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Model updates Remove, move, and undo", + "time": 0.339 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Model updates Update as user types into editor (update redux store and model)", + "time": 0.609 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Model updates Updates are not lost when switching to markdown (update redux store and model)", + "time": 0.698 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Keyboard Shortcuts Traverse cells by using ArrowUp and ArrowDown, k and j", + "time": 0.307 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Keyboard Shortcuts Traverse cells by using ArrowUp and ArrowDown, k and j", + "time": 0.155 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Keyboard Shortcuts Pressing 'Shift+Enter' on a selected cell executes the cell and advances to the next cell", + "time": 0.529 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Keyboard Shortcuts Pressing 'Ctrl+Enter' on a selected cell executes the cell and cell selection is not changed", + "time": 0.283 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Keyboard Shortcuts Pressing 'Alt+Enter' on a selected cell adds a new cell below it", + "time": 0.158 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Keyboard Shortcuts Auto brackets work", + "time": 0.343 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Keyboard Shortcuts Navigating cells using up/down keys while focus is set to editor", + "time": 0.154 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Keyboard Shortcuts Navigating cells using up/down keys through code & markdown cells, while focus is set to editor", + "time": 1.632 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Keyboard Shortcuts Pressing 'a' on a selected cell adds a cell at the current position", + "time": 0.201 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Keyboard Shortcuts Pressing 'b' on a selected cell adds a cell after the current position", + "time": 0.21 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Keyboard Shortcuts Toggle visibility of output", + "time": 0.358 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Keyboard Shortcuts Toggle markdown and code modes using 'y' and 'm' keys (cells should not be focused)", + "time": 0.274 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Keyboard Shortcuts Toggle markdown and code modes using 'y' and 'm' keys & ensure changes to cells is preserved", + "time": 0.568 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Keyboard Shortcuts Test undo using the key 'z'", + "time": 2.229 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Keyboard Shortcuts Test save using the key 'ctrl+s' on Windows", + "time": 0.785 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Keyboard Shortcuts Test save using the key 'ctrl+s' on Mac", + "time": 1.685 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Keyboard Shortcuts Test save using the key 'cmd+s' on a Mac", + "time": 0.655 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Keyboard Shortcuts Test save using the key 'cmd+s' on a Windows", + "time": 1.671 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Auto Save Auto save notebook every 1s", + "time": 3.03 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Auto Save File saved with same format", + "time": 2.031 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Auto Save Should not auto save notebook, ever", + "time": 5.039 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Auto Save Auto save notebook when focus changes from active editor to none", + "time": 0.425 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Auto Save Auto save notebook when focus changes from active editor to something else", + "time": 0.435 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Auto Save Should not auto save notebook when active editor changes", + "time": 5.014 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Auto Save Auto save notebook when window state changes to being not focused", + "time": 0.456 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Auto Save Auto save notebook when window state changes to being focused", + "time": 0.649 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Auto Save Auto save notebook when window state changes to being focused for focusChange", + "time": 0.471 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Auto Save Auto save notebook when window state changes to being not focused for focusChange", + "time": 0.48 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Auto Save Auto save notebook when view state changes", + "time": 0.495 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Update Metadata Update notebook metadata on execution", + "time": 0.885 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Clear Outputs Clear Outputs in WebView", + "time": 0.479 + }, + { + "name": "DataScience Native Editor Without Custom Editor API Editor tests Clear Outputs Clear execution_count and outputs in notebook", + "time": 0.508 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Simple text", + "time": 0.966 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Invalid session still runs", + "time": 0.894 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Invalid kernel still runs", + "time": 0.946 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Mime Types", + "time": 3.283 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Click buttons", + "time": 0.984 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Server already loaded", + "time": 2.298 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Server load skipped", + "time": 0.778 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Convert to python", + "time": 1.022 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests RunAllCells", + "time": 1.048 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Startup and shutdown", + "time": 2.3 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Failure", + "time": 1.219 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Selection/Focus Markdown saved when selecting another cell", + "time": 1.319 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Model updates Add a cell and undo", + "time": 0.257 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Model updates Edit a cell and undo", + "time": 2.682 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Model updates Remove, move, and undo", + "time": 0.709 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Model updates Update as user types into editor (update redux store and model)", + "time": 1.802 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Model updates Updates are not lost when switching to markdown (update redux store and model)", + "time": 1.91 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Keyboard Shortcuts Traverse cells by using ArrowUp and ArrowDown, k and j", + "time": 0.341 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Keyboard Shortcuts Traverse cells by using ArrowUp and ArrowDown, k and j", + "time": 0.164 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Keyboard Shortcuts Pressing 'Shift+Enter' on a selected cell executes the cell and advances to the next cell", + "time": 0.987 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Keyboard Shortcuts Pressing 'Ctrl+Enter' on a selected cell executes the cell and cell selection is not changed", + "time": 0.425 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Keyboard Shortcuts Pressing 'Alt+Enter' on a selected cell adds a new cell below it", + "time": 0.287 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Keyboard Shortcuts Auto brackets work", + "time": 0.796 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Keyboard Shortcuts Navigating cells using up/down keys while focus is set to editor", + "time": 0.146 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Keyboard Shortcuts Navigating cells using up/down keys through code & markdown cells, while focus is set to editor", + "time": 3.292 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Keyboard Shortcuts Pressing 'a' on a selected cell adds a cell at the current position", + "time": 0.331 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Keyboard Shortcuts Pressing 'b' on a selected cell adds a cell after the current position", + "time": 0.349 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Keyboard Shortcuts Toggle visibility of output", + "time": 0.509 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Keyboard Shortcuts Toggle markdown and code modes using 'y' and 'm' keys (cells should not be focused)", + "time": 0.358 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Keyboard Shortcuts Toggle markdown and code modes using 'y' and 'm' keys & ensure changes to cells is preserved", + "time": 1.251 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Update Metadata Update notebook metadata on execution", + "time": 1.242 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Clear Outputs Clear Outputs in WebView", + "time": 0.593 + }, + { + "name": "DataScience Native Editor With Custom Editor API Editor tests Clear Outputs Clear execution_count and outputs in notebook", + "time": 0.614 + }, + { + "name": "DataScience notebook tests Verify manual working directory", + "time": 0.117 + }, + { + "name": "DataScience notebook tests Verify ${fileDirname} working directory", + "time": 0.353 + }, + { + "name": "DataScience notebook tests Change Interpreter", + "time": 0.218 + }, + { + "name": "DataScience notebook tests Restart kernel", + "time": 0.492 + }, + { + "name": "DataScience notebook tests Cancel execution", + "time": 0.318 + }, + { + "name": "DataScience notebook tests Interrupt kernel", + "time": 15.383 + }, + { + "name": "DataScience notebook tests MimeTypes", + "time": 0.603 + }, + { + "name": "DataScience notebook tests Non default config fails", + "time": 0.104 + }, + { + "name": "DataScience notebook tests Invalid kernel spec works", + "time": 0.151 + }, + { + "name": "DataScience notebook tests Server cache working", + "time": 0.255 + }, + { + "name": "DataScience notebook tests Server death", + "time": 0.282 + }, + { + "name": "DataScience notebook tests Execution logging", + "time": 0.152 + } +] diff --git a/build/ci/performance/checkPerformanceResults.js b/build/ci/performance/checkPerformanceResults.js index feccdc6be711..f632fd0b5224 100644 --- a/build/ci/performance/checkPerformanceResults.js +++ b/build/ci/performance/checkPerformanceResults.js @@ -5,7 +5,7 @@ const fs = require('fs'); const path = require('path'); const constants = require('../../constants'); -const benchmark = process.argv.slice(2).join(' '); +const benchmarkFile = path.join(constants.ExtensionRootDir, 'build', 'ci', 'performance', 'DS_test_benchmark.json'); const performanceResultsFile = path.join( constants.ExtensionRootDir, 'build', @@ -13,49 +13,82 @@ const performanceResultsFile = path.join( 'performance', 'performance-results.json' ); -const errorMargin = 0.01; +const errorMargin = 1.1; let failedTests = ''; -fs.readFile(performanceResultsFile, 'utf8', (performanceResultsFileError, performanceData) => { - if (performanceResultsFileError) { - throw performanceResultsFileError; +function getFailingTimesString(missedTimes) { + let printValue = ''; + for (const time of missedTimes) { + printValue += String(time) + ', '; } + return printValue.substring(0, printValue.length - 2); +} - const benchmarkJson = JSON.parse(benchmark); - const performanceJson = JSON.parse(performanceData); - - performanceJson.forEach(result => { - const cleanTimes = result.times.filter(x => x !== -1); - const avg = - cleanTimes.length === 0 - ? 999 - : cleanTimes.reduce((a, b) => parseFloat(a) + parseFloat(b)) / cleanTimes.length; - const testcase = benchmarkJson.find(x => x.name === result.name); - - // compare the average result to the base JSON - if (testcase && testcase.time !== -1 && avg > parseFloat(testcase.time) + errorMargin) { - failedTests += - 'Performance is slow in: ' + - testcase.name + - '.\n\tBenchmark time: ' + - testcase.time + - '\n\tAverage test time: ' + - avg + - '\n'; +fs.readFile(benchmarkFile, 'utf8', (benchmarkError, benchmark) => { + if (benchmarkError) { + throw benchmarkError; + } + + fs.readFile(performanceResultsFile, 'utf8', (performanceResultsFileError, performanceData) => { + if (performanceResultsFileError) { + throw performanceResultsFileError; } - }); - // Delete performance-results.json - fs.unlink(performanceResultsFile, deleteError => { - if (deleteError) { - if (failedTests.length > 0) { - console.log(failedTests); + const benchmarkJson = JSON.parse(benchmark); + const performanceJson = JSON.parse(performanceData); + + performanceJson.forEach((result) => { + const cleanTimes = result.times.filter((x) => x !== 'S' && x !== 'F'); + const n = cleanTimes.length; + const testcase = benchmarkJson.find((x) => x.name === result.name); + + if (testcase && testcase.time !== 'S') { + if (n === 0 && result.times.every((t) => t === 'F')) { + // Test failed every time + failedTests += 'Failed every time: ' + testcase.name + '\n'; + } else { + let missedTimes = []; + for (let time of cleanTimes) { + if (parseFloat(time) > parseFloat(testcase.time) * errorMargin) { + missedTimes.push(parseFloat(time)); + } + } + + if (missedTimes.length >= 2) { + const skippedTimes = result.times.filter((t) => t === 'S'); + const failedTimes = result.times.filter((t) => t === 'F'); + + failedTests += + 'Performance is slow in: ' + + testcase.name + + '.\n\tBenchmark time: ' + + String(parseFloat(testcase.time) * errorMargin) + + '\n\tTimes the test missed the benchmark: ' + + missedTimes.length + + '\n\tFailing times: ' + + getFailingTimesString(missedTimes) + + '\n\tTimes it was skipped: ' + + skippedTimes.length + + '\n\tTimes it failed: ' + + failedTimes.length + + '\n'; + } + } + } + }); + + // Delete performance-results.json + fs.unlink(performanceResultsFile, (deleteError) => { + if (deleteError) { + if (failedTests.length > 0) { + console.log(failedTests); + } + throw deleteError; } - throw deleteError; + }); + + if (failedTests.length > 0) { + throw new Error(failedTests); } }); - - if (failedTests.length > 0) { - throw new Error(failedTests); - } }); diff --git a/build/ci/performance/createNewPerformanceBenchmark.js b/build/ci/performance/createNewPerformanceBenchmark.js index e5f6e6b5025e..7cdf93d3ac81 100644 --- a/build/ci/performance/createNewPerformanceBenchmark.js +++ b/build/ci/performance/createNewPerformanceBenchmark.js @@ -9,6 +9,15 @@ const constants = require('../../constants'); const xmlFile = path.join(constants.ExtensionRootDir, 'xunit-test-results.xml'); let performanceData = []; +function getTime(testcase) { + if (testcase.failure) { + return 'F'; + } else if (testcase.skipped === '') { + return 'S'; + } + return parseFloat(testcase.time); +} + fs.readFile(xmlFile, 'utf8', (xmlReadError, xmlData) => { if (xmlReadError) { throw xmlReadError; @@ -21,19 +30,21 @@ fs.readFile(xmlFile, 'utf8', (xmlReadError, xmlData) => { }; const jsonObj = fastXmlParser.parse(xmlData, defaultOptions); - jsonObj.testsuite.testcase.forEach(testcase => { + jsonObj.testsuite.testcase.forEach((testcase) => { const test = { name: testcase.classname + ' ' + testcase.name, - time: testcase.failure || testcase.skipped === '' ? -1 : parseFloat(testcase.time) + time: getTime(testcase) }; - performanceData.push(test); + if (test.time !== 'S' && test.time > 0.1) { + performanceData.push(test); + } }); fs.writeFile( path.join(constants.ExtensionRootDir, 'build', 'ci', 'performance', 'DS_test_benchmark.json'), JSON.stringify(performanceData, null, 2), - writeResultsError => { + (writeResultsError) => { if (writeResultsError) { throw writeResultsError; } diff --git a/build/ci/performance/perfJobs.yaml b/build/ci/performance/perfJobs.yaml index 20b74778b397..f902ff0c5f9d 100644 --- a/build/ci/performance/perfJobs.yaml +++ b/build/ci/performance/perfJobs.yaml @@ -1,72 +1,79 @@ jobs: -- job: Testing_Round_1 - timeoutInMinutes: 120 - strategy: - matrix: - Python37: - PythonVersion: '3.7' - pool: DSPerf - steps: - - task: Gulp@0 - displayName: 'gulp prePublishNonBundle' - inputs: + - job: Testing_Round_1 + timeoutInMinutes: 120 + strategy: + matrix: + Python37: + PythonVersion: '3.7' + pool: DSPerf + steps: + - task: Npm@1 + displayName: 'npm ci' + inputs: + workingDir: ${{ parameters.workingDirectory }} + command: custom + verbose: true + customCommand: ci + - task: Gulp@0 + displayName: 'Compile and check for errors' + inputs: targets: 'prePublishNonBundle' - - powershell: | - mocha --require source-map-support/register --opts ./build/.mocha.performance.opts - node ./build/ci/performance/savePerformanceResults.js + - powershell: | + mocha --require source-map-support/register --config ./build/.mocha.performance.json + node ./build/ci/performance/savePerformanceResults.js -- job: Testing_Round_2 - dependsOn: - - Testing_Round_1 - timeoutInMinutes: 120 - strategy: - matrix: - Python37: - PythonVersion: '3.7' - pool: DSPerf - steps: - - powershell: | - mocha --require source-map-support/register --opts ./build/.mocha.performance.opts - node ./build/ci/performance/savePerformanceResults.js + - job: Testing_Round_2 + dependsOn: + - Testing_Round_1 + timeoutInMinutes: 120 + strategy: + matrix: + Python37: + PythonVersion: '3.7' + pool: DSPerf + steps: + - powershell: | + mocha --require source-map-support/register --config ./build/.mocha.performance.json + node ./build/ci/performance/savePerformanceResults.js -- job: Testing_Round_3 - dependsOn: - - Testing_Round_2 - timeoutInMinutes: 120 - strategy: - matrix: - Python37: - PythonVersion: '3.7' - pool: DSPerf - steps: - - powershell: | - mocha --require source-map-support/register --opts ./build/.mocha.performance.opts - node ./build/ci/performance/savePerformanceResults.js + - job: Testing_Round_3 + dependsOn: + - Testing_Round_2 + timeoutInMinutes: 120 + strategy: + matrix: + Python37: + PythonVersion: '3.7' + pool: DSPerf + steps: + - powershell: | + mocha --require source-map-support/register --config ./build/.mocha.performance.json + node ./build/ci/performance/savePerformanceResults.js -- job: Testing_Round_4 - dependsOn: - - Testing_Round_3 - timeoutInMinutes: 120 - strategy: - matrix: - Python37: - PythonVersion: '3.7' - pool: DSPerf - steps: - - powershell: | - mocha --require source-map-support/register --opts ./build/.mocha.performance.opts - node ./build/ci/performance/savePerformanceResults.js + - job: Testing_Round_4 + dependsOn: + - Testing_Round_3 + timeoutInMinutes: 120 + strategy: + matrix: + Python37: + PythonVersion: '3.7' + pool: DSPerf + steps: + - powershell: | + mocha --require source-map-support/register --config ./build/.mocha.performance.json + node ./build/ci/performance/savePerformanceResults.js -- job: Testing_Round_5 - dependsOn: - - Testing_Round_4 - timeoutInMinutes: 120 - strategy: - matrix: - Python37: - PythonVersion: '3.7' - pool: DSPerf - steps: - - powershell: | - mocha --require source-map-support/register --opts ./build/.mocha.performance.opts - node ./build/ci/performance/savePerformanceResults.js + - job: Testing_Round_5 + dependsOn: + - Testing_Round_4 + timeoutInMinutes: 120 + strategy: + matrix: + Python37: + PythonVersion: '3.7' + pool: DSPerf + steps: + - powershell: | + mocha --require source-map-support/register --config ./build/.mocha.performance.json + node ./build/ci/performance/savePerformanceResults.js diff --git a/build/ci/performance/savePerformanceResults.js b/build/ci/performance/savePerformanceResults.js index 11693a91ffeb..456eb254331b 100644 --- a/build/ci/performance/savePerformanceResults.js +++ b/build/ci/performance/savePerformanceResults.js @@ -10,6 +10,15 @@ const xmlFile = path.join(constants.ExtensionRootDir, 'xunit-test-results.xml'); const jsonFile = path.join(constants.ExtensionRootDir, 'build', 'ci', 'performance', 'performance-results.json'); let performanceData = []; +function getTime(testcase) { + if (testcase.failure) { + return 'F'; + } else if (testcase.skipped === '') { + return 'S'; + } + return parseFloat(testcase.time); +} + fs.readFile(xmlFile, 'utf8', (xmlReadError, xmlData) => { if (xmlReadError) { throw xmlReadError; @@ -25,10 +34,10 @@ fs.readFile(xmlFile, 'utf8', (xmlReadError, xmlData) => { fs.readFile(jsonFile, 'utf8', (jsonReadError, data) => { if (jsonReadError) { // File doesn't exist, so we create it - jsonObj.testsuite.testcase.forEach(testcase => { + jsonObj.testsuite.testcase.forEach((testcase) => { const test = { name: testcase.classname + ' ' + testcase.name, - times: [testcase.failure || testcase.skipped === '' ? -1 : parseFloat(testcase.time)] + times: [getTime(testcase)] }; performanceData.push(test); @@ -36,9 +45,9 @@ fs.readFile(xmlFile, 'utf8', (xmlReadError, xmlData) => { } else { performanceData = JSON.parse(data); - jsonObj.testsuite.testcase.forEach(testcase => { - let test = performanceData.find(x => x.name === testcase.classname + ' ' + testcase.name); - let time = testcase.failure || testcase.skipped === '' ? -1 : parseFloat(testcase.time); + jsonObj.testsuite.testcase.forEach((testcase) => { + let test = performanceData.find((x) => x.name === testcase.classname + ' ' + testcase.name); + let time = getTime(testcase); if (test) { // if the test name is already there, we add the new time @@ -58,7 +67,7 @@ fs.readFile(xmlFile, 'utf8', (xmlReadError, xmlData) => { fs.writeFile( path.join(constants.ExtensionRootDir, 'build', 'ci', 'performance', 'performance-results.json'), JSON.stringify(performanceData, null, 2), - writeResultsError => { + (writeResultsError) => { if (writeResultsError) { throw writeResultsError; } diff --git a/build/ci/performance/vscode-python-performance.yaml b/build/ci/performance/vscode-python-performance.yaml index 557ca6d9dd84..c0de78757a36 100644 --- a/build/ci/performance/vscode-python-performance.yaml +++ b/build/ci/performance/vscode-python-performance.yaml @@ -3,30 +3,24 @@ name: '$(Year:yyyy).$(Month).0.$(BuildID)-weekly-performance-test' trigger: none pr: none schedules: -- cron: "0 0 * * sat" - displayName: Weekly Performance Test - branches: - include: - - master + - cron: '0 0 * * sat' + displayName: Weekly Performance Test + branches: + include: + - main stages: -- stage: Test_performance - jobs: - - template: perfJobs.yaml + - stage: Test_performance + jobs: + - template: perfJobs.yaml -- stage: Results - dependsOn: - - Test_performance - jobs: - - job: CheckResults - timeoutInMinutes: 5 - pool: DSPerf - steps: - - task: DownloadSecureFile@1 - name: benchmark - inputs: - secureFile: 'DS_test_benchmark.json' - - powershell: | - $arg = cat $(benchmark.secureFilePath) -Raw - $arg = $arg -replace '"','\"' - node ./build/ci/performance/checkPerformanceResults.js $arg + - stage: Results + dependsOn: + - Test_performance + jobs: + - job: CheckResults + timeoutInMinutes: 5 + pool: DSPerf + steps: + - powershell: | + node ./build/ci/performance/checkPerformanceResults.js diff --git a/build/ci/postInstall.js b/build/ci/postInstall.js index 6d02c8f1611e..be42594e0504 100644 --- a/build/ci/postInstall.js +++ b/build/ci/postInstall.js @@ -47,4 +47,32 @@ function fixJupyterLabDTSFiles() { console.log(colors.red(relativePath + ' file does not need updating.')); } } + +/** + * In order to get raw kernels working, we reuse the default kernel that jupyterlab ships. + * However it expects to be talking to a websocket which is serializing the messages to strings. + * Our raw kernel is not a web socket and needs to do its own serialization. To do so, we make a copy + * of the default kernel with the serialization stripped out. This is simpler than making a copy of the module + * at runtime. + */ +function createJupyterKernelWithoutSerialization() { + var relativePath = path.join('node_modules', '@jupyterlab', 'services', 'lib', 'kernel', 'default.js'); + var filePath = path.join(constants_1.ExtensionRootDir, relativePath); + if (!fs.existsSync(filePath)) { + throw new Error("Jupyter lab default kernel not found '" + filePath + "' (pvsc post install script)"); + } + var fileContents = fs.readFileSync(filePath, { encoding: 'utf8' }); + var replacedContents = fileContents.replace( + /^const serialize =.*$/gm, + 'const serialize = { serialize: (a) => a, deserialize: (a) => a };' + ); + if (replacedContents === fileContents) { + throw new Error('Jupyter lab default kernel cannot be made non serializing'); + } + var destPath = path.join(path.dirname(filePath), 'nonSerializingKernel.js'); + fs.writeFileSync(destPath, replacedContents); + console.log(colors.green(destPath + ' file generated (by Python VSC)')); +} + fixJupyterLabDTSFiles(); +createJupyterKernelWithoutSerialization(); diff --git a/build/ci/scripts/runFunctionalTests.js b/build/ci/scripts/runFunctionalTests.js new file mode 100644 index 000000000000..4171900586da --- /dev/null +++ b/build/ci/scripts/runFunctionalTests.js @@ -0,0 +1,82 @@ +// This script will run all of the functional tests for each functional test file in sequence +// This prevents mocha from running out of memory when running all of the tests +// +// This could potentially be improved to run tests in parallel (try that later) +// +// Additionally this was written in python at first but running python on an azure +// machine may pick up an invalid environment for the subprocess. Node doesn't have this problem +var path = require('path'); +var glob = require('glob'); +var child_process = require('child_process'); + +// Create a base for the output file +var originalMochaFile = process.env['MOCHA_FILE']; +var mochaFile = originalMochaFile || './test-results.xml'; +var mochaBaseFile = path.join(path.dirname(mochaFile), path.basename(mochaFile, '.xml')); +var mochaFileExt = '.xml'; + +// Wrap async code in a function so can wait till done +async function main() { + console.log('Globbing files for functional tests'); + + // Glob all of the files that we usually send to mocha as a group (see mocha.functional.opts.xml) + var files = await new Promise((resolve, reject) => { + glob('./out/test/**/*.functional.test.js', (ex, res) => { + if (ex) { + reject(ex); + } else { + resolve(res); + } + }); + }); + + // Iterate over them, running mocha on each + var returnCode = 0; + + // Go through each one at a time + try { + for (var index = 0; index < files.length; index += 1) { + // Each run with a file will expect a $MOCHA_FILE$ variable. Generate one for each + // Note: this index is used as a pattern when setting mocha file in the test_phases.yml + var subMochaFile = `${mochaBaseFile}_${index}_${path.basename(files[index])}${mochaFileExt}`; + process.env['MOCHA_FILE'] = subMochaFile; + var exitCode = await new Promise((resolve) => { + // Spawn the sub node process + var proc = child_process.fork('./node_modules/mocha/bin/_mocha', [ + files[index], + '--require=out/test/unittests.js', + '--exclude=out/**/*.jsx', + '--reporter=mocha-multi-reporters', + '--reporter-option=configFile=build/.mocha-multi-reporters.config', + '--ui=tdd', + '--recursive', + '--colors', + '--exit', + '--timeout=180000' + ]); + proc.on('exit', resolve); + }); + + // If failed keep track + if (exitCode !== 0) { + console.log(`Functional tests for ${files[index]} failed.`); + returnCode = exitCode; + } + } + } catch (ex) { + console.log(`Functional tests run failure: ${ex}.`); + returnCode = -1; + } + + // Reset the mocha file variable + if (originalMochaFile) { + process.env['MOCHA_FILE'] = originalMochaFile; + } + + // Indicate error code + console.log(`Functional test run result: ${returnCode}`); + process.exit(returnCode); +} + +// Call the main function. It will exit when promise is finished. +main(); diff --git a/build/ci/static_analysis/credscan/CredScanSuppressions.json b/build/ci/static_analysis/credscan/CredScanSuppressions.json new file mode 100644 index 000000000000..a3e8d5418561 --- /dev/null +++ b/build/ci/static_analysis/credscan/CredScanSuppressions.json @@ -0,0 +1,13 @@ +{ + "tool": "Credential Scanner", + "suppressions": [ + { + "file": "src\\test\\datascience\\serverConfigFiles\\jkey.key", + "_justification": "Key file used for testing purposes, it is not a key relating to anything real" + }, + { + "file": "src\\test\\datascience\\serverConfigFiles\\remotePassword.py", + "_justification": "The secret in this file used here for testing." + } + ] +} diff --git a/build/ci/static_analysis/policheck/exceptions.mdb b/build/ci/static_analysis/policheck/exceptions.mdb new file mode 100644 index 000000000000..d68ac945d67c Binary files /dev/null and b/build/ci/static_analysis/policheck/exceptions.mdb differ diff --git a/build/ci/templates/globals.yml b/build/ci/templates/globals.yml index 993d41b98d18..03457023e99e 100644 --- a/build/ci/templates/globals.yml +++ b/build/ci/templates/globals.yml @@ -1,6 +1,6 @@ variables: PythonVersion: '3.8' # Always use latest version. - NodeVersion: '12.4.0' # Check version of node used in VS Code. + NodeVersion: '12.8.1' # Check version of node used in VS Code. NpmVersion: '6.13.4' MOCHA_FILE: '$(Build.ArtifactStagingDirectory)/test-junit.xml' # All test files will write their JUnit xml output to this file, clobbering the last time it was written. MOCHA_REPORTER_JUNIT: true # Use the mocha-multi-reporters and send output to both console (spec) and JUnit (mocha-junit-reporter). @@ -10,3 +10,4 @@ variables: CI_BRANCH_NAME: ${Build.SourceBranchName} npm_config_cache: $(Pipeline.Workspace)/.npm vmImageMacOS: 'macOS-10.15' + TS_NODE_FILES: true # Temporarily enabled to allow using types from vscode.proposed.d.ts from ts-node (for tests). diff --git a/build/ci/templates/jobs/build_compile.yml b/build/ci/templates/jobs/build_compile.yml index 3fb399879b80..13b6915f7e3d 100644 --- a/build/ci/templates/jobs/build_compile.yml +++ b/build/ci/templates/jobs/build_compile.yml @@ -2,49 +2,49 @@ # Generic jobs template to compile and build extension jobs: -- job: Compile - pool: - vmImage: "ubuntu-16.04" - steps: - - template: ../steps/compile.yml - -- job: Build - pool: - vmImage: "ubuntu-16.04" - steps: - - template: ../steps/build.yml - -- job: Dependencies - pool: - vmImage: "ubuntu-16.04" - steps: - - template: ../steps/dependencies.yml - -- job: Hygiene - pool: - vmImage: "ubuntu-16.04" - steps: - - template: ../steps/initialization.yml - parameters: - PythonVersion: $(PythonVersion) + - job: Compile + pool: + vmImage: 'ubuntu-16.04' + steps: + - template: ../steps/compile.yml + + - job: Build + pool: + vmImage: 'ubuntu-16.04' + steps: + - template: ../steps/build.yml + + - job: Dependencies + pool: + vmImage: 'ubuntu-16.04' + steps: + - template: ../steps/dependencies.yml + + - job: Hygiene + pool: + vmImage: 'ubuntu-16.04' + steps: + - template: ../steps/initialization.yml + parameters: + PythonVersion: $(PythonVersion) + workingDirectory: $(Build.SourcesDirectory) + compile: 'false' + installVSCEorNPX: 'false' + + - bash: npx tslint --project tsconfig.json + displayName: 'Lint' workingDirectory: $(Build.SourcesDirectory) - compile: 'false' - installVSCEorNPX: 'false' - - - bash: npx tslint --project tsconfig.json - displayName: "Lint" - workingDirectory: $(Build.SourcesDirectory) - - - bash: npx prettier "src/**/*.ts*" --check - displayName: "Code Format (TypeScript)" - workingDirectory: $(Build.SourcesDirectory) - - - bash: npx prettier "build/**/*.js" --check - displayName: "Code Format (JavaScript)" - workingDirectory: $(Build.SourcesDirectory) - - - bash: | - python -m pip install -U black - python -m black . --check - displayName: "Code Format (Python)" - workingDirectory: $(Build.SourcesDirectory)/pythonFiles + + - bash: npx prettier "src/**/*.ts*" --check + displayName: 'Code Format (TypeScript)' + workingDirectory: $(Build.SourcesDirectory) + + - bash: npx prettier "build/**/*.js" --check + displayName: 'Code Format (JavaScript)' + workingDirectory: $(Build.SourcesDirectory) + + - bash: | + python -m pip install -U black + python -m black . --check + displayName: 'Code Format (Python)' + workingDirectory: $(Build.SourcesDirectory)/pythonFiles diff --git a/build/ci/templates/jobs/coverage.yml b/build/ci/templates/jobs/coverage.yml index 94e82dc6ea25..50fb4af733e0 100644 --- a/build/ci/templates/jobs/coverage.yml +++ b/build/ci/templates/jobs/coverage.yml @@ -1,8 +1,8 @@ jobs: -- job: Coverage - pool: - vmImage: "ubuntu-16.04" - variables: - TestsToRun: 'testUnitTests' - steps: - - template: ../steps/merge_upload_coverage.yml + - job: Coverage + pool: + vmImage: 'ubuntu-16.04' + variables: + TestsToRun: 'testUnitTests' + steps: + - template: ../steps/merge_upload_coverage.yml diff --git a/build/ci/templates/steps/build.yml b/build/ci/templates/steps/build.yml index d419e72d9f6e..decf72c27dd3 100644 --- a/build/ci/templates/steps/build.yml +++ b/build/ci/templates/steps/build.yml @@ -20,8 +20,6 @@ steps: - bash: | python -m pip --disable-pip-version-check install -t ./pythonFiles/lib/python --no-cache-dir --implementation py --no-deps --upgrade -r requirements.txt - python -m pip --disable-pip-version-check install -t ./pythonFiles/lib/python/old_ptvsd --no-cache-dir --implementation py --no-deps --upgrade 'ptvsd==4.3.2' - python -m pip --disable-pip-version-check install -t ./pythonFiles/lib/python/debugpy/no_wheels --no-cache-dir --implementation py --no-deps --upgrade --pre debugpy failOnStderr: true displayName: 'pip install requirements' @@ -36,8 +34,8 @@ steps: - bash: | npm run updateBuildNumber -- --buildNumber $BUILD_BUILDID - displayName: 'Update dev Version of Extension' - condition: and(succeeded(), eq(variables['Build.SourceBranchName'], 'master')) + displayName: 'Update dev Version of Extension (main)' + condition: and(succeeded(), eq(variables['Build.SourceBranchName'], 'main')) - bash: | npm run updateBuildNumber -- --buildNumber $BUILD_BUILDID --updateChangelog diff --git a/build/ci/templates/steps/compile.yml b/build/ci/templates/steps/compile.yml index 86760f160c55..e35db11613a8 100644 --- a/build/ci/templates/steps/compile.yml +++ b/build/ci/templates/steps/compile.yml @@ -1,14 +1,14 @@ # Compiles the source steps: - - template: initialization.yml - parameters: - PythonVersion: $(PythonVersion) - workingDirectory: $(Build.SourcesDirectory) - compile: 'false' - installVSCEorNPX: 'false' + - template: initialization.yml + parameters: + PythonVersion: $(PythonVersion) + workingDirectory: $(Build.SourcesDirectory) + compile: 'false' + installVSCEorNPX: 'false' - - task: Gulp@0 - displayName: "Compile and check for errors" - inputs: - targets: "prePublishNonBundle" + - task: Gulp@0 + displayName: 'Compile and check for errors' + inputs: + targets: 'prePublishNonBundle' diff --git a/build/ci/templates/steps/dependencies.yml b/build/ci/templates/steps/dependencies.yml index d950f7e866f2..5850b0def046 100644 --- a/build/ci/templates/steps/dependencies.yml +++ b/build/ci/templates/steps/dependencies.yml @@ -6,16 +6,15 @@ # steps: - - template: initialization.yml - parameters: - PythonVersion: $(PythonVersion) - workingDirectory: $(Build.SourcesDirectory) - compile: 'false' + - template: initialization.yml + parameters: + PythonVersion: $(PythonVersion) + workingDirectory: $(Build.SourcesDirectory) + compile: 'false' - - bash: npm run clean - displayName: "Clean" - - # This is a slow process, hence do this as a separate step - - bash: npm run checkDependencies - displayName: "Check Dependencies" + - bash: npm run clean + displayName: 'Clean' + # This is a slow process, hence do this as a separate step + - bash: npm run checkDependencies + displayName: 'Check Dependencies' diff --git a/build/ci/templates/steps/generate_upload_coverage.yml b/build/ci/templates/steps/generate_upload_coverage.yml index 27cecac25f30..608a2fff8bdc 100644 --- a/build/ci/templates/steps/generate_upload_coverage.yml +++ b/build/ci/templates/steps/generate_upload_coverage.yml @@ -1,24 +1,23 @@ steps: - # Generate the coverage reports. - - bash: npm run test:cover:report - displayName: 'run test:cover:report' - condition: contains(variables['TestsToRun'], 'testUnitTests') - failOnStderr: false + # Generate the coverage reports. + - bash: npm run test:cover:report + displayName: 'run test:cover:report' + condition: contains(variables['TestsToRun'], 'testUnitTests') + failOnStderr: false + # Publish Code Coverage Results + - task: PublishCodeCoverageResults@1 + displayName: 'Publish test:unittests coverage results' + condition: contains(variables['TestsToRun'], 'testUnitTests') + inputs: + codeCoverageTool: 'cobertura' + summaryFileLocation: '$(System.DefaultWorkingDirectory)/coverage/cobertura-coverage.xml' + reportDirectory: '$(System.DefaultWorkingDirectory)/coverage' - # Publish Code Coverage Results - - task: PublishCodeCoverageResults@1 - displayName: 'Publish test:unittests coverage results' - condition: contains(variables['TestsToRun'], 'testUnitTests') - inputs: - codeCoverageTool: 'cobertura' - summaryFileLocation: "$(System.DefaultWorkingDirectory)/coverage/cobertura-coverage.xml" - reportDirectory: "$(System.DefaultWorkingDirectory)/coverage" - - - bash: cat ./coverage/cobertura-coverage.xml | ./node_modules/.bin/codecov --pipe - displayName: 'Upload coverage to codecov' - continueOnError: true - condition: contains(variables['TestsToRun'], 'testUnitTests') - failOnStderr: false - env: - CODECOV_TOKEN: $(CODECOV_TOKEN) + - bash: cat ./coverage/cobertura-coverage.xml | ./node_modules/.bin/codecov --pipe + displayName: 'Upload coverage to codecov' + continueOnError: true + condition: contains(variables['TestsToRun'], 'testUnitTests') + failOnStderr: false + env: + CODECOV_TOKEN: $(CODECOV_TOKEN) diff --git a/build/ci/templates/steps/initialization.yml b/build/ci/templates/steps/initialization.yml index 2a99ab22433d..ed6c6b0c4fb4 100644 --- a/build/ci/templates/steps/initialization.yml +++ b/build/ci/templates/steps/initialization.yml @@ -18,129 +18,118 @@ parameters: compile: 'true' sqlite: 'false' installVSCEorNPX: 'true' - enableGather: 'false' steps: - - bash: | - printenv - displayName: "Show all env vars" - condition: eq(variables['system.debug'], 'true') + - bash: | + printenv + displayName: 'Show all env vars' + condition: eq(variables['system.debug'], 'true') - - task: NodeTool@0 - displayName: "Use Node $(NodeVersion)" - inputs: - versionSpec: $(NodeVersion) + - task: NodeTool@0 + displayName: 'Use Node $(NodeVersion)' + inputs: + versionSpec: $(NodeVersion) - - task: UsePythonVersion@0 - displayName: "Use Python ${{ parameters.PythonVersion }}" - condition: and(succeeded(), not(eq('${{ parameters.PythonVersion }}', ''))) - inputs: - versionSpec: ${{ parameters.PythonVersion }} + - task: UsePythonVersion@0 + displayName: 'Use Python ${{ parameters.PythonVersion }}' + condition: and(succeeded(), not(eq('${{ parameters.PythonVersion }}', ''))) + inputs: + versionSpec: ${{ parameters.PythonVersion }} - # Install the a version of python that works with sqlite3 until this bug is addressed - # https://mseng.visualstudio.com/AzureDevOps/_workitems/edit/1535830 - # - # This task will only run if variable `NeedsPythonFunctionalReqs` is true. - - bash: | - sudo apt-get update - sudo apt-get install libsqlite3-dev - version=$(python -V 2>&1 | grep -Po '(?<=Python )(.+)') - wget https://www.python.org/ftp/python/$version/Python-$version.tar.xz - tar xvf Python-$version.tar.xz - cd Python-$version - ./configure --enable-loadable-sqlite-extensions --with-ensurepip=install --prefix=$HOME/py-$version - make - sudo make install - sudo chmod -R 777 $HOME/py-$version - export PATH=$HOME/py-$version/bin:$PATH - sudo ln -s $HOME/py-$version/bin/python3 $HOME/py-$version/bin/python - echo '##vso[task.prependpath]'$HOME/py-$version/bin - displayName: 'Setup python to run with sqlite on 3.*' - condition: and(succeeded(), eq('${{ parameters.sqlite }}', 'true'), not(eq('${{ parameters.PythonVersion }}', '')), not(eq('${{ parameters.PythonVersion }}', '2.7')), eq(variables['Agent.Os'], 'Linux')) + # Install the a version of python that works with sqlite3 until this bug is addressed + # https://mseng.visualstudio.com/AzureDevOps/_workitems/edit/1535830 + # + # This task will only run if variable `NeedsPythonFunctionalReqs` is true. + - bash: | + sudo apt-get update + sudo apt-get install libsqlite3-dev + version=$(python -V 2>&1 | grep -Po '(?<=Python )(.+)') + wget https://www.python.org/ftp/python/$version/Python-$version.tar.xz + tar xvf Python-$version.tar.xz + cd Python-$version + ./configure --enable-loadable-sqlite-extensions --with-ensurepip=install --prefix=$HOME/py-$version + make + sudo make install + sudo chmod -R 777 $HOME/py-$version + export PATH=$HOME/py-$version/bin:$PATH + sudo ln -s $HOME/py-$version/bin/python3 $HOME/py-$version/bin/python + echo '##vso[task.prependpath]'$HOME/py-$version/bin + displayName: 'Setup python to run with sqlite on 3.*' + condition: and(succeeded(), eq('${{ parameters.sqlite }}', 'true'), not(eq('${{ parameters.PythonVersion }}', '')), not(eq('${{ parameters.PythonVersion }}', '2.7')), eq(variables['Agent.Os'], 'Linux')) - - task: Npm@1 - displayName: "Use NPM $(NpmVersion)" - inputs: - command: custom - verbose: true - customCommand: "install -g npm@$(NpmVersion)" + - task: Npm@1 + displayName: 'Use NPM $(NpmVersion)' + inputs: + command: custom + verbose: true + customCommand: 'install -g npm@$(NpmVersion)' - # In the past installs of npm, node-pre-gyp 0.12.0 was installed. - # However in the latest versions, 0.11.0 is getting isntalled. - # - bash: | - # npm uninstall canvas - # npm i -g node-pre-gyp@0.12.0 - # npm i -D node-pre-gyp@0.12.0 - # npm install -D canvas --build-from-source - # displayName: 'Uninstall canvas and install build from source (only for Linux)' - # condition: and(succeeded(), eq(variables['Agent.Os'], 'Linux')) + # In the past installs of npm, node-pre-gyp 0.12.0 was installed. + # However in the latest versions, 0.11.0 is getting isntalled. + # - bash: | + # npm uninstall canvas + # npm i -g node-pre-gyp@0.12.0 + # npm i -D node-pre-gyp@0.12.0 + # npm install -D canvas --build-from-source + # displayName: 'Uninstall canvas and install build from source (only for Linux)' + # condition: and(succeeded(), eq(variables['Agent.Os'], 'Linux')) - # See the help here on how to cache npm - # https://docs.microsoft.com/en-us/azure/devops/pipelines/caching/?view=azure-devops#nodejsnpm - - task: CacheBeta@0 - inputs: - key: npm | $(Agent.OS) | package-lock.json - path: $(npm_config_cache) - restoreKeys: | - npm | $(Agent.OS) - displayName: Cache npm + # See the help here on how to cache npm + # https://docs.microsoft.com/en-us/azure/devops/pipelines/caching/?view=azure-devops#nodejsnpm + - task: CacheBeta@0 + inputs: + key: npm | $(Agent.OS) | package-lock.json + path: $(npm_config_cache) + restoreKeys: | + npm | $(Agent.OS) + displayName: Cache npm - - task: Npm@1 - displayName: "npm ci" - inputs: - workingDir: ${{ parameters.workingDirectory }} - command: custom - verbose: true - customCommand: ci + - task: Npm@1 + displayName: 'npm ci' + inputs: + workingDir: ${{ parameters.workingDirectory }} + command: custom + verbose: true + customCommand: ci - - task: Npm@1 - displayName: "Install optional python-program-analysis" - condition: and(succeeded(), eq('${{ parameters.enableGather }}', 'true')) - inputs: - workingDir: ${{ parameters.workingDirectory }} - command: custom - verbose: true - customCommand: "install @msrvida/python-program-analysis" + # On Mac, the command `node` doesn't always point to the current node version. + # Debugger tests use the variable process.env.NODE_PATH + - script: | + export NODE_PATH=`which node` + echo $NODE_PATH + echo '##vso[task.setvariable variable=NODE_PATH]'$NODE_PATH + displayName: 'Setup NODE_PATH for extension (Debugger Tests)' + condition: and(succeeded(), eq(variables['agent.os'], 'Darwin')) - # On Mac, the command `node` doesn't always point to the current node version. - # Debugger tests use the variable process.env.NODE_PATH - - script: | - export NODE_PATH=`which node` - echo $NODE_PATH - echo '##vso[task.setvariable variable=NODE_PATH]'$NODE_PATH - displayName: "Setup NODE_PATH for extension (Debugger Tests)" - condition: and(succeeded(), eq(variables['agent.os'], 'Darwin')) + # Install vsce + - bash: | + npm install -g vsce + displayName: 'Install vsce' + condition: and(succeeded(), eq('${{ parameters.installVSCEorNPX }}', 'true')) - # Install vsce - - bash: | - npm install -g vsce - displayName: "Install vsce" - condition: and(succeeded(), eq('${{ parameters.installVSCEorNPX }}', 'true')) + - bash: npx tsc -p ./ + displayName: 'compile (npx tsc -p ./)' + workingDirectory: ${{ parameters.workingDirectory }} + condition: and(succeeded(), eq('${{ parameters.compile }}', 'true')) - - bash: npx tsc -p ./ - displayName: "compile (npx tsc -p ./)" - workingDirectory: ${{ parameters.workingDirectory }} - condition: and(succeeded(), eq('${{ parameters.compile }}', 'true')) + # https://code.visualstudio.com/api/working-with-extensions/continuous-integration#azure-pipelines + - bash: | + set -e + /usr/bin/Xvfb :10 -ac >> /tmp/Xvfb.out 2>&1 & + disown -ar + displayName: 'Start Display Server (xvfb) to launch VS Code)' + condition: and(succeeded(), eq(variables['Agent.Os'], 'Linux')) - # https://code.visualstudio.com/api/working-with-extensions/continuous-integration#azure-pipelines - - bash: | - set -e - /usr/bin/Xvfb :10 -ac >> /tmp/Xvfb.out 2>&1 & - disown -ar - displayName: 'Start Display Server (xvfb) to launch VS Code)' - condition: and(succeeded(), eq(variables['Agent.Os'], 'Linux')) - - - bash: python -m pip install -U pip - displayName: 'Install pip' - - # # Show all versions installed/available on PATH if in verbose mode. - # # Example command line (windows pwsh): - # # > Write-Host Node ver: $(& node -v) NPM Ver: $(& npm -v) Python ver: $(& python --version)" - # - bash: | - # echo AVAILABLE DEPENDENCY VERSIONS - # echo Node Version = `node -v` - # echo NPM Version = `npm -v` - # echo Python Version = `python --version` - # echo Gulp Version = `gulp --version` - # condition: and(succeeded(), eq(variables['system.debug'], 'true')) - # displayName: Show Dependency Versions + - bash: python -m pip install -U pip + displayName: 'Install pip' + # # Show all versions installed/available on PATH if in verbose mode. + # # Example command line (windows pwsh): + # # > Write-Host Node ver: $(& node -v) NPM Ver: $(& npm -v) Python ver: $(& python --version)" + # - bash: | + # echo AVAILABLE DEPENDENCY VERSIONS + # echo Node Version = `node -v` + # echo NPM Version = `npm -v` + # echo Python Version = `python --version` + # echo Gulp Version = `gulp --version` + # condition: and(succeeded(), eq(variables['system.debug'], 'true')) + # displayName: Show Dependency Versions diff --git a/build/ci/templates/steps/merge_upload_coverage.yml b/build/ci/templates/steps/merge_upload_coverage.yml index 82aced006580..51ef76aac61c 100644 --- a/build/ci/templates/steps/merge_upload_coverage.yml +++ b/build/ci/templates/steps/merge_upload_coverage.yml @@ -1,29 +1,29 @@ steps: - - template: initialization.yml - parameters: - workingDirectory: $(Build.SourcesDirectory) - compile: 'false' + - template: initialization.yml + parameters: + workingDirectory: $(Build.SourcesDirectory) + compile: 'false' - # Download previously generated coverage artifacts - - task: DownloadPipelineArtifact@2 - inputs: - patterns: '**/.nyc_output/**' - displayName: "Download .nyc_output coverage artifacts" - condition: always() + # Download previously generated coverage artifacts + - task: DownloadPipelineArtifact@2 + inputs: + patterns: '**/.nyc_output/**' + displayName: 'Download .nyc_output coverage artifacts' + condition: always() - # Now that we have downloaded artifacts from `coverage-output-`, copy them - # into the root directory (they'll go under `.nyc_output/...`) - # These are the coverage output files that can be merged and then we can generate a report from them. - # This step results in downloading all individual `./nyc_output` results in coverage - # from all different test outputs. - # Running the process of generating reports, will result in generation of - # reports from all coverage data, i.e. we're basically combining all to generate a single merged report. - - bash: | - cp -r $(Pipeline.Workspace)/coverage-output-*/.nyc_output/ ./ - cd .nyc_output/ - ls -dlU .*/ */ - ls - displayName: "Copy ./.nyc_output" - condition: always() - - - template: generate_upload_coverage.yml + # Now that we have downloaded artifacts from `coverage-output-`, copy them + # into the root directory (they'll go under `.nyc_output/...`) + # These are the coverage output files that can be merged and then we can generate a report from them. + # This step results in downloading all individual `./nyc_output` results in coverage + # from all different test outputs. + # Running the process of generating reports, will result in generation of + # reports from all coverage data, i.e. we're basically combining all to generate a single merged report. + - bash: | + cp -r $(Pipeline.Workspace)/coverage-output-*/.nyc_output/ ./ + cd .nyc_output/ + ls -dlU .*/ */ + ls + displayName: 'Copy ./.nyc_output' + condition: always() + + - template: generate_upload_coverage.yml diff --git a/build/ci/templates/test_phases.yml b/build/ci/templates/test_phases.yml index 558aeafc0c95..f486b07616b2 100644 --- a/build/ci/templates/test_phases.yml +++ b/build/ci/templates/test_phases.yml @@ -32,7 +32,14 @@ steps: PythonVersion: $(PythonVersion) workingDirectory: $(Build.SourcesDirectory) compile: 'false' - sqlite: 'true' + sqlite: $(NeedsIPythonReqs) + + # When running unit tests, we need to just compile extension code (not webviews & the like). + - task: Gulp@0 + displayName: 'gulp compile' + inputs: + targets: 'compile' + condition: and(succeeded(), contains(variables['TestsToRun'], 'testUnitTests')) # Run the `prePublishNonBundle` gulp task to build the binaries we will be testing. # This produces the .js files required into the out/ folder. @@ -42,7 +49,7 @@ steps: displayName: 'gulp prePublishNonBundle' inputs: targets: 'prePublishNonBundle' - condition: and(succeeded(), not(contains(variables['TestsToRun'], 'testSmoke'))) + condition: and(succeeded(), not(contains(variables['TestsToRun'], 'testSmoke')), not(contains(variables['TestsToRun'], 'testUnitTests'))) # Run the typescript unit tests. # @@ -82,7 +89,7 @@ steps: - template: steps/generate_upload_coverage.yml # Install the requirements for the Python or the system tests. This includes the supporting libs that - # we ship in our extension such as PTVSD, DEBUGPY and Jedi. + # we ship in our extension such as DEBUGPY and Jedi. # # This task will only run if variable `NeedsPythonTestReqs` is true. # @@ -93,11 +100,10 @@ steps: - bash: | python -m pip install --upgrade -r build/test-requirements.txt python -m pip --disable-pip-version-check install -t ./pythonFiles/lib/python --no-cache-dir --implementation py --no-deps --upgrade -r requirements.txt - python -m pip --disable-pip-version-check install -t ./pythonFiles/lib/python/old_ptvsd --no-cache-dir --implementation py --no-deps --upgrade 'ptvsd==4.3.2' - python -m pip --disable-pip-version-check install -t ./pythonFiles/lib/python/debugpy/no_wheels --no-cache-dir --implementation py --no-deps --upgrade --pre debugpy + python -m pip --disable-pip-version-check install -t ./pythonFiles/lib/python --no-cache-dir --implementation py --no-deps --upgrade --pre debugpy displayName: 'pip install system test requirements' condition: and(succeeded(), eq(variables['NeedsPythonTestReqs'], 'true')) - + # Install the requirements for functional tests. # # This task will only run if variable `NeedsPythonFunctionalReqs` is true. @@ -111,7 +117,7 @@ steps: python -m pip install --upgrade -r ./build/functional-test-requirements.txt python -c "import sys;print(sys.executable)" displayName: 'pip install functional requirements' - condition: and(succeeded(), eq(variables['NeedsPythonFunctionalReqs'], 'true')) + condition: and(succeeded(), eq(variables['NeedsPythonFunctionalReqs'], 'true')) # Add CONDA to the path so anaconda works # @@ -130,12 +136,10 @@ steps: condition: and(succeeded(), eq(variables['NeedsPythonFunctionalReqs'], 'true'), eq(variables['Agent.Os'], 'Windows_NT')) # On MAC let CONDA update install paths - # - # This task will only run if variable `NeedsPythonFunctionalReqs` is true. - bash: | sudo chown -R $USER $CONDA displayName: 'Give CONDA permission to its own files' - condition: and(succeeded(), eq(variables['NeedsPythonFunctionalReqs'], 'true'), eq(variables['Agent.Os'], 'Darwin')) + condition: and(succeeded(), eq(variables['Agent.Os'], 'Darwin')) # Create the two anaconda environments # @@ -163,7 +167,7 @@ steps: # Run the pip installs in the 3 environments (windows) - script: | call activate base - conda install --quiet -y --file build/ci/conda_base.yml + call conda install --quiet -y --file build/ci/conda_base.yml python -m pip install --upgrade -r build/conda-functional-requirements.txt call activate conda_env_1 python -m pip install --upgrade -r build/conda-functional-requirements.txt @@ -263,7 +267,6 @@ steps: # # Example command line (windows pwsh): # > python -m pip install -U -r news/requirements.txt - # > python -m pytest tpn --color=yes --junit-xml=python-news-junit.xml - script: | python -m pip install --upgrade -r news/requirements.txt python -m pytest news --color=yes --junit-xml=$COMMON_TESTRESULTSDIRECTORY/python-news-junit.xml @@ -281,30 +284,6 @@ steps: buildPlatform: '$(Agent.Os)-Py$(pythonVersion)' buildConfiguration: 'UnitTests' - # Run the TPN tool tests. - # - # This task only runs if the string 'pythonUnitTests' exists in variable `TestsToRun` - # - # Example command line (windows pwsh): - # > python -m pip install -U -r tpn/requirements.txt - # > python -m pytest tpn --color=yes --junit-xml=python-tpn-junit.xml - - script: | - python -m pip install --upgrade -r tpn/requirements.txt - python -m pytest tpn --color=yes --junit-xml=$COMMON_TESTRESULTSDIRECTORY/python-tpn-junit.xml - displayName: 'Run Python tests for TPN tool' - condition: and(succeeded(), contains(variables['TestsToRun'], 'pythonInternalTools')) - - # Upload the test results to Azure DevOps to facilitate test reporting in their UX. - - task: PublishTestResults@2 - displayName: 'Publish Python tests for TPN tool results' - condition: contains(variables['TestsToRun'], 'pythonInternalTools') - inputs: - testResultsFiles: 'python-tpn-junit.xml' - searchFolder: '$(Common.TestResultsDirectory)' - testRunTitle: 'tpn-$(Agent.Os)-Py$(pythonVersion)' - buildPlatform: '$(Agent.Os)-Py$(pythonVersion)' - buildConfiguration: 'UnitTests' - # Venv tests: Prepare the various virtual environments and record their details into the # JSON file that venvTests require to run. # @@ -407,16 +386,32 @@ steps: python -c "from __future__ import print_function;import sys;print('##vso[task.setvariable variable=CI_PYTHON_PATH;]{}'.format(sys.executable))" displayName: 'Set CI_PYTHON_PATH' - # Run the functional tests. + # Run the functional tests with each file split. + # + # This task only runs if the string 'testFunctional' exists in variable `TestsToRun`. + # + # Note it is crucial this uses npm to start the runFunctionalTests.js. Otherwise the + # environment will be messed up. + # + # Example command line (windows pwsh): + # > node build/ci/scripts/runFunctionalTests.js + - script: | + npm run test:functional:split + displayName: 'Run functional split' + condition: and(succeeded(), contains(variables['TestsToRun'], 'testFunctional'), eq(variables['SplitFunctionalTests'], 'true')) + env: + DISPLAY: :10 + + # Run the functional tests when not splitting # # This task only runs if the string 'testFunctional' exists in variable `TestsToRun`. # # Example command line (windows pwsh): - # > npm run test:functional + # > node build/ci/scripts/runFunctionalTests.js - script: | npm run test:functional displayName: 'Run functional tests' - condition: and(succeeded(), contains(variables['TestsToRun'], 'testFunctional')) + condition: and(succeeded(), contains(variables['TestsToRun'], 'testFunctional'), not(eq(variables['SplitFunctionalTests'], 'true'))) env: DISPLAY: :10 @@ -425,7 +420,7 @@ steps: displayName: 'Publish functional tests results' condition: contains(variables['TestsToRun'], 'testFunctional') inputs: - testResultsFiles: '$(MOCHA_FILE)' + testResultsFiles: '$(Build.ArtifactStagingDirectory)/test-junit*.xml' testRunTitle: 'functional-$(Agent.Os)-Py$(pythonVersion)' buildPlatform: '$(Agent.Os)-Py$(pythonVersion)' buildConfiguration: 'FunctionalTests' @@ -443,6 +438,18 @@ steps: env: DISPLAY: :10 + # Run the single workspace tests in VS Code Insiders. + - script: | + npm run testDataScience + continueOnError: true + displayName: 'Run DataScience Tests in VSCode Insiders' + condition: and(succeeded(), contains(variables['TestsToRun'], 'testDataScience')) + env: + DISPLAY: :10 + VSC_PYTHON_CI_TEST_VSC_CHANNEL: 'insiders' + VSC_PYTHON_LOAD_EXPERIMENTS_FROM_FILE: 'true' + TEST_FILES_SUFFIX: 'ds.test' + # Upload the test results to Azure DevOps to facilitate test reporting in their UX. - task: PublishTestResults@2 displayName: 'Publish single workspace tests results' @@ -526,14 +533,17 @@ steps: npm install -g vsce npm run clean npx tsc -p ./ + mkdir -p ./tmp/client/logging + cp -r ./out/client/logging ./tmp/client npx gulp clean:cleanExceptTests - mkdir -p ./tmp cp -r ./out/test ./tmp/test npm run updateBuildNumber -- --buildNumber $BUILD_BUILDID npm run package npx gulp clean:cleanExceptTests + mkdir -p ./out/client/logging + cp -r ./tmp/client/logging ./out/client cp -r ./tmp/test ./out/test - node ./out/test/smokeTest.js + node --no-force-async-hooks-checks ./out/test/smokeTest.js displayName: 'Run Smoke Tests' condition: and(succeeded(), contains(variables['TestsToRun'], 'testSmoke')) env: diff --git a/build/ci/vscode-python-ci-manual.yaml b/build/ci/vscode-python-ci-manual.yaml index 21a67ef23bb9..bad74182082c 100644 --- a/build/ci/vscode-python-ci-manual.yaml +++ b/build/ci/vscode-python-ci-manual.yaml @@ -7,290 +7,290 @@ pr: none # Variables that are available for the entire pipeline. variables: -- template: templates/globals.yml + - template: templates/globals.yml stages: -- stage: Build - jobs: - - template: templates/jobs/build_compile.yml + - stage: Build + jobs: + - template: templates/jobs/build_compile.yml -# Each item in each matrix has a number of possible values it may -# define. They are detailed in templates/test_phases.yml. The only -# required value is "TestsToRun". + # Each item in each matrix has a number of possible values it may + # define. They are detailed in templates/test_phases.yml. The only + # required value is "TestsToRun". -- stage: Linux - dependsOn: [] - jobs: - - job: 'Py3x' + - stage: Linux dependsOn: [] - timeoutInMinutes: 120 - strategy: - matrix: - 'Unit': - # with mocks - # focused on small units (i.e. functions) - # and tightly controlled dependencies - TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools, pythonIPythonTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - 'Functional': - # no mocks, no vscode - # focused on integration - TestsToRun: 'testfunctional' - NeedsPythonTestReqs: true - NeedsPythonFunctionalReqs: true - 'Single Workspace': - # no mocks, with vscode - # focused on integration - TestsToRun: 'testSingleWorkspace' - NeedsPythonTestReqs: true - 'Multi Workspace': - # no mocks, with vscode - # focused on integration - TestsToRun: 'testMultiWorkspace' - NeedsPythonTestReqs: true - 'Venv': - TestsToRun: 'venvTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - # This is for the venvTests to use, not needed if you don't run venv tests... - PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' - 'Debugger': - TestsToRun: 'testDebugger' - NeedsPythonTestReqs: true - 'Smoke': - TestsToRun: 'testSmoke' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - #maxParallel: 3 - pool: - vmImage: 'ubuntu-16.04' - steps: - - template: templates/test_phases.yml + jobs: + - job: 'Py3x' + dependsOn: [] + timeoutInMinutes: 120 + strategy: + matrix: + 'Unit': + # with mocks + # focused on small units (i.e. functions) + # and tightly controlled dependencies + TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools, pythonIPythonTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + 'Functional': + # no mocks, no vscode + # focused on integration + TestsToRun: 'testfunctional' + NeedsPythonTestReqs: true + NeedsPythonFunctionalReqs: true + 'Single Workspace': + # no mocks, with vscode + # focused on integration + TestsToRun: 'testSingleWorkspace' + NeedsPythonTestReqs: true + 'Multi Workspace': + # no mocks, with vscode + # focused on integration + TestsToRun: 'testMultiWorkspace' + NeedsPythonTestReqs: true + 'Venv': + TestsToRun: 'venvTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + # This is for the venvTests to use, not needed if you don't run venv tests... + PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' + 'Debugger': + TestsToRun: 'testDebugger' + NeedsPythonTestReqs: true + 'Smoke': + TestsToRun: 'testSmoke' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + #maxParallel: 3 + pool: + vmImage: 'ubuntu-16.04' + steps: + - template: templates/test_phases.yml - # This is the oldest Python 3 version we support. - - job: 'Py36' - dependsOn: [] - timeoutInMinutes: 120 - strategy: - matrix: - 'Unit': - PythonVersion: '3.6' - # Note: "pythonInternalTools" tests are 3.7+. - TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - 'Functional': - PythonVersion: '3.6' - TestsToRun: 'testfunctional' - NeedsPythonTestReqs: true - NeedsPythonFunctionalReqs: true - 'Single Workspace': - PythonVersion: '3.6' - TestsToRun: 'testSingleWorkspace' - NeedsPythonTestReqs: true - #maxParallel: 3 - pool: - vmImage: 'ubuntu-16.04' - steps: - - template: templates/test_phases.yml + # This is the oldest Python 3 version we support. + - job: 'Py36' + dependsOn: [] + timeoutInMinutes: 120 + strategy: + matrix: + 'Unit': + PythonVersion: '3.6' + # Note: "pythonInternalTools" tests are 3.7+. + TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + 'Functional': + PythonVersion: '3.6' + TestsToRun: 'testfunctional' + NeedsPythonTestReqs: true + NeedsPythonFunctionalReqs: true + 'Single Workspace': + PythonVersion: '3.6' + TestsToRun: 'testSingleWorkspace' + NeedsPythonTestReqs: true + #maxParallel: 3 + pool: + vmImage: 'ubuntu-16.04' + steps: + - template: templates/test_phases.yml - # This is the oldest Python 3 version we support. - - job: 'Py35' - dependsOn: [] - timeoutInMinutes: 120 - strategy: - matrix: - 'Unit': - PythonVersion: '3.5' - # Note: "pythonInternalTools" tests are 3.7+. - TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - 'Functional': - PythonVersion: '3.5' - TestsToRun: 'testfunctional' - NeedsPythonTestReqs: true - NeedsPythonFunctionalReqs: true - 'Single Workspace': - PythonVersion: '3.5' - TestsToRun: 'testSingleWorkspace' - NeedsPythonTestReqs: true - 'Venv': - PythonVersion: '3.5' - TestsToRun: 'venvTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' - 'Debugger': - PythonVersion: '3.5' - TestsToRun: 'testDebugger' - NeedsPythonTestReqs: true - #maxParallel: 3 - pool: - vmImage: 'ubuntu-16.04' - steps: - - template: templates/test_phases.yml + # This is the oldest Python 3 version we support. + - job: 'Py35' + dependsOn: [] + timeoutInMinutes: 120 + strategy: + matrix: + 'Unit': + PythonVersion: '3.5' + # Note: "pythonInternalTools" tests are 3.7+. + TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + 'Functional': + PythonVersion: '3.5' + TestsToRun: 'testfunctional' + NeedsPythonTestReqs: true + NeedsPythonFunctionalReqs: true + 'Single Workspace': + PythonVersion: '3.5' + TestsToRun: 'testSingleWorkspace' + NeedsPythonTestReqs: true + 'Venv': + PythonVersion: '3.5' + TestsToRun: 'venvTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' + 'Debugger': + PythonVersion: '3.5' + TestsToRun: 'testDebugger' + NeedsPythonTestReqs: true + #maxParallel: 3 + pool: + vmImage: 'ubuntu-16.04' + steps: + - template: templates/test_phases.yml -- stage: Mac - dependsOn: [] - jobs: - - job: 'Py3x' + - stage: Mac dependsOn: [] - timeoutInMinutes: 120 - strategy: - matrix: - 'Unit': - TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools, pythonIPythonTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - 'Functional': - TestsToRun: 'testfunctional' - NeedsPythonTestReqs: true - NeedsPythonFunctionalReqs: true - 'Single Workspace': - TestsToRun: 'testSingleWorkspace' - NeedsPythonTestReqs: true - 'Multi Workspace': - TestsToRun: 'testMultiWorkspace' - NeedsPythonTestReqs: true - 'Venv': - TestsToRun: 'venvTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' - 'Debugger': - TestsToRun: 'testDebugger' - NeedsPythonTestReqs: true - 'Smoke': - TestsToRun: 'testSmoke' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - #maxParallel: 3 - pool: - vmImage: '$(vmImageMacOS)' - steps: - - template: templates/test_phases.yml + jobs: + - job: 'Py3x' + dependsOn: [] + timeoutInMinutes: 120 + strategy: + matrix: + 'Unit': + TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools, pythonIPythonTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + 'Functional': + TestsToRun: 'testfunctional' + NeedsPythonTestReqs: true + NeedsPythonFunctionalReqs: true + 'Single Workspace': + TestsToRun: 'testSingleWorkspace' + NeedsPythonTestReqs: true + 'Multi Workspace': + TestsToRun: 'testMultiWorkspace' + NeedsPythonTestReqs: true + 'Venv': + TestsToRun: 'venvTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' + 'Debugger': + TestsToRun: 'testDebugger' + NeedsPythonTestReqs: true + 'Smoke': + TestsToRun: 'testSmoke' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + #maxParallel: 3 + pool: + vmImage: '$(vmImageMacOS)' + steps: + - template: templates/test_phases.yml - # This is the oldest Python 3 version we support. - - job: 'Py35' - dependsOn: [] - timeoutInMinutes: 120 - strategy: - matrix: - 'Unit': - PythonVersion: '3.5' - # Note: "pythonInternalTools" tests are 3.7+. - TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - 'Functional': - PythonVersion: '3.5' - TestsToRun: 'testfunctional' - NeedsPythonTestReqs: true - NeedsPythonFunctionalReqs: true - 'Single Workspace': - PythonVersion: '3.5' - TestsToRun: 'testSingleWorkspace' - NeedsPythonTestReqs: true - 'Venv': - PythonVersion: '3.5' - TestsToRun: 'venvTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' - 'Debugger': - PythonVersion: '3.5' - TestsToRun: 'testDebugger' - NeedsPythonTestReqs: true - #maxParallel: 3 - pool: - vmImage: '$(vmImageMacOS)' - steps: - - template: templates/test_phases.yml + # This is the oldest Python 3 version we support. + - job: 'Py35' + dependsOn: [] + timeoutInMinutes: 120 + strategy: + matrix: + 'Unit': + PythonVersion: '3.5' + # Note: "pythonInternalTools" tests are 3.7+. + TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + 'Functional': + PythonVersion: '3.5' + TestsToRun: 'testfunctional' + NeedsPythonTestReqs: true + NeedsPythonFunctionalReqs: true + 'Single Workspace': + PythonVersion: '3.5' + TestsToRun: 'testSingleWorkspace' + NeedsPythonTestReqs: true + 'Venv': + PythonVersion: '3.5' + TestsToRun: 'venvTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' + 'Debugger': + PythonVersion: '3.5' + TestsToRun: 'testDebugger' + NeedsPythonTestReqs: true + #maxParallel: 3 + pool: + vmImage: '$(vmImageMacOS)' + steps: + - template: templates/test_phases.yml -- stage: Windows - dependsOn: [] - jobs: - - job: 'Py3x' + - stage: Windows dependsOn: [] - timeoutInMinutes: 120 - strategy: - matrix: - 'Unit': - TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools, pythonIPythonTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - 'Functional': - TestsToRun: 'testfunctional' - NeedsPythonTestReqs: true - NeedsPythonFunctionalReqs: true - 'Single Workspace': - TestsToRun: 'testSingleWorkspace' - NeedsPythonTestReqs: true - 'Multi Workspace': - TestsToRun: 'testMultiWorkspace' - NeedsPythonTestReqs: true - 'Venv': - TestsToRun: 'venvTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' - 'Debugger': - TestsToRun: 'testDebugger' - NeedsPythonTestReqs: true - 'Smoke': - TestsToRun: 'testSmoke' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - #maxParallel: 3 - pool: - vmImage: 'vs2017-win2016' - steps: - - template: templates/test_phases.yml + jobs: + - job: 'Py3x' + dependsOn: [] + timeoutInMinutes: 120 + strategy: + matrix: + 'Unit': + TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools, pythonIPythonTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + 'Functional': + TestsToRun: 'testfunctional' + NeedsPythonTestReqs: true + NeedsPythonFunctionalReqs: true + 'Single Workspace': + TestsToRun: 'testSingleWorkspace' + NeedsPythonTestReqs: true + 'Multi Workspace': + TestsToRun: 'testMultiWorkspace' + NeedsPythonTestReqs: true + 'Venv': + TestsToRun: 'venvTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' + 'Debugger': + TestsToRun: 'testDebugger' + NeedsPythonTestReqs: true + 'Smoke': + TestsToRun: 'testSmoke' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + #maxParallel: 3 + pool: + vmImage: 'vs2017-win2016' + steps: + - template: templates/test_phases.yml - # This is the oldest Python 3 version we support. - - job: 'Py35' - dependsOn: [] - timeoutInMinutes: 120 - strategy: - matrix: - 'Unit': - PythonVersion: '3.5' - # Note: "pythonInternalTools" tests are 3.7+. - TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - 'Functional': - PythonVersion: '3.5' - TestsToRun: 'testfunctional' - NeedsPythonTestReqs: true - NeedsPythonFunctionalReqs: true - 'Single Workspace': - PythonVersion: '3.5' - TestsToRun: 'testSingleWorkspace' - NeedsPythonTestReqs: true - 'Venv': - PythonVersion: '3.5' - TestsToRun: 'venvTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' - 'Debugger': - PythonVersion: '3.5' - TestsToRun: 'testDebugger' - NeedsPythonTestReqs: true - #maxParallel: 3 - pool: - vmImage: 'vs2017-win2016' - steps: - - template: templates/test_phases.yml + # This is the oldest Python 3 version we support. + - job: 'Py35' + dependsOn: [] + timeoutInMinutes: 120 + strategy: + matrix: + 'Unit': + PythonVersion: '3.5' + # Note: "pythonInternalTools" tests are 3.7+. + TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + 'Functional': + PythonVersion: '3.5' + TestsToRun: 'testfunctional' + NeedsPythonTestReqs: true + NeedsPythonFunctionalReqs: true + 'Single Workspace': + PythonVersion: '3.5' + TestsToRun: 'testSingleWorkspace' + NeedsPythonTestReqs: true + 'Venv': + PythonVersion: '3.5' + TestsToRun: 'venvTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' + 'Debugger': + PythonVersion: '3.5' + TestsToRun: 'testDebugger' + NeedsPythonTestReqs: true + #maxParallel: 3 + pool: + vmImage: 'vs2017-win2016' + steps: + - template: templates/test_phases.yml -- stage: Reports - dependsOn: - - Linux - - Mac - - Windows - condition: always() - jobs: - - template: templates/jobs/coverage.yml + - stage: Reports + dependsOn: + - Linux + - Mac + - Windows + condition: always() + jobs: + - template: templates/jobs/coverage.yml diff --git a/build/ci/vscode-python-ci-static-analysis.yaml b/build/ci/vscode-python-ci-static-analysis.yaml new file mode 100644 index 000000000000..09076a7e6127 --- /dev/null +++ b/build/ci/vscode-python-ci-static-analysis.yaml @@ -0,0 +1,89 @@ +# CI build (PR merge) + +name: 'VSCode-Python-ci-static-analysis' + +# Notes: Only trigger a commit for main and release, and skip build/rebuild +# on changes in the news and .vscode folders. +trigger: + branches: + include: ['main', 'release*'] + paths: + exclude: ['/news/1 Enhancements', '/news/2 Fixes', '/news/3 Code Health', '/.vscode'] + +# Not the PR build for merges to main and release. +pr: none + +jobs: + - job: 'Static_Analysis' + pool: + vmImage: 'windows-latest' + + steps: + - task: PoliCheck@1 + inputs: + inputType: 'Basic' + targetType: 'F' + targetArgument: '$(Build.SourcesDirectory)' + result: 'PoliCheck.xml' + continueOnError: true + + - task: AntiMalware@3 + inputs: + InputType: 'Basic' + ScanType: 'CustomScan' + FileDirPath: '$(Build.SourcesDirectory)' + EnableServices: true + SupportLogOnError: false + TreatSignatureUpdateFailureAs: 'Warning' + SignatureFreshness: 'UpToDate' + TreatStaleSignatureAs: 'Error' + continueOnError: true + + - task: AutoApplicability@1 + inputs: + ExternalRelease: true + IsSoftware: true + continueOnError: true + + - task: VulnerabilityAssessment@0 + continueOnError: true + + - task: ESLint@1 + inputs: + Configuration: 'recommended' + TargetType: 'eslint' + ErrorLevel: 'warn' + continueOnError: true + + - task: CredScan@3 + continueOnError: true + + - task: UsePythonVersion@0 + inputs: + versionSpec: '3.x' + addToPath: true + architecture: 'x64' + + - task: CmdLine@2 + inputs: + script: | + python -m pip install -U pip + python -m pip install bandit + python -m bandit -s B101 -x "$(Build.SourcesDirectory)\pythonFiles\tests\**\*"-r "$(Build.SourcesDirectory)\pythonFiles" + continueOnError: true + + - task: SdtReport@2 + inputs: + GdnExportAllTools: true + + - task: PublishSecurityAnalysisLogs@3 + inputs: + ArtifactName: 'CodeAnalysisLogs' + ArtifactType: 'Container' + AllTools: true + ToolLogsNotFoundAction: 'Standard' + + - task: TSAUpload@2 + inputs: + GdnPublishTsaOnboard: true + GdnPublishTsaConfigFile: '$(Build.SourcesDirectory)\build\ci\TSAOptions.json' diff --git a/build/ci/vscode-python-ci.yaml b/build/ci/vscode-python-ci.yaml index 7cfd8ee4006a..31d40da97d76 100644 --- a/build/ci/vscode-python-ci.yaml +++ b/build/ci/vscode-python-ci.yaml @@ -2,193 +2,193 @@ name: '$(Year:yyyy).$(Month).0.$(BuildID)-ci' -# Notes: Only trigger a commit for master and release, and skip build/rebuild +# Notes: Only trigger a commit for main and release, and skip build/rebuild # on changes in the news and .vscode folders. trigger: branches: - include: ["master", "release*"] + include: ['main', 'release*'] paths: - exclude: ["/news/1 Enhancements", "/news/2 Fixes", "/news/3 Code Health", "/.vscode"] + exclude: ['/news/1 Enhancements', '/news/2 Fixes', '/news/3 Code Health', '/.vscode'] -# Not the PR build for merges to master and release. +# Not the PR build for merges to main and release. pr: none # Variables that are available for the entire pipeline. variables: -- template: templates/globals.yml + - template: templates/globals.yml stages: -- stage: Build - jobs: - - template: templates/jobs/build_compile.yml + - stage: Build + jobs: + - template: templates/jobs/build_compile.yml -# Each item in each matrix has a number of possible values it may -# define. They are detailed in templates/test_phases.yml. The only -# required value is "TestsToRun". + # Each item in each matrix has a number of possible values it may + # define. They are detailed in templates/test_phases.yml. The only + # required value is "TestsToRun". -- stage: Linux - dependsOn: [] - jobs: - - job: 'Py3x' + - stage: Linux dependsOn: [] - timeoutInMinutes: 120 - strategy: - matrix: - 'Unit': - # with mocks - # focused on small units (i.e. functions) - # and tightly controlled dependencies - TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools, pythonIPythonTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - 'Functional': - # no mocks, no vscode - # focused on integration - TestsToRun: 'testfunctional' - NeedsPythonTestReqs: true - NeedsPythonFunctionalReqs: true - 'Single Workspace': - # no mocks, with vscode - # focused on integration - TestsToRun: 'testSingleWorkspace' - NeedsPythonTestReqs: true - 'Multi Workspace': - # no mocks, with vscode - # focused on integration - TestsToRun: 'testMultiWorkspace' - NeedsPythonTestReqs: true - 'Venv': - TestsToRun: 'venvTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - # This is for the venvTests to use, not needed if you don't run venv tests... - PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' - 'Debugger': - TestsToRun: 'testDebugger' - NeedsPythonTestReqs: true - 'Smoke': - TestsToRun: 'testSmoke' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - maxParallel: 2 - pool: - vmImage: 'ubuntu-16.04' - steps: - - template: templates/test_phases.yml + jobs: + - job: 'Py3x' + dependsOn: [] + timeoutInMinutes: 120 + strategy: + matrix: + 'Unit': + # with mocks + # focused on small units (i.e. functions) + # and tightly controlled dependencies + TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools, pythonIPythonTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + 'Functional': + # no mocks, no vscode + # focused on integration + TestsToRun: 'testfunctional' + NeedsPythonTestReqs: true + NeedsPythonFunctionalReqs: true + 'Single Workspace': + # no mocks, with vscode + # focused on integration + TestsToRun: 'testSingleWorkspace' + NeedsPythonTestReqs: true + 'Multi Workspace': + # no mocks, with vscode + # focused on integration + TestsToRun: 'testMultiWorkspace' + NeedsPythonTestReqs: true + 'Venv': + TestsToRun: 'venvTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + # This is for the venvTests to use, not needed if you don't run venv tests... + PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' + 'Debugger': + TestsToRun: 'testDebugger' + NeedsPythonTestReqs: true + 'Smoke': + TestsToRun: 'testSmoke' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + maxParallel: 2 + pool: + vmImage: 'ubuntu-16.04' + steps: + - template: templates/test_phases.yml - # This is the oldest Python 3 version we support. - - job: 'Py35' - dependsOn: [] - timeoutInMinutes: 120 - strategy: - matrix: - 'Unit': - PythonVersion: '3.5' - # Note: "pythonInternalTools" tests are 3.7+. - TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - 'Venv': - PythonVersion: '3.5' - TestsToRun: 'venvTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' - 'Debugger': - PythonVersion: '3.5' - TestsToRun: 'testDebugger' - NeedsPythonTestReqs: true - maxParallel: 2 - pool: - vmImage: 'ubuntu-16.04' - steps: - - template: templates/test_phases.yml + # This is the oldest Python 3 version we support. + - job: 'Py35' + dependsOn: [] + timeoutInMinutes: 120 + strategy: + matrix: + 'Unit': + PythonVersion: '3.5' + # Note: "pythonInternalTools" tests are 3.7+. + TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + 'Venv': + PythonVersion: '3.5' + TestsToRun: 'venvTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' + 'Debugger': + PythonVersion: '3.5' + TestsToRun: 'testDebugger' + NeedsPythonTestReqs: true + maxParallel: 2 + pool: + vmImage: 'ubuntu-16.04' + steps: + - template: templates/test_phases.yml -- stage: Mac - dependsOn: [] - jobs: - - job: 'Py3x' + - stage: Mac dependsOn: [] - timeoutInMinutes: 120 - strategy: - matrix: - 'Unit': - TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools, pythonIPythonTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - 'Functional': - TestsToRun: 'testfunctional' - NeedsPythonTestReqs: true - NeedsPythonFunctionalReqs: true - 'Single Workspace': - TestsToRun: 'testSingleWorkspace' - NeedsPythonTestReqs: true - 'Multi Workspace': - TestsToRun: 'testMultiWorkspace' - NeedsPythonTestReqs: true - 'Venv': - TestsToRun: 'venvTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' - 'Debugger': - TestsToRun: 'testDebugger' - NeedsPythonTestReqs: true - 'Smoke': - TestsToRun: 'testSmoke' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - maxParallel: 2 - pool: - vmImage: '$(vmImageMacOS)' - steps: - - template: templates/test_phases.yml + jobs: + - job: 'Py3x' + dependsOn: [] + timeoutInMinutes: 120 + strategy: + matrix: + 'Unit': + TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools, pythonIPythonTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + 'Functional': + TestsToRun: 'testfunctional' + NeedsPythonTestReqs: true + NeedsPythonFunctionalReqs: true + 'Single Workspace': + TestsToRun: 'testSingleWorkspace' + NeedsPythonTestReqs: true + 'Multi Workspace': + TestsToRun: 'testMultiWorkspace' + NeedsPythonTestReqs: true + 'Venv': + TestsToRun: 'venvTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' + 'Debugger': + TestsToRun: 'testDebugger' + NeedsPythonTestReqs: true + 'Smoke': + TestsToRun: 'testSmoke' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + maxParallel: 2 + pool: + vmImage: '$(vmImageMacOS)' + steps: + - template: templates/test_phases.yml -- stage: Windows - dependsOn: [] - jobs: - - job: 'Py3x' + - stage: Windows dependsOn: [] - timeoutInMinutes: 120 - strategy: - matrix: - 'Unit': - TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools, pythonIPythonTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - 'Functional': - TestsToRun: 'testfunctional' - NeedsPythonTestReqs: true - NeedsPythonFunctionalReqs: true - 'Single Workspace': - TestsToRun: 'testSingleWorkspace' - NeedsPythonTestReqs: true - 'Multi Workspace': - TestsToRun: 'testMultiWorkspace' - NeedsPythonTestReqs: true - 'Venv': - TestsToRun: 'venvTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' - 'Debugger': - TestsToRun: 'testDebugger' - NeedsPythonTestReqs: true - 'Smoke': - TestsToRun: 'testSmoke' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - maxParallel: 2 - pool: - vmImage: 'vs2017-win2016' - steps: - - template: templates/test_phases.yml + jobs: + - job: 'Py3x' + dependsOn: [] + timeoutInMinutes: 120 + strategy: + matrix: + 'Unit': + TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools, pythonIPythonTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + 'Functional': + TestsToRun: 'testfunctional' + NeedsPythonTestReqs: true + NeedsPythonFunctionalReqs: true + 'Single Workspace': + TestsToRun: 'testSingleWorkspace' + NeedsPythonTestReqs: true + 'Multi Workspace': + TestsToRun: 'testMultiWorkspace' + NeedsPythonTestReqs: true + 'Venv': + TestsToRun: 'venvTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' + 'Debugger': + TestsToRun: 'testDebugger' + NeedsPythonTestReqs: true + 'Smoke': + TestsToRun: 'testSmoke' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + maxParallel: 2 + pool: + vmImage: 'vs2017-win2016' + steps: + - template: templates/test_phases.yml -- stage: Reports - dependsOn: - - Linux - - Mac - - Windows - condition: always() - jobs: - - template: templates/jobs/coverage.yml + - stage: Reports + dependsOn: + - Linux + - Mac + - Windows + condition: always() + jobs: + - template: templates/jobs/coverage.yml diff --git a/build/ci/vscode-python-nightly-ci.yaml b/build/ci/vscode-python-nightly-ci.yaml index 49b94db2e7a3..228909a49162 100644 --- a/build/ci/vscode-python-nightly-ci.yaml +++ b/build/ci/vscode-python-nightly-ci.yaml @@ -5,506 +5,506 @@ name: '$(Year:yyyy).$(Month).0.$(BuildID)-nightly' # Not the CI build, see `vscode-python-ci.yaml`. trigger: none -# Not the PR build for merges to master and release. +# Not the PR build for merges to main and release. pr: none schedules: -- cron: "0 8 * * 1-5" - # Daily midnight PST build, runs Monday - Friday always - displayName: Nightly build - branches: - include: - - master - - release* - always: true + - cron: '0 8 * * 1-5' + # Daily midnight PST build, runs Monday - Friday always + displayName: Nightly build + branches: + include: + - main + - release* + always: true # Variables that are available for the entire pipeline. variables: -- template: templates/globals.yml + - template: templates/globals.yml stages: -- stage: Build - jobs: - - template: templates/jobs/build_compile.yml + - stage: Build + jobs: + - template: templates/jobs/build_compile.yml -# Each item in each matrix has a number of possible values it may -# define. They are detailed in templates/test_phases.yml. The only -# required value is "TestsToRun". + # Each item in each matrix has a number of possible values it may + # define. They are detailed in templates/test_phases.yml. The only + # required value is "TestsToRun". -- stage: Linux - dependsOn: - - Build - jobs: - - job: 'Py3x' - dependsOn: [] - timeoutInMinutes: 120 - strategy: - matrix: - 'Unit': - TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools, pythonIPythonTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - 'Functional': - TestsToRun: 'testfunctional' - NeedsPythonTestReqs: true - NeedsPythonFunctionalReqs: true - 'Single Workspace': - TestsToRun: 'testSingleWorkspace' - NeedsPythonTestReqs: true - 'Multi Workspace': - TestsToRun: 'testMultiWorkspace' - NeedsPythonTestReqs: true - 'Debugger': - TestsToRun: 'testDebugger' - NeedsPythonTestReqs: true - 'Venv': - TestsToRun: 'venvTests' - NeedsPythonTestReqs: true - # This is for the venvTests to use, not needed if you don't run venv tests... - PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' - 'Smoke': - TestsToRun: 'testSmoke' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - maxParallel: 1 - pool: - vmImage: 'ubuntu-16.04' - steps: - - template: templates/test_phases.yml + - stage: Linux + dependsOn: + - Build + jobs: + - job: 'Py3x' + dependsOn: [] + timeoutInMinutes: 120 + strategy: + matrix: + 'Unit': + TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools, pythonIPythonTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + 'Functional': + TestsToRun: 'testfunctional' + NeedsPythonTestReqs: true + NeedsPythonFunctionalReqs: true + 'Single Workspace': + TestsToRun: 'testSingleWorkspace' + NeedsPythonTestReqs: true + 'Multi Workspace': + TestsToRun: 'testMultiWorkspace' + NeedsPythonTestReqs: true + 'Debugger': + TestsToRun: 'testDebugger' + NeedsPythonTestReqs: true + 'Venv': + TestsToRun: 'venvTests' + NeedsPythonTestReqs: true + # This is for the venvTests to use, not needed if you don't run venv tests... + PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' + 'Smoke': + TestsToRun: 'testSmoke' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + maxParallel: 1 + pool: + vmImage: 'ubuntu-16.04' + steps: + - template: templates/test_phases.yml - - job: 'Py36' - dependsOn: [] - timeoutInMinutes: 120 - strategy: - matrix: - 'Unit': - PythonVersion: '3.6' - # Note: "pythonInternalTools" tests are 3.7+. - TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - 'Functional': - PythonVersion: '3.6' - TestsToRun: 'testfunctional' - NeedsPythonTestReqs: true - NeedsPythonFunctionalReqs: true - 'Single Workspace': - PythonVersion: '3.6' - TestsToRun: 'testSingleWorkspace' - NeedsPythonTestReqs: true - 'Multi Workspace': - PythonVersion: '3.6' - TestsToRun: 'testMultiWorkspace' - NeedsPythonTestReqs: true - 'Debugger': - PythonVersion: '3.6' - TestsToRun: 'testDebugger' - NeedsPythonTestReqs: true - 'Venv': - PythonVersion: '3.6' - TestsToRun: 'venvTests' - NeedsPythonTestReqs: true - PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' - # Note: We only run the smoke tests with the latest Python release. - maxParallel: 1 - pool: - vmImage: 'ubuntu-16.04' - steps: - - template: templates/test_phases.yml + - job: 'Py36' + dependsOn: [] + timeoutInMinutes: 120 + strategy: + matrix: + 'Unit': + PythonVersion: '3.6' + # Note: "pythonInternalTools" tests are 3.7+. + TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + 'Functional': + PythonVersion: '3.6' + TestsToRun: 'testfunctional' + NeedsPythonTestReqs: true + NeedsPythonFunctionalReqs: true + 'Single Workspace': + PythonVersion: '3.6' + TestsToRun: 'testSingleWorkspace' + NeedsPythonTestReqs: true + 'Multi Workspace': + PythonVersion: '3.6' + TestsToRun: 'testMultiWorkspace' + NeedsPythonTestReqs: true + 'Debugger': + PythonVersion: '3.6' + TestsToRun: 'testDebugger' + NeedsPythonTestReqs: true + 'Venv': + PythonVersion: '3.6' + TestsToRun: 'venvTests' + NeedsPythonTestReqs: true + PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' + # Note: We only run the smoke tests with the latest Python release. + maxParallel: 1 + pool: + vmImage: 'ubuntu-16.04' + steps: + - template: templates/test_phases.yml - - job: 'Py35' - dependsOn: [] - timeoutInMinutes: 120 - strategy: - matrix: - 'Unit': - PythonVersion: '3.5' - # Note: "pythonInternalTools" tests are 3.7+. - TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - 'Functional': - PythonVersion: '3.5' - TestsToRun: 'testfunctional' - NeedsPythonTestReqs: true - NeedsPythonFunctionalReqs: true - 'Single Workspace': - PythonVersion: '3.5' - TestsToRun: 'testSingleWorkspace' - NeedsPythonTestReqs: true - 'Multi Workspace': - PythonVersion: '3.5' - TestsToRun: 'testMultiWorkspace' - NeedsPythonTestReqs: true - 'Debugger': - PythonVersion: '3.5' - TestsToRun: 'testDebugger' - NeedsPythonTestReqs: true - 'Venv': - PythonVersion: '3.5' - TestsToRun: 'venvTests' - NeedsPythonTestReqs: true - PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' - # Note: We only run the smoke tests with the latest Python release. - maxParallel: 1 - pool: - vmImage: 'ubuntu-16.04' - steps: - - template: templates/test_phases.yml + - job: 'Py35' + dependsOn: [] + timeoutInMinutes: 120 + strategy: + matrix: + 'Unit': + PythonVersion: '3.5' + # Note: "pythonInternalTools" tests are 3.7+. + TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + 'Functional': + PythonVersion: '3.5' + TestsToRun: 'testfunctional' + NeedsPythonTestReqs: true + NeedsPythonFunctionalReqs: true + 'Single Workspace': + PythonVersion: '3.5' + TestsToRun: 'testSingleWorkspace' + NeedsPythonTestReqs: true + 'Multi Workspace': + PythonVersion: '3.5' + TestsToRun: 'testMultiWorkspace' + NeedsPythonTestReqs: true + 'Debugger': + PythonVersion: '3.5' + TestsToRun: 'testDebugger' + NeedsPythonTestReqs: true + 'Venv': + PythonVersion: '3.5' + TestsToRun: 'venvTests' + NeedsPythonTestReqs: true + PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' + # Note: We only run the smoke tests with the latest Python release. + maxParallel: 1 + pool: + vmImage: 'ubuntu-16.04' + steps: + - template: templates/test_phases.yml - - job: 'Py27' - dependsOn: [] - timeoutInMinutes: 120 - strategy: - matrix: - 'Unit': - PythonVersion: '2.7' - # Note: "pythonInternalTools" tests are 3.7+. - TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - 'Functional': - PythonVersion: '2.7' - TestsToRun: 'testfunctional' - NeedsPythonTestReqs: true - NeedsPythonFunctionalReqs: true - 'Single Workspace': - PythonVersion: '2.7' - TestsToRun: 'testSingleWorkspace' - NeedsPythonTestReqs: true - 'Multi Workspace': - PythonVersion: '2.7' - TestsToRun: 'testMultiWorkspace' - NeedsPythonTestReqs: true - 'Debugger': - PythonVersion: '2.7' - TestsToRun: 'testDebugger' - NeedsPythonTestReqs: true - # Note: Virtual env tests use `venv` and won't currently work with Python 2.7 - # Note: We only run the smoke tests with the latest Python release. - maxParallel: 1 - pool: - vmImage: 'ubuntu-16.04' - steps: - - template: templates/test_phases.yml + - job: 'Py27' + dependsOn: [] + timeoutInMinutes: 120 + strategy: + matrix: + 'Unit': + PythonVersion: '2.7' + # Note: "pythonInternalTools" tests are 3.7+. + TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + 'Functional': + PythonVersion: '2.7' + TestsToRun: 'testfunctional' + NeedsPythonTestReqs: true + NeedsPythonFunctionalReqs: true + 'Single Workspace': + PythonVersion: '2.7' + TestsToRun: 'testSingleWorkspace' + NeedsPythonTestReqs: true + 'Multi Workspace': + PythonVersion: '2.7' + TestsToRun: 'testMultiWorkspace' + NeedsPythonTestReqs: true + 'Debugger': + PythonVersion: '2.7' + TestsToRun: 'testDebugger' + NeedsPythonTestReqs: true + # Note: Virtual env tests use `venv` and won't currently work with Python 2.7 + # Note: We only run the smoke tests with the latest Python release. + maxParallel: 1 + pool: + vmImage: 'ubuntu-16.04' + steps: + - template: templates/test_phases.yml -- stage: Mac - dependsOn: - - Build - jobs: - - job: 'Py3x' - dependsOn: [] - timeoutInMinutes: 120 - strategy: - matrix: - 'Unit': - TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools, pythonIPythonTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - 'Functional': - TestsToRun: 'testfunctional' - NeedsPythonTestReqs: true - NeedsPythonFunctionalReqs: true - 'Single Workspace': - TestsToRun: 'testSingleWorkspace' - NeedsPythonTestReqs: true - 'Multi Workspace': - TestsToRun: 'testMultiWorkspace' - NeedsPythonTestReqs: true - 'Debugger': - TestsToRun: 'testDebugger' - NeedsPythonTestReqs: true - 'Venv': - TestsToRun: 'venvTests' - NeedsPythonTestReqs: true - PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' - 'Smoke': - TestsToRun: 'testSmoke' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - maxParallel: 1 - pool: - vmImage: '$(vmImageMacOS)' - steps: - - template: templates/test_phases.yml + - stage: Mac + dependsOn: + - Build + jobs: + - job: 'Py3x' + dependsOn: [] + timeoutInMinutes: 120 + strategy: + matrix: + 'Unit': + TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools, pythonIPythonTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + 'Functional': + TestsToRun: 'testfunctional' + NeedsPythonTestReqs: true + NeedsPythonFunctionalReqs: true + 'Single Workspace': + TestsToRun: 'testSingleWorkspace' + NeedsPythonTestReqs: true + 'Multi Workspace': + TestsToRun: 'testMultiWorkspace' + NeedsPythonTestReqs: true + 'Debugger': + TestsToRun: 'testDebugger' + NeedsPythonTestReqs: true + 'Venv': + TestsToRun: 'venvTests' + NeedsPythonTestReqs: true + PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' + 'Smoke': + TestsToRun: 'testSmoke' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + maxParallel: 1 + pool: + vmImage: '$(vmImageMacOS)' + steps: + - template: templates/test_phases.yml - - job: 'Py36' - dependsOn: [] - timeoutInMinutes: 120 - strategy: - matrix: - 'Unit': - PythonVersion: '3.6' - # Note: "pythonInternalTools" tests are 3.7+. - TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - 'Functional': - PythonVersion: '3.6' - TestsToRun: 'testfunctional' - NeedsPythonTestReqs: true - NeedsPythonFunctionalReqs: true - 'Single Workspace': - PythonVersion: '3.6' - TestsToRun: 'testSingleWorkspace' - NeedsPythonTestReqs: true - 'Multi Workspace': - PythonVersion: '3.6' - TestsToRun: 'testMultiWorkspace' - NeedsPythonTestReqs: true - 'Debugger': - PythonVersion: '3.6' - TestsToRun: 'testDebugger' - NeedsPythonTestReqs: true - 'Venv': - PythonVersion: '3.6' - TestsToRun: 'venvTests' - NeedsPythonTestReqs: true - PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' - # Note: We only run the smoke tests with the latest Python release. - maxParallel: 1 - pool: - vmImage: '$(vmImageMacOS)' - steps: - - template: templates/test_phases.yml + - job: 'Py36' + dependsOn: [] + timeoutInMinutes: 120 + strategy: + matrix: + 'Unit': + PythonVersion: '3.6' + # Note: "pythonInternalTools" tests are 3.7+. + TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + 'Functional': + PythonVersion: '3.6' + TestsToRun: 'testfunctional' + NeedsPythonTestReqs: true + NeedsPythonFunctionalReqs: true + 'Single Workspace': + PythonVersion: '3.6' + TestsToRun: 'testSingleWorkspace' + NeedsPythonTestReqs: true + 'Multi Workspace': + PythonVersion: '3.6' + TestsToRun: 'testMultiWorkspace' + NeedsPythonTestReqs: true + 'Debugger': + PythonVersion: '3.6' + TestsToRun: 'testDebugger' + NeedsPythonTestReqs: true + 'Venv': + PythonVersion: '3.6' + TestsToRun: 'venvTests' + NeedsPythonTestReqs: true + PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' + # Note: We only run the smoke tests with the latest Python release. + maxParallel: 1 + pool: + vmImage: '$(vmImageMacOS)' + steps: + - template: templates/test_phases.yml - - job: 'Py35' - dependsOn: [] - timeoutInMinutes: 120 - strategy: - matrix: - 'Unit': - PythonVersion: '3.5' - # Note: "pythonInternalTools" tests are 3.7+. - TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - 'Functional': - PythonVersion: '3.5' - TestsToRun: 'testfunctional' - NeedsPythonTestReqs: true - NeedsPythonFunctionalReqs: true - 'Single Workspace': - PythonVersion: '3.5' - TestsToRun: 'testSingleWorkspace' - NeedsPythonTestReqs: true - 'Multi Workspace': - PythonVersion: '3.5' - TestsToRun: 'testMultiWorkspace' - NeedsPythonTestReqs: true - 'Debugger': - PythonVersion: '3.5' - TestsToRun: 'testDebugger' - NeedsPythonTestReqs: true - 'Venv': - PythonVersion: '3.5' - TestsToRun: 'venvTests' - NeedsPythonTestReqs: true - PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' - # Note: We only run the smoke tests with the latest Python release. - maxParallel: 1 - pool: - vmImage: '$(vmImageMacOS)' - steps: - - template: templates/test_phases.yml + - job: 'Py35' + dependsOn: [] + timeoutInMinutes: 120 + strategy: + matrix: + 'Unit': + PythonVersion: '3.5' + # Note: "pythonInternalTools" tests are 3.7+. + TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + 'Functional': + PythonVersion: '3.5' + TestsToRun: 'testfunctional' + NeedsPythonTestReqs: true + NeedsPythonFunctionalReqs: true + 'Single Workspace': + PythonVersion: '3.5' + TestsToRun: 'testSingleWorkspace' + NeedsPythonTestReqs: true + 'Multi Workspace': + PythonVersion: '3.5' + TestsToRun: 'testMultiWorkspace' + NeedsPythonTestReqs: true + 'Debugger': + PythonVersion: '3.5' + TestsToRun: 'testDebugger' + NeedsPythonTestReqs: true + 'Venv': + PythonVersion: '3.5' + TestsToRun: 'venvTests' + NeedsPythonTestReqs: true + PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' + # Note: We only run the smoke tests with the latest Python release. + maxParallel: 1 + pool: + vmImage: '$(vmImageMacOS)' + steps: + - template: templates/test_phases.yml - - job: 'Py27' - dependsOn: [] - timeoutInMinutes: 120 - strategy: - matrix: - 'Unit': - PythonVersion: '2.7' - # Note: "pythonInternalTools" tests are 3.7+. - TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - 'Functional': - PythonVersion: '2.7' - TestsToRun: 'testfunctional' - NeedsPythonTestReqs: true - NeedsPythonFunctionalReqs: true - 'Single Workspace': - PythonVersion: '2.7' - TestsToRun: 'testSingleWorkspace' - NeedsPythonTestReqs: true - 'Multi Workspace': - PythonVersion: '2.7' - TestsToRun: 'testMultiWorkspace' - NeedsPythonTestReqs: true - 'Debugger': - PythonVersion: '2.7' - TestsToRun: 'testDebugger' - NeedsPythonTestReqs: true - # Note: Virtual env tests use `venv` and won't currently work with Python 2.7 - # Note: We only run the smoke tests with the latest Python release. - maxParallel: 1 - pool: - vmImage: '$(vmImageMacOS)' - steps: - - template: templates/test_phases.yml + - job: 'Py27' + dependsOn: [] + timeoutInMinutes: 120 + strategy: + matrix: + 'Unit': + PythonVersion: '2.7' + # Note: "pythonInternalTools" tests are 3.7+. + TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + 'Functional': + PythonVersion: '2.7' + TestsToRun: 'testfunctional' + NeedsPythonTestReqs: true + NeedsPythonFunctionalReqs: true + 'Single Workspace': + PythonVersion: '2.7' + TestsToRun: 'testSingleWorkspace' + NeedsPythonTestReqs: true + 'Multi Workspace': + PythonVersion: '2.7' + TestsToRun: 'testMultiWorkspace' + NeedsPythonTestReqs: true + 'Debugger': + PythonVersion: '2.7' + TestsToRun: 'testDebugger' + NeedsPythonTestReqs: true + # Note: Virtual env tests use `venv` and won't currently work with Python 2.7 + # Note: We only run the smoke tests with the latest Python release. + maxParallel: 1 + pool: + vmImage: '$(vmImageMacOS)' + steps: + - template: templates/test_phases.yml -- stage: Windows - dependsOn: - - Build - jobs: - - job: 'Py3x' - dependsOn: [] - timeoutInMinutes: 120 - strategy: - matrix: - 'Unit': - TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools, pythonIPythonTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - 'Functional': - TestsToRun: 'testfunctional' - NeedsPythonTestReqs: true - NeedsPythonFunctionalReqs: true - 'Single Workspace': - TestsToRun: 'testSingleWorkspace' - NeedsPythonTestReqs: true - 'Multi Workspace': - TestsToRun: 'testMultiWorkspace' - NeedsPythonTestReqs: true - 'Debugger': - TestsToRun: 'testDebugger' - NeedsPythonTestReqs: true - 'Venv': - TestsToRun: 'venvTests' - NeedsPythonTestReqs: true - PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' - 'Smoke': - TestsToRun: 'testSmoke' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - maxParallel: 1 - pool: - vmImage: 'vs2017-win2016' - steps: - - template: templates/test_phases.yml + - stage: Windows + dependsOn: + - Build + jobs: + - job: 'Py3x' + dependsOn: [] + timeoutInMinutes: 120 + strategy: + matrix: + 'Unit': + TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools, pythonIPythonTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + 'Functional': + TestsToRun: 'testfunctional' + NeedsPythonTestReqs: true + NeedsPythonFunctionalReqs: true + 'Single Workspace': + TestsToRun: 'testSingleWorkspace' + NeedsPythonTestReqs: true + 'Multi Workspace': + TestsToRun: 'testMultiWorkspace' + NeedsPythonTestReqs: true + 'Debugger': + TestsToRun: 'testDebugger' + NeedsPythonTestReqs: true + 'Venv': + TestsToRun: 'venvTests' + NeedsPythonTestReqs: true + PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' + 'Smoke': + TestsToRun: 'testSmoke' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + maxParallel: 1 + pool: + vmImage: 'vs2017-win2016' + steps: + - template: templates/test_phases.yml - - job: 'Py36' - dependsOn: [] - timeoutInMinutes: 120 - strategy: - matrix: - 'Unit': - PythonVersion: '3.6' - # Note: "pythonInternalTools" tests are 3.7+. - TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - 'Functional': - PythonVersion: '3.6' - TestsToRun: 'testfunctional' - NeedsPythonTestReqs: true - NeedsPythonFunctionalReqs: true - 'Single Workspace': - PythonVersion: '3.6' - TestsToRun: 'testSingleWorkspace' - NeedsPythonTestReqs: true - 'Multi Workspace': - PythonVersion: '3.6' - TestsToRun: 'testMultiWorkspace' - NeedsPythonTestReqs: true - 'Debugger': - PythonVersion: '3.6' - TestsToRun: 'testDebugger' - NeedsPythonTestReqs: true - 'Venv': - PythonVersion: '3.6' - TestsToRun: 'venvTests' - NeedsPythonTestReqs: true - PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' - # Note: We only run the smoke tests with the latest Python release. - maxParallel: 1 - pool: - vmImage: 'vs2017-win2016' - steps: - - template: templates/test_phases.yml + - job: 'Py36' + dependsOn: [] + timeoutInMinutes: 120 + strategy: + matrix: + 'Unit': + PythonVersion: '3.6' + # Note: "pythonInternalTools" tests are 3.7+. + TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + 'Functional': + PythonVersion: '3.6' + TestsToRun: 'testfunctional' + NeedsPythonTestReqs: true + NeedsPythonFunctionalReqs: true + 'Single Workspace': + PythonVersion: '3.6' + TestsToRun: 'testSingleWorkspace' + NeedsPythonTestReqs: true + 'Multi Workspace': + PythonVersion: '3.6' + TestsToRun: 'testMultiWorkspace' + NeedsPythonTestReqs: true + 'Debugger': + PythonVersion: '3.6' + TestsToRun: 'testDebugger' + NeedsPythonTestReqs: true + 'Venv': + PythonVersion: '3.6' + TestsToRun: 'venvTests' + NeedsPythonTestReqs: true + PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' + # Note: We only run the smoke tests with the latest Python release. + maxParallel: 1 + pool: + vmImage: 'vs2017-win2016' + steps: + - template: templates/test_phases.yml - - job: 'Py35' - dependsOn: [] - timeoutInMinutes: 120 - strategy: - matrix: - 'Unit': - PythonVersion: '3.5' - # Note: "pythonInternalTools" tests are 3.7+. - TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - 'Functional': - PythonVersion: '3.5' - TestsToRun: 'testfunctional' - NeedsPythonTestReqs: true - NeedsPythonFunctionalReqs: true - 'Single Workspace': - PythonVersion: '3.5' - TestsToRun: 'testSingleWorkspace' - NeedsPythonTestReqs: true - 'Multi Workspace': - PythonVersion: '3.5' - TestsToRun: 'testMultiWorkspace' - NeedsPythonTestReqs: true - 'Debugger': - PythonVersion: '3.5' - TestsToRun: 'testDebugger' - NeedsPythonTestReqs: true - 'Venv': - PythonVersion: '3.5' - TestsToRun: 'venvTests' - NeedsPythonTestReqs: true - PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' - # Note: We only run the smoke tests with the latest Python release. - maxParallel: 1 - pool: - vmImage: 'vs2017-win2016' - steps: - - template: templates/test_phases.yml + - job: 'Py35' + dependsOn: [] + timeoutInMinutes: 120 + strategy: + matrix: + 'Unit': + PythonVersion: '3.5' + # Note: "pythonInternalTools" tests are 3.7+. + TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + 'Functional': + PythonVersion: '3.5' + TestsToRun: 'testfunctional' + NeedsPythonTestReqs: true + NeedsPythonFunctionalReqs: true + 'Single Workspace': + PythonVersion: '3.5' + TestsToRun: 'testSingleWorkspace' + NeedsPythonTestReqs: true + 'Multi Workspace': + PythonVersion: '3.5' + TestsToRun: 'testMultiWorkspace' + NeedsPythonTestReqs: true + 'Debugger': + PythonVersion: '3.5' + TestsToRun: 'testDebugger' + NeedsPythonTestReqs: true + 'Venv': + PythonVersion: '3.5' + TestsToRun: 'venvTests' + NeedsPythonTestReqs: true + PYTHON_VIRTUAL_ENVS_LOCATION: './src/tmp/envPaths.json' + # Note: We only run the smoke tests with the latest Python release. + maxParallel: 1 + pool: + vmImage: 'vs2017-win2016' + steps: + - template: templates/test_phases.yml - - job: 'Py27' - dependsOn: [] - timeoutInMinutes: 120 - strategy: - matrix: - 'Unit': - PythonVersion: '2.7' - # Note: "pythonInternalTools" tests are 3.7+. - TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests' - NeedsPythonTestReqs: true - NeedsIPythonReqs: true - 'Functional': - PythonVersion: '2.7' - TestsToRun: 'testfunctional' - NeedsPythonTestReqs: true - NeedsPythonFunctionalReqs: true - 'Single Workspace': - PythonVersion: '2.7' - TestsToRun: 'testSingleWorkspace' - NeedsPythonTestReqs: true - 'Multi Workspace': - PythonVersion: '2.7' - TestsToRun: 'testMultiWorkspace' - NeedsPythonTestReqs: true - 'Debugger': - PythonVersion: '2.7' - TestsToRun: 'testDebugger' - NeedsPythonTestReqs: true - # Note: Virtual env tests use `venv` and won't currently work with Python 2.7 - # Note: We only run the smoke tests with the latest Python release. - maxParallel: 1 - pool: - vmImage: 'vs2017-win2016' - steps: - - template: templates/test_phases.yml + - job: 'Py27' + dependsOn: [] + timeoutInMinutes: 120 + strategy: + matrix: + 'Unit': + PythonVersion: '2.7' + # Note: "pythonInternalTools" tests are 3.7+. + TestsToRun: 'testUnitTests, pythonUnitTests, pythonIPythonTests' + NeedsPythonTestReqs: true + NeedsIPythonReqs: true + 'Functional': + PythonVersion: '2.7' + TestsToRun: 'testfunctional' + NeedsPythonTestReqs: true + NeedsPythonFunctionalReqs: true + 'Single Workspace': + PythonVersion: '2.7' + TestsToRun: 'testSingleWorkspace' + NeedsPythonTestReqs: true + 'Multi Workspace': + PythonVersion: '2.7' + TestsToRun: 'testMultiWorkspace' + NeedsPythonTestReqs: true + 'Debugger': + PythonVersion: '2.7' + TestsToRun: 'testDebugger' + NeedsPythonTestReqs: true + # Note: Virtual env tests use `venv` and won't currently work with Python 2.7 + # Note: We only run the smoke tests with the latest Python release. + maxParallel: 1 + pool: + vmImage: 'vs2017-win2016' + steps: + - template: templates/test_phases.yml -- stage: Reports - dependsOn: - - Linux - - Mac - - Windows - condition: always() - jobs: - - template: templates/jobs/coverage.yml + - stage: Reports + dependsOn: + - Linux + - Mac + - Windows + condition: always() + jobs: + - template: templates/jobs/coverage.yml diff --git a/build/ci/vscode-python-nightly-flake-ci.yaml b/build/ci/vscode-python-nightly-flake-ci.yaml index 63c83a45a5b8..db168f479927 100644 --- a/build/ci/vscode-python-nightly-flake-ci.yaml +++ b/build/ci/vscode-python-nightly-flake-ci.yaml @@ -5,85 +5,86 @@ name: '$(Year:yyyy).$(Month).0.$(BuildID)-nightly-flake' # Not the CI build, see `vscode-python-nightly-flake-ci.yaml`. trigger: none -# Not the PR build for merges to master and release. +# Not the PR build for merges to main and release. pr: none schedules: -- cron: "0 8 * * 1-5" - # Daily midnight PST build, runs Monday - Friday always - displayName: Nightly Flake build - branches: - include: - - master - - release* - always: true + - cron: '0 8 * * 1-5' + # Daily midnight PST build, runs Monday - Friday always + displayName: Nightly Flake build + branches: + include: + - main + - release* + always: true # Variables that are available for the entire pipeline. variables: -- template: templates/globals.yml + - template: templates/globals.yml stages: -- stage: Build - jobs: - - template: templates/jobs/build_compile.yml + - stage: Build + jobs: + - template: templates/jobs/build_compile.yml -# Each item in each matrix has a number of possible values it may -# define. They are detailed in templates/test_phases.yml. The only -# required value is "TestsToRun". + # Each item in each matrix has a number of possible values it may + # define. They are detailed in templates/test_phases.yml. The only + # required value is "TestsToRun". -- stage: Linux - dependsOn: - - Build - jobs: - - job: 'Py3x_Linux' - dependsOn: [] - timeoutInMinutes: 120 - strategy: - matrix: - 'Functional': - TestsToRun: 'testfunctional' - NeedsPythonTestReqs: true - NeedsPythonFunctionalReqs: true - VSCODE_PYTHON_ROLLING: true - pool: - vmImage: 'ubuntu-16.04' - steps: - - template: templates/test_phases.yml + - stage: Linux + dependsOn: + - Build + jobs: + - job: 'Py3x_Linux' + dependsOn: [] + timeoutInMinutes: 120 + strategy: + matrix: + 'Functional': + TestsToRun: 'testfunctional' + NeedsPythonTestReqs: true + NeedsPythonFunctionalReqs: true + VSCODE_PYTHON_ROLLING: true + pool: + vmImage: 'ubuntu-16.04' + steps: + - template: templates/test_phases.yml -- stage: Mac - dependsOn: - - Build - jobs: - - job: 'Py3x_Mac' - dependsOn: [] - timeoutInMinutes: 120 - strategy: - matrix: - 'Functional': - TestsToRun: 'testfunctional' - NeedsPythonTestReqs: true - NeedsPythonFunctionalReqs: true - VSCODE_PYTHON_ROLLING: true - pool: - vmImage: '$(vmImageMacOS)' - steps: - - template: templates/test_phases.yml + - stage: Mac + dependsOn: + - Build + jobs: + - job: 'Py3x_Mac' + dependsOn: [] + timeoutInMinutes: 120 + strategy: + matrix: + 'Functional': + TestsToRun: 'testfunctional' + NeedsPythonTestReqs: true + NeedsPythonFunctionalReqs: true + VSCODE_PYTHON_ROLLING: true + pool: + vmImage: '$(vmImageMacOS)' + steps: + - template: templates/test_phases.yml -- stage: Windows - dependsOn: - - Build - jobs: - - job: 'Py3x_Windows' - dependsOn: [] - timeoutInMinutes: 120 - strategy: - matrix: - 'Functional': - TestsToRun: 'testfunctional' - NeedsPythonTestReqs: true - NeedsPythonFunctionalReqs: true - VSCODE_PYTHON_ROLLING: true - pool: - vmImage: 'vs2017-win2016' - steps: - - template: templates/test_phases.yml + - stage: Windows + dependsOn: + - Build + jobs: + - job: 'Py3x_Windows' + dependsOn: [] + timeoutInMinutes: 180 + strategy: + matrix: + 'Functional': + TestsToRun: 'testfunctional' + NeedsPythonTestReqs: true + NeedsPythonFunctionalReqs: true + VSCODE_PYTHON_ROLLING: true + SplitFunctionalTests: true + pool: + vmImage: 'vs2017-win2016' + steps: + - template: templates/test_phases.yml diff --git a/build/ci/vscode-python-pr-validation.yaml b/build/ci/vscode-python-pr-validation.yaml index ec4c445a8d3d..fa817bf379b5 100644 --- a/build/ci/vscode-python-pr-validation.yaml +++ b/build/ci/vscode-python-pr-validation.yaml @@ -2,16 +2,20 @@ name: '$(Year:yyyy).$(Month).0.$(BuildID)-pr' -# Notes: Only trigger a PR build for master and release, and skip build/rebuild +# Notes: Only trigger a PR build for main and release, and skip build/rebuild # on changes in the news and .vscode folders. pr: autoCancel: true branches: - include: ['master', 'release*', 'ds*'] + include: + - 'main' + - 'release*' + - 'ds*' + - 'logging-changes-and-drop-old-debugger' paths: exclude: ['/news/1 Enhancements', '/news/2 Fixes', '/news/3 Code Health', '/.vscode'] -# Not the CI build for merges to master and release. +# Not the CI build for merges to main and release. trigger: none # Variables that are available for the entire pipeline. @@ -34,17 +38,26 @@ stages: dependsOn: [] strategy: matrix: + 'NodeUnit': + TestsToRun: 'testUnitTests' + NeedsPythonTestReqs: false + NeedsIPythonReqs: false 'Unit': - TestsToRun: 'testUnitTests, pythonUnitTests, pythonInternalTools, pythonIPythonTests' + TestsToRun: 'pythonUnitTests, pythonInternalTools, pythonIPythonTests' NeedsPythonTestReqs: true NeedsIPythonReqs: true 'Functional': TestsToRun: 'testfunctional' NeedsPythonTestReqs: true NeedsPythonFunctionalReqs: true + SplitFunctionalTests: false 'Single Workspace': TestsToRun: 'testSingleWorkspace' NeedsPythonTestReqs: true + 'DataScience': + TestsToRun: 'testDataScience' + NeedsPythonTestReqs: true + NeedsPythonFunctionalReqs: true 'Smoke': TestsToRun: 'testSmoke' NeedsPythonTestReqs: true @@ -61,7 +74,7 @@ stages: 'Unit': PythonVersion: '2.7' # Note: "pythonInternalTools" tests are 3.7+. - TestsToRun: 'testUnitTests, pythonUnitTests' + TestsToRun: 'pythonUnitTests' NeedsPythonTestReqs: true 'Functional': PythonVersion: '2.7' @@ -95,6 +108,7 @@ stages: jobs: - job: 'Py3x' dependsOn: [] + timeoutInMinutes: 90 strategy: matrix: # This gives us our best functional coverage for the OS. diff --git a/build/conda-functional-requirements.txt b/build/conda-functional-requirements.txt index 7f11f53981a7..a00a76726786 100644 --- a/build/conda-functional-requirements.txt +++ b/build/conda-functional-requirements.txt @@ -8,7 +8,6 @@ black ; python_version>='3.6' yapf pylint pycodestyle -prospector pydocstyle nose pytest==4.6.9 # Last version of pytest with Python 2.7 support @@ -17,3 +16,11 @@ flask django isort pathlib2>=2.2.0 ; python_version<'3.6' # Python 2.7 compatibility (pytest) +pythreejs +ipysheet +ipyvolume +beakerx +py4j +bqplot +K3D +debugpy \ No newline at end of file diff --git a/build/debug/replaceWithWebBrowserPanel.js b/build/debug/replaceWithWebBrowserPanel.js new file mode 100644 index 000000000000..21c293117535 --- /dev/null +++ b/build/debug/replaceWithWebBrowserPanel.js @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +'use strict'; + +const path = require('path'); +const fs = require('fs-extra'); +const common = require('../constants'); + +// Used to debug extension with the DS UI loaded in a web browser. +// We don't want to include test code into extension, hence just patch the js code for debugging. +// This code is used in fucntional ui tests. + +const fileToModify = path.join(common.ExtensionRootDir, 'out/client/common/installer/serviceRegistry.js'); +const fileContents = fs.readFileSync(fileToModify).toString(); + +const newInjection = 'require("../../../test/datascience/uiTests/webBrowserPanelProvider").WebBrowserPanelProvider'; +const oldInjection = 'webPanelProvider_1.WebPanelProvider'; + +if (fileContents.indexOf(oldInjection) === -1 && fileContents.indexOf(newInjection) === -1) { + throw new Error('Unable to modify serviceRegistry.js for WebBrowser debugging'); +} +if (fileContents.indexOf(oldInjection)) { + const newFileContents = fileContents.replace(oldInjection, newInjection); + fs.writeFileSync(fileToModify, newFileContents); +} diff --git a/build/existingFiles.json b/build/existingFiles.json index 6a3493259618..4dbf1af34b78 100644 --- a/build/existingFiles.json +++ b/build/existingFiles.json @@ -135,27 +135,6 @@ "src/client/common/variables/sysTypes.ts", "src/client/common/variables/types.ts", "src/client/debugger/constants.ts", - "src/client/debugger/debugAdapter/Common/Contracts.ts", - "src/client/debugger/debugAdapter/Common/debugStreamProvider.ts", - "src/client/debugger/debugAdapter/Common/processServiceFactory.ts", - "src/client/debugger/debugAdapter/Common/protocolLogger.ts", - "src/client/debugger/debugAdapter/Common/protocolParser.ts", - "src/client/debugger/debugAdapter/Common/protocolWriter.ts", - "src/client/debugger/debugAdapter/Common/Utils.ts", - "src/client/debugger/debugAdapter/DebugClients/DebugClient.ts", - "src/client/debugger/debugAdapter/DebugClients/DebugFactory.ts", - "src/client/debugger/debugAdapter/DebugClients/helper.ts", - "src/client/debugger/debugAdapter/DebugClients/launcherProvider.ts", - "src/client/debugger/debugAdapter/DebugClients/LocalDebugClient.ts", - "src/client/debugger/debugAdapter/DebugClients/localDebugClientV2.ts", - "src/client/debugger/debugAdapter/DebugClients/nonDebugClientV2.ts", - "src/client/debugger/debugAdapter/DebugClients/RemoteDebugClient.ts", - "src/client/debugger/debugAdapter/DebugServers/BaseDebugServer.ts", - "src/client/debugger/debugAdapter/DebugServers/LocalDebugServerV2.ts", - "src/client/debugger/debugAdapter/DebugServers/RemoteDebugServerv2.ts", - "src/client/debugger/debugAdapter/main.ts", - "src/client/debugger/debugAdapter/serviceRegistry.ts", - "src/client/debugger/debugAdapter/types.ts", "src/client/debugger/extension/banner.ts", "src/client/debugger/extension/configuration/baseProvider.ts", "src/client/debugger/extension/configuration/configurationProviderUtils.ts", @@ -229,7 +208,6 @@ "src/client/language/types.ts", "src/client/language/unicode.ts", "src/client/languageServices/jediProxyFactory.ts", - "src/client/languageServices/languageServerSurveyBanner.ts", "src/client/languageServices/proposeLanguageServerBanner.ts", "src/client/linters/bandit.ts", "src/client/linters/baseLinter.ts", @@ -424,7 +402,6 @@ "src/test/configuration/interpreterSelector.unit.test.ts", "src/test/constants.ts", "src/test/core.ts", - "src/test/debugger/attach.ptvsd.test.ts", "src/test/debugger/capabilities.test.ts", "src/test/debugger/common/constants.ts", "src/test/debugger/common/debugStreamProvider.test.ts", diff --git a/build/test-requirements.txt b/build/test-requirements.txt index e2248888e5d1..90239895741d 100644 --- a/build/test-requirements.txt +++ b/build/test-requirements.txt @@ -7,12 +7,15 @@ black ; python_version>='3.6' yapf pylint pycodestyle -prospector +prospector==1.2.0 # Last version of prospector with Python 2.7 support pydocstyle nose -pytest==4.6.9 # Last version of pytest with Python 2.7 support +pytest < 6.0.0; python_version > '2.7' # Tests do not support pytest 6 yet. rope flask django isort -pathlib2>=2.2.0 ; python_version<'3.6' # Python 2.7 compatibility (pytest) + # Python 2.7 compatibility (pytest) +pytest==4.6.9; python_version == '2.7' +pathlib2>=2.2.0; python_version == '2.7' +py==1.8.1; python_version == '2.7' diff --git a/build/tslint-rules/messagesMustBeLocalizedRule.js b/build/tslint-rules/messagesMustBeLocalizedRule.js index 76c892de9653..acf4beaba811 100644 --- a/build/tslint-rules/messagesMustBeLocalizedRule.js +++ b/build/tslint-rules/messagesMustBeLocalizedRule.js @@ -26,8 +26,8 @@ class NoStringLiteralsInMessages extends baseRuleWalker.BaseRuleWalker { visitCallExpression(node) { if (!this.shouldIgnoreNode(node)) { node.arguments - .filter(arg => ts.isStringLiteral(arg) || ts.isTemplateLiteral(arg)) - .forEach(arg => { + .filter((arg) => ts.isStringLiteral(arg) || ts.isTemplateLiteral(arg)) + .forEach((arg) => { this.addFailureAtNode(arg, failureMessage); }); } diff --git a/build/unlocalizedFiles.json b/build/unlocalizedFiles.json index a30be98420fe..4da3d450af23 100644 --- a/build/unlocalizedFiles.json +++ b/build/unlocalizedFiles.json @@ -7,7 +7,6 @@ "src/client/formatters/baseFormatter.ts", "src/client/formatters/blackFormatter.ts", "src/client/interpreter/configuration/pythonPathUpdaterService.ts", - "src/client/interpreter/locators/services/pipEnvService.ts", "src/client/linters/errorHandlers/notInstalled.ts", "src/client/linters/errorHandlers/standard.ts", "src/client/linters/linterCommands.ts", @@ -15,6 +14,7 @@ "src/client/providers/importSortProvider.ts", "src/client/providers/objectDefinitionProvider.ts", "src/client/providers/simpleRefactorProvider.ts", + "src/client/pythonEnvironments/discovery/locators/services/pipEnvService.ts", "src/client/terminals/codeExecution/helper.ts", "src/client/testing/common/debugLauncher.ts", "src/client/testing/common/managers/baseTestManager.ts", diff --git a/build/util.js b/build/util.js index 8a5ce3daf7d5..93a60e7fb19b 100644 --- a/build/util.js +++ b/build/util.js @@ -12,7 +12,7 @@ function getListOfFiles(filename) { } const data = fs.readFileSync(filename).toString(); const files = JSON.parse(data); - return files.map(file => { + return files.map((file) => { return path.join(exports.ExtensionRootDir, file.replace(/\//g, path.sep)); }); } diff --git a/build/webpack/common.js b/build/webpack/common.js index 8150caebf015..4d3ef5a2367a 100644 --- a/build/webpack/common.js +++ b/build/webpack/common.js @@ -1,61 +1,60 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -'use strict'; - -const glob = require('glob'); -const path = require('path'); -const webpack_bundle_analyzer = require('webpack-bundle-analyzer'); -const constants = require('../constants'); -exports.nodeModulesToExternalize = [ - 'unicode/category/Lu', - 'unicode/category/Ll', - 'unicode/category/Lt', - 'unicode/category/Lo', - 'unicode/category/Lm', - 'unicode/category/Nl', - 'unicode/category/Mn', - 'unicode/category/Mc', - 'unicode/category/Nd', - 'unicode/category/Pc', - '@jupyterlab/services', - 'azure-storage', - 'request', - 'request-progress', - 'source-map-support', - 'diff-match-patch', - 'sudo-prompt', - 'node-stream-zip', - 'xml2js', - 'vsls/vscode', - 'pdfkit', - 'crypto-js', - 'fontkit', - 'linebreak', - 'png-js', - '@koa/cors', - 'koa', - 'koa-compress', - 'koa-logger', - 'zeromq' -]; -exports.nodeModulesToReplacePaths = [...exports.nodeModulesToExternalize]; -function getDefaultPlugins(name) { - const plugins = []; - plugins.push( - new webpack_bundle_analyzer.BundleAnalyzerPlugin({ - analyzerMode: 'static', - reportFilename: `${name}.analyzer.html`, - generateStatsFile: true, - statsFilename: `${name}.stats.json`, - openAnalyzer: false // Open file manually if you want to see it :) - }) - ); - return plugins; -} -exports.getDefaultPlugins = getDefaultPlugins; -function getListOfExistingModulesInOutDir() { - const outDir = path.join(constants.ExtensionRootDir, 'out', 'client'); - const files = glob.sync('**/*.js', { sync: true, cwd: outDir }); - return files.map(filePath => `./${filePath.slice(0, -3)}`); -} -exports.getListOfExistingModulesInOutDir = getListOfExistingModulesInOutDir; +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +'use strict'; + +const glob = require('glob'); +const path = require('path'); +const webpack_bundle_analyzer = require('webpack-bundle-analyzer'); +const constants = require('../constants'); +exports.nodeModulesToExternalize = [ + 'unicode/category/Lu', + 'unicode/category/Ll', + 'unicode/category/Lt', + 'unicode/category/Lo', + 'unicode/category/Lm', + 'unicode/category/Nl', + 'unicode/category/Mn', + 'unicode/category/Mc', + 'unicode/category/Nd', + 'unicode/category/Pc', + '@jupyterlab/services', + 'azure-storage', + 'request', + 'request-progress', + 'source-map-support', + 'diff-match-patch', + 'sudo-prompt', + 'node-stream-zip', + 'xml2js', + 'vsls/vscode', + 'pdfkit/js/pdfkit.standalone', + 'crypto-js', + 'fontkit', + 'linebreak', + 'png-js', + 'zeromq' +]; +exports.nodeModulesToReplacePaths = [...exports.nodeModulesToExternalize]; +function getDefaultPlugins(name) { + const plugins = []; + // Only run the analyzer on a local machine or if required + if (!constants.isCI || process.env.VSC_PYTHON_FORCE_ANALYZER) { + plugins.push( + new webpack_bundle_analyzer.BundleAnalyzerPlugin({ + analyzerMode: 'static', + reportFilename: `${name}.analyzer.html`, + generateStatsFile: true, + statsFilename: `${name}.stats.json`, + openAnalyzer: false // Open file manually if you want to see it :) + }) + ); + } + return plugins; +} +exports.getDefaultPlugins = getDefaultPlugins; +function getListOfExistingModulesInOutDir() { + const outDir = path.join(constants.ExtensionRootDir, 'out', 'client'); + const files = glob.sync('**/*.js', { sync: true, cwd: outDir }); + return files.map((filePath) => `./${filePath.slice(0, -3)}`); +} +exports.getListOfExistingModulesInOutDir = getListOfExistingModulesInOutDir; diff --git a/build/webpack/loaders/externalizeDependencies.js b/build/webpack/loaders/externalizeDependencies.js index 654da53163ea..ff2fc0b81ea2 100644 --- a/build/webpack/loaders/externalizeDependencies.js +++ b/build/webpack/loaders/externalizeDependencies.js @@ -1,20 +1,24 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -const common = require('../common'); -function replaceModule(contents, moduleName, quotes) { - const stringToSearch = `${quotes}${moduleName}${quotes}`; - const stringToReplaceWith = `${quotes}./node_modules/${moduleName}${quotes}`; - return contents.replace(new RegExp(stringToSearch, 'gm'), stringToReplaceWith); -} -// tslint:disable:no-default-export no-invalid-this -function default_1(source) { - common.nodeModulesToReplacePaths.forEach(moduleName => { - if (source.indexOf(moduleName) > 0) { - source = replaceModule(source, moduleName, '"'); - source = replaceModule(source, moduleName, "'"); - } - }); - return source; -} -exports.default = default_1; +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +const common = require('../common'); +function replaceModule(prefixRegex, prefix, contents, moduleName, quotes) { + const stringToSearch = `${prefixRegex}${quotes}${moduleName}${quotes}`; + const stringToReplaceWith = `${prefix}${quotes}./node_modules/${moduleName}${quotes}`; + return contents.replace(new RegExp(stringToSearch, 'gm'), stringToReplaceWith); +} +// tslint:disable:no-default-export no-invalid-this +function default_1(source) { + common.nodeModulesToReplacePaths.forEach((moduleName) => { + if (source.indexOf(moduleName) > 0) { + source = replaceModule('import\\(', 'import(', source, moduleName, '"'); + source = replaceModule('import\\(', 'import(', source, moduleName, "'"); + source = replaceModule('require\\(', 'require(', source, moduleName, '"'); + source = replaceModule('require\\(', 'require(', source, moduleName, "'"); + source = replaceModule('from ', 'from ', source, moduleName, '"'); + source = replaceModule('from ', 'from ', source, moduleName, "'"); + } + }); + return source; +} +exports.default = default_1; diff --git a/build/webpack/loaders/fixNodeFetch.js b/build/webpack/loaders/fixNodeFetch.js index 512fdc05db64..0d648d131349 100644 --- a/build/webpack/loaders/fixNodeFetch.js +++ b/build/webpack/loaders/fixNodeFetch.js @@ -28,7 +28,7 @@ const nodeFetchFile = constants.isWindows ? nodeFetchIndexFile.replace(/\\/g, '\ * @param {string} source * @returns */ -exports.default = function(source) { +exports.default = function (source) { if (source.indexOf("require('node-fetch')") > 0) { source = source.replace(/require\('node-fetch'\)/g, `require('${nodeFetchFile}')`); } diff --git a/build/webpack/loaders/jsonloader.js b/build/webpack/loaders/jsonloader.js index b9bbcce75400..5ec3c7038681 100644 --- a/build/webpack/loaders/jsonloader.js +++ b/build/webpack/loaders/jsonloader.js @@ -1,6 +1,6 @@ // For some reason this has to be in commonjs format -module.exports = function(source) { +module.exports = function (source) { // Just inline the source and fix up defaults so that they don't // mess up the logic in the setOptions.js file return `module.exports = ${source}\nmodule.exports.default = false`; diff --git a/build/webpack/loaders/remarkLoader.js b/build/webpack/loaders/remarkLoader.js index b9bbcce75400..5ec3c7038681 100644 --- a/build/webpack/loaders/remarkLoader.js +++ b/build/webpack/loaders/remarkLoader.js @@ -1,6 +1,6 @@ // For some reason this has to be in commonjs format -module.exports = function(source) { +module.exports = function (source) { // Just inline the source and fix up defaults so that they don't // mess up the logic in the setOptions.js file return `module.exports = ${source}\nmodule.exports.default = false`; diff --git a/build/webpack/nativeOrInteractivePicker.html b/build/webpack/nativeOrInteractivePicker.html new file mode 100644 index 000000000000..46d6f0e7eb52 --- /dev/null +++ b/build/webpack/nativeOrInteractivePicker.html @@ -0,0 +1,8 @@ + + + + + Click here to Open Native Editor
+ Click here to Open Interactive Window + + diff --git a/build/webpack/webpack.datascience-ui-renderers.config.js b/build/webpack/webpack.datascience-ui-renderers.config.js new file mode 100644 index 000000000000..022a483c113a --- /dev/null +++ b/build/webpack/webpack.datascience-ui-renderers.config.js @@ -0,0 +1,7 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +'use strict'; + +const builder = require('./webpack.datascience-ui.config.builder'); +module.exports = [builder.renderers]; diff --git a/build/webpack/webpack.datascience-ui.config.builder.js b/build/webpack/webpack.datascience-ui.config.builder.js index 8535b129fc78..c85046241aa6 100644 --- a/build/webpack/webpack.datascience-ui.config.builder.js +++ b/build/webpack/webpack.datascience-ui.config.builder.js @@ -5,7 +5,6 @@ // Note to editors, if you change this file you have to restart compile-webviews. // It doesn't reload the config otherwise. - const common = require('./common'); const webpack = require('webpack'); const HtmlWebpackPlugin = require('html-webpack-plugin'); @@ -16,84 +15,139 @@ const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin'); const TerserPlugin = require('terser-webpack-plugin'); const constants = require('../constants'); const configFileName = 'tsconfig.datascience-ui.json'; +const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin'); // Any build on the CI is considered production mode. const isProdBuild = constants.isCI || process.argv.includes('--mode'); -function getEntry(isNotebook) { - if (isNotebook) { - return { - nativeEditor: ['babel-polyfill', `./src/datascience-ui/native-editor/index.tsx`], - interactiveWindow: ['babel-polyfill', `./src/datascience-ui/history-react/index.tsx`] - }; +function getEntry(bundle) { + switch (bundle) { + case 'notebook': + return { + nativeEditor: ['babel-polyfill', `./src/datascience-ui/native-editor/index.tsx`], + interactiveWindow: ['babel-polyfill', `./src/datascience-ui/history-react/index.tsx`] + }; + case 'renderers': + return { + renderers: ['babel-polyfill', `./src/datascience-ui/renderers/index.tsx`] + }; + case 'viewers': + return { + plotViewer: ['babel-polyfill', `./src/datascience-ui/plot/index.tsx`], + dataExplorer: ['babel-polyfill', `./src/datascience-ui/data-explorer/index.tsx`], + startPage: ['babel-polyfill', `./src/datascience-ui/startPage/index.tsx`] + }; + default: + throw new Error(`Bundle not supported ${bundle}`); } - - return { - plotViewer: ['babel-polyfill', `./src/datascience-ui/plot/index.tsx`], - dataExplorer: ['babel-polyfill', `./src/datascience-ui/data-explorer/index.tsx`] - }; } -function getPlugins(isNotebook) { - const plugins = []; +function getPlugins(bundle) { + const plugins = [ + new ForkTsCheckerWebpackPlugin({ + checkSyntacticErrors: true, + tsconfig: configFileName, + reportFiles: ['src/datascience-ui/**/*.{ts,tsx}'], + memoryLimit: 9096 + }) + ]; if (isProdBuild) { - plugins.push(...common.getDefaultPlugins(isNotebook ? 'notebook' : 'viewers')); + plugins.push(...common.getDefaultPlugins(bundle)); } - - if (isNotebook) { - plugins.push( - new MonacoWebpackPlugin({ - languages: [] // force to empty so onigasm will be used - }), - new HtmlWebpackPlugin({ - template: 'src/datascience-ui/native-editor/index.html', - indexUrl: `${constants.ExtensionRootDir}/out/1`, - chunks: ['monaco', 'commons', 'nativeEditor'], - filename: 'index.nativeEditor.html' - }), - new HtmlWebpackPlugin({ - template: 'src/datascience-ui/history-react/index.html', - indexUrl: `${constants.ExtensionRootDir}/out/1`, - chunks: ['monaco', 'commons', 'interactiveWindow'], - filename: 'index.interactiveWindow.html' - }) - ); - } else { - const definePlugin = new webpack.DefinePlugin({ - 'process.env': { - NODE_ENV: JSON.stringify('production') - } - }); - - plugins.push( - ...(isProdBuild ? [definePlugin] : []), - ...[ + switch (bundle) { + case 'notebook': + plugins.push( + new MonacoWebpackPlugin({ + languages: [] // force to empty so onigasm will be used + }), + new HtmlWebpackPlugin({ + template: path.join(__dirname, '/nativeOrInteractivePicker.html'), + chunks: [], + filename: 'index.html' + }), new HtmlWebpackPlugin({ - template: 'src/datascience-ui/plot/index.html', - indexUrl: `${constants.ExtensionRootDir}/out/1`, - chunks: ['commons', 'plotViewer'], - filename: 'index.plotViewer.html' + template: 'src/datascience-ui/native-editor/index.html', + chunks: ['monaco', 'commons', 'nativeEditor'], + filename: 'index.nativeEditor.html' }), new HtmlWebpackPlugin({ - template: 'src/datascience-ui/data-explorer/index.html', - indexUrl: `${constants.ExtensionRootDir}/out/1`, - chunks: ['commons', 'dataExplorer'], - filename: 'index.dataExplorer.html' + template: 'src/datascience-ui/history-react/index.html', + chunks: ['monaco', 'commons', 'interactiveWindow'], + filename: 'index.interactiveWindow.html' }) - ] - ); + ); + break; + case 'renderers': { + const definePlugin = new webpack.DefinePlugin({ + 'process.env': { + NODE_ENV: JSON.stringify('production') + } + }); + + plugins.push(...(isProdBuild ? [definePlugin] : [])); + break; + } + case 'viewers': { + const definePlugin = new webpack.DefinePlugin({ + 'process.env': { + NODE_ENV: JSON.stringify('production') + } + }); + + plugins.push( + ...(isProdBuild ? [definePlugin] : []), + ...[ + new HtmlWebpackPlugin({ + template: 'src/datascience-ui/plot/index.html', + indexUrl: `${constants.ExtensionRootDir}/out/1`, + chunks: ['commons', 'plotViewer'], + filename: 'index.plotViewer.html' + }), + new HtmlWebpackPlugin({ + template: 'src/datascience-ui/data-explorer/index.html', + indexUrl: `${constants.ExtensionRootDir}/out/1`, + chunks: ['commons', 'dataExplorer'], + filename: 'index.dataExplorer.html' + }), + new HtmlWebpackPlugin({ + template: 'src/datascience-ui/startPage/index.html', + indexUrl: `${constants.ExtensionRootDir}/out/1`, + chunks: ['commons', 'startPage'], + filename: 'index.startPage.html' + }) + ] + ); + break; + } + default: + throw new Error(`Bundle not supported ${bundle}`); } return plugins; } -function buildConfiguration(isNotebook) { +function buildConfiguration(bundle) { // Folder inside `datascience-ui` that will be created and where the files will be dumped. - const bundleFolder = isNotebook ? 'notebook' : 'viewers'; - - return { + const bundleFolder = bundle; + const filesToCopy = []; + if (bundle === 'notebook') { + // Include files only for notebooks. + filesToCopy.push( + ...[ + { + from: path.join(constants.ExtensionRootDir, 'out/ipywidgets/dist/ipywidgets.js'), + to: path.join(constants.ExtensionRootDir, 'out', 'datascience-ui', bundleFolder) + }, + { + from: path.join(constants.ExtensionRootDir, 'node_modules/font-awesome/**/*'), + to: path.join(constants.ExtensionRootDir, 'out', 'datascience-ui', bundleFolder, 'node_modules') + } + ] + ); + } + const config = { context: constants.ExtensionRootDir, - entry: getEntry(isNotebook), + entry: getEntry(bundle), output: { path: path.join(constants.ExtensionRootDir, 'out', 'datascience-ui', bundleFolder), filename: '[name].js', @@ -115,7 +169,7 @@ function buildConfiguration(isNotebook) { commons: { name: 'commons', chunks: 'initial', - minChunks: isNotebook ? 2 : 1, // We want at least one shared bundle (2 for notebooks, as we want monago split into another). + minChunks: bundle === 'notebook' ? 2 : 1, // We want at least one shared bundle (2 for notebooks, as we want monago split into another). filename: '[name].initial.bundle.js' }, // Even though nteract has been split up, some of them are large as nteract alone is large. @@ -181,14 +235,19 @@ function buildConfiguration(isNotebook) { { from: './**/*.png', to: '.' }, { from: './**/*.svg', to: '.' }, { from: './**/*.css', to: '.' }, - { from: './**/*theme*.json', to: '.' } + { from: './**/*theme*.json', to: '.' }, + { + from: path.join(constants.ExtensionRootDir, 'node_modules/requirejs/require.js'), + to: path.join(constants.ExtensionRootDir, 'out', 'datascience-ui', bundleFolder) + }, + ...filesToCopy ], { context: 'src' } ), new webpack.optimize.LimitChunkCountPlugin({ maxChunks: 100 }), - ...getPlugins(isNotebook) + ...getPlugins(bundle) ], externals: ['log4js'], resolve: { @@ -198,16 +257,30 @@ function buildConfiguration(isNotebook) { module: { rules: [ - // All files with a '.ts' or '.tsx' extension will be handled by 'awesome-typescript-loader'. { test: /\.tsx?$/, - use: { - loader: 'awesome-typescript-loader', - options: { - configFileName, - reportFiles: ['src/datascience-ui/**/*.{ts,tsx}'] + use: [ + { loader: 'cache-loader' }, + { + loader: 'thread-loader', + options: { + // there should be 1 cpu for the fork-ts-checker-webpack-plugin + workers: require('os').cpus().length - 1, + workerNodeArgs: ['--max-old-space-size=9096'], + poolTimeout: isProdBuild ? 1000 : Infinity // set this to Infinity in watch mode - see https://github.com/webpack-contrib/thread-loader + } + }, + { + loader: 'ts-loader', + options: { + happyPackMode: true, // IMPORTANT! use happyPackMode mode to speed-up compilation and reduce errors reported to webpack + configFile: configFileName, + // Faster (turn on only on CI, for dev we don't need this). + transpileOnly: true, + reportFiles: ['src/datascience-ui/**/*.{ts,tsx}'] + } } - } + ] }, { test: /\.svg$/, @@ -238,7 +311,15 @@ function buildConfiguration(isNotebook) { } ] }, - { test: /\.(png|woff|woff2|eot|gif|ttf)$/, loader: 'url-loader?limit=100000' }, + { + test: /\.(png|woff|woff2|eot|gif|ttf)$/, + use: [ + { + loader: 'url-loader?limit=100000', + options: { esModule: false } + } + ] + }, { test: /\.less$/, use: ['style-loader', 'css-loader', 'less-loader'] @@ -246,7 +327,13 @@ function buildConfiguration(isNotebook) { ] } }; + + if (bundle === 'renderers') { + delete config.optimization; + } + return config; } -exports.notebooks = buildConfiguration(true); -exports.viewers = buildConfiguration(false); +exports.notebooks = buildConfiguration('notebook'); +exports.viewers = buildConfiguration('viewers'); +exports.renderers = buildConfiguration('renderers'); diff --git a/build/webpack/webpack.debugadapter.config.js b/build/webpack/webpack.debugadapter.config.js deleted file mode 100644 index c26664f843dc..000000000000 --- a/build/webpack/webpack.debugadapter.config.js +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -'use strict'; - -const path = require('path'); -const tsconfig_paths_webpack_plugin = require('tsconfig-paths-webpack-plugin'); -const constants = require('../constants'); -const common = require('./common'); -// tslint:disable-next-line:no-var-requires no-require-imports -const configFileName = path.join(constants.ExtensionRootDir, 'tsconfig.extension.json'); -const config = { - mode: 'production', - target: 'node', - entry: { - 'debugger/debugAdapter/main': './src/client/debugger/debugAdapter/main.ts' - }, - devtool: 'source-map', - node: { - __dirname: false - }, - module: { - rules: [ - { - // JupyterServices imports node-fetch. - test: /@jupyterlab[\\\/]services[\\\/].*js$/, - use: [ - { - loader: path.join(__dirname, 'loaders', 'fixNodeFetch.js') - } - ] - }, - { - test: /\.ts$/, - exclude: /node_modules/, - use: [ - { - loader: 'ts-loader' - } - ] - } - ] - }, - externals: ['vscode', 'commonjs'], - plugins: [...common.getDefaultPlugins('debugger')], - resolve: { - extensions: ['.ts', '.js'], - plugins: [new tsconfig_paths_webpack_plugin.TsconfigPathsPlugin({ configFile: configFileName })] - }, - output: { - filename: '[name].js', - path: path.resolve(constants.ExtensionRootDir, 'out', 'client'), - libraryTarget: 'commonjs2', - devtoolModuleFilenameTemplate: '../../[resource-path]' - } -}; -// tslint:disable-next-line:no-default-export -exports.default = config; diff --git a/build/webpack/webpack.extension.config.js b/build/webpack/webpack.extension.config.js index 26ba0fb968d3..8e10d6a34317 100644 --- a/build/webpack/webpack.extension.config.js +++ b/build/webpack/webpack.extension.config.js @@ -13,11 +13,6 @@ const configFileName = path.join(constants.ExtensionRootDir, 'tsconfig.extension // Some modules will be pre-genearted and stored in out/.. dir and they'll be referenced via NormalModuleReplacementPlugin // We need to ensure they do not get bundled into the output (as they are large). const existingModulesInOutDir = common.getListOfExistingModulesInOutDir(); -// tslint:disable-next-line:no-var-requires no-require-imports -const FileManagerPlugin = require('filemanager-webpack-plugin'); -// If ENABLE_GATHER variable is defined, don't exclude the python-program-analysis pacakge. -// See externals, below. -const ppaPackageList = process.env.ENABLE_GATHER ? [] : ['@msrvida/python-program-analysis']; const config = { mode: 'production', target: 'node', @@ -61,28 +56,19 @@ const config = { { enforce: 'post', test: /linebreak[\/\\]src[\/\\]linebreaker.js/, loader: 'transform-loader?brfs' } ] }, - // Packages listed in externals keeps webpack from trying to package them. - // The ppaPackageList variable is set to non-empty if the build pipeline has been - // authenticated to install @msrvida/python-program-analysis. - externals: ['vscode', 'commonjs', ...ppaPackageList, ...existingModulesInOutDir], + externals: ['vscode', 'commonjs', ...existingModulesInOutDir], plugins: [ ...common.getDefaultPlugins('extension'), - // Copy pdfkit bits after extension builds. webpack can't handle pdfkit. - new FileManagerPlugin({ - onEnd: [ - { - copy: [ - { source: './node_modules/fontkit/*.trie', destination: './out/client/node_modules' }, - { source: './node_modules/pdfkit/js/data/*.*', destination: './out/client/node_modules/data' }, - { source: './node_modules/pdfkit/js/pdfkit.js', destination: './out/client/node_modules/' } - ] - } - ] - }), + new copyWebpackPlugin([ + { + from: './node_modules/pdfkit/js/pdfkit.standalone.js', + to: './node_modules/pdfkit/js/pdfkit.standalone.js' + } + ]), // ZMQ requires prebuilds to be in our node_modules directory. So recreate the ZMQ structure. // However we don't webpack to manage this, so it was part of the excluded modules. Delete it from there // so at runtime we pick up the original structure. - new removeFilesWebpackPlugin({ after: { include: ['./out/client/node_modules/zeromq.js'] } }), + new removeFilesWebpackPlugin({ after: { include: ['./out/client/node_modules/zeromq.js'], log: false } }), new copyWebpackPlugin([{ from: './node_modules/zeromq/**/*.js' }]), new copyWebpackPlugin([{ from: './node_modules/zeromq/**/*.node' }]), new copyWebpackPlugin([{ from: './node_modules/zeromq/**/*.json' }]), diff --git a/build/webpack/webpack.extension.dependencies.config.js b/build/webpack/webpack.extension.dependencies.config.js index 75cdf50a9c37..3ef870b67fd3 100644 --- a/build/webpack/webpack.extension.dependencies.config.js +++ b/build/webpack/webpack.extension.dependencies.config.js @@ -1,67 +1,67 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -'use strict'; - -// tslint:disable-next-line: no-require-imports -const copyWebpackPlugin = require('copy-webpack-plugin'); -const path = require('path'); -const constants = require('../constants'); -const common = require('./common'); -const entryItems = {}; -common.nodeModulesToExternalize.forEach(moduleName => { - entryItems[`node_modules/${moduleName}`] = `./node_modules/${moduleName}`; -}); -const config = { - mode: 'production', - target: 'node', - context: constants.ExtensionRootDir, - entry: entryItems, - devtool: 'source-map', - node: { - __dirname: false - }, - module: { - rules: [ - { - // JupyterServices imports node-fetch. - test: /@jupyterlab[\\\/]services[\\\/].*js$/, - use: [ - { - loader: path.join(__dirname, 'loaders', 'fixNodeFetch.js') - } - ] - }, - { enforce: 'post', test: /unicode-properties[\/\\]index.js$/, loader: 'transform-loader?brfs' }, - { enforce: 'post', test: /fontkit[\/\\]index.js$/, loader: 'transform-loader?brfs' }, - { enforce: 'post', test: /linebreak[\/\\]src[\/\\]linebreaker.js/, loader: 'transform-loader?brfs' } - ] - }, - externals: ['vscode', 'commonjs'], - plugins: [ - ...common.getDefaultPlugins('dependencies'), - // vsls requires our package.json to be next to node_modules. It's how they - // 'find' the calling extension. - new copyWebpackPlugin([{ from: './package.json', to: '.' }]), - // onigasm requires our onigasm.wasm to be in node_modules - new copyWebpackPlugin([ - { from: './node_modules/onigasm/lib/onigasm.wasm', to: './node_modules/onigasm/lib/onigasm.wasm' } - ]) - ], - resolve: { - alias: { - // Pointing pdfkit to a dummy js file so webpack doesn't fall over. - // Since pdfkit has been externalized (it gets updated with the valid code by copying the pdfkit files - // into the right destination). - pdfkit: path.resolve(__dirname, 'pdfkit.js') - }, - extensions: ['.js'] - }, - output: { - filename: '[name].js', - path: path.resolve(constants.ExtensionRootDir, 'out', 'client'), - libraryTarget: 'commonjs2', - devtoolModuleFilenameTemplate: '../../[resource-path]' - } -}; -// tslint:disable-next-line:no-default-export -exports.default = config; +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +'use strict'; + +// tslint:disable-next-line: no-require-imports +const copyWebpackPlugin = require('copy-webpack-plugin'); +const path = require('path'); +const constants = require('../constants'); +const common = require('./common'); +const entryItems = {}; +common.nodeModulesToExternalize.forEach((moduleName) => { + entryItems[`node_modules/${moduleName}`] = `./node_modules/${moduleName}`; +}); +const config = { + mode: 'production', + target: 'node', + context: constants.ExtensionRootDir, + entry: entryItems, + devtool: 'source-map', + node: { + __dirname: false + }, + module: { + rules: [ + { + // JupyterServices imports node-fetch. + test: /@jupyterlab[\\\/]services[\\\/].*js$/, + use: [ + { + loader: path.join(__dirname, 'loaders', 'fixNodeFetch.js') + } + ] + }, + { enforce: 'post', test: /unicode-properties[\/\\]index.js$/, loader: 'transform-loader?brfs' }, + { enforce: 'post', test: /fontkit[\/\\]index.js$/, loader: 'transform-loader?brfs' }, + { enforce: 'post', test: /linebreak[\/\\]src[\/\\]linebreaker.js/, loader: 'transform-loader?brfs' } + ] + }, + externals: ['vscode', 'commonjs'], + plugins: [ + ...common.getDefaultPlugins('dependencies'), + // vsls requires our package.json to be next to node_modules. It's how they + // 'find' the calling extension. + new copyWebpackPlugin([{ from: './package.json', to: '.' }]), + // onigasm requires our onigasm.wasm to be in node_modules + new copyWebpackPlugin([ + { from: './node_modules/onigasm/lib/onigasm.wasm', to: './node_modules/onigasm/lib/onigasm.wasm' } + ]) + ], + resolve: { + alias: { + // Pointing pdfkit to a dummy js file so webpack doesn't fall over. + // Since pdfkit has been externalized (it gets updated with the valid code by copying the pdfkit files + // into the right destination). + pdfkit: path.resolve(__dirname, 'pdfkit.js') + }, + extensions: ['.js'] + }, + output: { + filename: '[name].js', + path: path.resolve(constants.ExtensionRootDir, 'out', 'client'), + libraryTarget: 'commonjs2', + devtoolModuleFilenameTemplate: '../../[resource-path]' + } +}; +// tslint:disable-next-line:no-default-export +exports.default = config; diff --git a/customEditor.json b/customEditor.json new file mode 100644 index 000000000000..c539fe3a3a7a --- /dev/null +++ b/customEditor.json @@ -0,0 +1,19 @@ +{ + "activationEvents": [ + "onCustomEditor:ms-python.python.notebook.ipynb" + ], + "contributes": { + "customEditors": [ + { + "viewType": "ms-python.python.notebook.ipynb", + "displayName": "Jupyter Notebook", + "selector": [ + { + "filenamePattern": "*.ipynb" + } + ], + "priority": "default" + } + ] + } +} \ No newline at end of file diff --git a/data/get-pip.py b/data/get-pip.py deleted file mode 100644 index 90d5644ff02e..000000000000 --- a/data/get-pip.py +++ /dev/null @@ -1,21492 +0,0 @@ -#!/usr/bin/env python -# -# Hi There! -# You may be wondering what this giant blob of binary data here is, you might -# even be worried that we're up to something nefarious (good for you for being -# paranoid!). This is a base85 encoding of a zip file, this zip file contains -# an entire copy of pip (version 19.1). -# -# Pip is a thing that installs packages, pip itself is a package that someone -# might want to install, especially if they're looking to run this get-pip.py -# script. Pip has a lot of code to deal with the security of installing -# packages, various edge cases on various platforms, and other such sort of -# "tribal knowledge" that has been encoded in its code base. Because of this -# we basically include an entire copy of pip inside this blob. We do this -# because the alternatives are attempt to implement a "minipip" that probably -# doesn't do things correctly and has weird edge cases, or compress pip itself -# down into a single file. -# -# If you're wondering how this is created, it is using an invoke task located -# in tasks/generate.py called "installer". It can be invoked by using -# ``invoke generate.installer``. - -import os.path -import pkgutil -import shutil -import sys -import struct -import tempfile - -# Useful for very coarse version differentiation. -PY2 = sys.version_info[0] == 2 -PY3 = sys.version_info[0] == 3 - -if PY3: - iterbytes = iter -else: - def iterbytes(buf): - return (ord(byte) for byte in buf) - -try: - from base64 import b85decode -except ImportError: - _b85alphabet = (b"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" - b"abcdefghijklmnopqrstuvwxyz!#$%&()*+-;<=>?@^_`{|}~") - - def b85decode(b): - _b85dec = [None] * 256 - for i, c in enumerate(iterbytes(_b85alphabet)): - _b85dec[c] = i - - padding = (-len(b)) % 5 - b = b + b'~' * padding - out = [] - packI = struct.Struct('!I').pack - for i in range(0, len(b), 5): - chunk = b[i:i + 5] - acc = 0 - try: - for c in iterbytes(chunk): - acc = acc * 85 + _b85dec[c] - except TypeError: - for j, c in enumerate(iterbytes(chunk)): - if _b85dec[c] is None: - raise ValueError( - 'bad base85 character at position %d' % (i + j) - ) - raise - try: - out.append(packI(acc)) - except struct.error: - raise ValueError('base85 overflow in hunk starting at byte %d' - % i) - - result = b''.join(out) - if padding: - result = result[:-padding] - return result - - -def bootstrap(tmpdir=None): - # Import pip so we can use it to install pip and maybe setuptools too - import pip._internal - from pip._internal.commands.install import InstallCommand - from pip._internal.req.constructors import install_req_from_line - - # Wrapper to provide default certificate with the lowest priority - class CertInstallCommand(InstallCommand): - def parse_args(self, args): - # If cert isn't specified in config or environment, we provide our - # own certificate through defaults. - # This allows user to specify custom cert anywhere one likes: - # config, environment variable or argv. - if not self.parser.get_default_values().cert: - self.parser.defaults["cert"] = cert_path # calculated below - return super(CertInstallCommand, self).parse_args(args) - - pip._internal.commands_dict["install"] = CertInstallCommand - - implicit_pip = True - implicit_setuptools = True - implicit_wheel = True - - # Check if the user has requested us not to install setuptools - if "--no-setuptools" in sys.argv or os.environ.get("PIP_NO_SETUPTOOLS"): - args = [x for x in sys.argv[1:] if x != "--no-setuptools"] - implicit_setuptools = False - else: - args = sys.argv[1:] - - # Check if the user has requested us not to install wheel - if "--no-wheel" in args or os.environ.get("PIP_NO_WHEEL"): - args = [x for x in args if x != "--no-wheel"] - implicit_wheel = False - - # We only want to implicitly install setuptools and wheel if they don't - # already exist on the target platform. - if implicit_setuptools: - try: - import setuptools # noqa - implicit_setuptools = False - except ImportError: - pass - if implicit_wheel: - try: - import wheel # noqa - implicit_wheel = False - except ImportError: - pass - - # We want to support people passing things like 'pip<8' to get-pip.py which - # will let them install a specific version. However because of the dreaded - # DoubleRequirement error if any of the args look like they might be a - # specific for one of our packages, then we'll turn off the implicit - # install of them. - for arg in args: - try: - req = install_req_from_line(arg) - except Exception: - continue - - if implicit_pip and req.name == "pip": - implicit_pip = False - elif implicit_setuptools and req.name == "setuptools": - implicit_setuptools = False - elif implicit_wheel and req.name == "wheel": - implicit_wheel = False - - # Add any implicit installations to the end of our args - if implicit_pip: - args += ["pip"] - if implicit_setuptools: - args += ["setuptools"] - if implicit_wheel: - args += ["wheel"] - - # Add our default arguments - args = ["install", "--upgrade", "--force-reinstall"] + args - - delete_tmpdir = False - try: - # Create a temporary directory to act as a working directory if we were - # not given one. - if tmpdir is None: - tmpdir = tempfile.mkdtemp() - delete_tmpdir = True - - # We need to extract the SSL certificates from requests so that they - # can be passed to --cert - cert_path = os.path.join(tmpdir, "cacert.pem") - with open(cert_path, "wb") as cert: - cert.write(pkgutil.get_data("pip._vendor.certifi", "cacert.pem")) - - # Execute the included pip and use it to install the latest pip and - # setuptools from PyPI - sys.exit(pip._internal.main(args)) - finally: - # Remove our temporary directory - if delete_tmpdir and tmpdir: - shutil.rmtree(tmpdir, ignore_errors=True) - - -def main(): - tmpdir = None - try: - # Create a temporary working directory - tmpdir = tempfile.mkdtemp() - - # Unpack the zipfile into the temporary directory - pip_zip = os.path.join(tmpdir, "pip.zip") - with open(pip_zip, "wb") as fp: - fp.write(b85decode(DATA.replace(b"\n", b""))) - - # Add the zipfile to sys.path so that we can import it - sys.path.insert(0, pip_zip) - - # Run the bootstrap - bootstrap(tmpdir=tmpdir) - finally: - # Clean up our temporary working directory - if tmpdir: - shutil.rmtree(tmpdir, ignore_errors=True) - - -DATA = b""" -P)h>@6aWAK2mmD%m`<4gN^}MtBUtcb8d5e!POD!tS%+HIDSFlx3GPKk -)RN?{vP)h>@6aWAK2mmD%m`-N@Pvb`c003_S000jF003}la4%n9ZDDC{Utcb8d0kO4Zo@DP-1Q0q8SE -6P(>Xwfj$MoHf@(`KQCU(&8g71HO0ki&o<#cYNZz>|C(zo>JZGyl;FMx!FrO6t%vRrOrPh9=?L}8oY6 -ou)77Hd@$a4r7F5rryfn~JTAHWO)@Mv!(a4fto86JiEF(QHSJ}y)-GntEpbmcJyNSL0Vx@Gi7c>xAuL -EgIxovfWq|0NvR`+SC`IVq5DSMEVyuc5y>N3AD=LF+DESFFQK3yL&bIL-tGT-b6~%(tWCE -QA8qFLP)h ->@6aWAK2mmD%m`<{zTe%hm001@%000>P003}la4%nJZggdGZeeUMUtei%X>?y-E^v93R&8(FHW2=X;*U%xw2l%3W6Py<0o>h8I>=Z-x4>3Qeu^QF|!Q -E#E$`?b;8%9;(7<*M_Y#j*ssX^r(Dmd>coV;T2Z)}Jd=35ADU(@5Q2r#EE2I)jML=NjONY)o=yYXtEu$-H-Gm-+BOZ^V00~A@_@kKt#R;YX;F~+>#O^V-@pfx`4TJ9IRvvJI8Va8$ENdb=f@y)O)kTy&U -t8+keW`k*)triwXqw@TIWQ=kz7M~CAHT>NbjTlEYY)AN#)U|Z9b9>#fqZ|RKjCp?0)`@@)+QZGV(<*pWow<6RAI8<%7GiZm__ -Ldg`4O+Qpu7fWi`gXwe$yB+-oXAT^C-o>eO(u)G`>R`0FaN!ISX|%Tmbd@B{p;!heuwGfY&xCN-zpmA-{5oleV1B&e-FWh`ubGg0izE% -KZO)wlw#YA$T!=C?FodnQsl@e#K*pC0%ZPUoT5Xu16`yZo4?Mm2gR8?r;Ukv%TPaPRYIpgHc4htJxYu -31A&PNe&h4w2e)^%_UDMfHx;k#%rzESxFX0 -R}T+&50~)Fjo=x}j=wK!TtU+k9kx$}@KO4FHcr{QMdYUqkGc4oVwSXF^3yn{;cse6L;km*aWLjY?u`B -1>(cZ-(H2Eg3N2sONIU#CQ@u5ZKCbfq;O15N=grLo&d;ADssDON)B))X1`r}2Jv~}VIMtf&o5~8eW>) -o|`KIcquJn2mN`9rQZ=1QY-O00;mj6qrs-OWq+R2><}#8~^|s0001RX>c!JX ->N37a&BR4FJg6RY-C?$Zgwtkd7T+uZ`(NX-M@mHK1jk!!gU{w^8(#8-4@qNf;PQHVHkoU(GEAVs3R#m -z9RqqW=K&YB{}V`Uu;qH#rdA`#l^*MEvrg$RUeq(^`6#>w33!&%LQSQSGi)mCS@yFy(6+@QjvSafXBt -f#l>R5_6-+`RD8F?v+j{g`%9kspNc-IqsW`ZR`5M3cvaB?$xG4!+=!A2TE1n4GBC)mRjiUJkSTb*Wjh -PIqbh4o>Vel;#qJIGJW#G4{cL^jb5Gf{qaP -bJ2{7ltA&thiTmQ^&%NG|a>t9YSx=P+iqqN2{L)Ld!LWMQ$3ys9$U-Zz4SH1a%>qWdN*nXrg=@cb4eE -)*B17tl@(8n8q9_t)F6+2#AI%YS8`zFc2_xc>b-X3H!VZ)lxKpi@%;cHhpBSuO~CG%cUwUE5SNCZM^P -d;t3SJwDzvsG+=y$wx5sfa}Y_>XJTLLbrMGnD6L2JOnAw?WiCt>whU&{G&b#v#iedV326BSQJ$*CCP3 -D-Lj|ULUStV7L3Mfrm`%QwA#i5T_rMiz|SkZ1YMF)DiM+7S8~m3+P_7V6fuB1e)%sXRc!-r-sP1X;oP -%YTW~eFXV^pFC#Y3GK)+n3cm=XrnIj6MNYHS}p0Y+?C5S!5LoVd%TX3IC8Z5O?F~CC%J15UQMzjuOAy -}hiuyO8u%@y1k>4ReX01TYqQXC~G>VZ0F5QHKZC(T0=$;s{M_5>*e;#{D6Rwp9c25m^ow8v{&K>^e1q -L1egr3PoC1>3S>rL`CnbLo{f(?9|se}KfDXwOjqRrhkNEWM?tS#3BtMZ-y8weAoG#i4P23@5fMHoa%+ -B<$qikl+6aI_rE9^6aIcxq>v6*CpBKHADdZ?lLr_YwF~0Fb}Jxf{bEPHF$a>Euk~MKj-ylTt4el(8|v -~A>_t#b)k7CAkam01~D!4ZNg|V0x;I0s4S-xgno2{7!$D#<`9Aet(pGGSsjk}mi0tgmf4mhCOyv@QPfvQt>_eA0?703f|_rP6D1N!Ocn9Kw`v-2!0BW5R)9t= -|MJlMex_Wz>O{XXrL2(aS-b`elYMQJ3GmYgjKpOBRsqLIjJnN;Ne!vxk76@28w7{%c5>WJWlH -x}Qgmfr52$^nE7|5IXR3R?St9NT0w1Z$$f5 -N*$*im8@KaxYz1&RTA8UTBP02<`s={ajqr(_UfzN$&o%Sd3yqrMe2j8Z7S>iX^$5`CqwQ_z>8FoBesb -<+sV#Ke4=kCz!qe90RD=eDP(v;?$p4YRS^-Gui1a%h8bW1bW(@|n>(JN^}VR{97X^hQ@05cBwnL=+=# -ssX0oe=a*rYJHx<8`l0lEn77Pm?-JcHO_*AlZ-SRW>i5^(g2mD8vokeQd@b_Q0tX#}OK(TP&PVog6P; -xeqb1qOSZxW2>rZL@2iU(@vyIJo$kF#9@;2v3@Vn>|OJNy?@snVAt|e!M}ZT_a4jr?bo~aH`muUUp`- -b`uySUYBf;$1bPqT5KUw*;Gu~)GTS^b|$7G*~s!U_GS -Qcl+`vR_F%qBjetusFfk=S`$Iee9qVpMg4e+;&^fBT&<^cq-!q<^@r*td88%Pm*8%57eRS{m4B8pSAm -aw8I^8Pi0Pt*)f^zoILHT;`4AS99?MKrHbF|p-ChXZwy>2=b`1tD%cY}GxG9K<AD>ZFVp6F_Tx}_y>SOQVcg1L8{1nA{@yu{@9|!|3}S5cRw*8w-`_S3dBzsLcgunx@kv&<&BR(Nw)2i!uo5_6uh8)BCFt#eS)UW6pRI@#4)htTEHT3k*4F| -FAouPcT&|vl+C_90U#K$I#uV;AAR8Sa;3mOKQ)_Cwzqz7@(jhT8i7+M+Os^5 -ZTjVUa6j@+;Z-F9N@&2ZL=O3rAo6LB3R45XM~Kt|e3(=i~4JnJ^j^$gbQ@CDB+3Ub?mB0|&% --IbhlOHq8$`FDuqEi^x=132U060enqnG11okVU%nptw#zcRuu_3HIScjn77`g0~kCb0!wb>G9^4A=ao -nJje22g7Rj4W!S6H+p%I=vF`nk6z`XRmPYW@B5qF2Bi6cF>3<$S9@-sz?r7i2b!(QhNCUQew8)3I<|G -vAuMtxDgJBmVGr#fg46O!2ri&i`#(@i0|XQR000O8B@~!Wn_6G(90>pb=p6t6761SMaA|NaUukZ1WpZ -v|Y%gPBV`ybAaCya8ZI9bF68^rwf^a^pba0ejkjn=HF3_f%Hn?Pa$fgL2#X_JZ+EyZyI#OE44f@~jnW -0`N*-p|nhx)@}MRDF|o|(~XHhU(strD-KmK(KGy1tmrW)~O5t}?b3%35u@hplwmvRHMGrP*u>z3Co}y -SP|evlCTOCF#A=xv@zlv-gs2B~4wFPPBJ3sf{i&Sr)&kRLh+TNef*ot7VzwX0J;l^Ny;L^){_d+Su~c -^_|I8>5{V0?>mZ@`2W;ZRwl{J4lKL7>O&=U-Z*8?Q`Bl#rFmgHnm2g`=i49nq^_|MP4 -5?5C?||4v{3a((^c`o~k0`>j%CNAg17!&muRI(uG}id;4q{D@GkPq18E2>h7uSo+UZT^IELbM>Jkes1he*3XQtt$}390AX&>Lr5x5YjV~@PvQj!HIL{)pdIxXCUOi;mcU -s7mtF6qC6@2fZsI0j!a^;XFl$v?#-~uOWV?{1&={2QLBkPzK{T7w9a_7k?ObhV_^wt<;=UUYGpI;?Yf -;F3!X5Ov^+#$T4L^iUy)v-2^y({XT5&c$$maODTk-x1%=K27f6)elr>{Xt61>8dHw?(#X^>HM9jcB`p -gK%5Zl(}&5N5GDL(IqQzxD-fZap_EBGld7MnB3^{(8&|XrbfBA3xfAxuGS(&;EOsNnYz3U#@ -;x(`vD2`5~`SRMz4R^hPAC*rpE~EO9E7OqS#sxJ8wY+~3;ahTU0s~U=04}E;-@%zkNxns0l)+IHPG~? -AWhM*lUx#lNqayExCbFu~Vx!q|#?Fs!$IRygx4SqVDNTM}irIsfuxA;EF}l(j+9^i?7dSQ?T(^~vA3v -dZT$ZKqE-zf@Z-^8Q;8;o<@N+6_Y*8Nw+)?K>;Ut1h?Edw1E>`d_^OuBh7QF{=Ygs~py285%{s~ie+c -*JWbe^w@6Y&!&=bp&8W31Q8DxE=y593b0hmX;x2+{*a!%c22WGs1mPx6BEy&66qI;RM6E{?# -SV+&IN7QXd9hKhj^Z;}uko@~bZBkPASLj!vamyQ#!?%RIMdv|Ocih|aj6{9?@3=uT%Yi^(d0a$bj@mX -6Z}Y6!0q|XU}&Gy-s0QEmK(GP>?P-@- -}FGCAq(8BmK)ENY%C>{@kup=535S7)WhZuWwBh=>9d(yc-jKdNiNgvm4>y+ETPyHP1B`uE!<7niVo^W -U`Ct4YeVdkf{o@?ah_7C}SWH7MC##ScJ2L7a9WpkNjV9b^Y_z^_#iqpWgiN;`Q%i(y>LOQ&~7QB>1siU)Xw)& -SA5B?S;v{Y7dN+H1qkMm=8^iV2h!C)NMx!qL0)sc2&vioyyrq9X7RUf2CRss-ic;5$@7X1`}kcK82*9 -y$d0AbKjizq^@o0a1fvp=A`_uTFOD;==3l&vb;Y%Z#JwwHujGsH@(B%aB|{o4y7L{hr2ugEg(4#n4T7G4-3+x`A?N`r4sYW6%Bb`^1;659gMKsrE8tRv)CWQ1q|14)$28C`)1kBhXH6Sca6>ujIgg=u&;l-TP1 -#QSgPwbOR~qx4Mw4b3NIaWuf%Y)y`nKIVkspc|2M`fvLF};57QC1r{D5ASFs@jYN???8fR~<^ZgwjiA -+pBnG)(9Sp4=g9wF=nsFxg6M@7p15sJCIc`fsBWag}TmkvwWaFI*RL^PAGV_;eXgBK@Qo?Ed7lRa0Oq -mz~-~^G)(ik|gvJCPG`fQuF0D#?l9lXX#lRb_m1OGLM2E*22!mpG(ZLbuLRSrzelcSF -zls^7D2!n9@9fb3P4e?(bc!=K@80lO0aY~&=+HOE(v^%|Vdc+GV;)avEO;n0ayM8fn9xseTzaKDiJhf -q!_S~>k|07&q{%;L!7+h&M4kjD#Md;FQb$aBPe%k${DqM}zsfT_(@Js)#FB-(eqnqvgbLunUF-t0#LN -{vkq8<2HKmt^y&wVP7;$!j$;(N|yhMRtY!pwZY=Bpn`n{6MdI{PxQgMYe(HX5mr^5@4CWma)E74;=RW{-kU^pzFuXY%3m -@Y%ll`DXgLKFW^hKW{I`U$!H_eZHJ2GWj6~;UQ}{i_b7fylvqE>^t?uYoBh^6P^SGQ&Ug1=|4USO_gs -M48cA>7`?T!I!Xpc`J=RZAvhk)jax -JZZM0lj_`L7FC#_9G?Z`u~WBo#Mu`aBu|F$XaYs_!mH}G(N8%Nn=NcVBzXzo34+k_80zvnYWgDLITog -qi)6&Q4O_ZW%yntxp-0&jeg5?{YPLmf1~ek_@IV>W -aCyyIdvDt~693NQke{e28$?n5 -b8h=QVP{l+0I|V7sD9St?XgNg%UgyS1o*^|dgp**(IFr^Fm9xvW@%OE0TpGYW!WG?JULsA`rK3C~3PZ -M6cD_G_U=Bb>oXSw``l$kU>Vl>8KJiaVj08KqY(d8I_Ip -lCCHW2R=t3&^ekpeE_a%INODf^nguUOEnV`Aj5&e0`cUliuq*ONZbR2bmW{=qQ8W>pfJf-=sWuC$$vs -4)1_W(p%SFixu7|}Gw7Og~mLGQviMzfD&7&UstF5kXCo3b~2emc6-%ayZIuWX -iu_JiMNUXkRD=p+ONjmwnHl{7Bi+F+$5AE9j3**IiBBf%T=^-=n3T>+&uFu}h0#I%R#LV-EeL$nSE=3}jGNEy=F5Z6s>|z#Zch+OU==PwQ4f -|21+Ip|g-=EC_bX=F({G+VuEzcJ0%+Zxc{_OJOEC5Zm({Lhr*wy(}{QT|Z%kx+9%kzsfJ3RjQ>>W)3g -eBh1aCeE12;CrRH9{#R8HnD8x3IYR72w`z01V~_a3C1(MyIYoBkiGARdEN~R*Yjz0vBI`J)tk~BmoOW -Pykw*5PtC^gNa>4>HS(NrkR65cLGcg?5U;x?CKnJ$ZJ-ETPPOT0EN*7%^?8S*&FzPcZ$|kbx{e@y$+A -PuqbPI#e$Z|Hcvt6Fo6i!aA;QxTxNL&ex%qE+>Hb0!V>`nLx|G2^i2UP;Rj0&S+h&nrO`CefxzbOfIE -q!nBZ!U($tE;r8dkE9grl^GqhRCYp(YX#E@A903{PJe~SwAf&38yf~?~hf_}D~z~~}F2|<8@NEf4L&n -}BxH~`Ri=}l1pa3ijgv*NI3klL1jGM=RY_QDe5s9DhfJw7pLNTzYKCOGJvJT*e^oM^|6vl(B7e=;{u*lnpmJ|VLppb@LF-?C1~ha&A}}_j9Cr1xas?q-#DJR=kuey|17Jm=kAp -teA}a%Lli!PkWANW$a2F-3E1uk%>#wPk7F_DHw?~s%PuYAy#$>*u*$&C5nfs;H4Q -5!R7oA+qDUrgUIq9ZQi^ZbDmMJ3+a`pMkAHWrTBz_Qj270w}fItSk*@;K -tW9ARToS#f)3y-VXKp9xpX>PA_sD_{c!986vC3{qdp)xG@RuC6e?vA6L$**mjYl3LL305(zy_P=b91 -y8n*_yL(sZoU3C#$r-fQ>C>Cu=C>S!XeK?-~t=+UP1lc*n`cH)PgVe}W8eu~=w^7F>Y)c&1SbckUr0r -M5ie(bA{S^Ep(kqP_h5|?ja@;&AC!@l%A$GquJh32cG=OSvSMV)~m@z2;FgLVIo0G$)-1S}w$f9gGq; -jyEpG1S~9am$^?;P0aDetw|52@}@C=V_RNJx@3ZVjTe6O?hUjwn=L6cfF-0}>$}4`Rz3GQCDLLy6n4V -6*^C0l(&VqRj-{jA@CnYr;xf93M0PkqbX&hU1o9{7H1SW(vJt!GJvp>I>sVM8^%AP1(N -Uvm|krEULd>@$Xs8O+nPH+VEK4)hs%`?1>W<^-C{xer|nvON%i?XI~qHoUrxfoB`PLQf%%O>Of5t2*X -jT}%3a1pYij0yUspm}L2wIQ~d)`~NfHcLE!VBwS?N$k}uh-Jwm!qKb{E*9g!v_7Z9=(KYX{GHv8QM+e -9%v0>r#n%E8s)ruHQvBLw~?#&-$%W$Bl#+sP#5gj=I*L^}m%#vs=OS-#AYfYL$cf--Db`-@oWxekaF# -}_WNT`1N6B>qXz}3R)*FL@IVIOc3Y)*+!jpGyfJ_Qp=uIr+t(2YZnk!%x!j=1n=u*AL<+Q-*H54Hxx@ -(_IS_5!xoU;E*eEk40ZC|xp0i*$FG2^`AiGMznLMC>XPT%o?H#|y^D+0Awp1wB&Eeo~R$kFHMa1%&## -^!=I}e@(VkC8$0*-GG#lVk6Z9s0JOoC5tb5-CB-hzAVDv$4cr9u3(Q96qm~ZmwUv{h#5! -#D=-RVUwneHM@7Dpo0fi9sHo)iI)cyCQ`S^FWGRs^N|9U333kC4Rku7CR`Gxds2M_!Oi%Wzl6N3YRu$ -VCD|_=}+d&$Z<-=7emjg9J-=B^I94I5Ga4S{-Amqxxo9S@d=amMsSHN1Jxf(}U|PD|oMbq^-Mhmc~+nonTd)iCI6&_pJNji&3Mb-<8T@`l&+jF^&t=*b6b$G28ro4%>AWt?O$ -~FoBV!&7M(;itmdZmS0MckW*cQ5?ubyCWcm2ZtTS>rpE$1IMpKQV2@6jis}mMBjlIWeY@^Y{Io|I-{l -p0$&FrMI=AcUMQ${1aV;2XU-fW8!+C_C0t8ZeYMSfD#VIEM -dgjSw}H`|&e@Vyqzp`Iqyv_bYezMmkPu8XWaor|2IFA5#mVNpqjzT9S51m*dl -Mza=1I9P`IAzXPoz>?p`LvE-9P^Rkn(2es?IP%0{5!OX8{5kmv~{voa=r5!jd%y0D}0ej-TD(qi-(Z? -Gb(bp@M`chb@DiLTU*NIHk}UUr(ouec86;phh?fo?0X -E6O)D6KBniOx7Hj~{nn3zj7DNI3KX{ePo7b-Cw2r$@&<=8}pl2;#eb|I2dxM8foUKHT9WL0oz77gGh$ -B9b00*q}zV2_ch9Oj`m5#o{oP;M%zXO -I@sXZb?@d=*Mr-eD>Y>^sXmj`-~jIELc*b5!}Xi9i;F3HW83IW4*@7_Yn{-;Qp;^ll-wH@gILYhw!w! -QaE_yg>T57C$0)&_!jn#QdZI529V)XAA14@VXfK+~ooUY5WUmX`pXgmH;kt0V;reO`?H2Myb6@zt$(c -*j-i^t?IKqKj#$$K2QdFmS$+2S~*eY)Wp>_?5$~d;YAkw?EK(>Z&eYbW6iX%E%rt`BK4IPafV8IuxzI -UXrP`h{GQHQ3h1bG;{(I=9**tvrasz_fhnm^!Xwx`CW%mGpN>`q_t1QYD}U;#$t!@+yDpX%-n -s={#FFJvucRY3!PmbK4af=Xpa|r -`Wy@UvY6sk*dNdKevjoVF7O>Z;`rvFM;x9B+zCUm(7ZYWsxZfX;ylq;<)ua$UhmnCnKQ**iL_6OVy~cQ2EEPSl7#CKKZ)SJf5c0g`Ac}QHi{ -MN`letwJfLCGk9&9zJl+kbzSxhU}g}fjDiLKU8hybS&OURh5P6nXm<-ntDA&9&>;Ii8JU_sJzK< -33+f-~EDBwoL{I6V}9`Qg>Ow3-B!MFQQza5L)M -Lq>0DS*a*w~LLqg_W8YWi3UskklKyHH+M!(#06~4JdZw=J|28tgC44MOkg-C9?pPeUf|N7?b>Fe|JS5_E6C$D#2023DJGL|2wvTAZ*2-Evzsun-wYLzz -A#aO_iH|Y{~IW%cAzXbw2B@JNQ);WkH;6w@kt -Qz%qcny8?hW1^8*y28fwPHB*PJV1a;1(4OO$#*M8*QH#(2meEbGv}=&+}SNo3h^Q=(ef6#rol|Z~qGN -==9`I$-DQjU!T4HetXY#ZhAe36qPAeI#Tf0JkZi*Pfwd7#up{2U1ESme0^U>ek%QLD+{?VUwrT`EZ)?ueUce5N!F~kQyQPOWS=0{F#{lw5(EP{@>hQ^vdEPA6lNfqFsWw&m1a{$*Tq#h>Pk!^w?|!#;a+aLF{_*VHo -7X>}!S&)5zJakH>cOG-G(gng!vNNBFct%CQos|^JI2IFlFv?d4yp~%joN5;Fy<$wbu{uCgHBpX6b(d0 -9Mc!V!XVHF6?XF>YD_-wvC5m#6ffK3TwOBcD{*uL{Qs7q4i7DqZJi7Opx^fC5fs?g_Zk}n)y5kbIsv- -^$ZBJ$i);q&6be@O=SD86BXD85^m^i7ryHQz3-0pp>nqz6Y!dl}a2`akK|F|mD)S-=#<~QajXsWOCw# -6&G`Y_V|vAwFGBuebiNbx<$YW2Uc+-I=qJKXj^gqPU?v~s2u?C!czw;-yb0cf7}$HB-UvMnY9en -(S#i%nl?Z4_Vty19wKiUK1vT-s&2nq;Z?cql$zKD`ReEAew)MVd06V1bW$Hn -{{g0Sm>1fB3uB1j|w1RoV#sf0&THLxOaTw5YQ#!kx8;!zoVkH~UV(EI>L<4RD;6HsHx&6@v(FLyM-~*uR9^n8MOm_s -B-2zOq_6V1QX|)c4*p?QE_LbT_%L=SZwM_hd3*TeyHYGovzQZ^GgMpc>s|HLgW!gjQUe_LGYTFJ*mNU -BjJ)f5>dC3{v4pV1dukLPFakNAp?{9-eiDR^fF~-YRXKW3 -P!M<7HhqBN1#H8pas$=zlDi;CE^;c>&Jlbh$>`9n2mD>koa7m#Q372oT>HFXAR$u0ynoQiI`Ffb}W`i -xq|f=E$*CNl3CEgp(mtRDe$o$g;B*?|B@O6Y(x;0G4-5X;QS>sm4BJ&uI(HnS|&?MuWF!Zf5-aA&;HX^+2w>{r79ekp;*6_Q!#Qk{n`AO%w=7g)y;u9Vad>+JX|3<;6NBEDEm)P< -M|B18ps!|cX1^%j1Sc$S$N6}!6a^`R_LMOIvl54q9M@U00boq%53s!X^KzBug$;j4CM*v7m6r -lcBS|0Nnd&jmjZhiB))dY~cE$a-m;iu0IEXIh?z8Twa%$ -1Mhlwu_s$6Ef~LyTg?8LpWZGsgHXeTbkje$j%5XL61qJZ92bW@!Awrqn?#c*xPd*mls-KO7(-#xRq>- -QOE2j2NkyzlCE<9vOfcx8H=Vo6^2P1y!ywu)pzfv~cvSdS;E07o0a^aC!LjO8itY17kybAC_ -VTGe9;4~noPZ-+LAR-niNDeeU>1=>OS_nuO+zr4&9(95xr~PV(86o?OIXKoqq`fq9HIZ4Sk2f@lU}GD -c3KX)8xNkTZlyKXJTYf9Toh9}$`yQ4KvC^zUhcg-t)#M;+*()cM0L#@bT-fF?1NS264u7;(a}OL>-#H -@>3ZUVABN6Mb!d@@Fu-pb(h#s(VV-AgMYkyWj>yQ&JnF~C6CdN5l`@y)?g)Sq-181Beg&cQ$g?!g|>z%&|+dHUQxf -&Sh&TD3rTC+}QCEAdn{7GHgJeVf*E6-ebj<7wRzqy$DQ(+LWV0KqZtYM>JcWm<7y*4wloVe`}4qZ*zF -B1M3vb-A7|h~DY6S*J@2%x4gMhSqemRtcUUiC-Pzz=y46(34ZuUWhYdODC6;rPM)8P!}!&0|t^pZ*F5 -?u%PVXfj~m#a}N~m)EO|hw$gap!jL0ug}l9k`|aB!;m$4dqFRIP^4r3PWDu4ElrqI(HsgHdz%jyS`QjNtkYZL`QV|94HEDG$602E-A-9gwfj=y3*-{w!+=H)kvAYLi -li)B0!NEegMJ%Bc$Od_K+{l1Qyd(}B10+ZNuo}-7$hNDl -GxBq4j4SsVPJNQ=s7G?~i4~C$L`pP7nM$XAV{zgcCVVQw!|^^2&&Jw+{#t4YqYd^~CD^zx&UKzkUQ0`+c6}<}V>Sm$kmUrqHg~;T&%S@VaW6uW`=F*0bn5%o#!n{!$(^t0hfTPbvq`sU!9ZWE9K@Cv%`hybt3ET -841O}uO|?eBpLCnG``hD%nsI%DMA`KnQ9?O5M=pOXo@1<&9=rKo9$b-xz+8kU)e;=NL3aWRn -P!+)b<~%M6n*Nj>fnS?*uQ|W28RJgUBLU3!8p!S%BVJV0_5Z -0DR$kG8lE+PM4*UMuMRzrw2VomoI{-4Q;Mq7bs=-=y^JmHt{X8pIS#u$AYroz*a>+3LDtGD^Ni*X|%4 -qkp&-QQ{ELwIoaqVF%Y0)m2LPcbLhW9>Dens)w%*f6U>Pf$0)Wi+Pw -p%O#vR54Di&NObs3RadSZS0mek*6ZH)f!@l-l;i2kAsra@2%{#+^VCxY&co!|BLT7s&uQd|X%zvRqLnfrCYUEfIlF= -I3BRY8B&#)JAPP&5G7Dwv!m`)K}e|cM&Yi5EK>iQ4X@SL!S0r2VH115xqQoVyZnfo}G>QX%b|yc+1vY -4=it?WWCBM{;3Ec&6}ensfQr3Ko6jBDab)o>#Q7$O}WPH#EuU>8Y;2>Qp}d=JRWqVR7mLXeUES25N|v -3!HysgAO6?Vr^#`)?DlbN77@O}jf~NfyY?`#=dJW352-_C%>3xqMJ>wpG9z&UOT1rJ0oS$g=?zM-BO?s(WM2?Y+ -`6kKC)2Pz)w>;!kDv}UzZkwmvoxXT98bi+msR`WWk#uXvG@FEV}wPU3B&Ti@tr)IpO!;a^3aR{(tFPO -Rp_Tw8%k^O0UEr@;>{nAG&V|J9L^;&^4!13FGLokLS?~Tg226utqOncyjvgB6%`Tz(Z-WraZwdO8@31II$_5AmKi>cSn;tw{6P^7*@jVp%XzloLr -mH6r&%GrjHqVj}1eszn0+B(lDlm;vFo>M$qXe?m~8U$O7g79VQEwU@oerT!CBY0b9UZI>e#Cx?bA2hX -aD4qSmf6M`}&kq)VN3i&mrQPS#_Jb}o>FvT)5Fh8^F6g;F)#uLSi-!y32Ezhm*6gRfcU@Tm}{(^6{ul -tj}?riF5@(F^c@;pzS##2X4}w&jNlZ_dF2r)>3lUFpIeI-0*t!T$9}g%`jKvQC#RU?2+}9#|NGiT_v@ -gxSCFja(}Np-NbVA*|QD6e;o@3cVJznisi=dkAnq*0o8M?tljjk5}o>FsbveyS<+spd<2|XWxqbJHeb -R%XRhwRDc3%14)g(->(qM)>&8w^!Yz%a9gol_I0AN^lC1X)u!+{)Z2;xkVRdmV$Q4Y+z -h;7Oku^-dt6UE^ENCRO_t7oYy3H(35CkXAgL=Sc}CLEb -~k@Q!M@BfVqk}S2*xMb7j+ht%AHsmw84s_aJiuxs{j>x(ANO8IzK`di5-l6%b*8xz$x8y?`Zr`MGw!-a$`(ioVien2MKf?*LrD#29!0OF5bw -IlNQKAImf+m4`Isx;gcug{kvD-zAF#ft;8*+D8IlI1_;!#CbeLAgKJ)2bI~GI4dSR+OGA6#2L{7=%U* -N{)@M@fCLAe15&+S_phssYKIGBX=G?lCNw6@dWC&7R5T_2>O!b1(4FFv0IAF9*Cg2*Nd0*_CMMaZU6N -6T!*f`n6s@WHxkH99AE7C8FzoRYorbWt&mf6&E_}3!er_WDp$`f`OZ6y$zgc?6>5pp$wHf(o!L&s!Yf -M>~*7CNiZ8l)xV`M0bcZSVO>kh;A&Hq&1Nia*a)g@v8rsd)Qr&vS;lW}=zo>p;g?2qyM2)8)QWd2c -=@T72H~-|urfE?wl{LZP+m-j#VRuETTvVvX=~q~ycV(i=-^)h3P5NM#>Y5O<-{a0lbxrOiKH-2oaWIO -2vB^B7ErL&CQ+=UCWGY|B1~QhF=+gwMZ7Om+mx*}|4lx66g%mrqT!*5W&Zy9OfH$$<(oqUJu%!jup{8 -|SnbIh&YA{(`1${M9d89LA)M5!&Ud5TNr;Hs1!!i-_td&V64PELw&0)9V$qMbi2~iVk{|(r?XfB_vZ+IWF17Mb1*k2aKH>8ii@K`l=_sZ$v -M9*tj!avsu~^C>nE{UW9V-(5+-pASk(!ON$=<|EbP-=)Yib^(u!XTz>_iq0UwR{KXxG=X3Z3TUzd&S$Adw7>kRYTiWa;ySS+!Op^7 -@>;FDr(vcraYBwn2T<%iQluwIaOjD$)_VI;Sh|x^rw(Wo>@2pBW{oU8vSSn%#voNde0Ojzv(~bzSrIvo=}L8PJ1d@1VT}Zay%${j5!7of -FF4x#+$mJpX9cjLdiY-v?(=_;mGBRQKf(nx;x&OA> -Y7_NIPAu=X6E4gOlLDYQyyiZnxpj#e;+I7(|ifMI|{eO!+)7tUpvBx9R{P4_wAgQO>WkE!eW>629Mi* -|zkgyNeN0Gg&jb=mQB3fh%i_foujaUy~d7BqsK -O1%f`Z|>V{`HBTUjGd+s6z!xOV&0*LY3j=_&hUN96BXji~e9Mkf3Ll_O3c$Rdb(hzMa7dE#hs<>bk<8-ca;%f=+2 -B?LARs-r!mhEYf-zH^UfJ0D#hWnhQ_5KcS!MK=sBNx9MnT_{@@}Ets8v^zV -b{m6S#-bcLg>)A@k?K5%)FA5ui$Ug!acqOqX^tc59)fR8*bm=%HG1Hjk}>1>84MmO>m-ggj<# -2@S>J7=$7yzw0SMR{u(00wg=Dj6#tCim_W%;^sz`sP4hYsr`-)+5Fgm_`_soM=8Lg -jb_Gq0=!mO{LGDQZP=}6Tw!oplvBsLpc#&?pmq7K5TwwqN83 -P@vn>!T1}^skd4cm7T>Y?GueJa%)AgHLvrQLP8f;`Y45jCRmI~jhG=asrPUkvxlYEtOI$hV=BisUj=P -%MMLyO3yL!X+9_E?JOu+tV08JYTYjJKfrX+u@MV5%%;`FssVRySpC -neniMp$a)=BR>C^$^}t>Y7IVeCe0|w&8FuU??yN*o(aD!EwWPut@KkK!@ac1C&kcjFxPlqD$rEC(z*`Iv_G&MN#W@$7bE)l{d6?Sf_{0DTgNgf` -sJX&RJTuiNyy%n}i-K9@jsa3)COK?G0~|*%#BDrwk;-yEAszdPV=O`_u-1NbS3r58ZUfUmZSdAXwXgm -NBp}JPV@F{&v^Q_?F0Fa8Db)ve=`bXJf0Uinw=*+b;2pd?R>g+1ZZ2Rr>MBx4?qqj(*b&|Fi*$H|<0N -gCOqS$4W$x)o7p(IK5j}qhOd_Nf0}LGhFW`sb0G^0Pvp9&@{>05d5LJR159$u8ovrr}s -{5P`RiZUmU}hJa;lZKEAL5Za8+YVBTA-AYI4Ht@o8?%#Z-eJw`|{vLA?3MmBD7)(2p=_97TiMOw@b|I -%_wc%itJ3e;j!k#aW4Sf&5`ktn>7iXhrSqLRI;O%5hW4=K+>c9(o#>7=Zip?Dks@-Hs#!3;VMb36dJ#eXLFPdW_GC>_d20@}7kFVWIDa&{vH- -EN1yJJOcJKF73f-WtR4T{wqg9f)5`tb*@pxdWp~3!_XbRvm-79Y>k1bVY>D2A --n$m*jt&O((YCxW{No=2i2ErucJtpww6sMuJdptAY@+?Ab~7MH`2IAFiVwYQxr3^{&>WtFft}rxCxVE -rxjQ)887^|O4Ui$+fxMymhLT+7%IW^SKfVLnl=0OPR^emt<$f=?Q#S%m1+Obc@8(BsxGE+(3ml1$ -s;nGX8cL39C52D<2ztp*_`R#$N)5*)F`8XUj~&=~CoSPjE|zUW0sB;kkv0=hi!nw@2V-qZew|pW^7vs -zOHS$8y|8z%7U6=3lrbn#q3w1jFdD`$>T>`qNSEF9+aDm>@}!wZ3Sa@-bQGOWue^gvMU^IR?8t -Fqvo2YB*}lmu&FWR+Q1rgXtT{>1R7QkR^+0?m0Bxwepd--ktnEzG1*OnHiZKa^&}#(a59;CXMoAn_Qr -{2HiY#pN-@jsSf*Kf46bguJ*magDtc!=%mu^u23=BBcp$fV)PW<4n23L5*rK#@0l6-7aTCj!*U*z>a4 -Xam|0-1aG~P(_DLL{5v@4fh08)*k%1vc=b&`T@70&uynG*sm!RjDixRc=_qE-zZ+@CXV -QI}+eBketNTBb6r%3VGMjIc|It{(6|F8=t6^kF(s$pjQy}q2m8aR!)sFaf&x1v$dt*4mgqJU_MZg81w -F#f9hV_OVhSzHMq1vx1jY@aXqpcH#i(iY)IxI^mQ#}!TQsE5{KgbuiJZq$erTT+ -SFOrwE>8OT)Ew6i6U0d1dUuSLoGc2vZ%DRt*bzkc$w2k~;cHQ(T@Po}Sz1qJ-wG}PA% -Wo*Pf%$$AtG+?+;Mzt`_<)^gCx4Seb}vaZ&KQXR&?mZUoY?TA1MnZoAAUuH6R_-dHbg@)Vmo|MLTDIq -!gA*JVHSV_*pdUX8)aC2MITv8<(Ynz04{xCPgT;nz~*Xq5Z5^(sY+QLBC`v3ao`6rJhRZmHd2o2tF7a -0s(G$EMoZUXYed%4|aw@{>|^DPYi#e6%{S+%>7~g7Q0W;cdLz4mueH?tZRML;vcnA^7EVu@@}R@N*~p -t0R&Dec}pG=CpFUTRNEj14N@n=}7-?@0aUdS7tD|D?y&n)bt0e^`{mnPJQNkB!O~?0Umjy+;;Abuy+z -*wcqyp-n4Bqt#dj!adPJISX&=&XSK88i5s#o$?I$A~lNTyidze7S64{t(juAtsRE&qnlc+bk)Uh+7uPXI`>X%qOtkav -RnN9v(QF|MwA=LKZI$qfD!y($g~D9ZHJ8PbezjeYoTk0pePxVR6*UUvG=+3d|lwkTx4zt9MrNzbk2@E -0Enx0Le4E!!BFCVTIYD@Fa=r>m-mIufFF^!Kv!CrJ6+swa$yd=%=l71Otf`1zWKH^Tl~8tVcFP6w89o -5#re0S)_OpL*S;YZvXS1Wfff9Ssy6)*eM@#%h}x4BAnLu_W4s7SZ_MBPb-e+Lc<^+)<=-3X3uYO<3Z# -$!#kO(>hyEt=s=BuPY-=}Dyc^ft8P~B!oPFgeN)1d8@}_>&(ZWsCm)#_DQ@apPCb=-!HPP#;Y!;q%Ht_o4_?|*PB;2Cn=qBKa~U=R(S_q2mm)}%V -Bj*&Y+i?-TiA1RNJ_u*2)-VP(sZM=S4H<_cG3ZJKO3-p4a-Bb0E2A57A$d(?7wc7UkAv}tiK0gY@E5y -5O-(!^=9+kiR$(|wg+eLxh%cTsQ1d+>(9>X!gASq51LIo?~X1^=gX0}UJrkk$ZQV#1JZw%!@516MOo> -(IhTG%w=ymATIbt|mt`eq>*dnKoH{p;Feu8Opt~D550)>K!oUUoR8nCG=d%n&0o&WFKNpm^Yg4X=<|h -c0`^C%_1g~efB`9s#Pj|*UdS_@JD&D^>Kt`hEGqc=$n+=xe>Lf8_oNEj)FY)3V{K?ifg~7q&}=u3R*=oF@*oXjD -?P9Q=G6>Ml@4b?7!_r|qg@7@9FtG9&V0#roLDz3(r_>01tKM0y^V66M%6zcF@Xufm%05lLxX4L_1J~3 -*KX(~b##Dubqy4NBLg2J57T+BeQt&y^>lU=wL0{}hqC_gp}+PZyq=~I1JV!!{_!vml&vGML?x`eJ7^s -78DE~ec|4@w)i&QWGY0jBHuuY1WuTAe;GH7~_i2Y+;VIsh4z{b$I>Bj5042cp*LZDw(;CqpY|)MPzdE -va2DDKzM?`iS_7_R~8yW74067A!dQ{4jbJk;+BIj-?uw60ZOy5=DXYYF9)Sx1aE11}<4U4>tSsI>Vvx -u?9;XPRaHfwOp0Ya}=(^m{g2JBc{!(`ibLn2_H>g&yeC;;wQyyOjkXM7o?tZ01%WHY}8fe2XQ(5a05o -d|8z%;+b%ZGD~Ml41ADcN&o}qSLpG-I(?LQy#riYNpiLtS8bwW=)Mq(&-g>5~ -+$(yuPCU{hk?8vR>>Y#eF&ho3$)*W;mRA<{5G{8eM*gRbFaqoT!{iM7b$!wcgmO6uFG=1-3^{{v&wV8=EBir -?)<86ic|nk`~!j4j1di4{o^r4RY?%u5_y2$-*hWyk{G+u2)TigpK2>aLB5{(aJlTo -mfGKNVQQ>+lrUUm7f$QSaY5hN+!FYTqOs*+}2)hl*p_rMU|hH_B4^D5)WRIuq$W}*)6ma(u-y>x|ZLy -LnaqC%cOZq?Sn4LN~X#@2rOA57472YOUa9kmNwZ*Gg0z* -VpmUUjcdN~W$8?-$toe^B?9hQ>?h+-vz0S^LdUh~)pz#Y*ZF^n>6VNTwO -RYZQ}fNkJ;^joq5lwY7=ZK(un+$a(xAfxxt@b8${(vJ}n-EstvzCbkO!v)m!WS1TPO9d>}s)}mqy{W~ -#9?N${iD_#nR%nV`~dqJiOkyz!-7?sBoqJUDUl2kULyQtKI=KWKDp{nOT+<0l7!GW?B`g$ -Q(L7{*%_DyuF2-XJxe&9)<9!NocK6bUs*=wjDO`m@S5P2|Om%#ZiW*iLb|zRzANCK#O9U~|)s&6k921 -V7cc^fh_y;JHa&e)(r+Amt-W}fgwCgR>($X^rtC88$yO*7=&vy8#h@0DRu<+Esip2;C~PH=N^!^ -fIf;AonYB3=8}QFo`Q;%;321Ohh)!Amy&o}%W25#%BS*H0fGsD5kaUCa9_ExUK}Z*pu!I>@GY9b=!ew -&M>|g^qYFt=Le=qwg{8oiPIZZVjVX=pQ75)X!IUjB7huh6t$BG^7^Ae)pq7C2`Dof|i2~#NSfu|qp8V -(E@gx!8`PW|`_9%wz`rgbfm2#?j!8bjZkz3xNcEZ3XTx68mJE)z4Z~=E6OGlVDSl>6D^^LFnl4Q|@1+ -isudK#Wi!U5tZYqcB -{@MB@kT%3O;47LskuvO;}WooBnjl2Nr~S}Au7HD -|Mi_E4O=#&Ny@{fhF}Ikq61ZFGeDy+>b^fWyM{jYq!I6u?44*jo*wCGW@2qi5S|5%>!N$VF17~x`p8i -ipm>60cY4X32^}VNo6~v+kar!+ey_08`;9uNli|3f5n{4%GHg_f1Dm- -*fCWLJscKfp3nVN``BSB1qbx5h|-(C&wjW5ko#V<|7esfr?N!IyRdr!CHZpv{=K8QE5EmD46bB*Dh~E -&QnmGy>RouylOuIq6aKvcFcmorxTmcpVm*SZjJdEdbq_|odH{f%T=sb6e&~(xCjC9LNf@j%X&o -2qC(XkmY{FDCFtg8xuHYrPAq1GCtT8f4d~%u(CBKLxNw}EQQt*apI9<@J|2`?AZ@%kpR4-(M+g4h|;$jMC;HP^om}1v#cx_7l|uAa4Qs-tS#L&2+mfjsE2#Uf=&oAXpdVN@h -WN`>;5`Z&cTdck67>1cinyZaDDmyQoK9A`0@Pp<$Lk!t+;*rLA*KtaB(g0PEdT}_p7_NZ}|D{^4}kC? -k?Y4-hO!B->IvcpDrU2YA0`KmD8DT((z8cpEH4Gfxy8J>I>UbgGjt3Ox$AOGdM$L)FiYe5`*MOiosx3 -6^iS>`qF9u%H%GD8dv)|oFFZW9x1YjS-YiX9l7ToFSB7N9abbdW=bT}HSn_BWE?FBWa5j=RxQ&e=Lhk -;j@cXa1wz&eLk?7P_gozz{d#4*;ZbWk6X%PljS4KuxAU%YIdK7Vyu=5q5lVggYp8O*^t;DveiwD;-9G -m~&-^rG`kA!!MQk%TO*?D4Epq?mutRRXH?8u1ID4IaDClxQeF02TthaEa)hAyfZV~VE`AOgM%X*^Q$Z -x*?0USS0)N}tl>IPuJKfn3*yYHX-=b*6Hh>q|fg{$ZOIo!UJ-`VYmHM6kAgdb>6r+wCS1@lo|eZip6O -jPV^7e_N^@eil*2C&Q_&!?VS#XJbbz9&smugkekhoopa`S{QQLg>b;q$@JlB@iJb`QCW)Yh&kc_0{oY -?0r10V~Rcp&iU*1lxNSHIN|fp=7M?B&ZeF#(4egJ7YIG#xZ~&b-bDH|K?X__Qp;e_#LJ$-tm*W4EbWi -`YvT_o4fhD+&eT@;(D4;CA6L^rM$6j~FwjHbq-SB{mU^%M73li@A=-mIVZmy*=Ihbyh^hA(ohKO>jj+j -xffh8i5Jcm+zcHD{xktP$bn+BbZonOM=@oDp*l*HQeveN$GUx=x;4n?JprMvd}toz{s6ZwfZrf9bwtO -Yn~W@4oVE=*%1VtK`k@&C6L*l* -{~6-i$`02bXoVPUiE=ZM&`W`8+Aso2qV;?4qew+cuxe-wz(>^TkzRz7}m>w^g-j%!5^RbybvC=FfGp& -fDE4x4&2R+oo!YPn)d0HV^9Dd~0@%%xO`rR{5eWs-mu&)9Ov%O;$H~k~Q*WuD|vHm}RH=r$xRA@b}HTcW+MWx~gZ%+q|uJ`u+6u6@Tl)BE+ -TZ>SNxd+j>RF>di$S&-w5Bch@O;0Q8B!twl-nRc5PnS>2YaDqGrBJU^Ykdv!`w+{~%_ECC_S+e-eRfA -F1&D*~*Kl*xmHKL16de=jI~zN+(VxqDeQZAK)xoF!iosno^A7X4mV?bp?|q^B>-kF=4?AFlI!^>wkzv -7a*r_P%Vk8vxJc*V%(42IU>Bt#|dtrXu1K_f%*I7GXRApOND+A?ge)>Wl?&;0E -z;pt8*wc1ZlsBg7EBYR5y2&^HA%erV -5;l@9I`{J9I-=EA+{`b3+*QYPPdrgFO`u@$E@7}&U`6_t&!#5`^>x0?7A-w!n%k -;g&M^}v%s2_ita_|vah)%2_)rvtg863GUI$0L)1SDk*ZJGOzWM9?#WyD}{xX02{`KpZum2qDc?-fcU6 -@LV$6rP|AMv^vLI>fm=+C@%KZny0^y2dl9DA00$LB7iGy1&T&4_-Qc1A~qp3RaMp!W;3I?Y@BL+qej= -yAg5B~4oze7kM&<=bq7(YV3X&Ea0GbpBsilj~`ZcQs7Z^mv;$8{!#xr}ZA9f5T7SWmiL8Xo${%e=GaF -CMq84)a8Y5ip?pV5v+r|oaPG>B)=tZ%^jmy?y!Tm#?%cNn<(&~ZQCYhY(`4K4_?dIt4@S7xK?^ra$oCtBTYB% -p&&V(`Ua=pWuIoe~A5jboBJ_>9g)nmn4JCaIdQ}*B>4xO><4MGRaoA*{;!rq}qvo3#Z824z=xwPv{4q -qJY~KA9}*6GJ}-3yD);uoK>3nd`iuh`DHSvty^5rKQ5YiLmX|LPlyptk91Zt#)JrHnjCx?k|sAH?etY -u-6SO5lJ8%fCIW*FSeXz}Chyf2m)X{|CwR(3lB(-E%s{cgM?&lk)Qnv%D`}aUk%kT&P2QZf?-$ -LfNHJ+lU}Xf%$o-h=JdZ5zqH$^AB(81=Nz;_hdfhg+bh0MWbea%7qsa$SBFwWhKpj6m8ap^5U$9mk_< -{EXD>Qf)#b~}NZt{6nFRqJ^dr^NuO1!~?;4&fUzz1IuO`Bca;4Ivb)>kG9vx7WUfrvDq8t{Ord1x_qk -uB%>CkX3^ul8kA&V7>;$%*0+c)pNeKk2T`kz8!e9?9n?R-9I^3~-m -fgS}#0$8$E#C%D1fj6>`MCO8wN!|q0gj60J3LTjm5%g(l2ir4@13_I+$kNUBul*oE#{_Ax71t ->dE~4h*);fPU5X8x~*YEeTXH1!oBjP?HjKS!Y*JridY@$ttU9RS+$yfy9Iyq2quG$wmidT;wD$NHbU$CH -w+P!95}_T0^#SV9?@Onmk{$TOx;DLUI8%yCPCJgw6v~NIWM687)NHWJ;1AM2Cq;q7it%O_Mtr@tXA6g -pc!Wo?Pj4bSp7hWcC%r{%z58gnMzPR?#EcC|w>K`V^WFWinmn7u&1J_|JI@%Rwmb5p??@YnsQ6pFA*p -J0Ui_%^xZfj(-Z&2PXSXJ32}{K0gbZJWPI|eXq)Ko7`q4v&@SXSsS#Iaw16ITx6_vl2MX@*>(CKHl#z -Y^1~TX&?4KyceW*gP&dg{UXo!8qR2mO;O?aLx7S(Q0npwO#U*4+!S?(2e}|GvY>KT$I-~T@<+fyBDUG -lt>bvarzs`5#kGu*RJLsN4)`RCIo3DNeJEUOLxBI#RTAf=!GtYOkR~C|Cj%6~pV?{!k4~eRaif9@OOu!)JFSf(~Ym*MLEjd}9eQvphUg2(@$10I$>yR$cPGTtRH!LijY>ysKXk0|&&N0>RX7tvtEGUS-$1Q* -E&pO^I1HbP_vfm1_!wnow^yTLGvT$}U@eB*$HZ9}!#8rgte8vJoue@x*8vM6JtJ&I$);dJZ`xEEewIn -eQ(sZxl$@fL!b^?Bx?blvQ}e$j1VY**dq4ttY@Z1wW)|DlUz)vj<(xhJFk6T*4cG0%dsSq!T|q4rGp< -0&IlsYRUV3nYW8;R#F}{NAzEEkTf?1dmG7kkTuH+`^p#)G?6Ao;;}2HGwD~{!Yga?T?fFz!$?xN(miT0#Zmg`7GJ2Ifm!E4xhdcA -aI5oeduNSCk!Pv@E_iNr6;4<0Su}R30530;H~SQx&2ui0)t2g^E=((A*d-bNPS7P~k7ZGA9Nd$H^FDj -#;0paEs7hr$s}9O~P9>z}c;uBl)E}A)CAG=$9b)ECm*v$BXIlOG}Fwfo65STxWsfY50n#@U8G0u -9kPq9&>ffPK8$Ze(VZhRj2e640R%vO${5_`SPnRO+Y3=}8Uarg<}k$Tn?ESD=ff~{J&x?&I&adN(~f| -VuPQL~;-=ym;HiU1|)${sAnRKp!h9$h%Sx!;B<6!eYuV?M(HSv4F*MdN{xCcb!nn$oc)T4ggt5b8Szo -}~(0pwWCj7MTPTm>r$7tez8(i|nj}^xKqXwXMlCH3pu)l8}JGLmNa2@PgP2B9qAK+~7s5Ljmbwlq4R} -2K*VBx-4bdxVTtf;0qiY#3;$OFG_WfThqpUI9#PJz>=#CXrihc@xJh!mc=E_mvtvZnlW`W9T4nY<=w! -&ncaa~Hbt&8nmt@ixj#$doY^W$ss`ERb`9M;--qlA+`i)(wPcDVlfWJub2aZ;GtQNTAS{D=J@HjMdk9 -n9YU8}5hDC&m-b1!i#a4-hPX&!7LgiR!X%ZR3+z?KKZmM$L$y1Ixn_+CIZt&Km*N!nyijMIQB({UjSv -)iJ^M-g2+$U-Bvh^f+0EiYgX3w&aZ3=-YlfR5%1)tu6BRsypyx2BA4O(sLf}R~rZtr_~dlQkKj=U5_p -{;5@Y|ZhdUCLi4_4xlx{jD1o -^vuCxy@P#9IN4DQdWW%RNltnj;fb--asfMq8K8P15W3L?bYs#Jr5$2QpjSrXU%zVb;bi1jW{zAeNrw(CS4e8wne7WJ^+iGwrYDNZcgC-oG -(diaPnk&&hn$Jx3GS7(C6ypF_&{+Bg^@IPqyiT5;Vu30P+KC;Dv#s#k=R5aoV^R5QrvZlTgk_h2yreX)njZV)i?W_8U ->^P>*j~QaGj;0_%wEg>3f>DE}#k@yYyMuu#bdaVr6)waU4U -Hw6b%cMtLxtYhxA!3q-#PrT!-$6^W;?sO^xvLn-OJ{}TLK*d4UF9Do$zjh56{+nv_DI93A_BU5>@~OQr7)0!#G)~EnfaBDcRM`7%w!^Y$s -(k&)NMSD!84+s&#n;9hb0~L%5pZ$~$1xPQ#M9bpqZgul*XU0juBDF!#7EO3M+Xm1L=JLNFw{4xZp)du -Oj_170$(p?5+wxkn5I2Q2rZc`4042g7IGhIwUJq`mv=0V{UZ`Ibehx8U2#qaI}qoN|Jf7dX-vpeLQpa -5NwG5{3Xq1F-^B}vr*qRbH?o%nq?=A$dC{3;E|V^|?9J5*od32dd#svOWCy#Ag~=@exs*_hZ!Z<-0LDtO -i?MDTqBLRoCrnL@KfN>uFS7tOmjrVd)bOA&y|CJ%ghob<>Ce5s;#)!GW6DQ-YbVL8Wb!(Sq)sLQDT&= -Nc>{b{-w@-CP|=WEZsg;<_wI#}waLRo#F}Oz4aOIfHhEbS!h<&@kijnggfAs_Mcx*ifAyA=mHV}o6 -T{0q-Vt$vNcegQtrVH|92QRw0DqPQP$4y=MH!zcBAeeQO#qt(52U&KVSi&sFcf5=vR#(LWuEFbrGa7eV|C7PIv7K#w@4t{-HkVWKhxPV(_x@`^`uB7jGmV8r-r96}8r)p^VPbtjgK -NW-O`rJJ3J<_l6T5%0nFQg0q~%3@pj|6t_s*#3W-MCdTJUI#$sUvTSQt(M}|XSe4p>D-v%!~XpWfmm5 -m=C|e?;_;v#YcP-ppS{663@nt*_l)Q1JD^9A5FdP|4?Nb#_W_=WlKa!BVbby>jCJw=n}8xg^29)h0LRAw*H)olAzXP%3LBZ$I&z2~r(h8<_s4@^ -8*`Y@a41yFFa({<{`tx*lk|PsLXveH@37=R%IoU(C>%|GwENNIt$z&$*BP$;&N_4KWZNHiWI7mFAk!x -dcP8M2gY{Ll=ByeUu*@Om`I_%0>yo7b$bh9bhf(nvN7Tz{I48;JoSWoSlkjRjk~Rw6QnEaQA29-c0-; -R;J(R;~g9o_zAi8w`?#LGP*UBqYi-0xcgjHm)+5@8`|0!HnRFS6DMW1(wBvF;u^ShXg2orwN#i6vfsR -UhsEC3P?i-1PPv5lJw;Uxt)8w@wS|MP7+7{cBqQ4m`Zim6~%tj=sb8=<;l6mat;{2AIa{TDuj$UP3_Z -a1#VBEzmAaMnhGV!}z=#U1;hFQK{}{N+!;L$^4&B;|q+^}AQ6NnXPCS?Znt56|De27wayB^)erbsMT> -=)ofTC~{7uAs~()>s^u-6FKS~3B!ABm78>NotZmO-w^Duw+Mse@Wtg|aOWTkmVT*=_tcc~0TwKwUCKG -)x7PTKIQgTIz_Y7ut^S?FT&pWTQaxhe)|vqk-VRSsUxn!#2w+=R%k7HOqSZ^Q*T8#VS(ix~Z`4N+J{Q -F5Z$cN3aAUA6yP*9ZACkKEmlc;wf@ltPwNNy%>$LOiH`EEmQ&P$F!Nap~pBT0getk{smAW)Qa#Ee?DE -aBe?)c_%3`^|5T#e&C%jZ5w6tGjFO3obCLo8 -BW%dX&$M*j5aI;|UofsX!E(Y7X1s&ZVfpuvkX5Vt5Qyc?wry<6j7ccs8+cLGp#r)nsL<8sNi`sx@y$9 -VN0|2`ypR1tP12~V&DxS-=@m)nhGTy<-kPk#MXUSu;mH|?zuSbpai1k(xrRP%_`Laqk)r|9f*MKzE{4KUQ1;A$>945UAuc&|!UUoBa~x4&CsS^#ze -Jrvn41ux4zH~{oAD;z&;~5YfR&@W!Cu%x66R~{VTDpwO?$_5%*Ro-8IpOBq;3G@G(IXR9+&&~$9(n@s -{=Q*7x>&){Npov0}PITdh+uaqPe&tqcC5_90WlxNo&qLW8JcJ#$x}P&wTm|V%#{w0E+f)MTfb32A$qp -EqYJqaQvtVF`}8=S_UZ-rnpCqDY?#phoD)QgFK8BLo7yU_gC{U`3`PLB*j4aWcc0v32 -5Y{f9e0gm*iMO0ap2R3YYAo9_$FjC)dKv#NQz0maxB5&G@?hdX>txiLS^$!GT5vf-2^G&w!Kk**%0}v8=D6H18kaS7hhc!rO*=iedzGo~H3W+ELCE05n -V7Rt0cai2|ojQ21uCsc%sBnQ0FC;dToJR!MHJleu$J-=xSEYAv^3XTf_-do*T+v1@K)R;VeUC&Uz9kwsJf0KnqT*`_@nh;H -C9JT>Bi$^Nz=*&SKdPy_gHUDRD9Vg&Ma8Cnh(PrY=dtKJ^Kr=0LR@`rLzmi#4fN99x@Yio`JP8RL}NCfmUX76Oenz_hVQ@2O8OA)q0JZV!LX~8m6?= -S~)WpnamAvhut6pYte($N=&by4D*)zEWVuHajY+Fv+==!F7<#HNETDtsVvpi*zfma-~Q2Jmw009kvJ! -B#}keVnF<;ZmunrUY02hJ|5n0GfczalyecR+6R9N -wfu^h#|<3r+nG2DiLpA2U2(g*_eO}+~lYz+R2?An>k_BXb03qPI9=Y>QG4P%^vOHzM3O$oAK}Cp!f(r -da~%p-f8;~p`Sf>ENAXu@>K`!t=$drFFBHT1Sto{6}Dj~fh*ceqV>F4xMfR*nw;LwHJBIHVVggv!E6+ -{@CAqyn;FN3?!Y8g95ZD>osxRO;O82jH}?S7sKuD!?Hah{zb+QndhLPHL^9^ffC*R%;YB#+b*v%MgKR -U{oemiG?sD-_+jTC4<>ePTP@SaB#a2-d<)hP^QDF-G?Q>BKl+AIc1)}fUxM*woe9p&xZXr85AZW6wLCzFg@!cPJD4WmmbV{lTP~ -}^c*FpNCB_-)zL(>^O!RL0XC3|p=rJa>37CFxp)KL%SGmjjF;#<_kcI}OYo9irlT_XP=)wx+jR3YDEx -x6_s}$DC+}md+(GVbS8EO8hjfPDKDx!PEBXg<`PfP*|fwY)&E@bg{6GA8n`jE96zwOY8mhyi}A*LoZN -T|uZV%Jf0_ohC6Wut^ub%+!V~Zu+KMo11qhNZwNe5a7Bm>FwIvlkC#6G%;7jn~el)(qr8%SrVPgV9E -f<0XtY(K*Rgf=k)Ay~*_FhBLp=fbqsyqaryM(SGj2OwF6p>>hIiobgGXUZu(Txy$kO)?(Ljnz!fYQ*S -250?v~2PLlQc9f^^UxVA7tH1yy7e4GqS#;a;#%>Qr}=}CU -(g?D)=X^8yx_V699H!B{LHXc8_yjdF3QO60_@ -or=u&d~A3lh?h-45m6i$; -OM@~HHt}@gG0MVB&2Tg7BK3eHtj2$bR1l)clOf*T&}5eLi`{VHq1brA8x<#AST?;lbRwxL=cFhWI){k -v$bS_Db-u~j9U6?LdHA@^kYs6-6@*JqzV__EQrC+sFD7*g*t4Vg|K>GD3_Gl95c8COZZQE@I-mpXmlq -N+@trO(G!hbz&rkcR4KVV5?kfwZ^%EeyV-(?16`?z2?)eFE@7N<1W!a2@4xvZ6xoSHL68O;CBMOgKc3 -L=#&69^sY{;;&uZl1%!Pbu-;Mh5%X?E48M|%>;$jg-7f0gECtuXG>v|{$y -pzb{^;!Y?o>&L}A)2Pyayg0kGVx)@)p76j6x!G?V(;=FdoE&evBk8TU|zv5J8TN~)VG;!c7_T`wUm;d -xY?R+cKKt$2-_k#QcyjQ+&i*w0w{frLv-rJ~ygHe71H|NR%zEZr&)CYvf6z#hO?e}MT~fD -_gPE_aPY~DCv&25|=mM|eLD^D7iRY_gU6dI!(&d&9nqP*^p96tvFv=WX*vUEb9i5*=Z+hP_oGoqwhvI -bRNNOl6ku%O|qI2_ly?E#mmJ+6V_gW0b>?Y3bi7XNkoVATUDf*v#C -+a8Ety-}Roi!Oo89zp0QnfiQcXWv2XFMo)V`Lc?={BDQ}&nYl?j>+`PkbH`Q6(E5_xlGw3=Y=9bEhNo -M@3+o@4BFsy*`UWbp5E>)TgWFoZ|VAN2|-c$bggy$9Vp6W$`Dc=lJS*dAP|P}480JT`cXu5LD;#e~k4 -E>icLXZ(WKMVR;f_$|YRpIY1Ill!TE$_>Ps--QG6>F-I8GO^$ELyT21t#=7c5I>e!Gk!r%pY`}Ea%VW -qNlEPV{hK%6y?uA`RrD3bcT6M7*mQ1NS7O{=tBJ05q&6?j;x0A+j&+PA!G7e<3r7N)n@WDwE6{(O{P4 -}m$t$mqb^vTGGKF%xi7dcLUEH;re(fveZ;35^{^U -3HwxQ%8#;1gEA=QYLa-Q%Od;IWeW1Nn4&mt6=PQ_Wr>MG&wL35tmR6}nV)=Y>c#F_VIA_gNE;w#7$Ra -$8p@9H>`Ie5*gffq+5PC&RlJ7+WE~$86x@B8|K%rTdbUf59@{3ujHd;3_w7mq3~jC%D{W|9TCa*pOW_ -cE2aj*tzYBb8k1MmYX8Cx-l>9;1IHz*7G&5OMLeGCr^T^93$~O-^I9obI0MjFD4zsvL5fxyr`0d%hL>_92ndclV%0*Qp!secGr6(xND<*Kl39StOSk9Qa6* -bRAd~_aq@3Ro;;axYYAhEa3dvt44iVnW3>rBHPM11I#XLF#dCyfzh_8v8(f#@%TFe~XqjUJx)Fdm|=^ -+?lwE8{d-w>sUlE`P;LJbiUULvvw6&^_dk2PdDxyTxmIBR#6ezfD -Ta-cyT=Vl(~$r=H17vdJby5hGXn@W|P@D%|$v&jnQ;SwCEdrUxzE1P$Zx!Yi3&Wl_xQ=MA16vf5{u9i -88v4)gyt(GZok}|KEqLX#ia?&*(nMKh|7zi@Ai9B%$kRhh#NUNND`Q?|sDLB5Ys`>mPs}G*0PsX-IFM -ty54yc)H^0_|md5gF -1uO2)t3~L5I;!+7p0mw7rte)fqVPl}|XX#VFTL*pe+VcKEHH8sWw17}7rZ4hURdR*F@C7n~__qg#-`{ -Zj*=H(wtS|oBlSJH=9Zr|BR1-|&$iAaGs*HBQnfD+XdqSvSX(}(w!LB*EW?3z^5~OACc5DrLSEvE_r#x3Zn`O`nPdA)mR-1O%uzx33mSs5t -O`P@{^&)1uF$HXIZdnxPZ)O0C_&h@&vnw)~*Kz%ON&&j8$?xtR5-SIB_hh#xWO$w<61krbkL$ED5Z&p -I(F{q-~7VvExDrgHhf(&J0sx9m(?yI%lIWm-Qu4JuTMAcK3P*N-TfmjBJz@*TMejsV7TABehy=r*rS9 -y!PG0qh8ps4#xYyayE0Q(gwVV~eT!yBzU2$(IJdoVcaMtJ$6A|=4{sTqJjaP4#`w2E8v+H?<$sgpxZc -?E(VOu%{BTWkv$uDxtE8$eqB{B97CgcIDg*+U&w -j93a&A&YC`J?HHyC5)9g&}i!H}yCG_zgdF`XH6AZ?sZb*gCL0l&qJfbi8u?@Yjc-3d2t?$)x9ePby)> -cKA9MW{MZe5$gsGq)~)AwYmM$~WGYpGKY#d2^UId0o5XvUx;bul+PQ&>6}c8oXR9T;cU!Di^f!tcH<^ -JbB4=*XLgQ*q{+CR}wXdM_pMNiJQ{Abpl}{AtGyHgS_vlbngoU&@QK$MO&fX~yT}`E>Nwf>wf;1Z5it -aeiTZ)`*@gCaCz#9y~a5R)qm38ZjqETli`@rha>Oe-@gZ*31<5lGj7$ChhI@isY$!udvp!l2iBoRfHl -jPNmL?TZ=1QY-O00;mj6qrsQRMS^(3IG5U8vpc!JX>N -37a&BR4FKlmPVRUJ4ZgVbhdA(R|ZyUK0{;pra${$urrB&0SS3reZ7>RQ=F0q3+K`wBO#cG$5cwQ~HB- -gSUGppsZ+YNV!xF}ioFzt);D6UjmUJlRvSALsM_xpwsyI=llcr3Ic%Va -CRkcsUaIvDB -f2lkzYVpGutlOuSZ^n~Ar;W+pBw@`tn-jYdb}q^b(#Jp_}C%$zn#+R>-W(+|n36YP|{KKme!8_Q#|A< -5EgD-*m=#;{~Og{ar3Z%;p-Chtx@{D773PA@M{zCXpfD2o0$`nXkAtW_Ze{=*$InG5#D)q$W8PQwLr( -nAWjmBQ-UWbjoSbXB`iZ)!XmU6dKkB1vg>lWth3t+Py8yRM7k(6}=;;b}oyrgMl?@Pw5d<+6|t6DD<8 -V4XPVS{S+0w?Q;1JB>%se)RtAeKNG}&Dq=2^OJXM9(0;}VRKqI&jW~u*xk7Zz~pi*_69DW_-V;5H8;S -Jc9^uYr~Vilf1Frnregj#ajr|rUnn5y|7Q}#AQ5n0r0^mG!X?mT8#+}65@;5MC$tZN8vmqK+37M9Pn$ -et5qpK@x{~Fj5jGRiKAKWwHs)2{BKoyMF#|Dq)K{hfD^r&xyf~@L9BXcsadleA@^*3`BF1N>buqB+gG -9C}#Ya;E3Lq~d_)d^Xj-lWLsp!Pc#GACRQfNSG_R30lSYIAwY*U*$XC}xrFw@AiNGc=O>MojgHkxi<9 -+L%DVnytyir*cJjdY!y@hY`4$QjRiGoO$->J6~Q0j|!Hq}0i#(5tlgbx^62fPo-^R3%DHIyt%HblrrS -9lFwyceI@{MjOjsS?G<*NLHs9kzvrhwpoSe*>KGGfG9%#wnh5Q--gRuPn#;aQ|oB#>xj@oAZ8lTffShEI8EzBU= -xHiI@gcy3LNno3kI^oi4?Vlobh~6U_EGpIfQ-Vxkr4xH?Zpf9|q(xDR#4byKMs9&4Fd;qWomRj=-YGX}N7$P`L -a?`l>p+T(A@5{Xv$Il~PCtMp|@~)Q61b?my4Au7jcZ)=h`8>YfCdJFL7GW5zbTsb`_yx1uFZ+<&RL9X4%8 -8Q00vsJ$gWG2(=&CCiV@HYiY{}=bvRT+_7tLx*&m6Yqjt`E(T#U8gY0vuh^|+Y~%O5F+1piV+u4_j+TM}nBNti5Iy>~_pTM7b7*n3S;-v$qeLHdwOOGO1$2F3;ZfIyZ^M=_pFbQ6N9SYYohuU|`2m6(B|J>SPKizI -08tO;ndAi@L3uwW2)InO8u(xnlJ!Y;r6I(EdV`?5}!f5UM@7!ddiFc1R8EOAMr@3un3x>Vv@Ct{Xn(K_$c;-TaI_jgeq#O5Qn>CJa+*Hsmv3$C -i^kzmJ#VYCNBV^AmjYY`qy@e|vUF9%ja -&O;|%5rSh2V~Nl;7{y~ZnTguX1u%IqKY%g0Z$}2si=E0*?jIe(070Fd%#;v>3+W)t26 -m7H#7b|5vxl_TolkO9)B{xcJeUin+O$R8Ln9p*LRvM$l9pC(aokO)x#R_o+3wMRW>cv2pCd1`TFaFB* -jx0fZ2epWi>@LVJi`xF)2DDWkd%H>?H*Wh(TC3&mRo%)Fg#~{roMUZ}KLnw&^4a3c9UNZtmLc<*_B_p{6ac&I^eI~{n`Cq>^q5JjQIQF!ZCpRG-de -=CV%mx%c&;$@YcV4gJwnu30L%Nahz#{x}n8D~Bdl306J%w+Sjqr{C@i%%3-<|-F0KbuRt=GT2?e&_B; -}xc$zO=V23MD!mQxc&S!{-n@N6qmOjTW|&nOZA~kCGgw1|wLbQQGRd$lF}?Lf%Sq;GXP7D}*oF=x%bN -Vi^;ucIk~|rk%-LQZ(pWavP136FM9^xgdZFCq|~R;6`o+1p11>sb8eUK0VkMq?bt7PBsqt5UIb?&Au+ -tP3}`PXHbo{Hgw&^Dsm$rMSIjo>};Ueh02uUCiGtje@YCnW6R2KG`aN(lwNpKLsc66W;q60MLnA%Is= -~&ykQB|lP)1lmk+M&hfdIBOaX*gDO>u(d3g?CSiA9UVMlXXz -^ArJTuFmK*kgFA9G&8tu&Ubj5;TUX@iYf`G|YmgXhnvm%YFQUvOHXGh84*hi{GSDw5l$|OZ*F~9o%zWMK?4Wu?4v)2 --d|>(w-E)H=;VaNP;0n^>F5r2%3{X6$pfwVejD?#!uK#o#xW7crH{5UlY9|tN5~5OOaLaQS{)`pFyU4 -9LVJ;9dW|MDgZmx+kTvFznlUfG305eP)+wcc4(_(QKimYT8m*;t&=8P8%c7g3KilP#1ce?-ls77iG%f -}z?=(n#UAFY#@t{8jlU6qt_C4N$i#$8h0rirk)i0XkQM!ZDk9xKI;vmJpLPO3TsMh&xHk1`uq -hqh8`4q}#A(?czB8=Ts){if1l4n$1+LF?T#3+hQ;a1_WWj3`s=!HH0FM`M!VCkq)ZO#xaTI7r{z|VW3 -J@6@tlxMIy{eh!}p#rC=+Wq)O5~f%dGuFOFUGx(vjzEX%Ao+1p!ysZ}!!8hc>8d=J9so0nCcW0;6QcgTQT*&xbXDboOsfZ -@QW<`Qkwrpud%-3sM_~dQ@wOgpyEW1th<$zyZKPBR{U@j!d9 -Geou14|xU23S%q%9Eki)Qo9E0_1G*;;~SmNuJOVH^DJ-F17aV47!E#y_40aSwi4wsjYt5IfYc1CLVJF -H`SQC9hJ+Sqy(p(dhzO#tt}@8XdCov)RZ@r&UA{^nE=r=THvL;3_rpk?cK|gm03?_gtk^Io37oX-OXX -cZ60>UIj?M@j(jaj|<~%8!ni`K?ZGf+YAs1j3Y{fTh)U($5Gn%1GhiRUJ5=I`Y3AEI0MCP`F5b<|ftF -M*YscKWf4%!IFI -5kKh=0pMj?@;DdsFohb$84p8~+A=*MBW2z -be`-K7=o(!ImSGZWW9|Yfh+IG+84 -B0&(a{2D+}xSyI|J!dVW65DFLP5vOC6>HSp<2NV8jm&4`x8qV6dvwhn1eeQVRKRGLwVp(etAhhsQ_Ht ->|a!-p7`tX_eQFE|v1kS%3AuO^ -!h0nwbSZSBFV8ODe}WKn_2%;DAJ5-@2tK@g_xk(;f~=P^T$(Ly4P|ET6fCSDDJ3NUhfA3V-%3kFug3z9l*V9ci>WF!w?95*SK4BSSWW#J#e3SgrhO9o^-kYYk?w}1Pp{&!4KR8)st25O>AB#}tMjdp;dim{u&*Q_4xtsoME5m>X${1JlLWrqh0?iq8-@^q2&6>~KN+9PMjN3`Y*; -vS#i42BiUw2C9@6f9&ifj}0=v@c*V$o0%3V)ay~z?2VG3eV7jEL~{XXh!5Q>feqVYK0CGz}ku@8(KRJ -LOo84#RDN|mtA6qL;QF|EOk5}wF$7g$8cA>=dzrgI#j4u+Jg34^nUI2BHwcesm4ammI7*KES5812FyZ -WL}(act2C-&(VxWV@l><2yA3kvHjn*5*|df=?ginbiH*lzLa8HXRVnDYWhURFTFYggR*NMoQ??XU4(1 -C@PDt#`M4YahsRJ*HHoG(ctb1B^2GQv9J$r@$s?ZM){AYe^La}X*=r8%Lus90nt_!8=v+;mo9PCf`|8 -E;xZKETe|0VM{ZkxyS;LqB}^uTVRRi>x;swiANoS-p76WBYpLgOC#GSgF>2oE)2oW(RsfeNF_P>2xz) -J}*cjH?L4>jET}>HA~UyV5LV?uEP+3A2eJV>DR|L1YQFbCr{ca9kUL%vvel)H!co{`7%@^LcJfEw<1<6TxSCT#sX!qg$&Zst;B)BY*UZ4MB=aI7nzA -jazD)%dw8{X`9Aox`;Qu3i5m-^7k1eN)gg|RW0YSEWEPC<6}%gVa~87}&~)G5XA^djlsR}_2ttJ7!Eo -ZY7asK%9v^|QpoCF@L93~n8!NH1W&57{vwdzGhI(NcJqL0I^F+rmLjye5aBnqdvqRZ8LZOOmc>&?B5&nDT?nP -YDT}rXviCa1Rl!s)A$}0wW^7g$K9lxDH}e1sw#K(n>CtwB{aM1TqsCd2j{`ByE*rBqO3d4WTTzu;HOc -Oxo}V1@Ja4!2>^_Q_Zlz#AX!>RNNhmqU2vdKI%9N){I{EJ#W-AiZG3e(^DgPVYyAVc=1CzSVe+hVkeQ_V-{Kpa>LBsi$b;LH}E{7hL1zO?#QfbZ --J#bTY^Qxj34>ry5fGL(;MinceFez#Yvwj#*vRBzmf?8(SkecmmZyOlz8Aj8?ao0U~;4FH@~$Z{6X+5 -W3FhH`Xx)QmsyZt%G1ZFw&X$Avv}S5&WoR?qh;WBDdXv4k)lS5I5yRqh4BlqdLXktIswiYQ@e@|A|v2 -5>q{o&4|EEk!YDc?~dbuHZ*5HKuZyT%|`W6`4=Ly-5}0&Jm`8x5QYNoNkNrQ=H -;i=Wq1^LMOHC3TkW#C4>851YUb$OFKFxW$O9Eib$>4 -AkldiEGTET%iMj`xty7BAZSN}d;)*$mdwgi!seKn<>978~7(2#uRXlCHvkAIp1uVet8izj8Gz@poD~j -v=ll>dS3KtEQL)-{zM-4cqvJ_tpqhvPt%9uUr#8E%pZk@IGfY|9~HQdYRQREr`GvD^u0Uowky!*5%tW -?n!V}eWY7^9n2CbB1>Pm==mNvMjo?d)!i;EmLpF;i=0fc7KrRKFe+A~U~~WKQYI2PY{dx}jT7jg9Q_u -`Lia1n-Juw+=$;`2^d%2~}4(A#QH|b)qVx7BuuI#8c~SHlOags%EfPQO7$j`n(#l7!IPpM@>{t3aQ675`;2lv<$LVqp#gVQ;s@clx(f|I67SeYi8 -BZ@Cl%g4iM0|(xPN7Se=gw6;L6Hc2KF|C1xE+#TuD9gV84%2{hgXh>2drefE3`Ih>cGc#tA}=%J?tlD -d)(X=-JcIWxOjuh+gh-KEJ@ByRUIkrntg*#|=QcJbwqHP54B651~ZPmt9~L(xR-Gf<5iWq6jrr+8{?B -1HX@LPSSrb=c`8pY{$nU6*~tz`c*Dj*D&6*h*|KP&{=0^O!B~5zcskdxM}IxcdIobq#B@ai&jWbQNeA)+&Ae#^6*YaK)b)#D%XK>MGMHlFdjAFj5$vL8!(*E -xOnLffqF{|0l!K}xX;a{WODZ;6Oqi##X=kpdCpTR`qJ8j4T$(W}mh7e(JM<5_24dm;%{iRnx#{7)^R+ -LCSuXgOzW8d{9zxAev1OH&8!SUi{x*9LCWeQ^Kdgcgs$kSp!FKWgfG-Kigy&K~{}H921SHMWvF0_ltB -a21+(X@fVPqR^7?w#Wt59`Kn=+hNlKl3V3P-aF|JA|2DhU-ZS#!HXIN8~`Z#E~yn_ -MTSS{&)XtD?K+a)-um5EaSxm3%^!nghyKZkWdqn3*o}>96aE8GO9KQH0000803{TdPC*9bFG&ml03<2 -^02%-Q0B~t=FJEbHbY*gGVQepOd2n)XYGq?|E^v9(T5XTpxDo#DU%@&bYy-BC9$GXo;47||v==nZEiN -ezK@cdkOs|=hMOCDBBLw;Hof*D}l;qvLHvLfJaIqzFI2_JA^UQFMjXJYDKencAM4mHwu2o|g-)mL2M& -$PQZ04Rz<-aNIzv)iTW=E7$%R0+%MRib(7gTpfoy#@T@^d^$Rz@@xFEjDE5Veu2(tgIvN*i9593Q@D8 -r4iqYmF>*X1ZEd*M8zZ-d(-RfBfmikAKg9`RD7`FJJ!+)ILr;-p&|&NNOtKhpJn%=dv(s_DX8_|Iefv -2mRl+btz^v@k-Qx{QaMvbHmxrK7X%GW2fM^4IQQhLRXcqs6W$%>&SG=Jq(J@X -rp*InJHPogk+&CO}4L6sUF<_Fmf^#;+TH~dR4Z~|CE=?uSRpOmbU`D?Za(lhjk#cJjxUUlZAs_)PVWr -;4RPpT~stWt*U1#2r=sDq%vaGJQUt9Rd_0b;xd^WUYr*fnnsU|8Ew*;rnu7$xR;VYPho`boTE -2o(|37q7N)ChivjD*{ug)bS$d(V4xDeEKFJ#h4VKBs?w0ildDCv>4%YA1#oW>%wZ%^Q9ujkfIVN!WcE -#SDJGJk9RJPMPmpSsrq`=Q+FOWh@wC{t#X%ar2mcZXDa%IuE3f!jtnpB_s@xI!%{W -W@QCl(!eq-uL-{DOw8}u5Jr87|4){VjM!{Oky;MNE_V9-Kn4OZuu?7Y#Y8yflybNICYoAe;DAfRN@LM -ICU^1J5imib+?Gx$8Nj6tQ_8qp5cMMzlmLZ;UCuAnn;9}wVvPVFL+#D{L|gzZJaTP@g^uUS0&jS%eW# -T5fsC7rCvN^#4lHv5&G;5hh -H1Y30uN?6Az6v*k=yq7^i?N;2fFV@Ci=RS2%KRC-jLt4!q6fad3}bRx~LvIvhY$XzC?^VO|rToLUcu*;PD{Ps!;0IJ`qz -He@APmJutlj5Vy$v(}#OzV9jSh^>%KPwH+OQGmYyWEseF+VeQza75c{I1h11sZ0{v6a^3S6aF}MvStt -_h`{L95vO4SFikXsdes8M`xbFf1X%=($_}6i$I0|CnZhSkO~^pv8e0f`K`Y0~T!iM4AabGmgwTMj?#9 -!5CrjtU^M=AhXk-IE1G|h4VU;nP!@OzEf*OIG);+pnFnk~`48SE5hgsGi$+8nVM~x3wm~QbJYHH7WC1r?BJ#!5e7zY4cHdRcEg$7Cy2ZOF8^rz6_33xt)361l$zRUZVA_xE1B*;Hx+uQz -sq_)ytXPxqfN1w?F&)Z{-0--%1WDIuVg!U}z&Lu3&da9ObnGGlF%tJb -)lqE#k@Cz#%y)fd58eLRqd{+C+o!ijezSG{j70ZP6X%whbkHhNbi>^W-7HJF+6?>K?rMp2jh@zRT&s^ -!Ou!tdt)-hW3$vJeL}5f!i44TEsiIQ{>HWAuwZy_#R>hEG^zwK)VUGrwY;0;(az>$b0gGvs6%NaY3cX -&O7$DaiAi~VGV=gTwU!#dw!XG|G%7{=M88>iz6Pk0G_^lotio-!RC`J)_+nyo!aliXvXR{`;BcO#C4t -j-0vM!xbe}6V$HRf5LI2|UYGoew7cll(`7k+?(xSdpZUfSHQ`D~Kc+BzxN(P+FOQhY5D$?0+^OaU5E- -knK&(`pcvvT(D8Q)j3B$>OqZ@K3!!dOry%k5u##I3t-y!Q{S`A6;Dddpp^IwK+F(O;IY}lm(?}7ct9g -RtJpFWwX{#5X^Z_%d;!XD^XLBeu*)1S4$4%U<)zo`e>R(&_%A!RHHXKy5&;(c5l%{U=!qM?fu0q>_G+ -H>X!K~o{UW}RvwbULWTwH|U6bYLJ1Q^L^A0XQ$2JroTSQ->YCgD_l{nyDe&4o`6qhQq$!6d>K#_VXhX -7)m_b2l@}jx=XEq15qH}R8aN$Ft-)PwIa7lLf%FcSXMOVLYnmbiO`n$t&PZCzyBDQP^DJ;MqDYbdC?I -^W40l0h~-;FPB`q?Hu%iRu&fxj1DJzD1GBr7(*12!Uno%#GkaW{^a*<*(_(Zop;0aa*N~bMSK=TYnMiZamRzsE6U{V5c9{aXf%>}?56elkRA?#- -7lwNHjBQ!*udFPjP=#cBLp~hF#X33JK^%Eoq66(aIz@^wzE`)t7J34XZd}pGM>qn(h4Dmi;?jEW{Do-&yE3m>I@d3N+re()MqBmF5j@;ndd1aHJpl_F-rfhR}9GC!+dgv?pWL#7)FX)!oU9Nx}I$=n=Wee=*5q@qP^62QLv@zDJs2UqGk(gy@;8#K%dLM9eR< -4^bo22~#OhBa|fXo$is>n~2Gr7ARg0N4UC!CsDLSvDy0Cpld-lt(lzGE`#mDrJVeFy)6T!TxOin2LU* -j@un0c5EzKp3@D$l`-@fxrODhW@s;n&UuXTnZb&68+e%R;cqCEWZhPohHPmbFh%??wXk3P1zG0zL%vm -9jfUaDY1`H36LZ9i2#Nc^(z6J!tR9zR@}f!cziB-qY&wCYAGJ#jXE$CXTaiHLD!(zV3F4nf!FIx5OAW -Kd@awiQdy& -c=++pAV|7RoCl*)On-&HDrpLjE`fb=xJnEa@*K+@J+Hp@lgZBGG3F*^C??<7s+O -S{$oA&$os6gT?WeJXN5#ReqEJ2Jv(0c_Ww;3_tum`@OF#ONj|Iuf76JSr%UUKQ}-~u2IHvqGs4ZYnyq -REe)-M#PeyZN!qZRqOvopRfFo+9$fcldjEON(u98Sh{|vIpIz`y2H4wB{2zlWqDiVwLpk(=I~)7h_W6 -K`&DmTZJj)4&&k8mHLV!y>q+7Iw${@6aWAK2mmD%m`*6173nh(000;}000;O003}la4%nJZggdGZeeUMa%F -RGY<6WXaCx0uZI9!&5&rI9!TONeMs1}5S`=7dTU_sQ&7sNWkX)JsmxDq}w5_Zx>O^VxjH3U&Gec5*5w -*J)Be<+3ayXpVXNL50xqK;F(UhVoF6=v@WIgniY!-{RC&5bhsvBRis$p%_vP!X5bO+g;Maj5g2U*whU -R^B~@Qn4c-PPhw)G+hIP<7%gnjT&<`0$L$roO;Gf~i&%jN?q80`yqh$=^iLZ(-h%cV#VppD~yUT-=GSt4d&H*zbZJJH9j8Q!t< -s%5G+Ps5;ey0EVXAviqu0OSZlTwgj#K441GkSbX0JUiK$O!#9iNa=BPk=T>$-tL5=nHOIxFlV{j#U4s -aKWyQ?tR5*(iWT`HHKjmDhViYdy72fBALY8~6Wdb(SiM*`3c?vBrZn?i~aT3LCPQ;Au -sJtan%oFJ^tw-UTpWpnPzxe9Q7yr(``{Cy1_07M)Kn{t=+K-58Na0&jG_OH{+G1W-=u2M%Q(N}E=-s@ -Kn^N94wdAFx^QLOQ2hYPuFf#)ch`KQfvlER8ednBKjsR-u?PX^>pY_Td}zkM@tq0O>=z=2K?yAs{2yMA! -hy&I#ya#Ar*6@x>_8g^F%a|SV%N?rYYX}#H(?yzmG|NZ5fb+N-=%<|-Ezy881#45VTT-x5})*Pr(kV$ -xa{!d@_(8VL_3y)V5>gQoraXC58LsZQ6xkn_6(gsT+M1sPbO>jMn@)2N+t92$4tx;KliBHoYd`&wXXN -hss8;q1wspjmt4n}anc?__&BIKHWH(bmtr0nTDgGz;J7Fr&5Z^dDR8hMJ4+M{5fnVT=+GWJUJ7dm7jG -Oq3S`oX_OD<3?fM3xz*Le*Rm;%00e4y)C?0N+KA1 ->B<}Pk-W&gm}Y_)t&H&8KpHC0kos@J-InRC#Eo8fm4^-suhFXHVQY>^z|hRdG-t+`1Zc}yc5^(A4Ta# -14oY^B4q3_KLLoKDDj{HgmWhvyPha9QbTCfsE_bTINVw{jI)161Ey|@W2aA((_CD>o_KL`Lgc${S`0E -mDfs~hMdW{<4%L2W#_2DS*b&$ih?T)5qOJcjj>L}#Ro68b*T(79!zAxOR~nbRcQN1C%9{bu15c`s`BL%XOot0-bc -G>vXmBo;Ofb>JjS?-=W^dvzBR7hY9k*2sGR*cD_Uo^RK&I&C*IzTYpKqH&us4@CuNin71Yj6i_>~=Oi -P_nAbe4TlUKJ#0> -5=9$;C(3aI&^QRhCO%ndBYeLKOw+;o^Q$ubW>+n<6d=#uMrUQp}a@fx7vdgE+(^GNi5n5k&E?1I -rCSY#)Iw=^P`rdCClfEScQtN?tLJmCU%hlF@xy5=@%7yP7_lEjUqtjCViYFU_2aP6mS1n0Rs}x1x00|VxhCtUVt#b{RBY^a>o*^91)B1sO`DJTB2b{iNdq9 -UoUeQD}MLh1#!#)@1|v=!_H(Cf?5qQ)%6`bjd->~eUSBNG23|cO{lTHyMzxC3}@nF4-soU8HXR898Ko -RAuz|zMTu-PnHxUQs&t#fh8jGZvIY;)p+FGu@8qo~s*JZ7X4f#mGe9t1Z%jy@dSm`;uNbRTZb6p8#V$ -#w67y7_l$^sd;xGs3uBVk@#H#3ru3@iu?U}TwAEc^$C{9{@j54$_S%?A?buBgW|*;lu -%r2Kqyt^l~Id)ur2=Po=Wy&g`cAeB1-%Gtn0rd)_!pq0p3b3YZCHqoB&gCAn^x^?<8X4UK2Fj8A*Tcxu21bB7wWTU+Lg^#h$Ys -axe_!3RXiw+@CH~rEp~pdy58$noh?vn;YVqJDCt}f{HLSnN0h2b;!j>(7ResBi1GkY7qtBR-drGWj$( -Jgfle`Nv4x1+B|8&F%+j#|7`g3xqV8eoZ=h9&x-34Dd*N(XVr%CDz%a6#FY=fb(o|BN~~U~q^;_zzv$ -MsC7m($3dSIo-4U`4akHzf?uCv%fxC1<_)b6`;OyUz^)UKQACs|Xut5nXy~0AUDbbPcp`<}NlN=eD6S -DaPRO=Tx_&>i&j8wX{g1AO#l!U4eoE}b>#;%}fXuo@yH*VTbGuflIFtj^>g(X*4+B>6$SHwfu!Pq=h57^~Y{k-nvWbNExXF8r(Pk;q0Uv7@T^f@Lt%I^ZB(P5e&kl#WDi4BwKOmY{^nQp-~$67E;21$CIMyQ^ -l=EBTH7<6o;-SMtMSRr+`SNuGa4}4G`btnu_Md@s#-o`Q-YM>CsfV~in?Rwh-h|IP$H*V#y97F6W%Bs -i4TQV1fohtK3Zl?rJobaFz+te1f37Eb01H?8U6?8BHpar5L2qq8`QL7IgTGW={T)|k?QZ(f#Z5k+)?HoH@fI156wbvF}(Pk -57FYiMb1nCb8vo_YM!cysvoiNZ%zw8^XhMlPNH3mjXiSxoQa99`NW3?1STtB;DR)m7iaaRH15o4>8$0 -9yeg$TqZJ+ht|>)Fm|A4WC3H<=&ZgDW05-fhYJ&6+z5qvKH1opGv -m^w9wA^M~)g_9nHrM=XC@!R;-R5q%=FV~M_#%`UFWp0V|_Fa9z?q))=aAD)DDpYBdtc==hDSZ~CASH@=D`Z3Z&&|~;O^~`e_+8QfzHB`TQS&r)yTe}fF%$fHejGk?5 -$U0e1dn#20Y8|FB@Uki~smZ`2F2~o_}0lR<#516$l(6B(PQknXP_J}BGIv -myKKFVoZ%V!QQ*RHiZ&<86{NfHs-u#&2OZJDlV?EFx|xDqU+lABCdIb2M$-D5o2(M!Kh4~yi)<$rPVJ0`z?&ztxqEI?xlGf$_KWFA{FumIiv -5rXfA+I9VHwp+)WYA8u+O^XbR+h&+OD$SBwhhXv6YCcS_<)#b44h~xi_Y5%6D_u04A1XR%APRNom+Td -c*PSClDHwqRtP;4TpcXdjPYg6kBiq?^SXF^HUU!zUdZ;m4d)?{06z}t#^eLzAaIn? -)LxCXwFx2%WLB`!yTt>{B$d*^T^lbg>5SBs2WQ!106?NH67Wf|~9C;~^o~*E!YX4`ZG3n9Ch2k78 -^CiO1yS%1*@D{@u!)evsvz#6SIV=~F7i7f@{X!f*KN>yfl-aQdDapbw;537%YG`LzqP4gGXwa$VSDRC -kDM&di%*hB=si&%ufdlq*01yInwMUxC$j7uG_o?475h>Cq*xMw-L!>hPL-v$YioVgip?a7CFq%yctV@UE^jjsUz{ -2|BuS(l$D>Wb`^%H-wMeMK%ma-UVl{lgDcc>?M^$O?OzPXQz{1x4YWruRV8inj+^4?kCOimqF+;ZA$4 -*Z0mk2F^5rcbpodeaBHOi6E@TJJ%9I{+`A^78=)8nPG4b-sx!N!M`Cg&MyoIW4^T@31QY-O00;mj6qr -th=FjKEF8~1Lpa1|C0001RX>c!JX>N37a&BR4FL!8VWo#~RdBuJCbK6GJ=uHzqb8 -ID1t*^4|#9OjHEJ%V9Rv^IOkj!NLzrVib!a>W~-FmFDMFKNDJv}`=-90@$qtWQrNweJ+Wv$jlsnWcv< -19<_a~0<+wP@08g+Jy|uU7Fm`o>$J!#`)IRGvjlK3PpT{Z^&+k=vUH(;X2tnAAg6y8Rk)4o3;nZ9^tbAwsZ#?FI#`? -UJJaxWT;>3*;yx_mD*5Isjek>SRlH83#W!Ci`Lb9gTqxPZX$EbURZ{Arujtn;F0f6vVRV(`tHQkBUY< -u~QWZ_POsY<)aFtdy^f0WJWxA~^UF(E?K94T}bf*pv1mGTGH%*;ooELezjI;FjB+BDW(ydvgA505%2@ -sB7x|pYVos@Z;8QhcYR}a3fpLcvBd9vRg(|PWJ_$ID+jj}e2$qLV -|;Z~mPI**M_16J)vw5kKLVp*$ENCSUNI9V{APM<($`K_EaRSLULC)Ro*q3rdUF&#fBgDyN3WwFkDndA -c>Mfms&GJvtWmYRNT98L$QxjatO{Y`Tx!_Q;Co+Df))zz>cVNhO7c2_r^8h?X|?nbfA;dH=;`q<$4`% -5Phq^XEUKEtwk&|PDtxfTX}F52dQ~*_R3$(qn3k)woKkh3xe-jc4NUeZF3+J>nZ&DTdC}yT)j(evn<} -ZBZCw;V8Ilr)k&fQHef8$$%V#Ii$hIB$pO2pWEq -eX-#f#$?KMmJxQeCUqCV5l=oE)cWy6ypU$P_|Yev3?b{5(yUK-6czAXD{{*f$1FKS_RTKu7>nK99Fpa -jM=l+YEjmzl5*J2PpkG-@#8nE?#5_!JF9T`logYV1YOr;1a{VukEu|b<=aGhW{dw>$;{)tQ!Dm&+1p{ -_5`>KIy+PYS=oq{ABn}D6nR}1K%7^+X8ed{${_$SIweoja9buIUXw2E9n4>GnX;FT2Iw+|>8s(8jCg` -ihKgHJXF5(#-o)p(T+x)Qo}B#hy0}(z9_7=j1|b!O;n}TQw|+T#eRBNrMfBw5^H-1G9RKj_2#N*wr|R -AW-l7D6bz`oVvG6>ppV6}*B6%G}SZtN7RSr}{aT-+Ra;mlyX3i33V43S>4~98&%fRn#7B7=Pzps+*RE -_VBHPAA_8cEtcP~P&A^n?#tAq-SaiPoak74M -5s_8Zu&&LxPg$7n~D03HHsO_%4DDnp?t*Qoe2!|B{227(82>mB^5YuyDq(p|FWFQbK0{trBRTLMo-f> -5%MFS7|0lo!^37S)Qm6Rw5VAiaQ(|c#?uj-*CXPyB?{`hD?p}1t80r7Wc%7HeCq+5*X2`r*X8^$KgPh}-pk|zDY4iz%qjS_Y--dCLXjKz6qW|;Bz&!L&4cG4N`uK{uo -s96iXjdB4w4Js!788ukK$^XrXwFn$)e1mf**mUCQweo^Ek!9eRGx -dX-&pj#%P7>+>+EcL&^qgQ{$euISiUVr~Syz^)h%D`KkvyVn_*l31E5hs4q;*c;pNGZ -5gkPV$W+l5v};(tM9|QT1^srf%)p7|&G*)XK>-57w~Uv-`64<%ifGti+7=Dy-sc6b&4m&Sd=Wyr#Jb2 -<0AWtQjBYTRL5D_>@BldgfWfc@VizzR(lTgu1V5nDEpbV9haseg0Rpg8g)VSe^d``^@VqPlVR}%pRKAS#b@jm|2YbIR*O1b>?b>Y% -oi!nGC|As$mdE{SDz~fWuirFlWKMk3hvOcU$Oq4f=~%yh8$;6*IdqqINb_{_is_Kv9rs!X_VJBs=gOt -p4~og@3oC**6y{D8`jq!E6N4yo{SFQM;l+rvt1=RRs%LMIHr|-PD7KyP&R1FpEHOfMH0N7XojS#9)-y -7jcaozXML$DHt*QgII#_C#zo_zc{8fqzVCrM8!24k+r%=&_)0Ng}|dB10612X-^hRp_JTO&}^MlTU@} -9%}X#u5XVh?Nz3)dwj{8)y_W822t}Ib){+aBs2Dg%yHgytaaquS_QYb!06Vb^=^O2!HbQ)F}M#;9Uip4*ZC0g((tr^vd*$VX1CQA<2O->Hc7FAa;g#+97 -D>kdHke8%TNXlcSnTAQbry3M!RgpdlyeXCtF$5e^f!Q9#i=wIZ$V4zRBhZw=wEa1dXKlHpogpZF&U}^ -9H5{KNV0Le4ZmeNAc1pWH(e@`Xl`Cw9hKjvbs7SNNHoWC5oRxj9u_j#+K%+bX^JfS)yTl3@uktztX@- -i1zmAH?l=>YB$(jjw|0i7IOiPO$u>l#uB;Kw`UTF^keB&X*O35l(?8q%PcirP)Bd+5nt7$;1q@MJdLG -b*{EaWTDrbyj}vF@OZ4wJl=X7m~Wzfc$ix~3H{Tt5;uRhLH}`9KA~E2p-(voKz*0tcR%Fux|anvBsA5 -Ay_O2M#0mM4W8>_9$q>$9M3)<{d{VkqulXWBSaOh3Ot3egPeslp&1BJyk1 -e|kM11Ri0+-FKWafDf`T4zs`H5KBxEByn+7_g+tJ;y?NziHp=BjnRP?|IN;`kifo!FrbOPN^J_u5k@3 -%}WG(Mvm3kZPyVlsLHGcZL3 -5`-GgJirJ97p+vdR|VsUIx#3BYbaxp7~$IAY*9hM*$v3bk~LMRN6%(?F~cV_rqfJsTS-4An$wX<44vB -i(IKGM4^4v+HLoS?ZX^@kXN?bT5SwvVEZ2pfUiD~s -zYkiTu^LvOI0wtV%hh|siazv(l@5#{p~1ggSDPzcA`QDxRw!iS9sQAdtqU_+>YtQf0@vl=ZkC4Lijkd -yzJrpB@;ffu$#zCs%Y$^!`j7_>#O{Ptk^Pt>cUSL)%n-%xG*{?&tTW!102&H)uwp?D+Q5o_@jRuwzbX -wbE$Ic2pOkRj`BfeJC|rwQ&(#FhL)^@;UWQIr@snqND4;cH6=AZuZqvusBVpyI{8iXzW;*b3@oNFXo< -6_bT*bDX}k+SRf<1J)c+1NzC8x)$-0wZr490xa8Dy@B~b+v!XM)HHx3npDU)D9>0=SBrRgiE -DPgLIpFK&7{~xU2m(yyLZn)0cjTKe!IKfZR5M!bbFU~ChmUy-8bL4Gg_8FnXXfHne66SyjiSbWQ0RSa -|C@E!3S2$KG6P6aXpzh{*YyL6=8kayf6y@OXVV4nfFsG3XCK$YppmzbnR)cI<41aaaKEpK+|TGJ;`y% -y?6e4o}~-c8f@LVyww&}VHn;}C>_E|6>lu&hw8BcQ=IoO<8pZcl1hsUHaH4hm|2tGIoca&TE3a1K@$~ -84Qh3+7eO2^l6Sc`3U(Ed1q+8$eedoR5t(S?Gn93(t7D9%OSD*k_+(QKtN~=;5(J_a35T!I26v6S?PD1k^0^2KQv-jiGF~Ex`VeDpON=;x ->aDYI9TDrJ{j|vW!`?;R{N?$oSz=8(zn&(Jp -KJif_2d(c1ZFdQJ=L>oGF5#$pDirxocUA}=JDzJY^ug%{O3DK{EFI50`^)&-sOm#hRnvi8{kcU2K1Zr -v>l0IecYXjz^CP$oW#ycvyX5AYvCNN9Oq@%=Yp>4PnX*6WK(61KI*>KI3{Wkl0?9Ce9u*pAvX;70#)Y -p!>2JM`%AnDT1zHmTQG;@Et!M(285qTHN8V?^_Vv=pT0cAz%yX5^c)c9(8w~0FM0KBwxL(_Sy5cFJ^~ -!UVk8xpUknTWDqUjl)iOgzImu1!tYmMs;|EZl@D|$>CWmm?HS@Xpy^CNK){x@Zo!T+Yr7x ->@Q4wC*d^`OWI@gMtYVlceXrWk%?4%4P1VtYE4D&w;rTcoEnV8^9p`C1oJqO))rzCp*eaTf6-c695Vc -63cxKaq}~neaZU{%MUH($+=yMhk(=925a06INzGt-U&z_ptn=@RI}0P#>i&KGM+>^5LayS->5q4nN2a%{kSIz_p$)Pfn-j-;mV7K~_At7Orf2iya6XOhc5m^eEsY->82bX6{qnp -5LKrl6U0oob2gZ@hqz?^8Uh0nL+NhVJGH=s%(%xq)unvJn`rLe(y95!DJocZENdRz$06D^bSt6 -?9r#FSjAxGAkB~#E!{|R1gq)=o+75lnn@3Uc`9V>4!r;8<9)kCv3=VHU;~Hk-5iU5oXOQ857~GgG@Z* -Fs+&eO0ua;0p7d6j~yXSmw}xDziUo|*4<{YWGM? -sddb0U4{LVIM4p#d`AWyV^~QKuqL-=dUw+K@|p&;2L}2S*jKw`m1vP<==P|~CP&@BYHN2SVd@@89G7D -QHz@prt7E_@jwX6NLKBg*mI#wgQT4$i-zSVu!!AYkdc>fIozwO*sYbwY=wZRA{{-EI)kRz;T}g2u!3- -)$!t+pq=yw<$Q&kyyWs2tfLg5Z5A7%hpO$kca;$a_8SjQ(fr-4J4Hk)`mM)$9Y_kjUllBw1MsM>871q -I2aHHVNA;o3b7)!Q6T>uBW`hpPt~w1Q4BBs-QY)*jhK>83&&kQ~3!u}E#k;Ms>gXxPV%+7B^Im)o4ZP ->IhnI!OQIhSCl7s;#W}Sp1q$Y|}CrDs$0FXNX76Vab30#PCB_su@mxlKHU*u3tpJ?>+}T+r>U -$xH&_w?{UlxTA&fd1mgDCm*FAX=mwY;fi(dou9#94XHoUAGG^5y -ch_$*y$43rB-Q})M-8(Q(G(chu)23Dh8N#wDaj!Dlv0DMRQ+hy&*2tm)WXy(DmkoaFLAPc(j%On^uDx -my2nLvhC8%ywHEIypXb&&qdq+73GXz?Q2pcp9@dqI^>7~Xouzyp^CR?T4@ClmI6tagUTtPZ8kDajUfo -T>maoXB}f=BP7mwy}R-OUJwpDk|h(1EGS+dS?y!3$Gs&K -zDfo4LBp>AlEYl)=uw6tqbAE#2L^u97hEd>WLE4pPN{q0!^@N8(wCYg>7IeBO0aECP%lcJ~fg -HBz_HFKeQ>B%}~bJy=y&UMwZMrnXU^4y2m|g9bE4FTAn-P>;Qc$*Dx@wIh86v}0_7s&5NK;(Q5O(Ygo -f=+zYdVek%3_@h@6MG%5$iJkB_>u_-e@qyb(sEn~|_N1q4FjE}4j*)f@3~0D*^HAKk1drjL)5FM*uBuORZ0#*p8HGmv;zwOb#7~YBNh}A-*ZC&uv+7HlULOpq=NyD8de8`@_mWr) -P6(OFAduaLNI0#=*@G$x3KHMbnvWB0uhbAn0BiZX0sFEefw_yBm+lNmy@Bh`s=@XOnu0NC$f7f>+$Qb -NBZ`yHC1)4(nm&5`LsozvoBxGuZD#{~N~-|B>;-l?%J!9P1C*O{AULnoMUVg64>|AJi7z2v*bg4w`%Mv&B~-!UBzV@=MwH`f?Y+$s>L9QGh>Pzfby($EEu3ovM5$ -NQpBo0+!txRXqJ~r9Tw#|qc7hIJ>q -jQe&AvZB7zrupXMj&W((qL=SJzXW&eTIKu|!{z>e=y8 -EZ9J-llcu?W{W*|5XNyMU&#BT7J8(4(+w*4SYfIh+~3xF};BwoZ14p3p=|7on-+EN+MDw%&aEjlR#+W -3nnKa(C1PWf9V>6sjj{Lk4?PpU(giHIn>p4fl`iT{b|8{}=7!OdiP8fEl?)7WptwNL -TbPn~wBfg*mT1+ok#6M)wXty(ohyJ=*C^V=X&yzgykZo0T%KQXEJ ->LFtrtN#4urwp1FK#?`qz8Z*(Q(vXUw4vPNj)~l6-){ydB`cP3XV~?%!x(uuYa}oN?41dXMNpjZuGaX -w0%9N5*l#Qg#m+h!NHaA8V)6TzZ*6p9&wF2`X%B&D)sMp2jBV*$`lO$d$GP@GYvp=r$q|uSN!sk$*yJ -hAX;2E{|Fnnm=Dfl&2Nxcl!4-JXqs(s=LICueUv7+sNfo1o3jfoFE}8&jtWeE?L -BeOAsMD{8U=EmmKy()Bt)r@)t*!04&c2hZE5z{n}K0I+2Nf(L1C2v(v=L<&HqCY4hcIRr%uWua^O;1`b1ld8_(~skexgkqC8%{fa!%4sD*o6`yO~kuMs=-wZ=$ap*}m?c$~fwd$~q7BdA#xDrMgXh;-Da1nF -55Mug@k6qz&L}BV36_r#|TEjBLt_{XCz!^pX;WUbK^^boXy*PRM`Uo>ky?piN_~na}fBZwqDI*i~b-) -@mauvrx6CCZHYtm#!HY02kf2hqVBNURj189a`PBMMNv2C93Y?Y#Hi6Ryn#iU;s~fD@7P4`3=Hsi)am?4AD^;E+*${K -V0p#lDag)q+#Pjbdj-u9fo4$S7ANaI_&=@Du1A;stKN~iE@pJTPJJ;~BRdGALF8_um3O-uqu%ReqB%X -he>Qbcp8RQ?Z_?JofwpeYjxGuumSl;T(`1l30u%?K<8su@k>CKGvVggCy+#;%r*kosh=1^Y6}%7MuO^ -RJ$Ge&U!>j}R=@w}-YESk56vw)tg>`#c`?vYQo2`2}qo?)%Jd1d}?&TE^4Q -3jT2%qF27eFw3zhYKmMlz6kII7j~Ue+@HcB>N@Y*0r2^!C_SC&UckbALv$&}@c5O;R0?8r(bV(miS=B ->=kEA&52-b>ce|PRGuGUtV!ny(9Q?3e-|#&xjAA;!DoH2^i&TJUU$FcP5%Vx_mdw}8EDc^JN5p+bQ0r3awQTlKuFKD@8{$$g2d_=y5g(G1g2_CieWUIX2YxR3Ll(F&yw3%?Y*u3gKnK40+6vRvp-s+vpM* -{{Gzupjoaicza>{WpH8^P0CF9L&^%2mdykjt!7>wy>HX(a*h?zgF+^mO#O!7i!Qw+zGNykwxWmxm26xHfTXR02^EI|ylyhxUpm{u8Rmo8FhU>69isp?DLHONOcQJi~HiM -a~*Kq@|4T%mgkSK|tKVrgB3d|+5(lC>C6xa$=xc5*hmOxCn_XN}po#j|L0kI^->iT{baehEfu5t#S_q -!IEoZSSR6%4wLe!AL>!>wT~8hxaFcA?1!Tpx~KpcY&pFPwUJ?7sV#c3#0o=YXtCq_&@+khosCQKzJYr -@BI^2tv&_Mu`g5g99v*6z)?En{G5eI2t{c?IOjbOi1(mO=5j@f7q@>{^4PSqk{|NX^u1$(iWg-Y@CI8 ->eCdu^-XkR1?X+@b+^*Pnj14!osG{@VygeqF{croR490HLhRwY*AapmYF+Bfllz=;0gK)c=Xsxr&H{| -2dBk%8pjSBLA&<+?MF@w1*X(M2+)4?O{Qk_g%U85)w4Y#jn&bhNa2b9OhmTCDMHb#lU(%9|c*k4fh;O -d>JyTxY(nUowED>4K){egRM^vi&HA6{Q%|8mlLPAIRZ -BhPhy&s#!${6m}9po^t-6a`h1t@*r7C;Y0FkkN~VanC$y8PRv2fyfCR^2zZ(m6@#MQ+6!gHfSCMigCj -ecG)`ghD9uUgS~5QQtl*Ey?@iai*L`qJIfsMsVYarnEud~wf-@nV-o6y0P}8fDj+W{)_#IfldEqW;r` -}q?0QzNlQBgXR}H`zMI*^WIhu{sii5NnYXF6Fn}c(l`oT@YZ0>)3uhplvD&t}e@Ae{10B9OursrM|^t -N4v=7^3$?be~!%9#x`T}W_mrH{$dIfpFia!N!Q`{%7th -Ty|g?WXE?C#gt_CLJ4OX9`iz@zL+L9`?#q`Dg`%ta%Y#fe>vlBNj;t#HxMtudDpgQCD-#z*)=00C{`X -JKY`g0%IL3zD(o;?~YL7LuVIx%#@4Tlr_-eTiv4M)td+^?L$#MAK*>cobD@{?ubC95 -LS-w`G;)K<@p^Wa)puld?sPBa)tD^zOc2DJRi_>9v-G10hB*a!)C6^Y`pQCG*m)_tD1KIl@$dobA-Ar -{zWzG{v<>+^?WF}i0X0dFEsyX!*e%PVZK{@2ZAczw>4J6Pp^wh~(=WrRuN&matWfCq3y^eK0G9s;`D( -ZbvNRuay$B}O -9kg8kBHi&5~f?F^+Ja=Jl=5TVUuIX8L3@uTY_qvGaB4JKr^`wKoNk%=O52y`dQEgsgzJp#;`o!9-I4y -R~ZMXi+TqDi{_?@jmQPf-0COdaQr<@R!%-j44W -uVIz2FHX0gJJ!pur3j9wE+d9h!FaY$I`t~kt7d~J+>VH}8>CXm#s&n=j#N9#2U^=BBb7U1rx?&#B_AKw0S1K6jWTNX^7MZpUVC<@nSefKW)qVF8bdf&O>#xF|k -L!nP1^*;aOqm!?%%^%MFhC*23NrdO5gv^rjc)8IRJT@ -+ja?gg#H4~G^QLj5*TX#AWSpO{r^n2Z5B&Z(rAO;B>;iaUbadF%Z -s9*MS?8niO8X0dhu>k^8< -D@h5x;IhcNA8;}`!h3oH%;P)MGY;ePL0;>lK5fC#8Il%U|Pdgc3S+LXT<`nw?9!cFQR3Z#5t$z>M_gu -yak=Sh?H9>v%pCWJxrzD*;?0nM7n+$GyBznlnfPST`7No{=-DZXu0^T-P|{ogR@PS5-bK3Os -9!hg_HMbne=j`3HA{iMY_5uXgL9XxfI|LwJcZC8!q_97P<9@_3%E79Ey5N8@TTI;9*ZRw@<-HI}847t -P(^pd7mh-9mGhRoVwwZs6kjDLOqyVhlJC~3IwNq*Iie&M9gG_Hm|7|xQe5-c9HiPW(K_kSFc+OLzoL2 -(=X?D3&~dY2OimoNwBaveHF0BJerQ$Vagbi{0v?br9e?Z&PwSpMma8V6;r;Z^7!L*EaA)grHgRgUyDp -`aZghVDYhIf(~|+v=VJZg0RKmm9i2#zN`OGo|tMmKJyLEch+}FY3kpxY0otgQ;z?KZ}NI?~YGu%4>vY -@HKPbS<da680JcjJ~ -_~AdmRsrAAQ}v7HB+cXv1&WiW6vEs?KRj_zL!DYiIbGy2H82dltEV!N^j^6^bYaRySU+di<@{jloOCx -3a!SVk~EI)0cv1BSs7u+~J^PJiwh9>(F)Bje)D2E4l$1X9Un{I+Qe%w3f=`(IMNvGsE#EH%$7!zPJJb(4Gj))}Y+NOD -=uTTTa{ReTE`bdjf@a?44XdeYQ747(`ldY*OHHrCJQKs(FfekRrMtCnplCMI?=;>x2FY2p?Uy(^Bx_9%U` -|&tXV_-_{U#I=a|0Aj6YSA~9oXw0+&)6Yb+ox-<#Al`Oza;TT41M(fLFAJPg359;rybPGyWZ+D802kzoSma&Snd#5-SbiOug^0_MM(Z@7A!GyNQy|h|JZgFSuO -(I`f<8)zHO}Jf~>psA?9%OMz`=s+QNQxvL0$rWGmUGMB$Ti9fA>OEq+jq}4?*qDemL3Znmj48TvH9Ke -ru(>j^E202CysZaXMJMic1Meki;>Ac9mN(}^C$q|Fru<5fsaj6;0n69;3CcsLotzPY(;!nI87sMjxfTK!QK9oKcgs&#QMDZn&g5T -ctQURDH;S>%=Sc-t5&~mR$c`#b+<9_cz_1@Iz}dxWO8K#%JnYjn#`r%dPEt`8e*R$uS7~5EGyBy$+(0 -vFS-CcCNM8k9^`19N&@$bc2WI8^pss~Or2e%s1`#hPCFP@gM!T#8swC=g)k$w9#!h06g}LiQ^`j5 -;3}bI{=)ZJm{OiplZ#vO77Q6O_{#?hF`7UQV&*FQlL$2y4`j)I=bUB^Fmi|<6LUpjSpNPrwXUA{T7P; -o_a4fI0UI12Cfcl-Ew|?&vrFdlD=|*oZHflmAmG|CgJ}}p6QO6vBtt1h~E`~b2uH;ikaX3)N6&;D^^^ --*pLgu_1f(o4r?^^dz>4LS{vS&JjmLKbWoFVn0IzE@b1SB$=orM99Bb|w`YLF&oP9IO -D;Uof!SRD@3xFryC$#BotGzk{EP3jY9y5nXH(-Xfd_ye$&W-HyW;CWqLi$luv2d^JgB8`bBwjzc#g?0 -cz>>99oVmFu3RK4|1ILf`d1J;r=3>fgOfw -2qF=9+jPYQj#n6lxgn``$-4<^(HRBjDtYBZumE_HDMV_hnJce~{ru2cv%e=VG_oE=mGK=!kXMKRWha -FqIFn7WfbPk>U#P_0Fq-LM|(w}|Qc)MNcoJJIntYd!nqc5S$&u}H9b*(Oo(Aro!jH54r6bMzw -+AeiI%$L(NT_e2+|zM3SqZcK{4c0XJ9COdn)vX-C&q*f_PMs^KVvY4SF7PA(a~-}j^NIL$o#uf+BGM< -Md7oKI&|FLU454d_N%;Ng?i1OO@>T5gQ)c2a}X6@k2yo~r?Hf_hp{}+@vSkRHZ0bjmCffG*FHLqn}|< -IxlP^re^5&U1QY-O00;mj6qruVcj`1~0001l0000T0001RX>c!JX>N37a&BR4FJo+JFJE72ZfSI1UoL -QYC5$l+10f6qdtR|3MIMxVzz61Hov{)4iu^uEX=g^0bAH{&pmNd4C~iSwVkbxy-Y{f5*XF&GRj3$4EO -<65jLAyDb?eG0=bX|5?~g1r(SK(lZhQ4bbzU$JNFP1}>pr^ITY04)P)h>@6aWAK2mmD%m`?EJz?)hJ0 -06@m001KZ003}la4%nJZggdGZeeUMV{B0e;tvUD+nb7B&GEe6TCK-<0YtSMXevp0~Y}2!kf2@ -P)YXp&DT$N(JGZq#Z;Uu-_BRP1PFlN@tM#^l!{h~o(cH$YnH7L6rftzC6`9e6?tpa(ql;*MLySSdb}2 -bi!sqCn&`JZsA&4K+^bI(Dx6FJ4pQqOFd_NMXduncdDSmkCi^ESD-Yz1{jDqcd>ojk(9@{<}}x#I_2KW%M?d(?Kkt=1W;=qne1ibE>~#zJ(K5o(QQB9IVI(7;|`(NR@YDWbn1^ghjOq4tE8QH);5M234luJC1PD3O -&@`_6KZYpd83LzBRzkR4J}$f@zwqz>3RAG!+TDOMQyY0>Sp>D{ -;6+ppJmciHdPUv9@SfVmmuhUR}zkyX6jW^gCTYx4qfRw(^u938h+*~rFL;Y>@{h1kl(^YIn#MzF&Y-a -=C$=o90ugu>P}zhShaC!)9H;;CR&@leq-l0jKxC)CN&ZavW=N`OqYW5*yd`z@reDUaUcFzG4E^YW9>n360J`v -i&cKsT!~<<%X7^#je$K%_H7L@BV>Z;0T+pE_Vn%*W{Q9=T$*}fKQ|*S&%*r5~v?2>T!SxM245kPP)Ir -aWk{oud+(9e%Z_6~bZsiDjpuV?ykL$HB=kHdycTcabrsvh)8}xdCO9m4RX?9bLr?iq`gMnMO?tg6$<1 -EI#3CxCku4zf7gf4C3myxa^=I5A3kdaQ68`}!rHZmysj;qcyH5o1vbEDWr&9od`?;0xD+b=W%A#7m^j -4&IPTl%^A7chDK=)8UJJ?+%Z@K`5XnGBJSTB5Lqs6X!WHpCLZrJ#&Mz3<2Uf!Fo4`Tq^c9gmWUX*@YG -!wcE4V9z1}~`w5OgI;eTxAMh-L`bu7+L!b9T9l8X_J&2yA5z<$=qvfNSZ;qk!Gv_rZ&qKh%>5e_7A$U -*T;SAl#hiA=qtIL(_9f~g&v|q@J=M{3vYsKo8hMR)UJ0*}x6W8Xv8S;vAD6~K5iO`5qzCq{F)IC)Y27 -!1K^(h|Z7`${P#1Z0)2PA|Z{{i^uyg&9`Il3m(uH<<$as=st_GP>eEzd6Pu9QAsY9xruAk#6J)R~#1C -$gNN+qME|bbq3?4SN)wE3DoUOcz|m7?bC}5RNCB1C!M3YFeo$YRKY}cp6r&d2MP&2O7%cfp%Yn*1_Zf -TaFe_Y#fJz(N1gsv4j#97TyP7ubPTNVM=a7KoE>K`ZyIj<*LoSKh5-f`~8B;6qmF~;MmiAH!=@8uHMY -zLE?Yh>2n`92A{=rI@qHmwBiL00!T%PorJ~6SG3h7_kIMbpz1K)>y_b4F41wD879jo^>K -MZ%P~j&;;vWaP5Qh1s8$t73fJq&6o3_};$<-!S-8C1YzvWUP1LWougJO8&(1>J3Oo6%d<^ribWDMO7`6w9J_Fxtv{Io?p($#pT)i#re%u^7>}+_B1(NTqgF( -)y>Jt+0_;BUjDp1|7B^{HS+t#<@L?0w`a@u$@2U&2eN<66mH2ah?qcLC -F*EF+MGjry1CPWFESro9x91aVR?9zo`cf73S>ze1;DHmp0)43`506r`?FEaM25gHDgZrB@K6d~xmOsO -Zfs0(1VNovGM?zm7j%~^35LKf^_XqHlmI#s3UZQTl-091m=3Cp;mtDMb-k8<#x1N%WH8jk18G0@hB*f -key#|jm+Q}D=K#u=*wGn;hiZi!`w(X87!l-HvC$cihKfuFxMkL;mIrs^tjPJ58vj?2{7&xWa_66Iz_3 -Ur8^|C=QhRofW^m5iqF5TeX|DKev?TI2^bWEg;8nGQuxN4!ezm_UO~(k%n0KZvUKRcEX3e!KWBIr-`A -jPxG3|_IWQPP}qV4{bkEoeu68 -9z@5#&**K)j)>y8X8jX?!4KN{d@?l~fb8S$>PU)>)i;|?EJBa7g(P*SIfOF`mT>Z{cH8u -J`Ai!Ui1ta7cYK9#*8ud5BSfE)7k}5nG>=V)Pd?rQzdxE){7kg)lVgGmV*O+01E5{Q^T~5bp34b&P9kUR(R60eP -*2ky+S+9Xza;G0+jpOLi{;uzG@OS -Rn7zXG5X?*M$6Mt=U}X5Ng}spoo58LM{GtWsw8U5rTtAdPLF# -kjF($z+vwO~qcCguZaB^m~Yh;}x_z651YL*lrAw#9~#j3^yX;UWnMhzy|Aapm&ggWk-v{ru%8J(~9#x)zz0Mo0hx6r0 -=FfW1-e9f`m3G&iV$zhiGq|2~{5Ae12C_|j=Gg1l%7G~(+=45DD?irA6z8*SH3*ehc=zw%whBMBfB`Z -I17L*;SDPwi9q1c)Yj?#h_nU@ -tmvuP=+>`ci3yjtzbLKi@zii#Kmq-ZKFQure!(cWhg>{Nx)H8r38VA#C%P`PL)2Sl|GzIo9g|R2^RZ_ -sYPsk&a5%=qFI4zkaZ3uXLl@5ih8%wm4?@o_)gT2pZnZ=Q-dQ<%e)lxjt%Gq9}KMw+34o1frW)&L -Xd%YRml<;C*emFk5C3A4}uV>_&sqbBFmo^Lo0`l_v_$9gLd5* -eA=NJ#^K|K!!58h;{>25~FH66v@#p46w;RghC!>hQ`C^#xJMUswQ(G-OppBQ@Mkkcr~q;*xDX_b@bH}tpu4KAa&SMbmYLkJ`Uhc$(L@+hdjqVo(=7 -&u^U}FcEi{8`RVyFxrUuXs{wr*>IZg*;|O#M9E`OkOlmrnA3FHvbI)Pd5WfYJ)}MeHRD#gJasldqU)w -Uz4Don?evK^-v~VRTVh!E3Y&tEX%VVj>uMksBhZK8Zrk}ZdOKFApFu7P62~glgLRujVD9HAFNS-fhPbblW9lfQqMz -+l(|~AU@XHBQ0#Yb(*1L3;UmKY2dXM?Ag)C6B{8Gw@UR)f6+HJz_0JWGqzHg|{hEc!*s9({lQTCDCzx -k&YJ+YwnIUzZdgj-n?uMO?yoW~n{T)Ps5qfA&-WkGA|0gyW+)ej(;7L+Wo=d~-vx<3W5Z;eKulJZQ2x -dY%Q`NQ)!ZWmM;DNag(}GP=daxxGgc;EzwSrs*l_oyKgi@41u|SIVrT8dg4_e=;!M0KKW1L$sOBONju -|m}Hg93EPieba>9F!tnN&UBWAbfiE`sT->uQhjTvANa*bwvXfPuB9!Y`-e0$QC%!7Imc_F@^Jr3De-E -7#H#!)8t;)=abKC9#980L?02lg?k!9?>?^qfGmPp%;yCw<-LFX5iAO!k1o;ju-LHi9Quem(~j=*$Pp7nQ%Gc7;+0x5xb4AC-z$SaBHt -4FsqMs72ls3uuu0W58|VS6E~)yZKE0znN8WwM3Fv<4F70g5jM@E>XRvZ`8V){m^S-abkKLGb2Q}EYv; -Kr=SWXOAu$*;L54VG#!4X6jyy4d~>u2O@TPs~oYc<;&$6cA#J*~RfBQ1P19n50vt#@-b)w%C-*HkVC9 -vkF;U|qn|9fLYOYezU`RpWtoZ&&diE$aQAwWE{X)mlh5-UsWdnYZF7H8YsUi8TH;Akw)>eDJf@m*QPP -90mW@{82*9F%Jn1hw2AE`aa5Aaa2GdkE7q?rD$UANqzKY*5BTnK0&{s5m_9^!)ro(-DdB$Ea-Tuu6eGvp+=p4Ne>w3qYsrFHJRQEh}rSHpIPr^ -|Jrfhw6#*231tzU7#&RqJQj|h0ptjYv0=m2H-VnR5UIX2;F)iTuCaAr+)?kv^{Hh(Z8TC1El*4eR;dF -OkuZ*Y5xxx_mcH~@&$C`$;|(=}eGb=IPm*3{QDJV1@1h4>P5G&&EzDKgY4Jf4xI?WXK?w>v(!kU(G!C ->&~}q+->#FTZOr+NB}*0WCg|S)Z!S|5lUDY{9-}^Ow}>kix1REdKu~ITRSWe*SqP!y|!U;PgQv2ecao -e(>ZzW9)D^dbaiAg#~+ILppYL)TA7YDP77^t8_*bbVVI1e$hhcN?#>*`m9Hi$oxP;@@9FuRM$DMQ;j$ -N*n64rs!S1@7+-HC)VG+;uVERiKL={zVWsLp2g+4Sz421_#edv5V$U&q0)gwnUvKBWYxzHWLI}2IB3bc*ihXw@?P~Y6fd2qcO9KQH0000803{TdPU -1+jZM_))00mtD03QGV0B~t=FJEbHbY*gGVQepBY-ulJZDen7bZKvHb1ras-8^e=%Cf?!ZDWu<1K -D4Vp%Ya#QQSX4z@)`P+AQi-xk^CT@ZC6=mEBCSPJh?$zFxw3tVJW*pYZ5#2IylDO+(!6eD-lVcoqFJi -dV38G5nPuxpe1LA1l68@bsY>$&yqApy^q4kFArt&@8p^U%`79KP%;A4ktpz}B)L^QbN2PL6%Bog%B+9 -hZ-^D`Zs*;(7*F2^P;G8$A%5nTLO|M=SZ8popW>Cr+v1h=MxGexFkwDM1ZdBet^DJ|agCFxE%Zf+98V -E5{b-Ku-!5{!K&Z}Z2;&|RRZKdK^q^q*18X>23k+qGA`S)O;pEv5Md8}kMu!w)wX*YWw;`P+;5_2u_GZEcyrOIa_K#r5X)`osG-@!PYTw--0NJ2mSPWmk84_w&`yF--6LKjP~j-oL -+m|7Lg3HZ{GzJ-d!?f4+iY2I+hYjFW+Ye+0-M?kop6J_pH^(+t$^b(%DWkHCD}sV@NB;tC&CWAUTRT2 -*(geO!|)ji__gaXp`>3m3*x+h -7vKz5oj59JgXKpgA%&I34(F)($*(Yk#5IhIPErC0D>oIsPy=#n~{evG!UmE{Pj0(aUy>GEz}}9bZ6-_ -HVPii!E6je5k|ihX+DIPQC((fGaQY$xi?P&!h~JPdrMa`$V2)Z>kgWtFHktti5Q|7+<}D{qkMcEZ(-O --Ouq5--Q$P?yOnn|q86f<{-TnG8qnZEOeO+sX1fB9(U7&A!MJR`|jLJ2*MaMsZ8yE0KYsv`_O -Rmhz6M??mQxoeW3(=M{^nY$YZw}ns=|FGChz|IBQMV;XG)M#xNVZvnO?m{ceSJ#j{s0(O;IunF`L9n6 -7@iw4Vxb!3|1ckQoiy9vm28@7=)o8Z&{5(AHOIaP_by-_>Q=#61k6tNiD9>S^wCU0=Ih}~f@U%@V+K2 -NP%;k8&Yx1^*)}Ffi15qMKE{6`O9~oJl!+E}tC$!9j67|@XeO={7^gIGl+9{NBP$@_>31@#cWMfTJsaBb9Y -#Q?@~HhY1B2%{m0$7I5dP{cXn1s2SFb -?6f)1~mqWLFu~NP^5C*ETPGR0+$JXXY;+D@#Y&jO*bEcf6vqkf?W#Q_&wNE`b#3Xj*C2713F&tH3Srg -qp|okJOOH+guk(r)-;uw!pL30xkCN=;VZVcXw^8V%28xlN;?SW*qC@=B?Vr+MmftEU!olBNe9fqQ -86pwjU$XTsp3&c`51h2&k#DxY)iWT6XG^Dy{t3*-zDuo4(T_WL=NnNTWou`S`GgvOvsAOvrG61H5ELs -p52(7Ho#1I))BREzGNP>Znj78Zh3bbh1Nm3kd2dm*rSRar|Np&WZyqLiBG%Kd$%QOU(h6zi?DT$kH(}QJ*MZma2$5{p`h -5*tT0$I|7a+0Gf8byI?&oqBLy|?f8G0v4-?gs|3I`M`)#5h9h90Df<)>7!ac1&9Z%gj_*X*8y;%`*k- -+h7xvHsr|Ghg6Et7^%>2i)Q>q_iymRf_~vWA1qZ?#-QPP1=lZO%h6kTU<%M#NQ6b43`(Gxw$q-)2lx6kQ`BLWty?u8MBj@sdVYJ2I8B -Pan@Yg*KMr6ZhZ#C2N_XaAW&H!0e@>0$c0E6H!t2L*fw_fWJ=**1|~k^-k^v$TQtoTS36*OcNl;D3o$ ->MPNt5M4&$5!1^HaH<&?hQ0GcD@o0~shPgdWkqlU>wyX_4}rnlBF!~8MnbhW*^l>+mM_@0&ll&}PTU> -4Vn#%wtEaR%&c=YmQjE3-%YQPK)Y8MzeR8bibk>Arh%EavWT*@DLl!47Oo|G)RTlY-^09^Z>FgR4P-A -g%ef{B@L7iV;-d>)ceGjqAVgc=3I28WZqbNMy5S3N2KoNrU*MQP%Vm)!hSU6`KF -z>C4{gpZ!n_2m_I-kfR&e?>zaihcrU7vMWX85hkQ%)48pwPXiobT<{#$2#HpUfy72!uQ)B~T0&-Ay^C -(sZ$alpAj3tYa^m&rWMl=%hWC%<%@UiW(i>t}F4rvU_~%fQv_D|moYmcrOiPST^`K!0#WN13KH2eIAn -d0qo6AbzUvX>CUx9HT|Q`$o%s_^1015P+xkVaa`3_eIt|VOfQEv4>e0dbU&xo)kPHgb=ulr?~G91{lWy3suieSKlTYcYU5UJ1O>wn67iM@RlO?V>a>W -aJ-l7q*Y1FE0+z>V}N@I0~?HGjX$0!Z9E%pl^M#J2S4Y(erd*~@iSgXXNi{FgtGKa-ypE6&#qzP|uB? -64Ci{xJMln~9$$-;18snOaVGu`?=En^*DVPILqkA-^LuX|^L8?kL8?*U&ClyE^AV&RL4`(i@fJ)-Qu< -5N_@-@rOz?v#N7k6y!QY!8P0?2?lbrx!Yb$WJ=+|H63K$0hAM;wEKQDLGp+{LbJ{COqJT2MoJ>3)8_v -$9cQOap6DXyzaspWiiE%NBo%LhYUZu@R??J&a>W5YWKnl?*<~QsIRrK@oS#8+%oa{q`$fhhV|$%ZIb0 -!4AT)MYT(=BC@t~tbR?5|+`|~k(UeTo*ko=7iK-5%B{uQI%6ZV2Av;CH+B2!viDk6g)xg60OibH+mZ{ -@xNRp)>!tpT(Q_C%QcMuM!0H!;SozTtA_ktk{gp9cWm>tA#0uwkHcnt^vDA6oAO^OD`HLYcpJ|I2r6( -!&3y#ooI&(*~{!CAZGXhl1*aa(2kDV4IRrPdQ@%|FX^nes1(b{1lv(LY>&-y&=n=J#1+VHFLeHoPQr>r+DvDSwj{#Xao}HDUrQfqXW}()_+=3Su@8Z2FNQ1xXEphzZ1VeQG$Fvyyk%Y=}}f%5 -$Z~N}MmLEJT-c&@ePjplYRY3b|M|tBg$L80A3M8PPI?X|_d_WR)yo)m=w|V6xT{Na%&2PF}vGk+9k+1 -cB;Qx}Ogh0S$@_qcII=6Zt!~030yz)D=Hu4M<9jxyxk%3*Kik2gF;0nIM>;$C$t!qYgHB6EJUrO+Ex~ -Kiu5DKYMo(9HZs$WOdJ_RyYvtuJFKPp&k^{qi7dPkv3vh0EI9)zLXD2Jje{pWS_1`%zQ20-rio_^oiz -dcRXL96Bg(W)`mbk!~AZEMzQLPba-wCFljBbdxN60NRepn&JMzeoXy{myqd0~aI;4%K!b_^O$yQ_o*U -OcpL&&-B}QNyk9xpUH16)qQG4!Zj>n+qhrF>Yk~`}e~KU97>nu)pYu#QZE@Q=1?N-r#nr=oJKT{aIw -{BzpBd{%{d;$!J%+l(?RYA*SMOU|XgKe`6|>qu#r!=}dVnwWN=YN;+GJLMvgkv8P*!qU-y5w4t6}MMb -1hUbV>ISUn|K3sdSeUL$OVi|pK-XBh06r=Gbn1aTVtKO~7e{cVKuNYcs1Arst_${nRJ^k=lsW(Q7PLN -L~`ln)#pn;;5nM5YkSJE4+!bh;tmW6mH1z?dzel|RNtwx_Ul1-fQJFCieFJ!gMrOZ#94xs<+afDA6(b5CAOaF5=eA2J@m$cOEs_?=84z5aMN`o1)fl-HsGz?H4>Kr()v8X ->IESj=SXWTpM4`r)`G)T@;bl96=N -sk6yIuD)IlK>^fyQe~k2c>iUPsuddhnzbd~y^!|MLy)pudO?r7Ff~GafFL2|NF585*C!~F7yM)%3Djn -D`)6M)nGyh>1l=d6<6Q&%Z1|Km0fwG~CVY{L`rrRq6=o>G=CrlFD3P4wHHK*TIn^P9GUc-_UrhC+;?Z -7YJJVX$$#Lg#+2WNvg+ulB#L^?t0QO7M7G?RIyzkEY^5GoDlnlxOoH!MHC5e-ZP%0%=^5Lanlbg;Ea1 -ib^3`b$qQ0@G@!q6LJ&Uxp*I60;Z}8^MSqOVUKIH;+`Qhnjf{=AOsUU?YK}dgyrl^{8L{O%E%xy70z6 -Ryh1p$pgaSH}-Sn+g@4W*wOKi6b^qLul(QNKx{??D@$B<{j$c-1iyPg(D;RE8SWJ(BR@N3vxkZmBk== -F3G^gHxd63J)V?W9}qmd8eQvRhy69ffm>+I)xN%+WLLFWwd{si$1)JZEnLg1>ezs5cl^X~Yy{QIsd -}Sq$*FD>p1K0z>;+h<2(AdCD6$!R_CjY-0I`7ZkMP+KngZ*$6NrQqCOr-m8c{n;n|KvPws)^mws#=Z6 -ZW8Mt_xsr+N|mbPRwK@F%$9%a~4OHxR}MBMJG0asJjB*zWOzphpVbcu-r>>D@@irq%$?6)CwZUwUmYo -M##8qobrQMoYx(Ei$0iiA!Bj~j*H6+I-$aN$ZFA2!7%9&xE!<$eC))71EXV|5Fm{8-Y}4clyJ#8?!Um -)L1Pl8wGQzxtxk1V6zkg2Ag&f~i$?__WNJnli<0)c5ZF!(G7dyMKVGGag~GZ}GCNb;Yt~Si=J%?E6$lppsk;Ng~v|9!`1PmOG@>cuGxHUtnOd&1=d&@k0U+F`vw>ykc&bfF$kla{a+<&kB74m@nw` -hG5kMCo9T#)RB&kQV`lG!)l&#=sUmB7bHYRwZd21S93ZM|uMQiv{{j+FPw9uWvG}>Z(Q&Dn<)yphpYJ -ktMC{HfM@_{RK~LfDCcoi07o)T8P`K)prmKL6!5d=D)itUcNjufk03d(%@BI -okmj6#!%*bN(TNq-(Lp(pc^)THL-QG|X+8 -=UPC^~jRPxDX%+8Pr(AUA?yFB~?G-vqkP4{=Q}f`RUi5EtpAo+K3l20D;~Wl{`s1ej8+8ypkt^4%jq% -QM~TQQAq)i>gn8Zp8>Jp8_gty=>M=ZJgBxHe07)0cl1D-Z+8aBa2*ts@YB%7|fP+=9rQ0V9hNC2Zp!9 -I%8Ten`4`jw=TXn;)nk}EjH&XTbRWkkZO<6d%PiR4kLC;n;!!@n$iV<-ot%1wHw>BrCtAHgQQ-vDMYr -hefvAflr^7Q56ioDZipGGK4EP7EmI4btUdnV1^Re-v-_|XtwN_Ox@$9yl-U6`~&zK0=EkoAgEQrgrlI&xC`j4P{R3}whHu -dStwys`Mty35VBbU`_d`V*ksGUg#MvSZWN-Acu`(RrY{1u2%?jG0E2G -8M<>wl{iv+)BZ}ZRUU=cz3dRa^QpconoMCg&ex=lLb!(XqR5iO(bdLM9ap}>q82#k2t)H&3@-%kB4f@ -&2ayy>|$9RI7E(V-)EzEnN!INrl2A42TW_OD$o^k>;rYBXC%H|8%SQpJixmLs0cG5$y7DqJX74}|CN^e1?@jMWx -yRK)WP3bav&YGBz)e9yLhFlg^KZB#Xqsa3@ZkyG}o+IVEIMssz7Fo;$)UC6xOZl^U1n$9-nbmG&866= -;#g`HOgMlb#_xuR3ap*u!x*{%P{8l!!*7@vWvmDy#>zw`WvvG-}clwW@RuP1Vv%oOlF6rXK}q?tW36k{?LRKM! -oueoy;8WF-7dsm=TtC}?KGfu*MR_`8vXr&Dmf)C((Gb}G@Lj_0gYpDsO6e&I?HkChO2ixD5LPA%ueGO!j -UnqqqqFV9!bRO9$eGI8uAJLh*gk-lb3w*z%^oy~y)dCOlo*c_Knx6QDsFBHN(!M07Xb(d|-Qs=~X -Sse8P6w^8>_-&Wy0@NdtfJ6XD)S+VGTn7bvsY{}Ew9hz=2=pN|f``v>b=ij>q-obDOkaN(=DWp`D`>Q -)l?ABW9jT>(o^wg;y*cEm8o$wYPe)4hfTPGU+jkD&c?+$kRhii{ux;;SZ(#Shm+GEhnC1-bX@G#>415 -ir?1QY-O00;mj6qrtQDQyFr1ONcK3jhEh0001RX>c!JX>N37a&BR4FJo+JFKuCIZeMU=a&u*JE^v8`R -&8(FHW2=p- -W&q5oiTE<3M!DMTNZh2iCY8f;SO{qGIn&uhBVu&8}(+Kc)soJBg{&a@#ojivRUCHSXzlkI7Yir(!x_h -m3!!0_?qwK7I)iii!v-BQzSt$=The}vxWFu>?SrGZ%9#>il^Nf4(a1g`cLV(M`{*~5BpR?$#tWD8Ka| -jj`r_-u>UfVu))Gn|8$H(^{+2xy8mv7l$AFi*ju7Ag-9nWlU+*zI1rH7lot3?j)q_I&HF~;kfF}Q$je -9(eh!3Y#=XiJYNbreXa_$u=GH47+GUXGs}5N{qoWghWxq{=ZYt7TI`ez(5I6#>xyJ#An()+FO*YOqRe3rdTsR$> -+)DL_fjdcJt%T$BR7Buz3zLm1u?LH3X_5Deh5E4dyYCP|@%^;aklrt@eV_hOnDS+z=w;Axn!z*bP>ywViYNR+}Hv~+pQ8EqmgbiE+3bU4M#js`wS -cJM7eR_h;rHrN%{6q&=P%tfI$z%-wD-z~tm@QGuW3_zOg`{E2k9VK1 -=0fB-O&hn92IJ}Kr$-47BUT9-@L&Rgd({>8|>kFZDk`=Z!dmIa!4fJ`j{WRuGc-Dmfo(euW -pp8O|lEt0r5Vur6csTn}=bP3#t4c=O>=?$pf~?LuY8dtF`NV=+b)aN8YXRb~|wv7-2IK2+@SGC1zdRY -iUKg`(<7)fe4lZzB$RKe| -uSGkFGZKEEO(zT`JB@NaKLXthQ$*kcQ8Xo^1@>T`NfZ(u<&^m}`opKvluXqNGjhzyr&Ahy_+;qUn9A` -@-x3jyZXsTom`Ep>>_!V}It7_xdOrp4I)PM?H2iTd;8FF^2;SP!mouBi)?8xk=O1Qi0&DOrg&wo%I>C -Xa%DLgamv~q8_N0_!6`jsd#qDOd*e@VzUrviMH95M1iE%>jwGXJHv-WO4`R=jUch8;c(vb8#>G7@^4fzB3jKwLs}{olSDDywaevlv6G@E -dA{p(Ct02oUbjMOLbpm(oo2axUM$>tCH8yX?END!H4Oc;Iw}8EvwMA%w6!OcT(j5SYTpZ4Qw_XQZ}IFyQ!+Tbj9#xc3j!Z->}%5EZqDS(iUF@XCbt5@-~i-g=jriV@5Bt_!R#;D4 -q}2gT<3YJShZV|AE?|b_~(b)BYtxS;pfcqY=z>+igl+n*)l>azHeAbj$9vlZkag=PE;BAsgT@6WzWkp -zfNj;pCi}Yb4_l*W6NVWqXsw*v#LI0 -EE4Rxo237=Tb+RG&Hp}OC+Q&6X$X{NlpA+~3e}eNK*cKkRCiNYayINoNOwbpsy)?WAaWEA8_s>=|N+7 -yxdJfbSk^wwhK~fX3^QFZdNN7`%nrR9rscg}++2FR?5pM{A0#q^Fo~nbZC2L5FW{=-iYr?YqhNQ{)4n -;dZx5|OOBYsYyjX%q*DFD%K#8T9Kd0#S93!6P+zmz!)p -b)ljLjj1(|Qi3k9lx!LF*H+%#H>iU -{akAwAIo>=CLRyo?=)UZx7_wlv4u?jxa|)RZ^LD2DM<(JiacDsQmXHKj@-5>_ep$fmc09Pz$0qD0L|D -T=;I9#Bv0B%D^>-OxuIU6bgDL8$&^mVt7B-e1 -Vfl2#h2b)eyD7iqg@Uy7@thj}#347A=5v5#>hPf^jDwuD98jH$Z~O49(6*%0sJ82~r`uP*Ps+%?R!Fq -++Pw%wh1jrU*x~G3sC1?tAzn0Jcw=^Fs;#)T(RVYh1k10@($?sn;{a~Iv?UABfNqL7u{&9fX2!A>}9Q4CtS~>xs)&dJg*nJB*fz=(})@#7A(1LuO#U=C0Y^&73Jp~o4RUb!8i5gldoS?d1j{^kXFdc5!TCYCvh`e(kI)!mF9$?fZgujkRao#czc?w@Phj20# -O*z4-4R-Qm{P)3P%sEa#2X%}?xpBj$DNn=k4+n3%@1ZT6fR=9|AM;-Kt4+L9Hz&96v@JFXU_1ohL&Y~ -_B@L3Z5-07tQBF&n;~#$%BW(Nrs%~i+tt6eQnWyS>aF9rVHo8Qe#SDf4Sr#$t_R>i_=c4Ld{0f^ -74xl^fLaRuV`4^LjJnGNu(rCR07fB}YNLXhd;5WH!}Z;u!CPXOgPvG@d4@A75r154ni?zj{Uj*-wH0ef<~g?E2!DmK=_fga3jUz)H4lPf!4a&_1mYba{`rSi&yDwO)# -}fY&sm*;14t78jAJ78i(dqIvG)qGxilT#BU6QghgJBc}2!59U6@W_&4b%yP8amuh;h>F|2tt;CwaYx> -lXJ~#HO|+w*iEKNDYTNpyn;H`HI5qr%-Mh&$Q3@DZZlwa1PhXv%pQ%sdAYB|mR1lXy?+55Z6J_0%V07 -+BcB9-4Qx-YO2E0$#7e%~!Ku*QZ9WGvRt(y}LEn(`2Buw84NO#HRf**J9#ss_!8@}rAl6)&wbKZIpAo -)qObf1CeIh0tR73%d5j!EgnL**^8Vy?Aw%ezZxA<9pK=u>oqbCqDCKyLtC(53TZPy5rE!VT`0v#vsSC -bWle7xz{B91T1!{m%9#63%gtd?*(xmb;@;0UK~nA#@nh6_G++wT;ul8!r3fh -&gV~=}!rTq;Xu#2{={cWMuL?gLIrjKI^^*#EtVyfcz|4=zE2^sI);x%ndKnxJui1iJ_vwOV=?n@>bwm -=*L=D48|!|;8b@2`U=AhH7=kGQ?w%9Vnfpo3$aPb6q}`54Y#n?6R)9e)g6{~ynkyecJC!7c;(HqAZsD -NocxzVwKR3o!NDmGM8-K@k(ubz0j@a%w9L>uI;tGTN)}m+5_IZUyvuy5R!(X_a(Ln&}bn!L;Q84xt*w)Vn{PLHctL$ -2-H8w4Prhs1ybgnFcn?q>+dK+poe0DQv-ULfEYF)Q3fL^dt~PEQbRIvC(*zTgbEd9+W~Gyza0S*~Tr@ -UqoD?GSh1VgNTywuXJgAb#e4@F-8PK9Ww{L{}{O63kHwBsAvfS!1Awhf^Fn1c}W*O`=BaO -whGke?%*!AuEoYo<6?~G6Zi^pc*bL^YByF_1!pKv-FX>6SIS$_I5>z0;(IClXIL~ZplUVXJ~H+ddEd4GIpF@BVt05_`BE9x)cbU3~BFM -3xg5F9FMATAFELcS6MgD>2$Q4i$%rcVg;gBWAawh%b#~nC=%ZUzrlfC}_6I?6r7mdeH!Q|6j4EA~#*l -B;eL66dGk2ZG23${{c`-0|XQR000O8B@~!W+pKr?eEbYEXCaCwbYO>f&U488kT2)<4ArI+p|WI1GSY0=e;@VbuLYQW -a3qTFnS3Ob#bS{>(&CNoffQ00$^;X8LOCZ5YtU5JRFpbdpkJkAP4c{IO{*Z!39B2a456=D^437^_lfs -Ibe1z=KncpT$YU1`2g9U@@J(mgc&Gp1MaA~5qGO7IaSlrp2)Ew6RSYVE2AI2ib}V_Bk5npp -OTD4*An=BI+EhHH_=boEker0rd6d@g?8f-E2PR-<}^H?jJrS39HVSuM>igV;wWtDz3=Wse#^O5-w-iE -7g#PxCgW4V~zRbQk9^{nrt1_SjLsJO=iIxr&>Fo9Qb~nxCdgRSKS`35P?0^DT(@|l80e)tf^z+ -&T1b6`@hW{`z)MXu)(A?nj8(H=SVdamNlqy-EvBP0dj&fJ?4CgD3GGwVB{NWK3^lj3u@m%il*wumbm| -CzYdA|a!e-98Onnemg;BhD!Kv0xmq5@{o@~BkdB#7BSq{}>HRDwEDOg-D-e#Z{p{ZS>xa=)Vu|mxr!(r*ZwCAhi}!2^?-sHBuuD5PcrTza@6aWAK2mmD%m`;7SnRnv>005Q+0018 -V003}la4%nJZggdGZeeUMV{dJ3VQyq|FJowBV{0yOd972yYTPgoz3VH6g|IdllU@rwzL1L$Q4v;hgBx`bbo$}{J_0z4xj4aqB7n#rPTYYlA -q=3$Tw#v)FGMM&H=7wzI_EL?H`RL!s-vL{LN+AuR8-|MZV|J{`}k7_v@6aWAK2mmD%m`?f@3If#w0040d001Na003}la4%nJZggdGZeeUMV{dJ3VQyq| -FJo_QaBO9CX>V>WaCxm(+iu%95PjEI47?5`W-Vd!YQPU^>IH&r*M^hDqG$p_ktl~--AYnP?ZE%OLsGJ -CZhArWB8oF}X6DRr#6%PsP?}V#5{y#dSy>1L;e#yFN-=7`9jD%xJJ~E1`=XvjSUOIkF-l$rl;?_xJWP -Wq<-tQJ8I6i83-h?ay|SODOe)1w8Dv~Wjq;W$T8d)pIBza*mh@`%e*JEFd%gM_7BHDioZmD8oO$w*r7 -4kszRHv-UgRKEC=^N}!AnKtE1C?W(O^ysPj9X^*X!FGbo1f>J}##6=+2E(s2_@mw8inrQSx$J=|{tEm -g{#P79LDJ^GW|*ZQkB2CexSp>*M+TVFGt|J=?)!w6C=KV%o01VYI$p)60KuR}Fp3#RW_+fIu7Y;kc^v -Vc-`Kvm~ri1^%DIT#-m!79x!uk}|U_?MEafRUR3OAwrjP*b7xMEMWSjLj`#CkxY56>r9 -}7J2J5y=AB|73)Q0r%T>s82|fqkAAlaM9OOg6CV1Wy%#If^p2Au!%a}umUZ*KI -Gj3*d9+pn0O}`Bopkc6V*64juWM!lzNQSMXLvzSHH=;QNIM7H6;_!Oh8q@1A|Jk7?PshZtEX370$zq; -p}l+k!$v4g(hOBMI-draIH1p<^_&;!9G_U-%l)mLZn+!F~`X9ykk4@oGVH_$&{FRHw5d#jACs~fn}_;^0oIC-#l)gv24QY2=3%kgA^$)Y>4&4zCJ@i -im(#CEcCe=w?b#MU9eO+czeB01_l7q?^ybfO9KQH0000803{TdP8q- -EpY8|%08}3U04D$d0B~t=FJEbHbY*gGVQepBZ*6U1Ze(*WV{dL|X=inEVRUJ4ZZ2?ny%}9^qe$}IzoL -)P$gsj_viEe>a?)dN0T4wiZ!IDcD -uaXO>+6S;`)iV>zY*=<$N;Pvg$zUypEE*Y$z+!BFc(9TBn>QS#>z1<%TGQt3PJLEjm@H^ThV2|Bof)=BU#M*QbEZvHCev*{ -wfhI{XnM|@G<=j@1vW>6q!F)pC@;vYNv`lxDpzH-fWA2J-4Ud-Iqlo~=YuT=q+4;PGTjac%lUw*D&7P -7pYw{ztX%N3+M97N}s5HWBn&sP^Zi0>w-Q+-M0lxywrXY~=64(@QU`34vdYF?>R3aVIq6Ho}ud*DqOr -G*)Pf$G_JV*GYg2$CuAa(0)DIo6gc8O+(bh9O8RZ>!I$!ykg%0jp+b)sfxGjto0GD>QoL^mNxiSnvm0 -VTYt$^$JMr}UfvWeB+~!L8u0(lu_N726a01{UEF`3x)UDd!Y+EDCa{HlTLx?EAE?X$j;6ep87XvM+aB -KX>FdbepzC6KUU(qN5VPC8v_xsd(3NbgEbYY3%pt!({afQk_*IEdTx>Jm&()YBrPRCcnu0tWKLfEa1P -%1!V9H+w^WQuE2=x2X0{D9X-`f6TF4MV9zM`+rmoWfnG@h86an+4H;6h?Ln0Hy|BLM)wZ`NR@TeikVUvK^JW4m>0Ra6D0IwA2pLs(MvnP!~RaTc6kdg;EeGl2Ypo~Kjez92busnKmNgAIMQJ=W2LJx -DEhN_^LLjg!+?i~O^HPmp}RbmMnK=2-dD+syg08Z3E4JrO4R+)Y6Rrij3q|n?R@{%e~>6TP_MRj0y#{ -25SgLnr9(`uPpTgxUmqS(g!-X9dYA!rCCVdB5M23Q54Ms6#1h`b1IX)|^(FC<>{XO)9(pvk5iU+)$K! -3lT3i_xZKr5s#(5!LRomcT9i(>~Akj*#V|Cj_q7*fFF~XAE?>AQC9_+t{K#?J4$hsySBU7ndE~Gfo5@ -X2YI`dP~7I!P|jNVYOtVITJBGR#E4!B`8^XLF_A0!8|MBPNDRfP`gB^-0|U*7UfXZO=8eg6MDwNG*UW -!iyhvPTaXeWy`)dJqR+QJRy$=YBIi|sNhns@i1dpDlnxDbr`EW8GV;giT_Xhd1Cw{D58;PkO4XP{gH9 -RjqhdmjS5-OF4tvJt8e}C=9(*eUt*+(|{~x=kw|dU+yWW8d4$@@rcSf>&ht@h$Jiws4G1>f0{ZE@SOoy&Y9TCq> -3!4KqTSH}TXbOsOaNfN_L#X176?gSWp9xe60{2i2`VeR~;`7ojAGg}I>8H_r7ZNK*Gq88mq!A!uY?2}e=q}M6a=a@a#Szi_ -`v-ja8`)C+*ZE#p2zPQY|@i7M9}T$1^zKM&V7RP3bTT~}=(`;1LL5!E%TYKEuEGKqQyQ=^8i|1=Y2dzw -8aSy~kSN)3CGmvK*LU|j<|-F%V%PBnU$O1P&^-Ig6)JZkQa#qpWocOLTcI3WcC4|RcUv0-%2^ZrSTnu_DVL;6TTa7L|JX;;a^L6-0KP!Ze18lbB!Qf;xx;3hHC%2-2$kCDH`q -_ov_;5%>}#~H>a*sU$;x0+_C9LIJjiCTSmja;V}z7lm#yq8xs)1Y31!J&m#YZ-PQjQpTeRB+C|z<*%3 -6Q>KL9&q*RaX~f!4LdqwTbx##ef_`DU>Um8wk@ENGMwxC*;X4dBBI`6mk&hIoCb}-cPqUx4kSlj1#12 -%b{6^@;+a`!93b~4o*#ES+8dEC1x>*K(3j))y=IS}aj=tGw>wu451b@emg1{(2NQ!_bE7^e%Bix;Dub -!Zl}rtr7_*YfsK6@bFGsGEX1BrZKFpKn@E&#+&={)T-c6=kUTLg{0Wo=$|GyGbSZ5vh4OyF-pB+%S{{ ->J>0|XQR000O8B@~!W>aZw&{RRL4-x&Y^A^-pYaA|NaUukZ1WpZv|Y%gPPZEaz0WOFZMZ+C8NZ((FEa -Cx0r-H+Qg41dpGA*3kc6p6Pz3JUzYv#Bju0Cv7DY4;4ZO6QWQUa -B$aD*WSr-ck>;$F9OjTB@(o7J ->J7IvQ>Ub1o)^Ys>-)pJi2&H}Btc18#1zI@SaiyUW8Up;En-v`rpy7Lf;|tgcV*2A&i}VR}fbqUr2{W -TTpFREDW017AvM_Nj3ovJ6;n-X90O=F2ggtO|DsS-~rAa$3C=EF_lX}BSrH`VJ|ALb;&5xT_#L>yP$L -9}t#?&f(UMwgE@cc;^4DlZ9C-*Mmyc9{P+7WtkUWmo`lu9=-+=*sVMrDtUaoP -D*~la{!v+AM%6k6CUkm`&qU_v(3VUTMln-YWH`gJ_AsQHGxyR{5Kl%pgpx+6ycwkQQ2fAw2t*;tYYlEi6_Z=ByuW|c5duWsOk-ZI?@*R6<{jz -nI-}dxz98XBv>VdH4*#Ae++vn8y{(E>q-*)Q%_9RaSW!$P}OHL0thU)|ga5Y~7<>7JE+^V8W#{9Mt==0(1;#5&{dxA-Ct~A|bwU&cWN4RrT|-azia{o=*cH@tfGJlNy -CS4KGqM?~hdMEg1NN2rp)Q8MZrHBIX5|2Er%q59PoB!%`(X>tQk6m1&*8eTRLrq*+H*Y8xzmW8`0(g? -H)r8cyBm0FxaNd}*&cf~JOTVj$e*f&LH6`T*tPPRG?pVOS}ju-rtPv9B3>PE4S9kSS4`~*#<8LA=!#- -JV)a1;`G+$=6r%F>zf2E5qC81^XhO4vY=dy`ABqXX+IK^{WD*Z>#sow7O2Vi%WLpoO+Rh3Ju++v!rLwGdQCHb%U>UVy>!BboLsEfp>B -5A@E0TCUaz-Q4_1)-f&3G7}gf4OH8M}@?%X`fCzWA}#YqKI{C8975>!tM;rE$8D0vTI|#qG`xL9pIAW --Q^&AxKY}y-o+fgk{*b;H(7Ylo-rNLXj+PPVQtP;@~{pq_i75$q)@>AtX%-YPFBq$DHASn&M=QdJrNu -nNnwJ!_KNk(4;A^oD@ZrE5o*bu)GlacsULx`ivYiCRk>~hp%%YFecYMncxs3KML^i{Fg2|k{gyM! -Z0i5{JykSq6^U1QqnW0(SroDCV7NbqPNd+Ou;)#Z3B^-~##-}v?u4>NmNnD`m_5*M{MlZ}g-pJBgrzD&9ww?Zy?LF7%>X8JTnchGdh+ -BB>Y+H)fjM}8OBl}!*QGZ4KJgUxII4v~(BR(G_|H0_<`#N!Mp=6@OE*j2@-}*`bb`AKdM -Hd5w>;snZk#C$Dkj;1}T|d5>f5vDvvWj5`7Nf0J{tT03ZMW0B~t=FJEbHbY*gGVQ -epBZ*6U1Ze(*WW^!d^dSxzfd8JoPkJ~m7z3W#H1_H@jS?Sq;PMd5|v_OisX%A^Y(9%d|O_3}~t=BE`- -#a8FTe1}-yAfc^9L@*do8gddjOqxbP49XGloH-)WgKBUt3>aB#&MDia(l8#(s&!qbwRmwU?dYo#i~7w -#((Ys#J!g+stR80m<3v?u4A$ut?uJ+$)r;?2wODDbj+chbViBM?jcC;qj1SuX)w%jCDDTc`1icdI9f9 -49mjaMK+W8!ZCx$+j_N~;6uf!+2mR%zAATbx`7cG=G$*MA*K4Pguzpl?>kQu^hkkVQl%$`MB&h_mmOO -;e1LSOYueS-oXSG^|_q*Qd9>YuPm=I7C&8h=y!J>#5_^0OvI*`tiNKBCgv$Ga6Km@J=Ezy9H3Q6CfH; -|S){s_b(ESyxP22;#JOV$BGOCv*Rko6Y5qHxq9#Nn$=g30LJTETOOZWbokcI%3 -ZC5d^=quX0+Rs7ta5TITSxdcG+57Eaz|-qK{PqJW2UwEx;q>PisLe|F0xr7a^elv#o2ypnOrPUsi?Y| -B63@>I{ZKiva^PN(v9(%-)ts0(|o25+!Ro-uzGOa<@H`Wd7g)2XNoXb0K?2(x=ZMc9dn>`3 -!uHIW94)<%wyibK6v{(|?NkIoBY*8GnW{$$M@>@7)Vtq@}f($!NwnT-*7v%RnwN^tpsLk?@AgdLy_zT+|AQk -P0kPQ7a;q8_H%8eKZiK&22Mz2_+jWIkU*c!o;^z@lJ}@oRg!<^l~_*hGR4*{>+)2Q&+d1a(>}KW0$SHe|%kN4fh -QiZ)N4=LY56t;)RXY+~ijQCaLjBFN5dF-RCmTo49B7^ls%#Z9C)CyD55IGY6LfxNtX^9gZG0hO2qy=E -_zZx>SfuetboU!3DzPh89@6aWAK2mmD%m`?eE!dct`005B&0015U003}la4%nJZggdGZeeU -MV{dJ3VQyq|FKA(NXfAMheN;_voG=i*^DC@KD!$(RHaR&s*yHPFKuOcVE{MArv6CUf8Vh&yGz -oP1K{zS@w_+V>5Lu;W1V;20AoaqlQxdkLJ#Y)G(c{QfyPWcVUcTmH9e3WMQww%+x!&(@_y2P6PDo2bekbsUtFO2FPxsgC=IZXIB6s)u+bTI=2qxcoDqgUb=eS$t%bJa;kG|j=7DFi -GqJF<*9tet5mtvITZ<&IIErL -h|(@vcdO*iPn`^2Q5KuAz!`&sp#@{g72W_&FqP)Rap$B)y`(^owj-+32AkB)m*_<%^R-9noi6f?-F;W -{m8j@a}6MIC3zekSae!ndNwPMpU`@TAMNj#ENUpi->d9P* -NIyWGbU+Zd-_hCEg9RGbc8sTD_Jkn3zf7Aao2mM=u3ermacA_C_~sa|n+fZucWMVb8tP)h>@6aWAK2m -mD%m`;IRL>biq002S+0015U003}la4%nJZggdGZeeUMV{dJ3VQyq|FKA_Ka4v9pbyH1m+b|5h`&SSd0 -y{uv>^v;H1O>Wtwo_0DicQ;EZAl}grvCSnKjg+is*6F9@A2u8uE=yCMCF|)6arLd4LOh(Hm!FkrZ`Ee -q0TCs3#A>BmTg|ND!)iZQJAiix{TQ46n+L_C!Oa2Dv=}P^yhedI-MRt@V!9ml+k?0|3qXcNs^+K%=T{8pk)d;+=uM18sS3A;8l7O(sa8^)5+@6vqy -B?@IA0(Q^y4d1xGL9xHlqko3{3#HSi+^BGz1aK36Wb#j6rg?TX7X#DQ0H}hV!?Vf!{S4HNq7^V<3#CE -%0gN@JpBYK2CY9k}&M5UUp{5sp_MtHV%|t+p%V;J%+V8JhUi_JiBCt>9`JvbL#c0HrIt7He24LuwB}} -tWZJM*lgW@=F6qE7c!JX>N37a&BR4FJo_QZDD -R?b1!Lbb97;BY%Xwl%{={&+cvVl?_a^^Ah6upYIAsp2Lx4tbhAYR^zIhf&Gm=vLML0at&1!#pq@o~EqW?dzsx*;3SH*YZ^UzPeJ+dDB$2{!!MOO -;K(1&w9_BtgRdKTj+0M+qFe`wZ^gPeY?*Z!SzUYA8v2o-`w4$zuf$KdnNnqi+!9v@hYzy-EIGIlQvw` -U9;lC?p9PSZ>p?}SJ`T7u>Q8?yu8LI-mYb#JFa#)P*l{F2y~2>nc(TF-tDp~*HG{Ir>wovRF4w -}I|Jie7JjSoS?KY1YTcspmBfK36q1lse-O94E`|I@a~Rv&reL3S@&{J^kIo-CT_r?)GyI9?Ye7YEVuo -y)9!)^5}KxjF{BE5yoG3|q6>53jaM9u-2YM -Kx5?SK=K|((iGgoZ%{SBTQ>(E*fXv{XF-yB!VIs_asaCnZ9-xo{#SYyrD>Jzz!J@_uC8*vW`#%zQ9rk -6_L^ojnM~;Kdk(g%V$iGI0#f*g$)Wckwrm5!5zGL`4rtpPBrg0YN+m3N!K(UG_L}|tpWnZdyr#v;-cc -`FU_EFfN%%P{1;4top4>MbR})#{i=a3RikSj0PZ=B_IHEku)HhM{#GYTu#J<6(XhiJvN?qKF}{t7P-07cDSXYMEfqd|H+O3IDX)rtUUd*48WoV~s1$f>i7y;k4UY@Ypm4_<b)T63u4kf`L0Hz*j0Rg91Mi_M%H5z#YWi=XU3L(Pqn%pBllja??dSox{J27Ff -*TyVD9Tdz(yU6M8;_<{fXdr>se)<0g=Q)|GAY*Sg|v%a)h>WTZE+a$yDk0Em8!+0+4$bpCYEIKjxnHv -3!vH14(F8J8ItA^sV>c(O2PPQF{$X!#MZ7o8gE1B79VMYrEHS&G -(hWP1B2Ba+f$Y%ly(NY)L~0xZy^$TrML58o#U^7JPBi;tc7NDIXi%01_CMcIv{-&O$6fE`o7>yBZ|>i -`{QY+|4*cgs^_z?)Viw(TZqt?5tIlwp$ibP%AMS46r$4>9yYXVfZtD&w0_zO}k=f*;6~3tIuOWgp`u0 -8MSS=t8=_X+k;fYJ_0jrXg6uNy-PpTbD0>Z-1|YT|1#*q+wTf1GwF0MG{Satm5VH@Fn$QCMk(O@` -X!vqx@43uS56~TBVjAou)pA-_j -2KDm((W>^*M8qzt`Z*@lL@qR+#%Brchp^YfAnxiH${ov!SZhB}=&- -*<$C1lB8~nRaBji3XJz}Dl1il@B9#v7Wnq)tKnhWpmpZHH+{onDWh1(9XU|n-+tu$2hLi^k -HsJYMGg&NF^==PA&%~<%lU@TR9zB})fwdLKJeSY8xRy}buT_a43cV;5b7(o9_*hskoD=x0=S+*7(hKG -#sedcY+Uoyc63Wn531rmbb(V_Pc9E0e;TyoBLm!sej4L&C% -DtGiOR7ry*3A%vq+RmreZ<=5Fuj=gW9tn~ExH4i_wS++Z(P(#lu**Jjg(uxKb+>o5$g!-5f%*)S^yNCH)AYtGK&u_iGjCdV!0+c4b+b#rG&5#>z -O(5nmFiS<&l%<|tz@U2M08GwHBg@{MQ~n&7CM$s&5p -pS`D4}iYa-i>)VKSh4$&c#K#-n)Fw=Cd_F{*&25?b3pf4{J%FU1sRU%(Q_YQD-|b!xpM0eNVBFAsM9P -#$vOB#=&8ud+%BJa@L_+

|XoD4)na*Q5bHcgDw5pJP44n!fBV;Ns3)-9hD1^ORgYn|4PM(<-d$shs -yq@EU8{1`A#Zd)OVb7^xi(lBf%r^04teyB7i~qz9=>-}&YWN{~$0d&unFy;oaz5AzgToo!#u_wS5sAG -#=1gv($~3xMp)n0}J$p+}CRnr<=HnKA`nAyw?9B3ZAN%<(SBNU-;kt$|A%z|7hCZ2$9<{!C;YWsE^}Y -kc$J4<~{S))BL`Gg#ASO+=sUh@F(~OVxLUY>+dApBQ4L_=gw{fMS3wXmbF#3}8%L;AM5mIH;U?i!2hX -Ha})n%Q@QO3uH_D9bB0suSu?{_cjVHk9f-%Z>VWS)l+Sj#i9muf(2fz=@kmq~2$YgkrV#)K`gd<4#=mHz1m0efwM+5U2SR?0F(T5if0UW?bKpe?n)EKrP+u}zP=rr- -qAV49+HNcbtU3XPyjn2&N%`Na}F)EEk-yfDQFupu^(Rqr5F;(>F=gzpwI^0mW95U1dhrI?|Ca9VScj$ZSlA -TPT9+r+0TjBJyiY`!aykDV;5pZ}QhdJV5W`MopU)W9y23UZz)Dt+uU3YYsb~8Um(b0ThC8}j){&s7uG ->Dy*X6X~{*;RKrD2c7d~|T&IZHYMb5KrVS5NI{=?1(u*e=65f -#Y5pjeUWLF4clB5$TsiGk%lzTsLU$RZ`2j@gDys+c3T5a6cH&f1-;)l(35Wn2deoheTi0kF&N#Znm(S -O>x7V&H}a=*nPG)f5bK;9@<$y(f%B^7@_o-K{UMQtdwx{{It`ciJ9B%Ppt1pF@z%qB6B^a^!UUG3c2) -c!lny68X6%8$0+iG@{N9pz==pG6aMX3lVHLZ{1MO#Ye$%}sr0=FHn^u7kT7-XY@w*ubu_)}R-pa@FM! -wu!!N~j-v1nrrg_m{ktEL+Gt1n)x@~{J;drL>8DD~{g&q=l6TtXo4YujPeoWY_z>3=emGVNRJOoVf_? -^Z|Ra00OxqOR*JN(>V%W#Q7QJf_7k)mRbyh)L{i924gOutcL*%wbPZ>F*&m0>*&~OOe=}gzqTT>>lRG=i$3&O*6o(kZs$wBW}=0v;(xq^Vhf|d23aNpL2>X?9cRmSlskdn5#RI -(wN<;w@P@f@(j^ASH#t22fq$LyA -BNmSh%zJg^3VV}I5t?%lefemqqIoLLy2~KY>!BTb6mnp6h|5mka!o4J8Ud`UkE+fV)L-|lZ-<2~kvUNa`Z$6|T6F -V(3q9n&!VZZt`qfkqP5D{1JRXSlhkvE7OGISz}f4>suI!}qSYg}ANj!98XdELhmLY6`M5fyzEGZ7+q6 -6Y#r!ebML*V1ZILn~J%f;M^kl;g#nw(pok?=2`OkS`1VK;x|L2N_APIeNCorGhqi{#9OS0KGYq)5p0` -*>6SeW#{)%$MTNO#(8FcPFO&liFb_=MClq?WT`&o3y}ro05Oh3P8Nv{V3Qr$KLCJg^dps(tg2|Xb&V^ -2C`)o`9RMV3bAdr(o};V{!AHT7LfrJwa`)nTtgTabNd(4ydpo+=u}SE;P+TgXhkZ`6H{*B -)JBD=dA%{sO}l>IDgsEPNLqXZm)xuUGba-JM>uMrQ5Sn-7@_DAI>Qj^#>oT)n2ktNv6a#49`cZYSc#QGf^FTjN@=)FjW2UV`^FPYwqu0rx&W|0gtW<3`kAdbMC>*V)pV$gQ5Y6TS< -ue(y+*)(suKoxndda~%1e)U{8z5xRiMSq&%;*!Nb!-`|gK_Wh;H|%1dMPK5ZH`muUcRdqGGu3T8q#Q5 -9nW7&_0;2ziyae+PmH6o`gf(st@2i8JIN2(SQQW05-0x91{Bw)Kc^DaqA=z^_LB4pb(vZNote>$E+3o -pgISJ#NX||#a@dZ?G5`*O3HyKV;F#+|P#dsBOAI;deQc3<7P)h>@6aWAK2mmD%m`;UvZu{B_006cp00 -15U003}la4%nJZggdGZeeUMV{dJ3VQyq|FKlUZbS`jt&07C&+cp;e-G2q)ppevalyBvD6FN!(%o`@P365^2d!(rv&QZETZ#kMH~Ykn&cFh7`rN*S%y#L3q;%sR`XEQTLh^ -_WNSt#y>03`p>o4?RdLeEVjs_<6U0dv9=P@Gg16uGMB?(-iSM<{Hia!D{9g1n9?CD-fAXWTIXfW{nE0 -jM5noE)scnyhALK+qG@Pbd8)Ve>l_JtD4At=u=oclg`A_{ZN(n^;-6@FOLy!Y4$iLbHLq3Pa8-JebV1 --%ait5c3RZDVH#J+49fN^ZXab7EwbahJ0k+P!EX>Ul8Xg8iAl2d-pXPAgBeSUqNNS^JX -rbERK74I&Pa+-$w&?KK*w7`NeR9>2VSgIT -=P3d6vz*gLV`8(Xj>E%bV!gqF(bVKo-pKB5b~mvVn?oAfL!|t)q@^#kJLwm&l4+X#kP%CFdep!QXSy>xzQ -4l2tTMOQcyRN()G5Eqivb0FU?nyIO2$4ZD;~K_pj#v_hNoB}v4~iE -7u^`}4W{%Es+S^`jIxVT1EtF*(sq>2)$Q@%#Puv90$Q|6Q*K4T7Qp2E%R7p=2?1=5xGx-pM~a&eG+3Q -+YAO*tujigQ`lf`&I0Y)uL-ytH~Xc3aesH{;~HgS7bTk$R#uxBG3j~=xT~68@~gCW#r3eX}=Y+q56~o -X1$CtSIp9S+bm1KDov}F@pO43I7BZ5x|_#j+DgX0nA}Gw6GrA>(&fLwilv5JU_KD+_JlToQ!a^PM^Yz -1wj!48tVx#uh;XmvR~rs84?O$dp3ASP_h>`lP#oc4RW{XX2zOHjuw7%$SF8i%#@dp@jM&bqIFs~WuP% -Tx4Ctqo<}K#Mtj-pZu;K_Co9#c?y@En*S3aU5 -{8s?439CmN}J+ofLf+D;})09LySvkpQnsD4%no5lrWZ3Z;(sc(n=y%AP~!U6lnmZ`1R-Dx8sutwHb(^ -f}@EcD<|>3a_vL1}Jbuo`k%W43P*Ot!@|++Ck&*B*#fDAg{QxJ=7gh@>y<@!C|b8PZzO?k$q9~_ExRE -smGz%$)ghMK%Y1c>ss6w@V9^-;#$ba7{=n|5U2>^iyNWzxGWlt37qZL?tM}i&>^yK56zDlI)tF%}PHw-_q2;W4yFV(9!VpNqlJ1aZg(!C;Ehp~2Ge)a;lA_MM6H$GQ8JbDW1DsRP#YxiZJvuRJNVS#5jFP*SnX -@pgBV4wF8T-DdxE`Q>3^Zz1HR;YJ8BwDsY73X#d|jt=G>{DhlDp6@!E>ZrR=jlTJs0LcKhLI1W82gsHJ&kj^=b8xCQL10$n{8&heP9oqNT?sj -MB@IBZVO#?%QEf#oW<#zvVRR4tKA2-CyBLzo6KJGHeHx^6gkkC4!KEPck5!WJS_h|IsO -Yb|p@ax;#R@}GK3k$?L&^s!Q@rAltK`e-hCsPwz5D?jf3wQ-%CICuPN$_<>er9;(O#*l|yKo}b)$q+I -K7PY{n`rSYzv;_~JkaGX>2t0E@OQnKuw!?$?kOBpMq>?3ieYj>w!usp#a@qmOm~T=(^#chgC8&iJpC` -x9WL! -@FJ8pP0gAdN;Lhu1Z2HWf8uT)O6GZ)VN25b)+bl%v_}%Af=XH&WO`hwCMCXgJc+sHQ78s#9AFEiv*a9 -Pwi<`~<`rScID#0e**~yX&yauc)yBR|t=d0F3?pn!KKmW7nUsXQs;+YQ27;Ncuu$%hl8it4C{@A#pM3 -82CJ#7LDV{H6zrlJkfqnG_1K@obAzOyC48?<&5{U$I@hQyG@tK`QyfC#9oS+D&XSJoX{@GJtHlHgASa -}uuYm3ihp5PGc0fO+$};OHET_nWdMj@O+(z>z~H5e55qBMZ+8VAhFg3xhWlXl!a=jg`eB)d$4q~vf(O -S6{zC=;PBoq5i2?;1dbwV&$dW8A2x@4Tx^nPvNs{w~yd)1!vMdW^!E}JGWwK#pdEB?K79Xji=LYp)%- -63o^3FWW-8KTwmITV|Ke_&~-}u=Ztvhvjaj^r))o=1rG#A~zqZb|TF1S)XQy1U9`R?_Z`Hc5S0D;fHd -Hv>Z-+uGmo4*<+R2i3}ZOq1K8>^4E`_-#!P`9BEDK2`*jFJziq9Is#y(Pqj8w{R*dL~E@&O{bqm9zx2 -87denkt}$$pBkbSGRz#jfd16i+5*j!`$773HN{7`gY&NJetG@5N8TBRLWzwK(G4O3llCN;dsa2Ro+4{ -_lt6iN+Tl$_>V(R?F6NkFm$)EuF)&x_Z+DZn<}U!>iuTUutG`Xe00$W%QSlZ--ypQ_72eSplFj~+5)n -U4mwnsf=B_R7~)A7Ctwr(_{MG-h-*5eTZy$LDji|}o>q<{AmMT*%uk~?>`<` -w*GPi|otw-6;uwl0&Rwt)f5oNQgD%h`X@rkPn%|yhM-=TU@lHst$vTF1Gm8gXo7J)Pk#^RT^AYNHkK) -pBol*5v^hSJq%m&KD6SJ{_EV3{*(EEASH=S}g>3>j50|XQR000O8B@~!W4*|qV32Fx`- -~|FB(KZ*EQb{VdSMsLG<&ENy;ICU(3i -*K01;?x#8^_o~@m?S>)yrpj7oOpTW3sj8APPiOR6E%<(4{s8HFi=KtMgnE<0y9=CK!QOhL&#|*%Qab+4eJjM#R<4o0LR -*8Y(nFlT}cDo#2_5S&o!5Lp2Ra~Eo2RGiSs#ILDt}c>og4&D^@W%qjIg_>+ES~-EWqxfVLh9Y@4Uxj7n&3Ucjr+OW+esc@V?r)PzhB_a-6Q^(;6xvt^n-Q#lLnKVFZNR%WJDfuT`lMU|jd}ye|E?jCyf^V1S}1aAU!owI^!+p0N$c39`DCd0w#MbC6eIau92hGFo5D}^V)Zg!4p^%hf7*hCvKQ4}RXyE|qCA_7lk(zuHc@XZBnV1*m3aPY)$%D^CC|bQ& -=cN2ZrU(jt%&8i5{@W*+2A4$4))!sUsht*{gWToJlCuce30cx&VHuK7@@HL~?=kCBU>8TsTSso8a8YR -~RZ~5FOhCgo7lG><$9Z#GX&!=6eA(zTirerktQNQ0OJ2MR6dsnSwN6+YXhGzZlt3I6;2Sz_iI9_dz?* -jwVsMl%^voxL^q^4C_EqfO+s9Gz`wr6roG#J{UG785K|$Skg1!uRH5@VPV4yW`A%Qo1lKc+L8l<%ZBH -NPF8n?#LPO{TLIUeSpoYq=$tQ1QMdr+DOlRqpC@)u!^7()m#FaopkI2^__#>GuXsG$28Mk*BIEV|gqH -UGp)dB;|AH=seb2^ai}sMvs)7zMv?HCghR+Ey(e#aGgMqO11`3y>ForOz3YsxbI`(}k!xpiN!&fcoGY -8@t;qcqm4X8fmir-$$>&<)PgFQ+Zj(&yYnHDvJEsX5xI+jRH69spKdMj)$#e_aeusCS#vlXo$q0Rb!e -h7+;B1Au=`yw;4rTcK%_mM;UfQ8PryzozVc3!xlVvakg{Yr#1}DtV8RTCYDxn3?kWE;gb`I;Z -N}!?p2QE^k?Q9w~b6UFBq-0mhCn(^M%=N?nex$KG4FWG#z=cU^GLEqCu+cs9gF0-lV*OphM?+@;720j -mKy7+tC#U4s;eqIZydkg7$FY7w@X~6|RC5LJL_khmaqU+gX|{y9t8aoIp-V8m)uZpIhr!<>fJg}7?~H -_F&t8(BqbT{OatPK5Z0Jv?X9_qtRRK9Y0y55b{U`puDtK9kLj37U;n8K -Obaa3@UQK{$@Xe7q$&Hv!gexDb#+Bp8R{0_D5ybV|#npUqf#U|kTH4kzb44fjg5y62u7vr-Yr(L%Dc39w&%HbDmT6lO -FsZtkm_SXR_5LvvP5uK=O9KQH0000803{TdPN9$nMRNxL0D%|)03HAU0B~t=FJEbHbY*gGVQepBZ*6U -1Ze(*Wb7*gOE^v9xSl@5sHWGfC6_z&f4`X_DUp -`!?7m$dVvCw@I6poPXS{8yBTLh5*LICaQznmf)wGO1sjBE&k?Q9lFzZFN+sSfgA1f7XQGqyeStK=Ylx -VDqTOsl=$8!+X^0rd|%0<87&Her7`#F2~{rdXm;UNex3gGCL9qKU=XTf)d+YCb`^!lnU0B2NkG`gJqUGe4e}D -~E!q9;^#VMu3(3otVP4o?@Epw5`V((!G#2~_6_^mxN~b_OELjQ0-qlUDW9zC$+th~r!cP3oWJIY-NE&>n!>Lh$Z?w>);W77%kVlKA8P+7`0O(P|W?VSC{o1KD>9}h1kmfD6IGT_8}&Q -Lr~dbEohU?7uZ$2)k#3g_NS;7Yp+r{3@kRjoqRqK_>&HG*z=SG22JU -MS(e+KZxI>2S7?=51FLtdI(rv2~(JyJB*g;Mv{=Hwojw_fVhC1c0Jxjf?57sk%CPKlg(W4}ovG(!|{4 -f6g$5PSoX=l~qftOV50LN|G1elyF9(kWSH(eJKQ-N(Q8QmbqZuTCBMUZs4av`(0&?fC5$Oli0ubs}n> -y+$@Zz`TZ*KN2o#^1UpG(%QUmof@93OU{8I|~$^;~#r#X8T%~PdBzigi4<=cLk#lF -4-82Jmv`{mTNp)?YM-B!z@~P8Cu`lSSw@C5U!~>HRtbmtQMn@NtjfK1^4Mb;geLYwJ=5Dm{hg}aby8tuI -YA?STys)PRLg3da1cyu7%yY)CEuqP^m9(k%g)9%ORL=`v%;q1&*17Ows67{y9MWNhqj)o@`Mdvy97(C -lt=K2H0{a(7;CIeje!31}l8Pc!W+K8Z<|i!p0Bd(Zst*p?PLAad?EdEZ^Zf_K;3n*foIOE>;tiGB1a% -TCdmEGo1`EiuJy)rfh(fI}JlP2U3Rx0~2n4M|4@&9H039J~IO;^dB2jR|w^29`$j>ROW9J+pV64Z@POqzhdkQ|IdhWAitnM4a_S?_6d1+MMfN}ecj{@PKV!9gk -#Gfdcn!%qRCra9twa6!mJCl7wh60k?9ZlqQqT9K5Ui%_;r}FsU;g#$;_lP!=kHJ9fDD4mdx)}yLRmuy -+R4DX?=QuEtjAMhs_fd63-MZT7v3`V?$g8L)yI!F_or6Uu?0i=;y7jES+v;@#S*M+bu=O1d10B>kP9w -w68F>yei)qlf&J1}d9}oW1#9HE%Jx0Qo<9rI4QS+7^b7&W)2~Q_eU<+_RDBp0Q!_uVoYB!S%n?cOdt~ -D@h*QI>b$PBVO4&_ImOh0FwW+^ -4Ct837BZ$8Zft5=8JKb|Zg>vv+lXQY8<<2@np$*uUn27wkp0duYaLL5-Il`-VbB$ar?`F=pvRMTU3cKv{5mu8<+dF%)Rnp41RGmYvW!|`+N^Ij<-G4VMcEy -x8TSo$(lk~^S{UjDrnGIIlb3S>zmK(;DkR9Gy{}N8Ug0c6HEeWy|;lb!9ATMfoaDQ -lD7orE(*%6xwK63MKzSu0?}$sMH><7K)WhvZHXwOVcz$S0nmM|F{LgKTB-AGC4%q=YmME4 -S^Q(vZ-pg~B|M_BJXU4mn)UvOGt701Cwg;fQBS8?=E2y{Lp2A=V0s#) -haRgz!*HMUJjW0ZiW55Y{iHm92-X6>W=l9?tQ$5ln>_RHi)~*n-5+qfkIHk(5Mn=O{&zk7@u9RK^oLo -1UN-_%!hF85m>l=sa5ZG;g?=PXvs1T}PF*w-CWbIg`Ew71ne{rIw!a)S;?#_#o`b(e1K@Yn=k(Tddc(I=^<1vyBZZDe6mptXo0ROo8lBKEcdt+z3pCbhX`489z|^z3P@%%uvTUF2me -I$lX&Gsv^+WjlWKGwmAM<5`*}YqBr-w!z&O#2M=Vq-MM@EG6V<%O`9Xc1N82}lD4TJ1yks1}wac}rN` -~v>|XQ2|ZjR%`59{fJ7${Y4Vu|3q&buU0aCvuvqh87N1#SkSM1!1ORzCvaziL8Tf7R;@q+Dz|xwNum4 -LiR#Q(8DVE(7Pi6W2p0nU%L*dxGeR?qTHq=!Ujj{)W>UZKQi{d;!x~jxM$n+{3n0m`fd)%i#C33XQPp -Xbhv&O*=8*H-E=fKXbFcI1hn927t)iVeK+GfEW(F02Iqjz5pK<=U~V5aeK_iq`aVnGftGdYqo9Zv?6Z-eB*uAek&Zi2-TrWH#%a{;jQpz+Vy=c*(BetgXqZqFb=1qOj -9<83)-V`18@C<^f&knAHVT%uOiy+(v=zuufo!&+3sIZO9KQH0000803{TdPFx5_P=^Nq0RI~R03QGV0 -B~t=FJEbHbY*gGVQepBZ*6U1Ze(*WcW7m0Y%Xwlof+GX+cx&yU%_=zSkB6t^kK2VAj(6#4NzcF1iJzH -5Cj4(9og*AqDoSB{P#V)NTw{x9>>6VB=X#EJcs^)Y~E~0DJs_No=KAOYu;E(?j&_gdfq#`!$dr7NaAcxWKX;5*|6$TD#|ViQB(;RHRzgc9L}AWv}i=S14HFNb!zcMU4v9aVYcL`@o@EfKVfIJAtTa*neSwLY1 -Es5)sD0gZhotWlbBo{^6z;X#;f&=k#`5(Qw$TWZdfl_=FS*=yaZ=cgyThHj)4LYb|Mi6>~DIMtx^lhY -+I7osZAU8{xQ>O=lEd*?K9bR75!J?Iuzq*LJZ+g42J!ijL9K;WB(Mq#WI>w5!fVJxBEWLj7oVm>w%JF -=>y+(GrmHg2;I#_JdmE63d~b;^*)2iFqvV=KjueDQ_gD|sLIlc*L-Rx^+vNS0+Y7#lf4!q8wGZXtZx0 -P;DOir~hd811B!{5}E~C92w^v{dhJ;k@^eYG^+Vz=Lg6hmnrag647I?M&zlKZ)yX<*+KKv39eD>7qy! -@H!=LsN7*_y?OI;@@eD9W7$f=G&9l1>vcAuhlq;-5o>aRIw%y(z-RsY6e6RQeL!`SVbez3=Cn%jdt+7 -FV0~GoBY+BnId@S}Om`2MEk`QzRSdDF9oM-~S=mY4A8+r0w|TN0*%M2bAny_MLu!_!O~9UzsR-tEIU? -geOXMI;44#C1G1*=9g)v*MFMQWG?Q%KcvPKkJ)}YIi^{a72!_SXn;W34U?3H*|p4-^e-nh-E+bn>`R& -%b4Z`0DO<}2Eo0=d*trr3aq=9V+4%ws+GSuZ6Fgt1#n;Z_BY7K4uv -#PczCYZNfs!?i!%4`yVM+5Uu&YH6`yVz|$Ev5;)-8;CsO%aM9Xk0=qM19ZP;b_axJJ?KeG>DZbcBG?g -OCrqPAK_yBkyYD<*tkwEt;QtYYPgBk@P3I^Z$qdGu2&=>HOik%c)J9a>rhL(bb8Qatz{5a1jkWoE@eI -$b4dd%=`8c4T(1g$s6`qJ*muJN6Ympe7bg9>_`uukrwd?|bf?u)xify9GMEQsxyvEY}nRdDqy`Df1(r -%6nv;(~CYQIo*E7T|egOE(r}6>Pg*vii+bKGRHCNWlL6M`e1Ybd~)nSd&~h1Tiv|_3I)gz)<7H5=^#{ -0ya>lCCzZ^H~*6fOkk#<#^1sA5CQIq>Amy2cLok1CWQuX5Q^F5*2Yqs#IxgMi0wy^!fhr)KzIsclX+d -R7-%zbBsj*AaIBQ;C5pmX15ID5Tlu!D+@fgwG=$C$Y7P}NS|111k-;y9>|kPrJ6 -{d5~pt-DxVVUU#om+^%$2s%W-IIpBEDjK|g@L)2RRW4r3})faS|p9-uZ>hO7Ot3xwllMFaV -2J4s)#Hc5_c+TSG2t1vh_zf2@14R6Tm@-n~5(|LqSoEk2u< -MO*`U>?*@aUnv_W*G41vBMT?zzY}WQLj4pe4Goz`aFRk(eg0q9`T{SadSR&kMoY}9iI0O^Rl@x%zZT8 -2tpgB`Q2y@LNpJa=Ml`5f`775468|`?-~KOJ4q`j%!s04cg~kuY!sSb)#r_Aqn0-`6|yw>>(A_ato-N -@Uhxf{kL=wgbTxxq)4JNeOU`QnRsI>f*c;$BJP~Z*=NF2DsP4GM4UYrnWoagGW2=4K_E*NqRb8A3_aF -StpSxR$f}FPf8R>6^=kuYjwL?0PSB2*20^%y|`#A?s^)FxNNsLFYfyQ|G9+AF<$gg{fxe79`OidZ@&= -qL9)7Gi->LYA4vS&xiJ2NPxud5Alp|Gdq&?IBo*5n^Kc^f~Btyq-d%oYB~GOvR9EI%S)H-oyM!efT?H -|8$DVx!rd-0t_D_|H0Vp(m|iPE69q^TjAP*}(wDWS?nJnEl~k!sUhmul#DkyS6a5+33;N)b<_+q5lR@ -O9KQH0000803{TdPJ78H{yP8w06zc#03ZMW0B~t=FJEbHbY*gGVQepLZ)9a`b1z?CX>MtBUtcb8c~eq -Sa#SctOwLYBPgN+%NGwrE&d)1J%*-oR$jwhl%_)Wm7Nr&xr52~=l_&slW=Uphu^yL_k`fmHP)h>@6aW -AK2mmD%m`>FkRK%14000#P001EX003}la4%nJZggdGZeeUMZEs{{Y;!MTVQyq;WMOn=E^v8`QqfAoFc -f{yS6u5$3o#!soS;KgbVCFMpF(JFM_ihOBol}D@1|YTtyp1sXfH|5x#ygl+L;Edw2XhEu8d<=lpC>@d -d)u3d1*Ar#u^vE3g;1o-xs_;C8Qo0qz>q`P;48d@~klxDxctwxVsS^tA%MI0WRg2)c<3{&PE9dyL^9s -=ZpK>#Up=tU9BEgcZA4#VtYm)uKHw8yp{CUI~hX_`gpFwRL$Rlc&u%s(0tbs@UGH{-IR5bbaHQOE^v9RRo`pdFc5zCUvan(ahPY=YanA#)^&_!V`Gd`icsxKqfL=KNp6~ -k{O{8bN0F1Xg)uz@S$Fs8?$dXdxspq0SzD2N6pd6>OY7hCj)}XfGmL9s%T_7_H5F2@nsWAtM9?K>**u -0aVNeOmLr7)Tt&QJBe!lv8Mb0nZpMN6Xe#~YcXCJbR%}*RpGO){|4iUbzhDi%w!gn+!Tqya7!fvxHt2 -xygE~Hvgb1sEZk{9y!7uIGR;PO1bMBbu;xm2*E!q?_LY=jQCtro0a0EJLGx?15DfeCFW=h##`q|9#`o -CC2nGebzBkn^plbUHe9*u_T&S7epq$NkV{2$FoI#NnSvn=}hl2{#H&r$oRaq+zvX7^c(U7f(_!fiHmxX?B4 -A=HQlMC~Q@aavYv-w#8;!!e%?ptDu@DIz{+g#ja>VY;TO0 -lY`GHVZc;s0NP(wX}zJ7McN^?W@tm;n;$m%uW^UR*+IWc7w=?f4bwwCcnu;i{vHbT6U_&e49? -W;U$jW!{!=t8GvJ@qkx$x4EfWjv7MjC3_gdLNuT_W6c6G4HMf4~&HWR&KYchDi-}8 -8a_|%>lT!TFOa>~QGdBoLzl8&>#P)h>@6aWAK2mmD%m`+CGD;LTE001Ne0012T003}la4%nJZggdGZe -eUMZEs{{Y;!MZZe(S6E^v8;Q%!H9Fc7`-D@N%7kWzAwl-_$;MXTPC14D6ZY|AsG;oo-*35DIXwGf!`n ->QbC+yvKw*S;vvXloY=(wCxhXQZMJ#^@91&bz?iRUiaKFqzBoKS`3xC?Ytj>Rr9!v#s%xxzig~obMBm -wb^X`q7O)DnLyo;FhW7u8hmhPT_XW1(ilKh6$&Lgkc_<3;&)?8#!Zb4l%=+s%Q7Q0%{C^rg+?1JiCqx ->vUZ))_L@Xo55R-RJ!HgT3-Ze0@d^Goi!+3Jk0D#uB0%BKi#c5W1(t)@BRIt9YqLc*u9{BfW<@Z0qdA -jJe#NZ)NSZA*Osu0N?#spnq2M-4CqVj77Jl&h2d8)}E{jgQw3wDIa>mIx29I6y -HHxVr2|P=y5ncFPQw)EP{_#SFK3nMKo|0@WL3ZGO-2XXw3i?qp&eXZ&{m>3Myq6bW=R)g=%Kz7CR|RM -si*C9l50ecdU!4Sv6)Fow)sGOvVY3?|c}L`(Xc5^-YE}yUoLuQLe^V-(h_>Myj-B_O##aqB4aGue%b%du$p1dIO?*Uj)#jjB!>hb$fpHNE!1QY-O00;mj6qru*Rsgq=1polA5&!@k0001 -RX>c!JX>N37a&BR4FKusRWo&aVY-w(5E^v9hSZ#0HHW2>qUvWs0O4<}HNta$z&;b0vXFZ{}W9^EF -yuWzwpT0aheeGXf&t|V?zfUG?IWYXp1Y)dqExgSX<7nQ6t2~RT3)d;WH_}}UEDh;hrTX&f&G`jcA@!3 -WMk?T(rMLD_I8NbyZ*T9CW`atZDhZ@WWC$^;70w7;kl+?g!Yl2_k|5DnOyT4M=u;0cu`AJZ96sZQ0$oS{oU+o*`AX0(K(KaVsW^cmPv3AZNW#*lDh#;Pdi^VU4h%pEv*4%%F8Or -xuw5l!Qz900xq6;Z?_c`gEqeV~~QL2Xp@elr1+9(18rx*a^E7mU3 -qaVIdat(9Bd2Troe@UwsUk=;K5DBUE=!$*3#0P^5~@f@6oDn9aj08>1`MCW9$2_IyMQN8PdvDan1qCE -U_l#cSZpx=+R#A->!5(uu|pKXTI7mqiyDxQyognim8+M9kjemM&}8ZKyv&~CasFyL6?2jPQ{tz -xUw5Zg^Se{W~>xOlWVaKbxsT0sG-AwHYwc~c?um??D_@?`(+E_jBwA&QRuI$nlU5IliqAs5z!w4;~dl -m6)Upf}-4;rZTb<{)Fta}i~8ca}?ixjMV3AV`#y4{!Bu|2i}jB&N)(}RFZR_1IAq5w4xK#2xKCk+DE- -uro|g8WJ64Tpq??Osd%mdf7hN}nsq6O;xTf;S*X9K?0 -*WPqnRi_4Tfg6m0VBUmY)-v1r&T<^R$`!u)+FfVq$DAu_>$%1ca*2@|1s7}!Hyzj)fCPkjfU8N$>)7k -!>)Iv!lF%=V_&#ti$;7S_$9$8!{!+Bg3^o`2(5Y%W(`Z^Yp5=}{l9~%Q4Y1kFQ=@8y_KPHcG^rF-|NNZv^R|2-@Su>-4Ko*6oQQ -Sx;}0_FoM$j*b;A!`DWd+9$79N>CLqo__-Pwtqdl8yn)djz!sdxeLTiFuKO^Z_J45L;ta1NY>5ZK2l# -8>QeRNK*e5KdQfEr(dzrbDN_{28TM=5$Neq=2u&KB5@S=p*paqFzbKGLfCflm3zDE{FJu2>L+jxVF*) -25}e-&v}0)L#o1KbmcPLwwYao|^oPeJ|T2|iBR#a3*gX1~$5Kb-aur(cZ7!7BWX#IkiWDo3wGPAC5YP -)h>@6aWAK2mmD%m`(ry0006200000001Na003}la4%nJZggdGZeeUMZ*XODVRUJ4ZgVeRUukY>bYEXC -aCrj&P)h>@6aWAK2mmD%m`;CD^JYs1008w9001EX003}la4%nJZggdGZeeUMZ*XODVRUJ4ZgVeVXk}w --E^v9ZSpRO@HW2>bPeHgCA{DA1AVUTWX}c9|)1vJL6j>n9(#hs5i7H7o^NPOv?nqIjBs*OP%s`NsL@-a -u*ku7;I6(}`}Ae@0-bHVzTRH@y+{C{yrOwxU2|{)U_YPDmbhxdJVFRlq3s4nFllK?ALM%aw*_N=X%~6 -|Di)@_HjXQ1+gB(<$h<0*}$~1LSC#HA?Yq4HMm!Ewx>E>*$3tcwIueMIU -DDVpx9)hNI6e?(E^$LTj?<%E7y%XpP&wmTgrd!s0|Y7Nd}|iB7WhcG$dIK%PDx9q=N1C=TyH_q7?Vh% -{z%Of+hGSCk6rlgu5FvD=H!pfvg#|GrQzZs;I%@T!E06$-e4d`R0|BSR^efu_mh$A^2ab~?QrLV|IIO -NQ&{qm(`QX|OtkCSzMEYj-~^19$^8!Dz-=jZUytBc?t>(n;J502?nlXnYD4CkNrN-bR!d=_?HzO=Vb; -%pRCNY6FdxMbbO#+0_;M^7V2grC()V*0sbclFPO}t}oehUTY-cS|3D*Uz7B!V?pE~68h>El|)K61Y_k -~E=XnXhju-b@N>V?hXRRMi_(^mBo-n0Cl*e-l8!P)9RtA3(px%uhlo>FIJkipnKgFfnUSOc8vZJvJ5w -ADs(}Mzmv5?#VTt9tb$H$J^F*b#GiF$eU!1t0kc4SP` -!(T0@JHDc1Jdz^W>-Gi@BdnPV2qw>oOO+Rw}ro%8elyE=%lAGZyC(%Ua^%Sxjp3urX$p50156OhOy9J;EMUVL92#-kh6G+`Ql=21{~0Oavk -tq#?!_+p)@zB9WaBh{e@@HOkICn#4xU+=hBkx`!Z5e!%3IUH>-5xEqss3U;=-P_Lg9mv9Ya@M@OiBVm -QP(B65IGq`7UwbGmoQ|x@K+)>`nkjS`(s{;-=NIim_((fc#5Zb_JUiaAIlJpe1lQ@s&1H9p7nIx|EAb -7e2TZU@pF6>MSE-2AFdnPA`a*W0=3b-%T)3D4vj-H`w>kbN03A{O3#IgG%W2MJ2RsrU?27N{TPL~&-G -dsTch~qpEGdlLw6m-~`GL-TK=Q^A&V!@0Z;CO|1OJnG{MT-payXREQ0U|YVqZlm7V#rCK7#ex*_jO{V -Uz|4vJMArp<-0TUQq&j5vFSNxx>an4YRjKc&yH-Tc(-TwzUGH!!FYu;Jp03yZ)XBQ>;yiGCXIDAWxY2 -X=XN*BqpqS?ir^5yz&kx7Y6)XiuZPNV^~FthHH*%$HPgJ{+H~|q8Z*Yow^_mLE$OTbiKh|Oa${)E&8v)z}<+o!J;si492_!=omf04 --*JG^4tTBDn2@KDp-=)X63k$ -gTzaw8~Zg>z=z)iSjo~;{Q8fRf2h0OS+@SW7e`F$;M##w-<=~fN_nO{Od%iSoL3d*_87~hvhN)mMRo3 -6Q1(C0X4L0S&Sh>M`?fVFy<>wn87~(yTa4Rb650jI>K{-`0|XQR000O8B@~!WlCbOpBnkikKO_JEA^- -pYaA|NaUukZ1WpZv|Y%gzcWpZJ3X>V?GFJ^LOWqM^UaCya9>u=k-760zPf=v)e!fXNCM+3eXmYZ(H+T -0>-cX8(#0xi)AZzNGAsU&XE|9$6>dXTbYJG&nyw2mH!hv)G-50X163X&wdTGx^#3E@R0q$YH$L|$u_* -yq`-d7p|rXQ}3*RPC!=+~4!^zI_zk2gzo$9kQ=@6(>)u%!F+DEB5*vQDo`$RG&YMHWb+#UN`bIA%;>W@?^b|a;bu1LJpOqMi{*-OeQqf|TgZ#26WMM2AKPTrMD(>$k -0V0nzNknC%m0s}4UR14WL3TFf^ZdrhgUlSahu#9WE&Ds3$Q_f2^pG8xX7&@M_c7p3)K76>j{hZw0jEy -jcj0>((U!aUDop9yIanIm|m4#&qewTb(8>37}V|nX+1s-d;fB5a=Z^`vPZm$2C+qX+A#KwS!rd@cy%iPZiHN-8`!cl_1c-o7=xD?Li16bJ0celvWY13{p1ML$P(9 -z$#ZGdBd@>@_v~eo7^Sd*2WgCImaX2>T)Cvk&QLs~(-VV(Np?LjELX@Ed7ZH?dZxLftgA5UzjV;GGDb -EI+OJ_8#}Qfl)M3BZq;~+g+j)STx_0bRP@O&i1*&2Z2jSOSY}ujJqm~SkS5ZM)347WoR*cH@!Lr%GL^ -vZPENA+j-=4EPBf(-vu2ev-46U2{sLih{^8H7zF9xo~`dcZ!vC>6+H!J2Mob^bC3LUWZxARW8bFRi!u -N&0kw!4dZn`pUTdh8(Zzyb%l#wPKjMj`%0-56V##w(f6*=Bwb;ACn$ZImvv79s2fHJfoh7=#_fyc2^KDJ);JJ_*ciBe?Xd0Y(G3NBL0T70P1g@ -plT4I>Mhp??bV`;1do4huw!9DXwPm9ojM>nyWXlLExQ1*3&nbjEgSvns;9LqsYbJ!GgK#bCTyse64mU -?uMX-pgIZ=W4en{7+Cd?gup*~4><-!<2q18;b`-!2b -SfPv?f{sk#_SG)YU%s*x81%aY!9T2|``X8ucC7pn-GP-18@d0-zMDwfIMO#-J1UYZI7vlXvQVP8^xj4?vG&U$_nnRCZJ0)m*o=v;fxN4%WbuX`U&%OHjS|Gj78c=T`!;wpNf4}- -@_Py9GwvbwwcJj;Jd%UGjf@dcz0rb#uHBD4BO*{qvCS7&DZnL-7eoq77k}$|{Op?wc-5PC{*9@*bZ8j%zXdusUCq -Rpr58RXFCo_?cfusEXNKKmZQjEQRnGIU${~=-9h5)n*{pF)SU39va$yiQ~v6vkAN)?@z(XW6)LbsyU{ -z|b~M@h_@W=Wk5mP7=UCDdIQ0+@4lxZX4YS;ESGw*z*i9$Aq_{rU>mDk%EAS?1xYj=#iQGYS6-)v2Ne -y$z-mXgKUA@)P;;Fax7D(c?nTchGncIYDE$lyO7Ou}fmgp4q?}>}t9@<7RtvunTUeFD`7-ycR`O>vp#YH* -1Ks071OXNq=OKio*CKGKR&bq1oX$w!zlmyPd769>enxR}H)xK|;Gj+-&!*Hw}t#%hC9AMTCkmuH#b3B -BhFj?F+h9_}4Iw+W{>MM@}Z5((Z@>Zt*an5SrZz{Z`avX3wE;=u?`Ym0@Zi!~Oqc3xx#|jd>k*GtFFe -n?bIA*y0-5sB)d^WXL9DGq$YtjcDrGZw_4D2}3^1+C`hSq_?+g&DU7fI6=wOGh@ -%~U|ZD+(QWk}xcPNnI?GPqe;k-fnu&c29pu?o!}f4##D{;tq>Tysv)APid!v0?0Ljk8FoV!3aB=w+G9J+cTipiDLaH$sh!en9MaewRNQ#SadeaVrtNoo9v%I|P<~C4v)+7 -OWs}!`oYE0SShx+AApGreF1Y)r%d7fP*oOAcwl_Y-nL|F-M^WI{ICi-Is6sTGV-X4q~lg68gXxQ#uCy -2}bW}$tt0^7INPwVPTG-=G}`~FQpqCSmWQkA!l+8HdeaPLg3(dmgZEc!wM9NEe3p3Qm}d^kn6cl5@<{ -E-Mr~pCMw*@tM6T1H5=Iz2gdDraeEwY_PR~+HAjOjFPz*i`&Pv3{LKfOaPYXrd))zI)ye7;ICgGtt@- -|H%u_J^AhOO9eQ{26WfSC>wg+9rfsx%rIc7!>XS!z@0q+=ar!(*{)V?GFK}{YaA9&~E^v9xTYGQgHWL5epMvmWVHt3g+XBTM -0_3jkcDD`M-3@lr_KKoVX^W28$dXQ!;&ng$%?uwRCCW+KUU5bru|y7s^Z3n!^n5 -IT`Q}SZL5aKQnkD&I6j!o=kwW2?(3>)SyA2I%JSBJt<-F`ZK^%1Wu0dCqRer!eplb!W%~0@9pF-@WHF{UN%*^7iAlplvjtcsCaJYBr^sdsj^%)S=SUR{Cg`4;lA8&l> -WObYreTNe>X+eR$0y4-D_sNk;c}mMn8n -Oa@PMg1%2vXpgnG=9?d{f6QKf{p#g6+57L_zP)<;6*jML#H98f+E+&5Rq^xkica!IDAqWR?>IP&Oa!v}-Umek)$%!)9v6(3r1f{Xu|Q!2cd#vTc -CAaBk;uccb6TW~ezBacSK*y%p`Z^eoA;lJ7;9EoZY?F1BpX??lGe3aPdk0z(3eEVVqJp)kb-OU9B|va -^4JL#Xz1GuLts=<%A9m$0@X@{E_vu0YVks`annNa@V_#HK29Ne*|xUdeU`yu%y;&-l6!2qo+Qj{&(fy -r9Rg7(kB#2UA-q@@##C??jKY!%m2T6|%geK^%;)JUdOz@N&_Jwrk1@_BjKdHt5)DgkjL>d&Bvfk|iXsXxkL`~9&>$g-9>Ndf_`WErgEBifV+X}4s4CyzQq^R-(~U?G^i;pL(Qg*6Dz#gXkmtc9M5o9OD>hUYj;iDi0X(OXf9hJ(sE7!R5$XsRpETD -cd%P%RJuHxeMzERR-%Vl!LB-NLpR&$Ti0g4G%dl;!kLbwzHc@Ay3}E40P0QHit`*m7PWwN{{yb8saIf -(OoWyO!etMO_d=wDMlS<{`e|NCXeX7I}rDfhkSEW>*#fHkJlLUZ6nI(><4@wFL+Prxc!sEDKOMJSZU?dzzbDbU09++JCIGtW=#H0_LfMm0%QnnLV*PVA+8|#0c(t^czME -102Z{7eCelA+OsekSBiAEbNk@y3N*bJEzfz&djOef$!%E%C@{!8^=n8>Gf+Oh+lExWfjxE~25K!z4#Kjid3CXC+ge?mpWlKLcWcaP&+B8&&jGj2AwPxM -;rzvm7oWI!HOSbLwT^X9l(i9^lLHul-s#fwMbdNz;eT652#iJw_B*(ChPV?x0bLD5N=4Ssqu;@{t5}M5XLxlkeRUh -CZaR7U;3t8qb;NNtPI|#`5))$lI0{%&Vg_xI&M7QjD_q1d-pRF6L(kI&k8hBH1%*$0 -TykT#Mo$i#%#CK@F^DHhe4TOh*)EWFdW9j4%B?`Y4VMiNJ-15?oEN`vLLr -#Xidu14um}d>UV^lZVW`z?BWw8S?zU`%BlMf6QgfUzwSw1l55k`(5Yj`Kb2*wXta#Qf*!20nMc)$pNL -%0c9p1_XCP9gv@8N*V47fzV6Hb9D0My-R{RqMEW?_S%a|?QNJJ2qVm%j+maWTOA`D-^yo4?9HVz$4x)Jxflc -}Tzu1k|kM#4?417K#Wdk-<)7}%m{+RRj4d)@+Cs0_dk+r3HOth=%s`KxNkz997asDEiS7*us$cf#Zq& -8T7Nonj69^6{2RppM=xHUHE{b{vDC+Y^xN361Pamc=S7)K#gJs6i_BYV7{A+LQu)Q--}#AqE^79Z3{foXVXUnPP -)|fg;+_CdlATO#0|oLHGU6b3Xctw@t6VJMv06c`VxQp?&g*EHJFR)j*!%eY7I;7dD%(~G)Ee{=YFFL) -U>JgYgwY9*g$-crrB;EzC~vM*ie{PW$~7`!oRXQyd((7bdK4b%*^kL_H{ir*Wy#_t`9Ec$61xEQ6gj -t76Bgs-@llOF`e7IrZg@qGDtaQq*UjNddNiM-|@fiU;Lyb4c7AuaK$im8ZBt;JIZ9{ -n^rXZHpV4&U)(^PGOn=u{s+=4>%D{&FG;BO95yhcO;>D)h!q*-2F{8-irWKO)s<95zx^>y{G)(VYT&+ -8pgPS~vTm5&W*J!Mm`+*<()Hux(e;`pWmP_(`^c1a~jkOk+=^X5+ -EgK6#(0+m2yv2;7ZopXY!<%S75SPG|Bn@!g!-L$1sOaO(tWxT~hV%>q&sfT~^Xy%%hiS^r2i&xOu7+P -o69}Oj8Mz$Q#grtKrYI|VKs}XR;WV=wn#{m%sIKm`>-B#2TWTxO5(7_{+Qo(FfU84L*Q#r#17?m1WyK -6||vWV=@zrL0Z-s#gOeYkg^({Otqz>2aFz%$-A!9Cz*w~&C*tdXuhX89#NMf>HCP8r7%`;}S+;nWpdP -}d=?0qtWUhVVXm)ocRuO>+ZeQ=^9g!}f5YZ{;A?v%Dj<@`)x1qV|~;hfq?NYmC(2xizN!`SY@pogoS`ui}VYnX^tzBlkt_ -#Sf&=erL>bxVQ1K0*^mEvGAOT*H(>aa`bcU0b1?Q49BT#?`9t08V9!Vn%J;H$1^aV&}h4{gPuE2UdS< -0y?E(#~c7Zm`hX>fmlSxZ^$u54(AT7ZmU+#Th2+p&(l8#aa%MR$S~h3CP0?6P4Th2o5k5-DJ* -0VQCj?6;q?fk6pkHDb$kJKK#Q)FvF~4gVBfv}7ADa}Bw7IHnGSS1O3*{ch&4#jHz-r0P=+# -7XgiH+*(a>OmuRdiLZH7|Oj5$a29~WwEA_RYtw%-2GVHxZ2-)jlIGe6sL#A^E?zHU+Enntt6Kn_Bf#n -3ZY413CcdYP^K>_fj&v|w8mV#bcMaUo#j05+u-$>6C&+6RG>I6+I5`yqErP*W*d~_+&yS%N*>QgRvz5 -C&{PTbFqEGoBzBj`?5BX4ENi_E36_6;nruXM-Pea7sS?=S)63OhjhR#8)Rbh`twi6f{?P%==1=+Mq$uOVl$!t3a1!8Oi^mb|v=#+@ogA<>f8kU<@_)4mI*qzY|=yx})H_i%>ziccx -=P$qU-079RJ(l(}C)L|Lg0_SOiRm<}j(hXk$5wJFD{a!Lq(gfLVUWK?5O4mvfXo#sUn2qF}J*HD?KxFGcU)@8~k|1u)E2vBSO3{IRz+$6Z-mZ-`V>Gql0U}&?Bn&_yiHa4#;q@K -}~ntV}oMSj5JCgv(5NcVC2L5)$IPD_pArgNj+?ry3D4e?RR`D;+Urig?DUYpC@P(Kk>HQfOG%;v1XMv -fT=J!h*{?ZnL)SwaZHahSN!z(NW9py+8dT5@e}Lt)GETq)HyzN(=J`BO}qW2{$G5K-<`f3wXYv2mQ3y -7F5Z28b8}4PT-=Q_vWIHi;D<+G(i6W%3g(!f5`;&ADgEF3>C)sXX?Us~+)NrCY7b+-zNHg8%ZLU3H} -u;lmi`7P4pOG3opUz?2wp&WmLJUz3gWr8O++o=@}`v#`P+#+7;hWsW295Z7pBAyTB9UTVR-B2%&zQ-ieXPIc)2XjeV_4ccfge(T&T-0hqd^^Z`2wQJLleu;+gWWLY)94Kg2zoQ2J@9R`Q -q6U5%uHc2Lm{904xZZ7WC5O_P32f2RZB2sKU_prrRNd)em?aj1>IzH%CTJmr6tB+vSETJ{+*mu&@irF -|#&fzl$0nKGeL~j)CJ|wf(f+?9-5-IvN1~1$sxMl~ZDv~CfwOy@JPxItsRc0Qen>TJj>7)$WS!}se?9 -J3R{HAFD!i)m1Pn1Sf7Uz26Trl8gaV)-WSHuT8gpymH%qC#MBRcBEpOL;2X!^L|2)s7&KmHyQ8>r`P! -9jD%?hJ7aM<>qV}lu{gR?$w=BE1{Zp8mhhyBaPynx=~eE>7~6B9a1801;r4tvc9%cjE+|Z!`2*}2M|5rTv2eQ3n}9oe!esB9l27Tg3`J;~vYU!&l!LG{L4|rSf-Wy%%aUtU -_wLuPT=qyu!F&?R@eC4wd)l-eFYq??c--mCufO{k#uJP7~ -*9RL6TaA|NaUukZ1WpZv|Y%g+UaW7wAX>MtBUtcb8d97AaZ<{a>e)q4iQcZ=5@dF}d(o}U@wXT}F?V+ -kF%YlP<1)JI?ZT|hv7zhNCRoeVQeE#n4yYJ4BOskSImesb_z!()}rL?7dZB$WPV17?XYcEuu3z-v=Il -oxLGZWHSUKE|@wcp;sb1gKKAngEaz;?I+;0FvbnJAzGRa_fjdJi=oScxje#1^#VMO<4^n7F0ZxeA#go -}u-)i``WNk8k(i@7d*-tIMzK?$_<@_3dXYJDV{t3B}b!9Y^>mcM-i2#zyo9at4_IA&j9MsO*Y9G=7V5 -<%@_erkX7xkDUtO@U7%57h90-6s_cu5GMg>%+zWT=U{IdTfms)B{n!DgrtzsX^5c7XjRwHh|)7xA1s@ -a9;PH88;>rMs;p4b9J(2+JuWZQn)k3(5Dt)?T6^>b*ZD9OO6%;Rx^><%b?Fj?6cURGy5LLt&YVYMhlrlXzm<@|19mue6F@ViDQ=n)`{a+|-ZAv#U -WDBYE>RHf3AQ0RHOHZrBL-OF02wDrW`#(sVJ`d_db0GsqED(ub>S6z;v3Z@wh=8JQS*C?f0J{?3BNmv{;fH%!Wz8~E;nn2NLs+6IVd&$`mE6{< -G-k(oroI0v=9dFbNKBbXA@T$u4lL1Eyi&WS2ZVgIMf|Elm_7tihOs(Ac?CPO;-P+MRY+{c{j9W$!d2? -Xs6Q3L)(8ouesA5cpJ1QY-O00;mj6qrt??u(Tt4FCX#EC2u@0001RX>c!JX>N37a&BR4FLGsZFJo_Rb -98cbV{~tFb1ras?HX%un$tyO(piCZh2eEnr)VK6n|;^`Ru+P@oltP4S-ayc{1I9ps=X)}XM6qwV9j@j`jN@aGJgY>7W!{=dv1g3Dd=|H)la-C3y-)3^KQP3e*Fje9b& -?Qxrdh~+_{R4lxA&^xZQ_);mU7OcVR%%|3uLs^3&YhI;=e6B0W3x_S9G5D1_<0{{kPa@ltl~~||gQ^f -~yUSW>Zr~4IF<@$1<=y5(TLO9eQs-_TNY!HE>q=xrIVlaZuRS(4(vY2g_w -Kvw_Ny;%|C+u3_U+rdw||-1`IL8Zhs!Ala6i$p@lU(~kJ?P2zahII3?U`PVDR_4J}%gw%N&gV@1%4NH -u8;t+Yg5Zjp*AN9xezz>CuG*|)Eoy}-pX -1SXWp>=O{XRD;96!K+&osk`+2nvcC(jaq3FfS@XmT6_r(=}vTe-$Jmg7w3nazCGyFwwkoURUH>VRf66%~30-BXL%Xy8@*S0dLDv(Yz##M -TThAHWW{p;URigg@sJG%K=apbPc~0!LlP;ogC$oVc#0`mt)*K7Q^`WeaG#R4_SyjA*l5JNYXxS@#;(1f?TMKSWVK2{byH*Y6GRl)KPmo8eG{?EA%=l#m^ccsSC<;0;{iC47h2>RZ0W -HxgXk)v2m^!xWRLum-3F-OT&8#OP(l9$Gz;v?z*8tFK<~t%fXR8qTzw1j;Orl_-w@TI<3wu#l}?QgKt -UeU(1LBt7XI$G@CQ4-pA-;#8SD!(NUuV=e9AM-*&rVjv2LI{jDg(+dzIY(YUO0!Ndlz+y1`;ATZ4w7& -511vPv`=rknM%mU;!xlH$d6-wWDJR5|K3o4pfFu99Z8&$T1`blQQn@X({>D6{rOAdSsehvtrFAwYPee -jL~7H?BkYgvPBWSsL_BUD~=PMKH=Y1aQ=o*G@|(}84zMAM2mJZEP6;3U~5=gRsy20EeVbwYDkqKHZmV -7SB}t|WD*(cOt88u -3tyLc}HZm0=lcXiB^7tvZGwjT8uNOpSDalc*@cjJRpWMZtwVb5knaGVH3z`9^Rx1m}1>gormyiis6cK -{DE73ywL%i5OSg1DPY(6o#{>66}D@M_$-jVSK59>ZTEJs2wwLG(VE<>1`8&!h)Cz0h+~$GiQ=5EpVJg -6>)T}Ac$0ai|5-a@!W3QV{Ly}bAz3hzRJxgWqR5ZYRR;+X(85!Z9Km<=4+IO4vmTpSPqFp0d!KsLOzG -)d?S}1)Im&jft}8%hNc5TM@l2Qa&!7`{?adR^CweeVYfaXN1o!gDRo86FWpeyu8g`63px~Yxzld)oAf5*bJ ->4hhpWq;Y1+FikfzT7{?f$6d8s4}^BogSCdsyEGylamsvdiV -rJRxz%iJLW^h#i=`V$aS$CtlD@(>U%}RjdDpk}i}$9dv77CGjb -N=GSGGbmDtDhqn`yOGJ_0k0jm2nD95l+qIVj`^}T#XZ-6o_8tgQFXM3hW&I@58htYcu={u~;4Jr0@Qw -FArgRvURJY2D@QjY*TronmPuFdjTB<#zh~Y4eG-+_rOCS%04G$yq=WW4aq1bpTY&VN3pU!3FG%dy1dcv%25BpU7S+$E9~l%HG< -+NFNOb4Qq$0#wIr$VMccF>r(Y-W7xL%CgM*3o5UY#84L4YsgC3@m~*=s?S!;!egDiA#=H~LSwFIZm`G -O)b!8|0CLG~(mim@yBol3MG@kz9@4u9k%_Jp$#NZ}a=EXA>Fc`oA()lVP>ZNkQz5?r}mpW)VPr~%y5b -$+itgtE7klQf!EDdWB`Go>=7pR(8MGxsi`UT_;g2rm-<|GRvZhf9!3{`Xhg$2J4zA$;3I2aKR21Kia& -YdRZt0FMTYf5bf}S-BJzuZv)qtqf>D|^y6}Zx_dUjRg+5B$T?QE@0dIW -i-VnSzCik-WU|>E$PKP({+O3en&uxYRET7yJd9y8>X99fVc*ct&vjeZYHjGq+WgNTRj;rN~+29oUMu0 -$F94(^}Sr`f?A{)w&*T-0n8KDWOdER{hFnr-SU~lPE!kK9h-9~)PSkRygKa#=#^@sU@@S$@JP>0|@JE -5L#RUc~W`T^4mcjnZq%9H)LpVOO8G^9VX# -r&LhanR+SY;r%bZw%tqbgT-xkC%hg=Z$Urg9ue2_n>N>fj{GyNf54!?%O2%;b&@;i(#8o_;$nW=xxJ& -%yt@T?Zt+?sFShLLQrp4Os;3Jc@b1Ph5@S$+8ty3)MFms>@t2?D=EDEpZ;P00(<;0rT -ZqqWm#Tv)E@7X=Jizp%Y5~e??qhRJx^+;?CHju)`yKfetJwB2d0;U%w&wS!Q?+sO9KQH0000803{TdPPfS(c6$&20FpHT0384T0B~t=FJ -EbHbY*gGVQepQWpOWZWpQ6-X>4UKaCy}m?|0j_@w@&Cyf}FhTbYiNc3HGKeQD}!-WuDB-L#$U(l7~Go -GFq8NZVSP|9y7{fCNa&NxXiU-`*kuxWnOo-vNE_;KAsv_^nQ*Sc<$-Y@TLjH3T -DWW1%rxD3|B20s0UL+m*7AL-11k76N)z$vUnI*kep(2Ty~2@o%hNm&w|4m_m2mlCcplEs)8>!!Y>|rz%TmaggY9Ob03jT*M|g4aa`Ru0 -H=jpmUk0Zi0_4}xkB5f`Z;yAsj}8ux_YU@tP;w;n*1Z^;<{)S_?annu+?{ac-kZ#eh}5(qn`zHpsrz(*|ivk?Q8g@hru0T7dqcg@f&qXPPI)QYeaAYoP$SUTc`Qc45P?cf=A6q_ituPgCQqEkV{=cV1%};=o)KMMi6GFp5MJSk~fgBaOye -120Qae!cySKn5TX{n;qcLDtSrKotVE`JxRQ{m7>`fHdws$|U$wm -o+Y%u?Ie)u_0jGjt5#DqbW04H+ZscBHohIx+TY_v_GefCounxoGmb6R*}f-C2Rq~sgwnngPNF4rdE&4 -a`c}F5&^)4faDfG(4V$=X0EiO6pWWJ6I#m8CzPZ+RC@@u1x-B`4gI<2v$4h=bn2?o$5A;Bs{J{2{bBn -vXt@roptL-14m$I;(q0GVY*e{}yB*i33xl=po!p|ETw9esDzmhjnp$#7zVF|Km5%zJZtl`4gbO2g=I&mkbGJ*38t9X%4%mjX!+7RvWE{(8foZuJm{}WFLOw!!H -kyLYVTaEuF?{W{8HRH>l~}-pX#;*HpAC-WXpj57Dfo|aHArQnKZbaAd8Ceu~ft}r)D;_b>jbjqVfkMA -wwWK3(+U`Goel*^gkskTEbv|7$>rhL80jWq6@v4qhC>VhFJ=WrQldWZjn>L-j#8%ZK*^#N}13yGS#`s -Flgy(f^{(4=5_aj)|dHhtzh&Kny2Sw}flQ9wOm8#qBjJxE<(KY&Qb<64 -rJpaN+Ln&LXt3D2rUQC~u4T1z-&Og%F^2^|MLyJD&?u`MH#KuZKvl9rPNCOD*psn6I`nSs0y(!S%hY2 -QFb*8~L3B+AmI&+QvQrzOo5Ua%K$NJnkBloDan;;CkhUe18=aiq~}6Rk<4hMi^GY(v~3dr5c&a|1 -Dd?OiQf$XMENDJDCd#|LKznMA -Bg0vO5wY9zd?5hUIKZWxZiX2IqjO%Lt=dlx?wJwkDwIkpMi;P-f>iinn)@HiI8=WRh9D+c!wS-!wjh$`418T;P6odbf$lymXW{;ev?|3sFqZpjxM_|AhZ_4qy6xU6^H%yjj(l -Oa->H=n~Rjn{nRb(7VZ-f%sp=gPx0Vr!?L=45S7QC7D(^a=`w-E7FWE(x&{B&E#a-DQs1&)G&?P-7N8 -aFS|Cv{s*76{X3yL^Ye|KO$8*sodJsG;tTPd*&Wf*@&O6eVd~MG<*EZ{!5mo%zrma`Y0-;4WYTrzJOd -1>u*9tz+n@*P0r`uULkw6aVZ+{5$qXi*GcXrnQ3>Q=_d%gKW>Om*y&N_zeL-<;btVCC572912ob%Rd@*>Bv?R3 -P1lDiwfL*}QT$JD~{CZ*pY -+Y$ow-W^v~eAK_TpZn`QI-`kIEp3cM;u%~q!uk3LP$nYEjsjAH -GukHP_H=Nx6|VUSOMD#uE^-TU}cfGH@U-Vszi*>jC62lRJC``$%8K*Oc`AWGx(`5F7dO;Z@sMo(?48S -Y7VrQsbi%dVo+*I4>4^0{T<=~??l>bTKuSiIpwl8rKbE%-^GTE{bYJ6HynaFEY^>p=rE=ols6Z1;XVO)VQYkm&OYUpK&2&U1CJNSeeSu>mO9bm7vN34`7PMF&hU>vEF){whGZeCo? -@xwIYrn+x3*^FKH;GMzz8!eKOvJde{Q_6ENdz1PSYoY>K#Hl$P-MM%270D9XuWudNJ+)HaA1AdENPwr -kz5k+t^p`Yh}8rgK5B`#K);-`Z;i)5Sqf+NP1?#&o}Hxa~8z$%H4M^CByag6jsYNv`!!H0St=EG0ATw --Ub`E-4#%dq`Hs-aNG3kld6x7HHB+$}}^OYQ4q?p(zKxTiM=4b6{%ffMdjjKX14u@D38p1MJM2*p1|+ -l@ONONNWuzxPijWKFJGh1I&;TA>xS=*?h{D>e6cx88OpKHf*b)sO`HoXBiv@BHJAF66rz-Hj{u6dnS8 -1c-hn|Zf5L}I?W#`>YwOa4cxwM2GC{e`genqX7vW!KRAZCjBO;Aq>AeoQ5)^(0` -xSk$UpglV^@1k|3I{6mf63#bk_6uQL`kd?nSfD)&}v?akib0h6+ABExxnhj!XNJi`{(bz0Q=8i7r;3S -fqtn`dM8-oRdc1>kIt0T9UqH%ed?zY?T(h*9TmO%@}SHdx=!mNEqgy^5S3m)l*<#SKl7x9vRpX@kyZT -`ZeIiAVun7!P}Ts(o+!<}Y00n?Bc-IT$`=nYFDHp9Lxi+^XRng&_Svj1fFC5E6aaLtqXMUKo6jXD#+D -hC}_m?TifrZQt1a(^bcS7{K)#&u-(=&o}_;3d|5aj(-J&8v@Gw%@_8`#hG=tb{Gy`$95h2H6_YvgsCFn?%?ct2BK6ta -V_&sKm@XjDT4?N!=<;hB2jrz@Eqc)mD2@r$uT8+a1k{ZnM-Om|5_7>tk2Jlvt85vrZ4L;Sj7u--jT%c6&w(J^w^L5JEIaHmO0xGWSb92Xe -Y;S-miNNL@-RqIH3}bg*Sr1%iH@(X9?gR02OiOeSVbu-Zg+nxkRFW`khh)<*;9t)J$q&yl(&Xcc@i7Q$@dvKQx(q2L{*kMV*_$f$*+H}~GFdixSyZ| -=W@Ck(VBY*^M8Dl8yUT*{&@!$Mwefxtn8II;EoPtTt}-+un=`SUH^;|SUhA8}m -YqlE{$u_7yI!MtXfW72krDkj1hBY$vQJG75dBcb()56=rcW%6UJC|;GA-{%WYoVjuT5q<c!JX>N37a&BR4FLGsZFLGsZUukZ -0bYX04E^vA6J!_NO#*yFkD{xe)0G3F|a>eo0CbUo1BUVMPlC1c0iV6maAs1N?VDQ*o#^wKh-97IIK(6 -DvFL$WYY8RO4nd#~2>F3P0ZT3-?ZHInnS(ZiR{?N32l&`y{8hV!Tzwg}>@2h6FE9;&7v+3k--R01imH -O-08NY6tdRwYG|11yNvSRnP*m6;JJyz^e{3%=CT;}zTWo^?y%T(@A9@6ZZ)kV|FLWiqe*0Qb{+70U#Q -CHr2MbksRxyrG_Y0LgGlr7t{y6+@}_xjybRqCJWT3$DGxyh^YpDe5MJ)5d|&DySPYFYO${LeeoIOJ`| -qP*k3WY?nr*x{?kU#B;1emFoGS^XWo{=R9hp5|4>S`(RN-LtmN70z!i8LI-{)AdkRMaJrDS@KQu_V69 -Pd|qFdZBsk=Qx)0mh8=q7ujK3u2S6l1;M*=(1i7h`MH3*9Q^FYh32tB~!Tkp8gsyE -!MXzUIIevK7+U8RrY1Kv8O5{d~muc%60(+d__pf*e$GgSgdOx_~F1m!dj}bZde2MU?F!40s(yCP~}Ie -wID75&1PK*9EmR$T=Meu(BZo1*&csq1c}%6E?Qx ->o@nH1z^@ -M3t&n{>R379&<;n)_VqHZp-z6LmjE6_L%O#Hs!W7_K6Sj -4f387wfA{@WmJ7lf8M)y4><>Gqm>j9QdkzR=v|W0Mww-ED7L9!(aDX#*npE}jl6TtCw(@X(f{w+0ftI -@cGtifyF@DJFM$K@^JBCIEX&0m!L9<$LG48p-A8I?7m -98_8Cd$P%ECs#I$~U*Dn#F(fFu?HRDae`I29pRS-oj$76Ju8ba_^kJub4<3&4z7d<~3EmBNj66dvxh8 -sKmMuE|zEw8JPgL2#o0IRzRZK~UoI&}bEeuPc-w>Ov=q=|MGIlo^GIT!>>Fn392F&gY0HjMmjm!kl23 -xEAQHpY9jCg;L!rnd|S873#SY%L*S^C`r?F9xcC#uv6+QEKb(aIsmlLrwAqPj))ytXF@b;5YrrY(|=e -5jWQ1K0q?aYS@^2|a0|&{Qz7|>o~*4wwAjbG>8YQ3gbJ2Xa0RMLio!%%153bP68QpD9r|0Bp3gOQ0rR -IITL`4ja+$zK`RhHqL}ri$lrsJ@N6IBsF%QU(5VPX{6yz1VXZNFb&)-E~eev(n$M>&HR%DeTm@5)^69 -Hy!_f3?b-c!~erGrP#iFMuNc0Wm4bjHkty?rfGrbto -L2Gq<x+wC&kwMgz2q;-lX-;aK{gnnH%RngH-WaG+| -3?jbC;)r^z6QYs(ILN$eSza8Y{5mfyB;O0WqaAFj9S96Xwm!Nm!069!(jBxORKQ%j=%xgufc_0oTVv- -h43HNdH{o?Ns_XZZp%jz1AWM);E_F|5T1fO(`V4@vWbfn(q_x!ydcUMHv$@g2#}0Z3!bS%r8R27BHEU -423t3$XB=E^?sJm>2sxY9DShHrVjy5nsuxF*wQ;;h*O^d)pO*x1N1*WD*oxzj^gY|5V=1eMsJ(^DyQ( -R5-5G66blNZhe@VC$g|HS|Yq9)>npypeY-MV3e3gC9AeNAo_9_#|@(~vaaVWMc8DN)~!K-*3t3B25aL --7S#;bA0i1biV8pe&-+cA?gGRKf{D`$x{k?s@>&=axXOX0xE>2S#RiQk_(t|2N;<|@F^)tk2^>-ZWk9 -2zJ4;bk&Gc}m7o){vVe$1q1{=Y;ECXl46*y^;O3_T^(5^ODiJIMbnRY$9JUz@aQct2d3lV_V#15CoY%Xh_fz4kFpJ -9L=QBj4*`DjBWFw>SqRF68Gt`6jJ}~0d~)_=dDBkOz`dqpq*|wpiuz2Z@>eFD!7=eNXXe%`OerrdcL2 -bts6xT8oIMwv|@+*iTcCTuYpiNy~ffZjfd17G?vOQs7we#bi_dv0{b?RU+30WSq+6@yB@Fma23Vegz} -(^qX(nr#zaA}rEn6FM_SH1fiy=dyok1B)?9!vxNCvSEhLA` -xRW9@5X&ICAkzo`>Dw-5v)OZFy9V6nT-(Ks99Yb@8Guzv?z|ACdL(N4lxoiYrs)L~tr4SHvFmYT16ag -am)OQfJ{E*RT$uQAZ|L!+P0>)Tl;mhM`*Q1G1S@dcSkcsRA4$f|#SpR=05;er#}D+U7GS6h3^T88@?% -HaVNVK9RUH>xlPJpV7Q`#)m}m}$TvG$wE-yh9%}vesC1H+7`!<=aJJwzUXXj%c5J219L|Z}x!i@H1C! -{6K&0h>Hs&ISQOctWoqPG!XTv&X057DCsTgSevK@I>}2W_z=X%xmDh_+nlZ?tb;`lky#cVgKrY9@DF>Y?e-f~;|wzlnO(*@=rxC?cfA*gC5lVeV@|4_ -e_Ks$Y23D-7HmE2lK3M@JLbI6GDCh6FEkjz3&l9lCUl%pdE;oveOnGj@;NVrlB-t~ekaQXg#E;w}7EQOiCE`g{$PFlMtp+>5nii?vr -3St9=U^?q+)fV%g>|LDte5|&7H-4FVz6 -JzbFR*9iz!h|UJ5Vu`sLQ7@^`5HnUQGKwy1fP9kfHi|`$_4D%oZIHQEEp#ZG{B;<3swebE)3O%yysh% -w0PRJ(JY5fIT{kzI*uHUEs{B%09r`mc;Rzh!%!O*R0Xo3nZzRt6GAFGpZpwC>+uEe#V>QOo@IP?yE-L -?i_VZjH$q{sJJ1f133JiEw3-pQS2b+r%U#nHa??kiEY|@kV4^8waf8B*lFbG(La^mP<0kRQsj_5sP8($s|tgS=t6F=3R7aKi}jO4M3IxSoMbG -OWF_Mt)!h|P6h!^0Ggu8K8^OpSA@pyGXL_+-w|0t83hdZVspcBLS0+{S(lqjX+x-oV#i=)4QxPw@SD6 -XBBJuV+BF^80u4wc5x;#;0*IQU9gPTB={2i0UT9v73A;e+>)s);3ykw1e85!GCru1davw&vB6sVhO=z -KcOP{ -R6@sL~`%Euv4K=PAZ9)`k8wcew*!H;Dn#UMFye2Kt7F4%Y4l_?$!9_xV)AKGz -LU6l&MQ{&1Y*wm9ITp&fB#%h0v0%1(T95-29-K=$VEOl_i}BYubXQYj#t2KD?~z%EW3rR -%A=C*_!L>XOT+ABz8K{vqnu=@G2!Ee*gzz?gZ9RT*Elf`slpNG;n5p<-bjE{u@>%#EtRGuHIaO58y*1 -wq83Mq$*=?$LU6quE}~^`+5EJ<@tnXlJ~(&dF&V$N@0evK*Sjc~g!zeMqYP`u9zwAJ!^>apYQVj!+nC -`ft24SdzJZFk3RSXZHy-G~^6`3XaSVrBm@plN(dH${zg_~1Z$yZnD4Lh1eh!^G$Nm5ekAYeM6OCc;xV -iN_#JH>n7JJ|vSDMvBLw+~enFS*Twm{BW(WeKU^h{#A08Yg`5zF)TorT@LIid5#MBg+dBkq85#8Mo$1 -!!SS=KL&TFl#s!!U0Zpp}U2Kj$nN}X3vZfc*=RZ9W0_a#)2gFUeJhd&+p079ue2NLC9nA!-JSQhC8DhR8XwE#U6u@Fb5TScrE3EGE+A=93~24Hp@O7%cbXFWes5lftv5+)m -6VmYTm3JqZ}tV?7)a2Z{6+^prG`=3*rff>HJhThnH$i8v4Pw%EaDkD43JlGri -P?~Qj$j|B%ZK75L(eVvBFO1YJNb|a9e_iT%8azPFWi4NWk7@DHKDOnFEFeA_T9lsl=Lq(Uceq1jStEo -dYeek2m>|4;{3cmak{zMP$*rEbG562*>NL)@?P8$JJN-!+itLW9ck4CTBOnQeN`J1MHfuSB}tcxHlk-_~`;LiplM^2M?dUn -G@SK65Q#hZGIwfU0_CEVQD#OhtZ?5BF*5rbxlN3ggsD^H0ad8!n1K;6?7KuOk5rX!r!n0b4wBE10n0rq6eb@>_Mh77MEMV?QdaGOg{G8uub+Z^ -XmB|RRD*M+u*@E^fefGK;Q4+sT8)GkqDIF@-&THR9>i+3}KfEPEP2hsSl4WtFBNwU?6x1&kx8BN3uBHHSE*U83JO7Rv` -S3%B!c>S~skf29|Bxd`I2}7(pD52S17apWk=Wu4Sq?vp0>@Qc$Tt%n`4pl4c4EZ_w3MIXnZKizuc))5 -9^Io0|K(V}IGyU*hpNKpa`7T+P6%FypB%H%(#tf6CkR-Cw^XbXjgV-WvD6_3XAM@0+u;86B3trm&?z6 -A5lKAVAQ{BHsqR2l7egMvoOw#LibhWE%Eho|Umt -8U3iaH6W=Whelz6+qI*-=Mo%4#g1o3!HzFdKMej(XPF?RP&SB>#|NWML5iU`nQ}8!dAqRe=SI?lYFY* -~4$e$r=)+#tlJ}c3K3Gf-IPXs -xtroV;YvOfwTI>M!=JN9384lbV`J|cz7q*T_u9lXMZIQWlP)B7#q_QBakd6Na6 -Zyoz-;2nsINY!ssRM*&$HY$$5$8M)))n_MF-0`9hw~7g)v30V!{_nw`;YS=K46470XP(W^e2aUu27xP -3qB})=kbbyWxSmSFz>F5FtYBchnW4%*OQ_yAqiZd@?*b=&w*9+qT+SW1w31`G;TCkiHJ%X5c -W+CD1Rp`z0XU73plr$vBGj(Kx*%!GA(00-gjR~Zz^+;a?+$Ak0>&*dQl*SR)CXIqq2*&k&P8=cw$n^4 -iP4xx~N&~}b!=`k>2r$xPYGzwfy;vfYv8k<=bWS87FGR#fv>!(oQuV8b=9A;*V?m@@0MOtQwh1El2HC -Wr#`Ab0Vr#_n+kL$oEe$TD$dfQL1!xs;_xr(TAm{ovx*b0=vMn>4b&(nY7Udqh*^SVkYjw4;=HaM6{= -a5Zdn^2%s1q|5FKtRSrDA4A@ZrNtwT4@w7H|P&1kbY*NG!ME8oq+cc0M3@nx>=%GbGg~>X2z*{GJ=G+ -tSd#IV)-pLPqO)uOaQP#4+D=YNu|6ef)r#-D%wMpSEEMZj^xufo<~`7M4hxQFXqrxNXawa -zSXW)&aE&S@zRnZVVE3DJsqy8C$>PRvv=SYeuo@Igc<-?i3aEc -69sbW!nNp&MLg$Rs-s2g4vJ5*Q#)`|17On4muSmI;dKr*#YsbPKV-OS0+TUJf5Dk@8Th#9K1*xz7)y1o5Y#a{?kvJVIOQPd{P(pMFAxxVAz_E11+~*WmPH^NPi|1io=4wAk0@bfW1}o -|?j)aZ%sX@}ikR70Y1 -gsmoyNW>Th_|D_JE5|GQ=(Hls2ntm08u9?6-HkJw9fd{=^}(AqQ+IZ1z;BJ;~jc_HWE+cc{uf8G&Pyh -Jix6*LW=HYl+aH(8`-XC(z$+lEUnS!PV+9o`WJsGY1N^YQY3}eMHQ@gu=lI8Q0XLm~N4B+EVDQwLF6u -H+n5ZSf#A}8q{h`hM`PiOTIuLc27L~-46?zC{jGy9}mYzW!DX`Ej)hw_3zF?ydr5g-O62T@G%L~uJzU -oI$WtyFM=pt$zQxcCS1kbh%53eGI8M7d1vB`8iNBWoxB~%Np|@Ziw|+|#3y}X5V3U$ghzq~N(GHuqh5 -mey*iZU0p4sg^k$H>Y;4q=<-e7;)cjWFw+}`_2OTr2`=pN0P`M0dkV>%6frA}&;>VeT36EXH#bNsCx< -Si{3@Xy3-_aDR&~t5&;C385El2l9>}hB;uKQDo|E8V7@$lx(l>->F<0O*u18>cgc=K3ss<(A>WP>>lC -0X9-s2EJP_YWS?qq(4Sa4Fjj?`ko=h&_)P{kBCe?$xS5?CaW%s-e)zGp?C -))rbu?md5yg?+c-P=L7inFqCv^&7A=LLbU2i_W~lkrs(sQVjL%uIJmC-ld>qfkXgTs|jD9`WXJ -S5|N7Sn@RfLBX3$jE53=vJi4qZG6*`3D)2ENQzQBo8i -0Q3<_B5}tvbc1iWuR=A{8WUVQqPSyD(f51F!CV{HElt&F(2GWz_^nhI)0Xcx)vw&F|eDMN4BONNS7#` -uc8>$=h$7JANaZWbR&bXkb#;hZ>Tt@trB{(h#qUyY9Blr^-+NqZxR8_I^sZlvpWG5jX+RY-D=!FE0)OFXI2KRl$RM#2*xMulQE&NTRc -U69EuM?%-a`>fZ;p-SOY*tMky)!q5-RIDq4zBLZb1U&ad@qKZwkebR~jy4o7oXavR%|jV(~9yFmmu$O -jD3#hY;3y-do1?yQ?m=I8`?Rv?vUjFot2W1E-3S@)h;N1dtPRVi@+hoNq6h888RN}UI&BjnBd?i8qZZ -L>f0oxCrgm8s<*X3!DMRG<5?h8liqJK|42nP~dyCwcz00sKAVr#4aCd&PRD!3vno&|{bj_cBq69&Pgg -ZK0FhWBncLOe+TjY*NM77#8&buW05!5)T`a>Kx{L}-5?cwdS -w-?dN`WhV|J34JZT-l^=KDoj)bKpDvZ5#p!e?Blg(T<-aOLRsQM@jjAdHMm`l?RFHElA+^F2^6<#Tv) -W9dZ_>P^>B&lZ&^FJm{7Wx)iV)t3B0-PSx?g*D5620~Pe57`IFtEl!>CWP)=~d1BoGHgW8*b7yrxuJ} -RRlR)=qP@xoLi8+~MVTs<%OO)%9^_(udhTrn}8n4Wa18L!wSLZ28h_-me;9=BIpDesIB ->n$vh%6&5mz%BfNlbSoQ))YMn~JwMiMV32I9NS8s$Z{3ZCfGI?$&A))ysd3Tc+#Ej|G@Fp!|i7=H)Qa -B#yx9GMlgic%lOr|@)nHGn|jK#;a^ke1ofLL=f77V`iWx!nLXj^$%({n(^q*MkKOIESBOnM@$+ZVAO9FV{ylDvUo>BT_0?GY^rkH_u%S&jumxqmy9FrIJ=2~Q&+*~BfQ9V7G0s<|!}LG--s*6auw{kz9aN(v -Vs~IMbr{N|;a0nVc%qGCOH@vI`k3-VV6248F;gI~z^xc`$3`zQk`n1R4!WciPNol?QN_%|D)c!q4m!p -TmZ5&${gfB^*u-g{YjgStnm|z5s5c@ofd(xF2;=# -iA29D=wLup5_j#@g!5d%)(@jxb`tMD!Bo -2D&hbRGho9EyPu4()H~Qq&QNKvqhHDk9ysyjt4d_Kp-Mv6;6!b+L+ZR~Nna8IQ|*on9>>lLr}`U~2vE -yB%6mJU_l%y~2-g+gBWp>m4-#K&KCvIN=Vrik)(7%jfLFD!d7J=xuY8b#dzU)FlO8_HaYV -iK%RRJFP2w!B^4$fdnDvbvd*?mgE{TMmXA#5W_Zsf5N8swkKr>JIb|RNVaPBa^Z}U2DLYWd#~RQ>@$b -{XC+t8pYHcp_ddK)6#4;lTPSKr@rC51LR -#}T5`Szy>z3tLcR=ttCNq5Er|O_Iyf@XzPt_bulePNnEvtY1X)_2=)m-{4ki8lPY|ZD8Dhzl2VReoqh6+HMV;VX9{h(Z(^C~JuZAu!`5J}l -o>Om8x9Zg*8qeI7kAECJ?*V0!{ECcVBwVg?1f3FQMJ-~mVo6m3GKQXW2Qt}8M<-s`EaJb_v2hMRjts> -_d_A`_Ey6O3y>?v5K;&z8e1Tw2mDhS2#UyjkKz7+ttBuA{ -Sbj8Brdc(j~gq@JuWGUSImt`hV4E4CCm_fi@~tK$;Xs(iWk;FNNd#V;_ -|u8Kk{&zzT}8(OH~O*fyt3>9+#_x>ADO9KQH0000803{TdPT5?&l|Tsq0JI(e -02}}S0B~t=FJEbHbY*gGVQepQWpOWZWpQ6~WpplZd9_(zkK?uxfA^6n@x)v*tI2b{?GhoNbQV1iag)7O=}>}g*u+JX@uNbU9}D5?s_ -)s?pJ!hSM`3jBeFtQ6%>uqwe9KNm=X+>->L#>c+p9nvRu^-m|9jDd@kS=P~6nEkyRz><||{giIKI9s% -+K??)K6w+Yz5G6Z`_t|1&F$Y}l#d61swerGF3|j4gm^s@_+bvA95O!@H -^@(JD@er;%Hs7KHe6Pzc;B8X7>Gmh20qar-eAX!{PY$+waUN|EuYP1@W>ft(rVfEL6Kx7`Hw@NP7Ug`A$|AZ7B{=e9UcoBCVjz*;{t=-n6i -C4x!Hr@(8R&veg<5rvEGP#aH51*Kk=hpU+H5w#CXG1mo|e -`6lU$2efBxg2qU<}XQ9yVjTpV`>62%|PJpa6wCr%l?6S7j$u2GPzIA~Yx&3Pqj_3OW5w&K70kh-mjW0 -{Y&_}R2RqlNtAhQ_jqBAoUlqD21nIVpnUiuwN} -FVOj`wN|xu0d3m1oIGBnGYLahP=|#bn=T%t-RgwfLn_jLuSf-`v;PMDM_XH?%#f4iaB>oTx!nHWIRin@gqC-ZXeaOxL&Oi@9% -99$FSQ1Gp9sy^cwkn0j2j)>BZ>URwNcO0j17_0+Xf`R%0l!MsAFZ?Cgay$E-8NR0z}(;Z_-wHQdVWEj -Z4+8rVY4XDXjyOct!}{a=1jq%p;FLEBS(=lB)P)`jHpB5!oUluc)+zaMr;QLTdP2Z**I$B1YI*lmyHx -Tx4;DeJqUy>l68bY1E?RA(KSc+D9uMO))VHyU@b7iluOMZUc}iJvZkP;p=cv03JLWSwF~5oGYQucpi8 -p9aAO)m(w&#a#A2fEh{ZsT_Ll-@1n~ibg@M6TbD;@Fnf^ED=f*D@hEjh(xN+Iv`9zeO^*zd_IHW@DYi -+CN^*7Yl20F&k&zhoRh4>mYid5X+12Xrz)+4&8Lr|D&Zb4#z`a$%RKX1(mR6ldKUKfd#H!pYTBs -3mg?m##)J;0|$zfW`CV)M?!a??QZ;!Vvc*)hcEx&`u-s2;UvJpm}a{Zk0RCX0cNhe(|8zVpyf+dWdB$ -=Ay?B&C!p-o}f^>Gm)2Shvh`;yCLzyixl?wefj1cc|=H$n?(*4gsG33K@e}>i-a|tk>i`0vThg+!|fc -laoe3_LPWACRAC%Y=2KHJi6{T_Wp;U-j53WQ%5j-&1*e(E*|)Hl>K%gHnZW+Urzd2CGsZESi$#=+)2c -UYvSj6F)qCPtW5tNA;-mwG&wfxXxyCXRLsZJHTq-1AtWDY0-Jw|v`2vijJGvDkb6m4T9*@OePj&Sf?o~Ehwx+At=+ -@yDf#%yT|JBBbG3Ie-ch}Kku)+dSGHjwac3>}!5l`Pt6QQBfgH8+Ge3?wet#IlPh-xZqVO3f -EwqW7_{K@c9eOZkhGpf>N5uDV<^p(LkAit!;P@fM#$SN@BJ>SbvdhS -;jIwSr*o5t`yZa<1{W(Zgm@$6{83Yf#obG>NIz8c|(9_SxqxrYG-G<04_UZv@+MkG|pVP2V7B=Nn-Ym ->&KH-D=mSAJyo9*brbPP)MXPRqkeIW|8;hQKMD{xY%v4bb_otLFQ!t4s*q^i9` -Q)VUq*b8vVTrv*x=jvl8PHRcvCIlgqS53X2Nd5SUSz(pwmtIfY+y;PkM}_R^qY1ljIMfwB|*DOJC6Yd -Rkw7)*zKEm{~d)~zofj1*5;{#Uq?;55A%31sMKI{WS3hEqurfzPtX{vVpGioho*%YC>o`UG0(W8ATmw -J`N@@;G{BfAY>QWge-ifFZRpv+^pZP0&%aI)F(~4~PxJa(OtEOLJoeoQHMs>zsP9tJXlm~<(u)k2ol- -pDWQ=TZ3Ujmm6&Ld4j>(JjMU8WFrvYJ^^z=@7)^-DP7a)&=J1go=mT;r!n=z#LwU)IJe83%F*S9Ru&; -d$f-5@&(XOl!|R^ng$Xxi$${26|B+pZF}?S3>0zJsQ5Tdsa@-Dv7Eqg_?lIU*XRk-U8&-nyFgT^qCt@ -~Z4M;r)roFn;=5l@3%~uNeH^gMzP76d>pF@LW6UU&GK)n}yc4;&;q554 -TkA^3*nRJF-iP3Wz_rCod{C^`ngXbB<`x!r(-|F56?)T+s!E&r=Tre6Et!sL8#`5&Er$YPwTJhy5hIrv>K=3<)XNvXU6djBcSIk&ns1z_3!2T -)4`1QY-O00;mj6qrts?Le0Q0{{Ry3;+Ni0001RX>c!JX>N37a&BR4FLGsZFLGsZUvzR|V{2t{E^v9ZR -!wi?HW0n*SFl(Fk^zN>MNa`-bk}v;U{fb`)5F3r1lk(gT+5`Eq!RnzcZRk;7%7`>feJ8SQk*w4Z{7^G -G5Wx=Y*V?)K$bCiD7A4+tgJ372ibWYMVI}xRt}D?kgIwJj8VE??1bHQ-W7Vgm1iGo*77M43WlvyrK9l;~6e~|{(PMgy=%uXeGsEz*k{O~!O{63w0%I1I1X1BB7F!Ig7_D#g_@u-LZw() -Aj8dhSxf5hG3OvlSDMj$Y(l--w3Y78c2e}PL`XcUHP;4A%b!#YtE4c2)%hp!bTdjREL132g$FyTU~eQ -kV)|D%Xl2E)cR-Fyq~&hI5zro;iuI*OubT?lJg#}Vba$3uGc1z8^5MBZ}_8`OhT(q&mHL@u)Gw;&d#f^`Nc87P*nfI8;W0 -q=19*ucEM!vb|LKI7XhY-8s9CuRa)G8xRhXp)IcNaqlJbEButz -V?Akehs>$uJcKW!b=jk=%~U3?T4rpGn-&E+yMe4=jd+l3~ftJRR7?jSjzAIhI|{z@;c3lOR*QJZbvRE -bkY8uNsvjE2DwEDZ*aYhBAF4QJHexSrD7?!^1|KPCjiD^q08((QERvW*d2Dh4WljYB6Hjrb0Zx!i(vo -nE=r20Mfz;$O5>Nvopt;;$3G$n#6wD8r$!`(o;oClIXUs4HDmGrPU_-YBUTLk4FvaDTnCAI9fEC -+pgL>(=Z{*kO{8oIWqZT~`wtx32xI&Eg3;!56O>_6YvD{ley#zXzej_Hri@|2~}mq`LaUbwO+`L!I>+ -N0LVQg$JaCyaCZI9cwmi|7!LUj<>N^MQk0vEek%x;Uk><0HXEs}P##dM&^7Clx+mQ+z1$D5n~zUP -IcNQ#>Av<2255|2b4l84WE<)OE2y^qp#+jo5{(ljdeP2F};ww86-cOvD#&(75Ijl9)gw|%wg>bjKrL0 -Mm47uB`?vo#_Meuo*-H2C334>{7K7S#&}_ktr^`Tt?#hIxUOpCWWQ -!mXUcu#Hza8XJzrfLcMK8mF462Cu`)|i(=C)qt`Gv|4rXuZp-K&z_ -?}f1ECB#_fEi{KlKf?B4Y6{mIdL&!LA#%E_|x!6Xj+ -_Xj0(Nnp|X-d{3+Q93+hN1s+ooalepVjs`M0<~KFpwuGhE(ZC<$D)*Cs!_u;7as+&5T4dDLA)ow)kU>XjU6`gR%08Pb~SA8zP` -ndmzv0xp0Cmh!`NP@Bx@SL$-<2OWi$t6Cg$-&dnEg;Dz-v)R#%t+<6#*8M2ah3ZPFYM7Co1Z4<@B3wY -1}YR}JvKDt_<9Vq5tb)-p<<)qh+jNiqoOB?$8s^Zr|7i;_c|H4+KZ3mim^@g!@nL76>ya&xdCWCkS70 -RPZ{&Jd=p6oBUo_^(^ULr>5QZZpI`fOQW#J=#_i8ak6s@OQRYO(<~A=G -nEb8c@R?$SWh6<QHpMy6;v1mdj0 -jb!HLdo?UGyv;HY`-z0hkR0WvW2zs*$F)zUy<~b3=p74GXWmS$}YHWlLCBik=mMGz&jT7-Bj1JpMY>% -T3j4Y_WtToCo)#e@iB{liP;R~n#Vl-W#O -I=Wp0TbsgwZL>wq*PB+VpT)_+lH4QeZXrEfbdO-N2zwqBzKQ8o($*!L?_t4E>n=&7gYiNQ&jc)HQ4u> -*~~Vr65tNVtUcPD5Za7$4N8Dq^m-eeXXp6*98pW%^@Fa4Z;17z`v_A3K(1?;%+P%ql_CSq+TH{Nuk9 -F+Gzogxq8@4%vnR7SHr%kgUBW=&_WC=lERL_D3tUa(^v4yLuC$C{@us0;UQtn7YjH)!>P?DckQJqrZS -n&q!CRCmOeJM^`;X#NJ60J%Q$Y+}U_^$}raOpVDgi1OK)4plzt5HO`)OB5>buX5z>H1V=YxhUKmi_hf -^i0ag5L^AmjWzHwGl4XRo^@kx1v?58FW4Xa-yTrC69!3raQYO1(mh4%MM~oz6TcceDs4USE9sz -ZLp&bZviMX@7A!3UPeHQ%$)MLt4|87O3+sb|ogPziw9g>zqDAjE_co@KzLss4}H{8Wp<0O3p23#zL-N -g3Gfp9){)&jiDN%1hrcr+Hx>E4mH_l$(&Y{?r%aeWRg5(KUA`Ga -llms{`4Yi^7UaxP -DvafN{62BdG1vt&dzXrA3lo|OY6hA9lfOr4{Y8w-2n~?(=K{O({C3sNei6WF;fSa~GTcR8kEa9edK7o=fS0O6ab5z-vIW&eym87dB&c -mtOaMmk|YP`}TP-Lghl4if>xv?(({;kz!AJCXZYkVU=z4OFz^2`IYnY(GFn5mDV>hKP<z=AN0Y -)T2Am@KTUI-OlcKfI$u%E|HFac_z$znB@BnZ+j#=Hc{m9AV>vuFw*yHUoFGv#W`7F3rIUsjt5TDx^b) -v0tO7&vJ`?AUR@S{%;E~f=e>}sJ>7D^oi6cY#6+kDue_DOs#YXQ*M^g<&kN%gFqIhQ06Iqv)Vh(%+gg -(*2dCv^MaHk(Tu*hFjQSsj9}_f^fwtPjPn|6VAPHCR3Y*2;uwG;Gek<~;k|3e$FO$%Zvg!07zzB{A}8 -CsEie?Ujt~JC9Y#5{=c6&FxcmU&nH%AmpDH}`HpJTraVb3jsV56o^TZn4rPdwL)7Rg>7u^3u8t;iFbjLnk4u>*n&Z$9_|DyiZ!?@Y*Qx$7UpFG$2vW -meEJK!8lDKJZ)^%bj|mOL!5)4fna}>x%}czJr*zWYEx?vCQZa(=#f8>-8E^F0iebO<;@3LA*AR;GQbA ->GdYtiIx{c1XL^s*&jJ85psXH7dXSe^*~;$V8d5%y?|-ASUMtWJ*wAvtwM7YdY3Tpsogs)varmR5FYz -|tm_v8%ppwM7u^HANj~w}BXXT{&1ik(c~d$}`7Ru<+E_+w1fiEvNp!mFXp#ieMRE~`9e`w0imd9Jktr -WMyE}c+VdZUImg{VD^RTu53~r?eEIqXF2+5CD-wbP}IlJrBr7xH-Sj@g>s(`=8^4E&}_s4R!jGi=>93 -oY{v&-S=X=;d|)#TcnBp2)cdNF@1nljtq(2u1ab-wfl35K9v1Uezi`U9=|3d^nnkk%hjj#S4zRJkha4 -wCmt3k~adqfv&rh)K2yY_piX%3#f;E?Q7EHK;1utm%n3T%Wzv#e2`VpZMr2TP3aP@wedkL2%g}2Wif# -^fX*!*^{pw@Y%wGO>6?-2S&aohq^XtM&oR{br6^pRe|{LJ*d+?1QyfrE?4b^)-C%^R|r;YfGjUAKE#br|1yy{QD`g4PyLYPmUdo=QW+R`AhawzT78y;EEl2M4yQ;#7I`Q`-xa>!E -Co^$VvN51jQegWBeoH~xHI=fxHb^s5XFZ4GqVLm};u#vWB6QI}uZ9tSQDGef7X%h`YS&O4CKiMkDo4m -uLL+>=&KZZ?Z_4W=7LZZR4k96Nd3qY49?4){ao-JTVuIAL6{cm)94upt8#bpJWf@3Iy=u -p!b2ReQL#sXERWg=#p7*jlJMG1BeGr;#DYl6S=J$Iu*r7U(nxoOj@lpRwO*i=3a`W1Z -)HhMK#RIgtVx`De?00k@yE!6NxnWC-Ufv7x>ZlA=+N*QmAwDXETt1~j2`UI8pVcm94lD*2F)D!8*?b$ -$Y15e~quY_Q4T>Ms#Bl=Ml%EMj@#2DD#bM&a(nMdr -nWz+=b{z8>i!#pkT=>Xb_D+x-QprDb$0+I1}j{~6*u>Pf3u*mn!xa+G0;mOgwKMBu}R2oD1yH6$Cp1^ -7L}N+NvtU{4FW0B%wD#%^Lxm)aQOWA73C3347s`!jo6y*)qJAuAZ<{B&N7UO*#jS+nr%~mt`cX+J`oQ(&z*)jjw&Z|F`&*sbVBrKgnTQ=N1 -@Z%9I6tOl8BS{7#3{W4yXu~_0_Xc9pg#uT=TV>biVr=aLXF{eBN*%8GcCm6g -eOZyl8p^s!#3$^tGpP{QYx4Umz6q4p4iAX9AR;doAiMBzMD(ZXUcua}WsH8GkUnUZk{g`?Q;qcl!H+2 -F?)YoF&Z55JV;PO&l=2xFC3G=T(rTn}Dq5o)uZc{2)~{rN)X6{Oh0rU`}8xvwidC`eJx*N$lK-QprH( -*X5*U8{J1l!?;iBvW%&p-O0CrscT60zU>c^Y;WoRU0v1+T`QO=Eztzg$19=1B&-q)n_PXbUGg!VmO1- -NCCqsR#dsGGL9)xPj(NynL~75^STA*y(|wda;nOK#6!5c#d3H|TcXi?W) -Q?F>Z%5oRCrGg#7rOdI@=%EcQGQxH6RKV&*B+ku@Q5m^&G1I@-< -|ASZ)i*XIRR$B3>tk4yRw<&oE!w)mToWbQMnq_WH{uw6!zs`)(vJ{1lBT*J-4QUEm*&{0foA}|PtA}n -{$wr((;XS&;!JjVS*&OAcq+k9hy*CdPLugOO$Nij&wtS-WO(X@(T%>F(SfIvwRr@SK;VbMjR)_?sXQm -~aIP*6jm!{OjafITz99^aoXf)ZG^a1fCg?Z+^f`e)sTgpcY*8vY@4|P&qEE7avD -eF5)(7BeaNOVJx&9=@cCUMHbquaWxu(gMwgGH!C|)RSoJng8+)|?v#je{9x7Eu3gC3kaUOH718|Z&Mw -igw5~2pIG|FqRc2psq8PL$=sCZZPkg7=5qDB|l)I^tf6`2kQrJHplVttDlJ+P`dcvu^BzWtCAYwLU_B -U2qN+V{rHE{Ch{w4Mv}oy3pt_CC@Y<3U95q|_s$3fi}LiA(W!gn4AR3shHfDDg6ZDaAl~yUV1x;kO7T ->?Q&N(=^pL8b>z<$9hPA!UJ)NkFOa{1()N(7ZUl&k;XR=H9wZ#62d`r_-TmQ<3RjT^y>BheE;$pAB1P -%OUO=D|A4xsW3)9G)f=xOreK(Nu9AnBe24t`8)qZS>^Oi~*W8;5tnAuh)SMzjZdttqH@gzx1fhLqi(d>_QV&r -Ap0)1+XtIMblhyTe+pP7;aGRaMF+R#{6#h>p%c-M*Jkuco -^$H7(_JusLjqk)yv0h&KYa59tgIY_L(b{|0xa_Y=Q9v@qF#`3Ee@K!9|CXd~n%A^$d`$8_Mi^xMqG -}a9Bm*6{-(+NQ%6WJJevO0 -+&xR&r1;DS2cV_*LiR|v`Yt84bUv#oR6Tj|cf2O_F;IBT}pAf|F`YEV*>_>%u@##+uLC)7Y>*nL_R=> -2B`g^P&xW7y_*fy`99UV~30p4F;T(@=KT+F?;b2nS8Zw7j;Fk>}}EXT7-FvhC#Md&BZSUGV~LhLX6x- -UkHww~R&AgkTPVyqT_*+QtG!7E&)oX(ioJwLC7bztM;8LwHOd~qm3aVi)Cm4<tHm-swRn>=+#osA8c}Q+lZfIkj364=Zy1#U^!;XXv7TDe#i+*{zQq -gqBxM4V2>eT~$wGc2nz+bK(^YJ&Jy)qW2&#^+As7;!tL9!BLUw`h3^w3;z}YJbaNQ-RVfw&%t0-S>0k -q17Av1{Nh`Y0@1t{=9fY(Qd}Tpoo%A3U+K&PR}kvFB-KhvoC}U|aDNO!&&P(JQn_TkY$%eKpSQ)WX3p -hTUU09ON&kayht=O=G5_^fJk~s)$3b-1$qmXVn!hV`1BpCF+y<_-WGix;mP=h7^&Oysx)C0eQ15_-%z -EG3D!!NU&S`8nmADW>n_Ec{G>WGeMDsjLL_7r*U8dCJv9E!AZ@UmW;vJTgAz`d}EphY9=w;tnn742B% -zJ5eTAvFSXZKh0-fG%60+bc`5Ra|3;#S6A9-w|#p!%iO1l**{h5hGVj)TU4Z4;M -S}5Vdg{+eZu=U9>_^=j{IgP)h>@6aWAK2mmD%m`(ry00062000000018V003}la4%nJZggdGZeeUMb# -!TLb1z?CX>MtBUtcb8c>@4YO9KQH0000803{TdPUCiy>L?2U0JbCm03HAU0B~t=FJEbHbY*gGVQepTb -ZKmJFJW+SWNC79E^vA6T5WIIN*4Z}UolHo0xDwKq_0tv6-&|j*eV+5o43$b{@6%Xn<|$vWDc8*Kdl9l>tR`%1Or(#S&5<FGHN(=4mRX`1iblqWMl32JdlaolrhVg+`L1Kh!Kkx0O-z% -NH({sINXGbz}+y@c*Dt5G-Wg@P>95$E{Gvk_hB#L8YXhaogJJq_)iaFj48gk5fD(wSP}#byc;t}ff)-Dd!QrXL1H{c@)^iyLlwhwNI579q{od^p|eM# -@Ks6mR~QUIIrxF8;hN!}z$1?bq$yV*JfmVMKz=Na7h)&eyXqa=_y25O$U)5Gd9#g^bn|U1in^fYbTRx -kl(Td+40lL)K8)3VIeX6_c0378eKF}yLS;-f&1)a`Z^10xe~Z?k52t;Ye#Q;&UnsD;zmV1^E38XbVJ3 -xqS79)RdLE60M!%U1>FdkhS(o|B(>6v>QUQu&S{MU4)@-CmS~~oDyVp6pa4)XftqZqxeSOyY)cU>%)! -bpU0`bomp`no49FmYwg$J?X6D%Ic0rSBHN@NXXr$JybRe|u?V9vf%Md3IssPA=$fvcK?8JjZjDoRY2G -Zd)RL`=sb7VJq9`XYWpmXBbuholT2IjjexNRF8CNfZd3C)jbE{-yed3 -By)YzZz_p;|w0K5q>jZGg!FNumVg!?M%^eBjPG#s0RRDpjRn{0#sn_=kO76xG)kI@PujghA&H#Yf43Z -jHI~o#cU=gXjAOm?15DocK@NGew0()boAb1?B5Ao87iH2+m0eK7HK^`@#T7-a!im`eOM|4|AgP;JK5~ -NG8Pa7V3qJ}mV5VoENtPmKA0ls&Qa>;m_S8}}N`_vh*jtN&#QM-g3b4;W(o5KF9l3{933RI1(0xS@S0 -DOQDI8ne2I67e`C#>T07|g5uP^R;?P^&CMR^@TGe$a)?axH$e6ruJ+_)x0=9=h!ov>x}v)#Z7mv1Ggj -(4{K;<5t^7l-F&sp=Iz>Tcjxkv6FWk99`4i8f>6c@JE{50vi7hYv-3J?zlm&E9K=v94G6R43433^Hc-XfO-Drtl_2A$4Cda=@KXoyvc@F3C6AY -Eae_v+=#=da(??t0F%r*((xXm(nXhIXRo+Do)XRD;w>trMi0tIVVnrbmfM@s+RmR$degdKA*PHH>A`3 -(yGYu$TeggIMAkCqkpbp&V@?K4o(p;uuXm2J;J4h*1lOfop6v<LYjs`Nw45BKV%C54VOF@YPRG#F31tz52C}T -xfw`=LrqfKZl10&7#`bvAt`Plo -`#|$mV>eS}M`%3Y{s`B#@e|wmimDtVipa3ijjOhzcx(9rxj+?th1*PzZ_~g;)#vh9H;{m68?NcIBsu% -35jvCn}qWil%*(F0<}k_{2sIf}QEf&YFI*0kyBX?>g^yYeCDF?$CWwu-UQ|$$IZkG>Em5ABVjnxE0)A -g*WRjZr4_Y{K#f(KgAePEWucecxlplvG48feXs%t7O<_D_LB%C;*173@mEQ -_e$x8uSczceuiR&*5Sz^;x=Vk`o0=Trqv*^es8V%o@#GKrykbcaT)vxSl%(7299Dr!C90J&c -@RB1z?SBQ%~|1u~s7(Lz11+i7$JVYWhIJ06P-HrZLna9|R&jKZ8MQMV75v_GJfr+4VHAeRX+x)h!+e7 -6nncpRliwEbnidA*yO2s(QR#X7#aJt*&Y-A4nM>5P?$nbd3>iF1MLKD#6Mo@WV->Wino_MO2>pZSkobtz{#>6;IxHFy(Viu|$mo0=D*pIX2j --2!fSlI`+W3M&YWi;(cIml=j)d!Gbkq9XC7v)$q`A-=#Wr@rufY)&N4{dCk+(58Pd@p|UlSU14xG%sdj_5{$V`0>>Z63mJTyWe=^*^}RE%)~A3mOcaoe{yH|O0??rrb2aXpD4rD0_CEmNc@N5Y9^z7;3a~qU&82Il8fkTlyI&^v;-V0 -;Xa19Iou4Z?81t%Nn2Jk7i!C{IK`|M0jLuhh7?c4Mimjd-Ks(M(4WBwqZ8IQ&TX_yBjOXnM-{l%7Okc -_m$=?4HBe*i#q5Ts4P{*mL2Kk+IqEr_}g7dU>q$jv+J%m26GRI6j42k`kS7)c}@ -WqQVm@W&$jcIAX0AhNd_3P5;To9-`+&v4ata38$1#F%%8<2}0h7wbOq~Wdx0vsY}6#c^nBT;2HY#HF= -5`ZtJ?$HkkN^}Ddu@EDRWY(s9<(F3ruEWji$M*J_CnCc-B+z|OtRi -&FFK(hX{^Jp@U9*DH0{o_YtfXOUn;0NOIDW?&_Cd?gD!($%E?d)!c>b -WIukl;~2qXxY$QjDB_p!*BZ*9RWIFi+nUiRY?ys>j=Ph7lZrMZQTm`+#NF1xIw=P!>=(_nOlOkgO{DB -D0=y>_QV;xGT&?m-6zZHo(K`W-_oM>2#KlbTN9D7Q%3Vq{{$ms*viB0oc+)j}PY3bIhdB$Q-`S|%!AN -omE^QWI=7P~|n)1u&r`q7N&V%UZAOZ2tvNO9KQH0000803{TdPKS?;>_H3w0B0cp0384T0B~t=FJEbH -bY*gGVQepTbZKmJFJo_QaA9;VaCzNX>u=n+5&yn_1tBAl1gvGpNiL}i7f2K5>Nd9yVh6sf&rrA$wac? -s6iCVI?c@IT&J0OCc5Pp-=%?-nTjFD0ocYZR6$HUW(-sA5mb_uPEDE6wla+fERl`1Qnx(4P9ZX178OE -!e)g^BVrB{<&nnufc+u&3Z1i_@xYQ@sDXq#4xG-YyCE8Q?YH>zwKk=pkuFu0RQa58Z#GL?(W__tDJyc -GT0Vj-)Ae^uQwvjo;<_qH(;D?lylB)t<=u5@DLy_cd9_f6VtYB5|Ut48RGmkE+G2}}bkzvG9WKK+!w` -^)LOzonnQ%w}h^??K?=f#Kr`gC9{HQ@CvFQcT$;u%1jBy|D}3q^xe|~ -jAGkhfqSrTR31)j5#;5(_2{}4lRaN43m|4t2rm%JB1X>tS7qbmyy!aJW%VD(2Di_)|L@@X2Ai-9vIF6 -h8T3&s9)!lD;b_A<7oH&hhJUFuf!E@+Pxlpv?}r%Y>8T#y>o>P$>TX~fteSM_Aq?{+rgVXf+9cl-(ed -)rv35L+&|$8seMt5kzJ0d_d0()3CGGgXPnLzdWGEG>1r<0;#|a<-lG?ADarEVTfr%R~y$1n>mJgYBtc -V8cCj)&V7Zk-Q|VRAnyobcZBZ1+de&ePEW}3Z|{;EYKQ&vW%FctGLBi0*zma6~Z%U$ke)Gp6n8Mmf&E -xu~|ybz{sZMh|*JLltufs08>>A0|X=iTIB{=dWpQeo-%Pmst|o$Hn1Y)qIk??X;DQ&>$pE|&DZIC(+I ->2oJ!RE7m+pB@`k8O%s!e|3qg~n;g~J(5fCqqdkEP*#p}Zxc5=dwdR|r)m%)zMg5L>Hk!4G+dDdX6+e -iI@2;>IEs&*x`%ovF`A~F(M={%apB<n3~Yw1D(iu{H>jUzDt(Hu(AH`)Bt7d&V-_n2k4f8WIJY3 -KK0BcrZE@7%)*se8&f!tsVY6;lOYjc1`?y-Q2T)_`%a2qiU4%hQ~ezZ2U)7F}D9FoBBxbAoy$z!x`2M -)dIYc7uL&F+te)_wSt3f=e1TDW)M4?*gyxz=f=PxfddPMOfj^HLp=F`kDu -?6HZm*=7w-@iu&ZcPd^-^X_(9(2=^5ycw{u_(E(9&nRM8T6q(U>UScvHzyC*-Wi5n_+;vBkjCrADM&g3NFj(mJ9I8Tg~mlGa7gwcr}HojV7CSb)OrnHk{2&|>{){CgCcIv+iG1S(> -0{~!1*gaL+#%Q!Ve{xDP^Id1y%lLW>6?6&J}9|HnLThTP10|4~kKBfE%l&axDA`QOavKpjQ%(PJSfkL -6_In71JaYi;UO7T(3TMTBht=kR$EH&gWG%|3r{*)8U6tcp>QIwinS&#B^BWlPf*6%2eYRu9$65Y{4*s -V1lYmSC8Y9)XGbVCkqDVJM@;Ks36>k^$@wP+FuJ`Tkfp#la0FRc{`B9t+5E=$>Ld|43ct_Tn)HUw}9y -d}Z5uOlG-p+BS?oTk=xP?MtFfmXSOQ#T8Pq!< -2^5zrPy>1)JiI9ZHtrT7Mgj2AD_jPZV0PQv3P%vIYN4QhqGLx2FdVg&E4xGojWt -DKsLdQ8oI$bpnLa-2vnyd+T>OeCYbP4}cRrc6tCjn-C>bY{ZzYiWPZK_i?EhF$cgm~Nx-Sx<0rf^Q>O -!1JKR2>fc=?EXTYeUe0G=V(ORXF(HRfo6*;uvZiOmKNatp=DrI$RdNG$xQ=8+1g9TtnJ5MsT -I;b}_KY;K)sN1qU_`{1=d$}}OYska&s~3l_4-a2h`k&B(IpH!Z+A1S}L$FY*8t=tgGNiu~gS5+F{_WY -1U6JrtYB8o3K^<0!JIGFeB9Jf^it#nyIBkwKmw;^S{KBSub_FSll*U8kUOOs-=+q#QYr*qmWGgtmB{u -{*3eGM(PiN;J&Od%UzX}J(S0FGblR%|g(NRqC?L7Vb{(ScFC-yJ<=6CidikBRCe0FyMKGH-*9z#Edqd -f+hBrBB>IA;qRbaOmuXB}smfxlk8{Y>{|tdUU40oW5pv%9vegyuFASv((<+>k)n`am%+=+KAJFF+1dE -|CT;H}tulF*V}-JtlCrvbk(csp+d%_UmZ#*cxOEVzF(GKFE8vblCo^sqn73#%xO|cw~OY=ju+3LvOfy -jOOGF&&ZK*wC89N--3eF$kc}nwxB5ch*Ug;X0PniS0(-$YU{db#WSc)1eDwELh1C!%hTD#+4(H -J`10Yy*^j3elMV$Rz9@@^mjza&2Z;2h_7ZrGNY&H&FL+(sIlN3DyU`nh!H{kg-#Dxj_cgdVb_`DWS0Q#ZQJT)knt)+#I8T;K`gZ7A2+l#yH>@aF9Te4iXSQF?J8p@tOCU%vkC&4`~BQ# -cQ%SlO1`qY6#Zy^BE?jly3K!kFarL`Jg*2SdCW@bQn=&yR10{^iHPfP26!yX6bfb@BG<)#B)iZ){Xjj -w(xAcS7~cv1+gw;jk7R9!l~(dz%Gu4ibcJo5;h2S!@RmkRThG5h`c26~HwY_8u1tY$y+*%&dSEe%nZ} -eI>S0y*YY){1w6hSQL`(Z7IotFI%?7z;~f~nf){z{4gnAiVt;Gkexudcy@y#TLwh@Fx|TkypmK^`Sow?g2>(2v5- -1%#5L{E{BMi$U@A99tx|2C|8oZ>hJ7_d}&E&k_Gr&xKWess)FA9$y%&>_~o}u3t?jpxF>9Op6dhGV$> -gR)q#HI%O6VEQ;bA$gap~2-R4jz5$#-n(rP;-n=EFlZ@URC=^4K&^Pz7Y;;@tw)&p}N&x|KSI)Ybf>b -+NinduQ7wZwXlUB!d!!^S#&>Tn-~jY4V_@sV6%nru$DP!bsziAo-Ku3ESqRExEQX6_q(>4WL{L~^T~r -kIOC86&J4)|dd52+ImWg9|D$P8FR8MoOuq*ZxcEEPd*ec9bPv`sv>Ca`s-}EwlK3n0*tAWFJF^*nLbG -#8TVWQVFFv~!68^&FGJLoJC&?1h3{;wWVUo+U^LJKL2!!WHFJ8X-?)9+Y@xSqiyVX0Te}JdE25~M%U! -q3J7NijX>*16g#^1itjb}aHl4V9`bx1d=qoL=!Lr0@;E0|C-{S8MvYA~=JAQR?MJZdy{Ew?MCZy|=io -&Mt6O1$$tP) -O9KQH0000803{TdP8gjcxV!`a00;~K03rYY0B~t=FJEbHbY*gGVQepTbZKmJFJxtKa%E#-bZKvHE^v9 -BR%>e;M-=_8UvW`BR3hpc`q5MYbXjNDEC0UCVc1Yn4v=_F -w>S3>H`iB>x1a9vkAJ+&G5YQHFIv)cuyRRLY%R2Kj_y_S_9*k`q|mJWohQ2uHsU~Ttb#;B=Wb*6t(bt -mGqogo#mwX-Gs50i^tp@WuRp(`4=E6I3pFYmO-)LDjJYo@?Ki5}&|Yax8&Q{#2Ybk@QIc{1GbpvrBS&jvV-olKTFhlvSXm|ghd4Kzo@V>7bf@zd0 -NIO(cPh9+1b#sM|E>HS3Ch{0YUiOw-lFG;-K^EOOX%60kincE?etCRSSDB+1gB5o2GR8KlS}=K4wL_F6k{kNxa#jJ}*7BH6y2#s*i!d#M|wC@z+s4au*{d1k#1b&(D$f5?)0iRn?JNBP -wU2%hGNy{s7y^}>~A+q-GMIbaG3pJ1ZKT#vMpvL0xXwdQ(3zPITD641qLI&T*@snD^^yxJXW_>>1u9Z -(lFA5Df^@dri$++B9)2Yk7e230@e703i#5~>~iw`Pa-qUvK?co53rptROl$LR>HpZZI&Hv-rSs(KC&d -J&c9QO+7J -}9M2-1l9AYm`!X?HONeJDPQ!}&PHClg|E#RM88j+K?LWqjDOfC%o8GC0h;u -*Q;!d0MBsiTpkH4-U{uc7>L8&UFbka4#h)KTu~c9-wo2vusz|bAv~Njkd=hekV6_-}(8^_s_HCnL7-Z -YVoY)PU__^^T~fuO9KQH0000803{TdPK4(bCouv50KxtfEww4oxXkR6D6`e`AU`!TAwkHf|HBmoDSV-#z@K9F@=?DKf#;$H}?qLdXb0us=N3@wfK3rc8AgEn2ybSo@*!lUz9 -yq_~CDN;T2Msgq=N2D0)yIuTduTlBCEhcRNBtRzTYTW!j0wQ0w+ttZRdM4~ob4Ri)~_UCY`&b`ekYgH -yEz$WFv|6|k_yAj1eAm9jwjRP*?tM*;qzOReB}XWjIFT%Q9GTI3Q`iTg%iB()FEfsWa2RV);7nVot&J -^HkiMHfaVmeGrpsRHnc^>fYUT<#$fK$4%X=C0o(=w%T^6*;#>=*GC^?&Z-+5@L01_pknXMza7dg*4ob -cv=nBh_gDzpUa~oZbNlZIhlswbhL6-w$>9yRq_4q}D=_`z^6UNy$={6zV;O~H623>8+28=Bv@gxKrtm{C2CQQqqN4@LUEwo{W-DYCRdBP0kaTP9Y0U0 -}$mJJ~TVBC``TyJ@`)@oek683(0RRBr0{{Ra0001RX>c!JX>N37a&BR4FLiWjY;!MWX>4V4d2@7SZ7y( -mZBtEe+b|5h`&V%7p$U*0I~T|<#fA+7)8q+^I>KOwdS|^Ld*kXT)`hyEqh>(KKcMUqU>9v$RaJ`}G(9%|<{*t8d6l;7rwVl4gG>WH!72!^;q -eRXiCj7P(ZPt&l7A5B%^QM&(M%vTGlKL8*mc;5)kCcZ)M?NL7?>IiVUtpPVH@$mIrtlcfC(WUQ4dwNR -!~uytF^3L#8aIiwgXS8axfyiBBi_2?obQe74>N`N@NeeIbxNA1LK>e7+?#($YYL;y>$qwZ}_x5XIx0M -Rx!GE_-=!QYm-jv9-edKnw_b%(~+&1y>jm-Xd*Luff$hM8{kY|#IM${-NNTv>Y4s^z{VPw&n{jb1@c!Q}LS?4}RM8WT_j_Q;swA$=jlmSD8fQxtgo4xKZHdVv<6min@}Wwg}X>q(p4S|I -Sf!9n2V^(!;+$BgCvz8M#Akx&jVRn@qgBvjOrx4_hM)1*Pn@;2%J&+g^tMduQI8ja0-!&^8b^Kj^hdU -M39cCY0p*UN05AI@pG^CSKbP)h>@6aWAK2mmD%m`+u-GhA*3007bq000~S003}la4%nJZggdGZeeUMb -#!TLb1!FXX<}n8aCxm(ZExE)5dQ98aZpxR!fds1SFFvJ4qKXa#j>nOTNFiC2()~b*hr*CQg!`hzkLrW -$!~En44V-+7IpXB@wwNf(KTh+vURQDEF)Pr+Bgz(tE<*=);*6#{dw-z4cp<#@bGITjFPIbqtVg>HnK@ -GsT><6sj%w;S*5z5q@u+)PSGR>$a(QG#V{OrUjnUFSgtrZj8RN7H%y)!{HjYhqJj- -T}6+0|9-g%cWBsMeI@+tQ-a4XgP2&DB*hA)yu|EV+{V7d=odR3i!|E7o>G(TgQ5WyMO=uy4sLPrQ-}n -kM+o3n~Fu1&JlR#j6dPRMZ$<7*R(ly)GfK5^Gv9oKjS=3pkZjw`^#k!_!KeTXGtP3*-jr*7azsQsyNE -j&y50ZqC+vt0H%8xN0CL4f6f#%=>N|ku#m&r71`{v+e@rKZR$Tr93I!Pkxq?48(!FIMljFGO!JcA}+dw%x~f3*m5=#eEQcyY=6C-?|9ID7}=fq!LDt?FMyt-y^|ud(c -VkCdFqDrn3j9-=wFfQIaC|Ohq|;_~`NDj;0!kWH_z8C$Wj*A6|YR0`~O%gXxnGUnhU0;mBWVIEp5_DV -6M|alOseVOpjBM;u*#ZaDWr+VA@-=}MY~!azYQ2d2FBG#H#j8?^mTM1^)|bk9a~kM^?erd3YX{I)Zm9 -CnSLMP+%nHe%#kT&IQ6Z4*bqc9bM^etwX@KJWIN+1K;ldcCLT2YKF4%%k-c|Em%?UL6N*=;&bHg4`X) -h}$lNAA5+y*+263AIm@Vp{5cJnO~;^iZ9W&5(cwv=-8e!Oisp;LS?YB5);19{*z6`q;%;E1qoHJgAPU -!j1CsUgg+adK!fP7uh5HKsnsm~mZmw4`(0-c{tolcNB53ERK -I_yS2fY7L_7*Z&584=r6-G_J{r?e#Uc&edGDni=QqC^*@`Qo+jZ(Pz`$t{#peuT&pk$CY%0;R#>x8w( -D>Gy27PsF~Nlsp5O!KJINK+tAZ7GV`aYf%PBohPt#dw*o>I^DdNpquKXh7>j^uPv=y4M-(%>NUxopBw -%ek+1#sYO5?Z<6hy1kbOb_c2(EKuG(@=0*a*wU0VVQkD4A_1#jiT3P9Xdbq%^*)X5U|&;y19C@Stpza ->PJcFx-q0T?J?=s4>$w{!&KqAaqB_4t3VW!u$`?+>)W=WrSQA_;8nMw9IR-^D}5;Ged#Y1bsV9SM^UH -6DDWc^0SRJzh{@=0P)h>@6aWAK2mmD%m`=L!_;@%40074g0012T003}la4%nJZggdGZeeUMb#!TLb1! -INb7*CAE^v9hS8Z?GHW2=AVzEv(4KHE&1H>ZmA1kMZRh1P;@omy+`BpMHi -uDsGN$(73*(N>COnr*6L>z=;g_a&-nuDrc^f0dq`ou2%WUVNO*&S!6slhwfXlwq^fzJy>8J+D>fC-A3 -o`1?0i2)jRjH-VYCkm!U04MQBl8_O5Q_wt^g`~B5RK7(*@Ic?SOo!Vi|*_0UM6H+_*jkEL)!qu0e=ow -sYB$AhzJVz9A3E_lZ8!#*I_%S#5#V2sG5ye{KmU6J$$U@#q%LmY9UgBvKMy~?(WPH~Bf*}GsQ;aamD% -@U(Y`YV738=0_Cohy%exF3YAAfpxaejH4o*jQUgCiKZjd=0urx633iCj7Y)7V1bFc>$v!=*Mm1ijd^> -cc}uZ#e2e6ib-Tkzu|$pQEgk%33r=?EA3UOCBqN -!Op!^pE8ECy>j-)dVl5Qr4GY^AW>*}pjafpInY9l7yOb-e460B*O=BnZYElb7njr(@``~#-kuIkYQ(# -{^Z$og?>gHw)hra?{XpcAY>6wYwyA#_Gl}Oo{hXiAsA2I4Q -eDqlC+71Blz-_5~pSjqm`g?a@2cK%LUVz)&$n&qvj>N3{leL^7Ufxr5k4BgaiZoq48c&5+aQ}>_di95 -fuwf2~_K(RBA*mg%?TGzFr80R&)y}Sz3^N{MI?zC1`DsT;k=vI2g;oQgQ{TqOIz2kIatw^mx1PZ#2TM -TUj@#r%u$Qkh{43Fz#Ipy#eA+6r`cj!zI$o%kg6+mJNT@9^%o*f%hhk-C0JJdKt~XMCNINYVU%q&0P87(&Ew7RKl?}0(z)p^E -X2^pOj5014bW))1&y}*0#-(7xx#vj-hi(@}qs&)Ahb#4T)w#oso%0E!xH}hz;jWpcaRxCv9zs2JP7;F -XZ1Rmx|0I16Q|dL(Yi6~o$GiDFcyB%j8s64DFFu3!#Hpz)ti&y~ci9$D1h>X9(b9A%-~j7@m!VJ}B=8 -pnGK%j=l6mR(JPAyAZd6)Bm@?~s6`VneKvLlkUxnU@y$hTr_l2**Nh+gnx`0YQ-`>l%v3@<_|-kpF$} --4~DK$@bb}r~^b4@7=ri{dHQ^d_$6C)i!NSlZ3EM#p{NoOTmk_p^5rFndtW!FB|&M6l`hU(7Gu7@)n!`5ZNmx?XM9 -toje-5NxOjj0>3TnSPOF+`X~TGF_Pn2eyqdo|y;)pdBpv4yzT+!?Pjw}EI3I;x0jF?q}f$;M%Z1+YdUex8Oo7Ze -HOeWad_{7$TG5)8QnkDmBuh(x+faq1Su-&utjvm59(uhK4c$me38)zmIkd-ypSk=1;VN>> -vE+nY@DeFS(Ilct8w&3%OL4)ovxmj0D4}G5ayf;QgRUK0~27BCHc5(*1* -6q$_&Lx(mZEKT+6 -wJwzPR|;={c!WU={g=)%nN8$GJhYZkkHWj*gb?oro(*cFgO$BPK*k-~8>bZ;qb>`1YH>y!lpH@(MjyV -aLCmu1LZ}qDV}T#6((N2)2_*-A+MnS=4ROGQXx&>L=$J=mw1uHRj00Nck;U(t>YeqbKuMQ;2#c=?)@H -ki}(Z%*68tz_AQ^sE|-T#Y%=#qQ9Z|qDbzhg`gebkEz9+yM!GL7VT3CL1G>J=@@{g{1iS -;AI+7vS~N=+pe%rs%yZcdH|>EhHBKSXcBOpvX~mK6oazZJ?_U^{_qQ9;6JI2eXT3yEeWHNTU{5NZPz0 -pJmYZdii=z%$EXL(|VHdvf2a69QyP2%F~dZ^vk%9B9R$I4PW^J(ylAOcN=EJK7}9VyLB{B@U};)6`*y -X-WKW?C6?>rl*tKQN8fjoPNHF -7deh4HPwI@hGB-rxYvxmHc86xDG%hq*U}eDvIVLy^!EXS)T%=@GHKXK3#?*yWSwH%RIJ2=e8P-U9yVl~LXFKZObjp;oPPl(zfckw -(%oicMq>E$X5~INV@b@ft}d_qadFeBniENvXus|wc0=o;SCtrOWkM?=eWL9$5=HgLwf-YTBx@I& -9?wNwf$;*-Rue)U(K)QH_7Swxu!^?(D-fodxyK&uQb1wo#T&c3Sv`W?=29dOTPCqI4oNRX$3npf)t@s -D56mLTN6Uo={@awcx@Wyd&lCt%k#^tYf#YbC}u(3R8pD?TdY9ko_x -XL!VcMH@pJqj8NS7mQC`#fm14Y}oDH&JHv>W5-tGw$RP -!4o@9*A8ptTw#J<)V|>;kBxAI>^3_c(bxB?OeXnBC*yG?zI$s7!#(8a*br_HKVA93|+}5a0?Vo95F3c -I=@?`lBU_AkaTsdoPag1G@vSyorJ>^BqfF~cR?iW$XSZjLKu0)glS?x(3UFIpnY9jF9>A#%@Y)H5!3R -X)x5;S9tJn_s}Dd4wC4e$2%dX1^mx)zloY!&t^VC}$BKTsyxNF6P`^Je`F8eVj?$`Y_5+#9q>O=nYN* -woq#|k`SR?J%I^^#s3d0z-BVU~j&yg2s2~2$%c{G5VG);M#|EBy-n5v1Pd8jhqOafp&+*ow@R -gJwT?`lX;p~v>axh?)E5zpj4&JI)>*m-RMBROa(=J_$C?^#m^xjcFwh2eMle9(QVb`Tc|#I#P*9G>Ej -OBk~UQ%>Hy$GG=+1IqiM>}O{gMsuJ(eWz>zI4i{0aAJD3JkIHJO2qO8~>5ZlWtLObh~B@ZB|5-pnWp4Lk)ShMR2; -3-snw3ZV-KtQ`O=sRAn*d17=acPhfb|}4`UEcr79jdZay?;%AX`y3KgP*RKnBoN#iW{#|Q3UsC(b9p) -p$?;%zOhl1hnOy8*=2xK*NhN&EJv7z-Z*ug -}j(1m!o5j1+bF<0qW-QR+;_On(MZQbQcC)0|VVKdZ7Kw3BH(v%d=S^VDO_wE5E@W~>NdgGvf)_N<$Gv -RJf(r3cUO*I(Jg`&L=wuUkCns~#T;w-27p(_*KTH#2NkCuEsIW>z6PCBXT5-cY9rxyL6v{!1V1Tgm4` -4Cz>)I8lA7yZq)BB^cEsDU8(1~hbmQa)~3#>7B))1EzXZV6>lOalkwj7o8Xz?0nQOF>e11@z-pzi3=S -=h2pYew~DiFq$c9$BXy`C(4KRhBX}hWJ@kqedY5(Cam?@y0h-m)#Jkpf<5L6uR~naL9kUzE5TEU`7J^ -(9DjGy0$8q_MjkhkD&0Kg8C}|*Eve%b~-uo}@d5$>D -r#~+}AS5D7%8yNeA1&{SBech@8Q+u%?Hj{xEYJ#j$F*$Uk27yL^VFSZ&92w-wRulOH1T4Z-5D)++dyl -@j8nx14l?ys`Cfl?wu@fFaNT@J+O4j{4BbbhHNHYdB!>LdY@@xNV0C}mYK_p4TU9mqxq`f)XO9)n206 -F>zPmBwXlVhayJW?K$mnXyjakPGQHE)LD9_6d)?;|XDM(SfobpkSc5bEJ~B!b5Usju(wF2=d{`acjN0 -sFUYGuiMzOPD5Bj74bzhnEFw`m#P6uggdY>x0O7Yog_6pJnLE4z}4MZwzI_trPlhO}O`=?E=NE&)TP+ -h~Y(J)P&m5X7;#648rZBa(Kuct1yAUiZkRrqSMNWK7$IoRcs3knUfKzz%F9D& -R=x79y=*lwoYwM{%_$Rdd=V)tB+WBKF-PQ_0Zr5=U20jYhhfS_xTzg`&CzUW^CiMbCdr9P)h>@6aWAK2mmD%m`;^ti* -HFL006Rn000{R003}la4%nJZggdGZeeUMb#!TLb1!Xab7L-WdF?%GciT3W-~B7F_GU>XG99NglU+~MC -QY1<&!%yX?M$Y1vkXN-62}y&@?lx+_P_6a03bk8vOAAG`(b_BSSEpsi;Iio6pU3RTi!aoX)fx`N>&T_40A7X@$BjG^TVgl509UZ6-`qF# -6RoB2C13O^P-eUPwI``nAU_u(8Dfh5zthFzlAuU?k5UfzZ=k6_jv#Pv%&YlvbdFoI%&RY>M<-uChx+Z -nxY;C%AJCy%z*6->7ufdNCbWy(%<)Y54fKK(&RL%1x7uwmn;R2FY_o1?94HRsC$bE0)3R=&Oy;*hofLNADvEESxva*xHOdg5jYZok%!_cI71J -mi6SQ@Sof4Tz__d768|Z_4I^G)%;emj&It`oVA4W2|7KIm>g*hs>as2Y&e{2%%qlt9* -t9^1{ei4LE>1jY{5hwE26~FCW(9;3XE2p$il5%56)^30Q5`SF;zJJ2#^PnZ!AC0u23 -1)?)bb6L`xQHz7kuZ~2}XuXCJ%XHcxN}XtQVQL_stK_EaJd(-wR;Hg6Yr -CaLPeF{TW97%MXK%?tbPr`gf*&!z<_GG6EPsoW1V>0ZxHt9ppxPS1&IH$D1pla|0aU_Lm+z(2913d?G -rteIhy|JrT}KM|(pY1mJssT{wGtU?Q+wRT2fri6%o{{1nmSLAXyQ9R&AS$%-=qLRyreGV=t9oHldcL* -UA?)JD>6l#=j3t}(bAi1R$#2#_}7{ia@k5%DxXcF)pc-X-wVO -ON%JraRvX+Rhp{*6U?xGP=3@U*B@Rgq?u$og(t|xGO_$UF -LMVX}(ApRfR;v;!#xw)zEG*Ak@e2K=UMCMpS9_kv7uzp9HBO#2Q^yl6A|;_1_;VE -#v-_GamwOeVj7`gBAq!Ft<=1s^N3J(P%8HF*=kRJ-d#rroqCGMC-hR|>WRbN+Hvi)Or>-c1+;H(Y=Ln -aNUbgMnB6tjXiCK#o9*GX@OQ4Tvle!9w3L~Y}j9mn-Xl08oDBMfzbEVHh}$tt}Ab5_!y!YDE^K7+2ArfyEuLMy5+$G92@ -woMy5hoN8~8j;vrrD1fMCcfqc9;yE+|NP{8abf)`~9Iy}k*t`kv<;I1T4hu*KiW;RAE{$N8(^0fP5uf -O|jiDFxwgHn?0@N42Vq>U4V#%#l&$)v_cbJdU&lxfgdGE5P{ ->4>ECC7Nga>$a_2C+W2Fm#ez<_}1U|Fty}*5|Nh9yTb*peTKn&B|qE?Qk#c`{DT!_#KCgTgkb>H&#f{@`8QK@Tr$L~?bYy;;mPL-M=zH(U7z7*OGJN^!iu?)Tc_4t$_ -3}rK^@?FHZQpG?uquJ{1JnM#Xv!9X{|L4_5&%JgL4g|^m&eej!=Y)w>q;Xq)QodseZo0 -SnER?=gqjP=v#dXjb4CfT1E*8!)r}3T=YASY}^qAbJsqrzDcAa`P0hjU@=7}S}lStK2N^B1-0z1#TG5!7pnlwNn+eEQ@p!3B*978;; -|*yF~=@kF!&bF!>RZL`&xqI<G*( -%U&^;mFl?$LKlxzUFe9Vl0R%qy}ahb%pQ`nwQ0~w4tzEUsLu_{_3U_n&Pv{fANEW)rsya0R8So?9YT! -M$TD&;J_gXK3t5wwt5|1ixgn}!?X{;z5bcMr2;m(jV`pq)XRUFxUKKO! -qyqQ?(PYS(oJ}fmEFp)+AQ&0s+wSj-7zQ2Jg48URKOx)T7woy>q^8?UgT+v$8+duADYpVvB_KzN*V`y -4nVbw+w)6nG1y*pQ11D)TCIWz%37~}V25WreL0|Udx*N4A5`NXcPd5h2W>yyLZIgt -T_j8R>55a$;eEORc`JA(pttXxw<0~j$CILcTtTuLX2OK|c;0!9I-IV&7@wgd_j^NWP=57_C#ZY8Rp1u2!ftJI_wBtEJdW8UoJ -S`O3rM3?eIzAr8zl}MGSrFNSEq%*EB$=Z_Qz-V3=|BQwR7;Cp$|3SF{L4udB-yQO2_+HEbTg$#?IvSV -G^}JWkc{aMX+nnIKH(nhyJAJj@NH=v{{05`fCL@cvA53qcEZNOOn_lRLtOl;OI$mV;6YU8(1+bk+jyi -z)rqm75mi*0^sQbN6}q-4J5tntnXRKuWd_>15*_iah~>;O)HyXgXO|p#h(aC{X8vguaYzB^CF+cdacmf+{=~N5K&Z>51WOmE|dFb8F{b -5hKw?#mD(ZSz8lNxx8q=wOyac8Y9$PiFn3N6GOn_SN4A*J*T`2N&wOj8Q9Z%+a5C&CM$;~{qR95b^M6 -VT9y4@`GO1l)v?#F}~K)5Z+(l#1-Vq2oaJr@Bd36DNu6z8+~FXH6o_GFA^9$+TzmXh!$5nQ!;?DOZA=$}6$^AT(M>W~NQ9XgWK!qduA^|aek^?Je&pDh=*v~3dN`7oteW|K0W@UP}owe$6^O-mc4c7$?`giq{z -LRB0-pzteeAM`lHV8i{+8Q(Ot9Q0r=g{VTOj-jr9Y7I>a;#(l(_>&hoY9$d=Jfm;1*&5K|dPc -o+|x%uO8SY*I=_U2awzbeNIO7+r#`)lBV7a$Ck4hWIeZGi?$s%!$mDJ|IdyzCVt9FR$SLFxgX{wNLIK -&x>TiQ$q1WQ9JNhiyv!b}cj%omH5Gqme2IzfoOfKxf7X*&{HoRamg&mS46e_ClnuO%r5JY3N()0oW>} -N(Fk`y-!0up~I!F)}?vjNZWuT53!J;SL-WyOb*vjTiS*UrO9RhUNo$wZkR;3h(|p#*=wBNYgEfTtvR( -lL5lE3$Wf`H)@;3FB9|5PDEr|6@S1ZHKc9#(kI?E1GnxVyVipo`;NQzCF>in@6tUyxVTxZZ@lzwp689 -l;wc9uFQQRryCOeR&sI+PUBD$!>}x$iUYgaMtK08z%(^JI$!_cHs(gkSjTUa#aWL6z($?}Q@M7S{=)T>_PMZd6@$U$GNl`@ -3GW{LSG?OB*!0BtDKdwu&Vzs2}59Zg{92~AmO4k90%HLwyvm}eUkS)`7{ojis*K{tQnKTaS3A1LhFO9 -$4;U`yl~*rBz|w};%f0Oi_*`tz@}OtBP#uNEsXIxCErdtxQISaVafRUl=5`mvT9kDmfY;Zv^N3s^fJFvd>qU -=4H{W#+WYv_D%*i1)VVMQ&yySa<`Ai(OHVO?`GiOfMUUGhs4M{tpEsFOGX3*(^}`JT4RfN5#_jLn+iE -ZCtX^TJ1kZeV#me==dCA2T)Aq+${TN0A-=#%i7RBQfm37N{&r9omwBQuG6p}St2f9}1cRcW#TuUd;dj -hPt!JXn+9tgdKj<0Yfat^eBeKdgGn(E=8q9e_QG@OAGq-m|Dupv9)HKi&aT?4pQLgtCZBWLjud}E}|3 -r=y!1eK`K6FQQSo={wT>@$P*mAz6Wt$mk`foI4PsYJ|LWsL;BNilXPEz-Z9!qS3gWD&q~Gs{Ka{JjxEs? -s@nT+xY2)Inuf*{m2K!KIICaE*<;XgGV2c@Byv?@c5>PI8c|>CGh(zAkgYE1=bz1o4#p$;`KIJ{GGS8 -nD$H&Lp$$NnL)vPcWYZ9;;WxDdvL1+gkU(4kY3r$ofO5&3Ev_$7tC?@9}xx{~3Jb(UN9ClT|_-~$;@s>)yIc`a<2*wLArYwPQ5Gv13`DUm6p0xw~k8mn%zWU?-hr(5?Lb;<>+lJ -ks&FqkM7UR6oD}#dTfwtcv85L~_xOaQ!n5Hc!0|Ki(kqn+fUNwC;8mk -8(<=Uu!F=gVS=8>K9p71cCRTA`94{y~qd$|7lENpXTL5d3N-<8+qN!9S=FunSbm)UdI$YY*E$-Wf+9G -*Yl>)g=w$^+y#SG~Y&9n$R7G?dNyaPHlOgG}LgPVZ`-yy$2Z8TbYCmSzKhb#$**RQvE^o4b%UW8+D=7 -y=yx9|F!+6t}Xsp0;B8FS-1G?pVr+_DX|Z6IDV_MvE83I5Fb`aRI4gK=@KAB%N5yDvnC^L5wr1v>M_M -5WnzmVNPnk5Lq2a1h2JQ`4m2Nd@u=;d%maLuR-)hUmi&WUl7qj^2kG3o{aZZ{Bzo8XFoj2a6NBSjVpc -+jmRsf8d!>By5T9DF`{!U3knO+6A~c`&y8ccO1g@*2ksHdeHFqVnMeW;2;iXxRd;y-r5mwmf=FV@oMB -Ta;y`*~`7fY*9eQeRO%mgbKJ2#()o9jkJdpi!r*t(Uk8RTe@_h -+R`ofiu;AIC -Rpd-d4v^Bi3~FkZ=*M$NfUJCbwZGv+dIVN}j5AOGo!JIebSx`Ir<-|%n>ipiv6U8l+w4CYIE`U0y}K@ -Z0t@%8PJGoKM3eWK-7pJIB%%fu4w232}jEsC`&My0al+Lk6OGF~SW6y!VALy?D!H68{|JX#@dK;Mvs9 -2PfL>uM`>bCC#kn!2T>*8;l5_hZGQshiqco2$ZZe8u8rzEMLpc_r(6J3Cj<6;-*|8g&`y(XGX{U45D^ -bbHESk(aRSS}a(rctV#eFB4``P%0xRlx3e2guRC%r)4`&L?pu(eLlRHXRSdcLmtIRP -%%K6+vmyD)x4LAU-Z4R&$DgX?1wWKoqD$s*Y0tbMH!W`7)RXNZ-Rl -(8^P=u1&*rge?uurKGwG6alA1rZrO$YvA&3#sWk-9~9H^09i~V0A8nvG5c|GaaPet%}) -XwF#^X$w7m)G`qS>Au}3K>h$8`{6bNRbJG?yH4$YF -wd)ULS!D@mf+4v1lME2V++3SdXD&Tgsl8WTGqIe=Hch*q@p3XUp$L-)E-C^zSPu+17S(D5?uq+4?0-t7sI37>WFj{-frAVCLynlTQw1Z4_bfs;Kj!rT1wM8!2T{&yrZ%Jr8Q@|O -?e^Pl}F%w3>Do(oYe)7MwBD2*7!F~m`df{KVx1jwOSt+67^1Zk{V&W)6cgqZ1xF^MMHV4yRn+f`gAsv -R1D@Vq604YmlF#;jSAHl)CIBhUUx1usS$@)L_y({C{s3@!7#!AJJfI|Hb8p{Buw?-Tp@*%&J-8hR#9I -+IBzF|RxKEbD&NjsQh)zKU9!{W>!WIa>_Aj*N`A|}y)KJ`K`*~e*0K#TOY`NoK|_Hp-)W(uAO+V2r%P -9k9(Mq&ij~hE1WtS4#0KZ$aDmd-j=Ml+GRx12)$;P{_4$V@dXwh%i}z>mPhC$&$*67{vY+AqF(Ny`>l -OnZ4fY6V3?~G5Z`i-j*~9MLKG%K(kB&<a8ugOlrOTyEQsB#MvrXC&B)e>$ -6`^%@xSET#(K{)!sxkidx3F)3)gS#W!9lKO!(`w=GQSdFV*>N?RwE{8kPXDFC -#G$mnwP?f@Wd7Hwo5^j`NjzU+rU^pE$dz#HzhF}&3G8R(slrE!LLz5W?GN4P=@td#&`M5iQVDe@j57I;KhKdSl_#vYN6)6%HBCrHqbY%U$-F -FZx-uvecDTaVh@IRH-&;@)4s`!RR>+&c|E{D4_s -`c5zRV)XzksZd#nheF}B0VkG@0nH~Bi?ItawC`BMZTa>EyWQSioB=V!8-PIxw|u9wO)~#jMl0(kDDIF --m8elS@QE{9y@+xGF(Lr3=+^an{H_Z;Pg||poO7C72y(CvL%)*QY|Ox|ST{Zm!nwp)fzOAB8IH~E_6! -&^ICil5_s+ow561QVKP)U_M(m_!uzB+ijJJW35*85CKOk_uk`$M9v7$g6l}6kffZ%z1HhG|}B2T|^gB -i@M;w6c1T(Xrcef{kd(385pphkRs$c#bN^jYltafVmH%5<(CSVO|Az%VelK$`0)L7`le7a$5?PW8qhZYsv^AdZEj83Bm(qW$)uKz#(E6M;Ze(P{PV2fPz~ -1`t|h(o8`p*cl3dP!RY#gQgqN`3{96GMbO9zy}2qt=kyd_g7a|Hd-5t#})#QRd~gGwTQkM20Jcib@?` -(9#zc>k9Lmq2E*cm$_ss^3ee+aVK)w_s6~<030|$o9AGT)F%~un*nQpdcI@(CV6&G6e>7k|a{aX3!}d -(d?ReOunPUfMNvx|hulS7}^C`GAvbI(Ah(!J#AoUGUU8|N0ih2u~Wkq{tN~{Sx5!m_krv^MAwFhA8q+ -h58GWBU~|9`~#>fPC4Z%=*6#}Ji(S1l^h?@KBB^MCL_0MKi-P8`Jxc(3<%Px-tQ`W5dMjI!obx_k)$D -OotCv<$xUj(4UUh4->XNkdIxWhpa0$vahrm~vgJMf7$)E~gw~GbYW1FaVV%`edwh$*75HV3gOxP -&Ft7|`6yokJPg_-Qw;HXs~pMKJBJ^kt{&0o91*v*1veymc`H~>V>*lNzov>r9y=OojdWw^leSAS0J6d)x-~2MYhYhARTa^i(jJz% -J*6rL)^J?w5@={(zgo!nhObPjqEKQ^-+#AlG>rchwW|09uM!1l-4amOJgL2^tq5qbCSCkAi5bjBSex(lKn2EcoO459p;w|>!OB=h_fJjR9lvDYE|dA>>4?4oYO7KWk$&K$S+FUrHh+6>6_@O!NGf66#j0o -EG=1M}B*^lMK+05^w@$h}Wg7o48iRK{~_-#djq-dLcXrS49ZL+eYXa#?3Z?DMaV8YG{F3jFg0DE;jl0 -=v^)Dhys5R>a+aP?W|{%B1LR=H!(?ltiEu$d#xiXAU;eyv;v18Gs4 -+8rozfHyI^Xn#c^X8fpf`U=WaVsxnDyI5p1MO?-71{y~+{YiXcehv6?BKMKEPcRV?;JTPqeRc0wg)v5PI*I;6^D>59%`HnP$Qa0Sd7l0i3N*K#kS -Lh7R@Gy=}X67*a^siQ`LoYPqx*~?RFSj=QQ@a8f$vC;T_5pfvK8GuPmb6FRk?NIPvFB7oiJHyhX8Mhg -aJ+y1-_F7Z8TFU#~u6H;L(j%|4fkD!xbjLI&XeWBA!0J5^AEwtk1ai;DMawX@Z!S7I2DtC@8uxkaoA7#Df4SL9_*Ypu|Ww}wGXJs^B>U+t`{T@cY$;|}R$WD -|IdudXk`8%}1bkm)TdHwX0*{c07W+eLEvt18_6+ppnMj)xro72;(@I-S5XgyWzRi~fmCPyTvfB<-Efr -+sAH=CkXqAPxLRx@8(jVJzrxvM-at^_i^h`G -{+=|vR$;!DOPGNu^{ZOwYDr~-C&|_cBZoHl>+?hqxN;Wf!#Qyi(Oz-fR|xKpokzd?N)NSk8~7HiQLjU -%&*NUFlV|E?dvz^~?sFLuQnzrKRM5Ha)wCe<(pHACw)`Di^eB&Xg*uy0#Vx;iCX@}Lh4L-*wZ8Z!&nX$j_x|2(NRV -X?j{vbayiPeLUkLcQZfptWzY=V;?^Iv{-kI?k$?u&gsld&daotlmI{s&M?0|XQR000O8B@~!WzcL9LD -**ri5(EGM9RL6TaA|NaUukZ1WpZv|Y%g_mX>4;ZZEs{{Y;!Jfd8LxUPJ}QJhVOlf2`4ro`v4|h^kj_2 -i|3{b1B^lk+tIjhZ_6%h0dMp~=s(~8rI{?t-i106LJu`NsIVqWwt=22?7YgdOeyLIb^<)0Gr~?ORd&X -Ec*gUC@mM`_KNyEE^h-A9(+8GvxKj{L7=Ls8Lsh_+V~RYnh0+Y>H1$er1jxfFvLM_V_{8%xuf~ty1zH -C+(K`3o)kVw{v#%bFuC4LJ%u!!DQHLzt&(z!fay&$qKho~j`1abJ)HsxHXCYqZo618v-`&hvT69~;Vm -=>3#r){U3t@@G-AG&^o86Yp+OpYg*{m(`YcDbq7D&6>(ylD0WCAUqM`^iA;8cU@6aWAK2mmD%m`;%}xKsEC008V30018V003}la4%nJZggdG -ZeeUMb#!TLb1!dobYx+4Wn?aJd8JrwZ{xTT{_bDFDhMLCj!+au3k2r^!6xYim(3lLTo>DIAkY#Wb0do -?N!c-q{`WpZO0pkmJr55L~u-`@Wn30+StU(6Uj -Z2~J>aczWKbCyD_m*ru>u4HD98$wrdoV8Fq@1iZMM`3(sW{=l*H{SNu<MfWSoC5Dv4qyPN(xSeA01tJRy&GW>50)|5Y1f9yB#V37WRx -uYZyAe#hNn-G2QCSw>{(P;qg8TpAMJ<}=pTxmE&Bs8qQdIqjD#mL9Y$FTG>)Z(TS;EIh5|p(m6;GMTd#>TrW^wG -oInM2dpFsGd5$5vWmK=ED<$n}H79DV4%7jvq5E;BXHZM`HiJ1NIMdY0+0ILMYp7iBcjwlGU~ox)?f8c -2cf#+a8H>%!G;~JI`jL^*+nco{@BfK4McB$LJy`OPoZn -=^-AsulZuEs9)ev71VpMd*J80@dJ79qu&am3tV1rD<8PUaW5XxjMGX4%Q$C%$5JdB#?N~yyA5=D_C3B&dq;n)XKq>gp!s0yLZN9Bpi(N|>dXad;JrKt -*ja7A2KFPi6qZ9(ps=16Nv(w>yrnl~d#puHK;{LlzlUg94L-qhKKVw;!1e#veG#!jBJe!KrccZ4GrC< -^9Qnom;tLCaN5UB-o_6Y&hiV%m{x5XG&q9DL5>v)lW}r^~y$>xZ*BG0Z46XE@dw9m>g)nN~I}WGPIb! -CP#4XXxNn&$)YLZ&Y387efbcIEt%DHte>@^_2l+8sE2+Z=}PtAE&)VH%cb1Z=0}ZwQyi-bXQ&?oz&ah -H<~9s2JYlmT9@s$7XPkAnH`u~d$KbG2t`f20+#kdye7;Ie*^#n^djRzI-tqYXApXT3W;v8liJq25ao{ -1eZ)5?;{G$keto=tNIzVn&eN;g2ZoY?Cbjm>-!q6)rw<9K&_IviHKjY6|{^sml~X(w%@e@_D#xl+Jw*rZxKDhyPuz2GubG|nLHBUXJi9jcE@<1D%t3u&z -jv;5NT@7A8#A6lNoBxN;EkK4zpP@Za^;%^F)(V`F>WV>{9yck|;glmVMs)u^4M)*xWJ4CQLHs0 -|1vgP-8u$ZBkWbPTkN7YBDTQ?1vxlXl0Ug8m$k2)svPM?P3`b#6o>bO&sbi6h|5Z%1`7Xfq&G?^_R$$ -cXk&x(n=t-W(koAsD@tE~7A0`6-IM*D#4Xrv#Og(~PZRWEpPpYnegx-d0B^aPR>VAXB@-Etrv{ye2?a -sYG_%J5ExYfHY9s9o@h-9X*Bdsh_Eg!KuCQG3_J`A*3k2Q`=x2J(I)hBtKSp&LAn2I5U5Lp(Ka=O$PV -C(pJyy=4lW_>TKTUv?!y*0{oG*-iRTo!zV3*5g-QfW4 --E^-EpjJR*&7=U@1444m^foz;dkyx10Iwe^5&U1QY-O00;mj6qrtKz<#^E0{{TG3I -G5g0001RX>c!JX>N37a&BR4FLiWjY;!MgVPk7yXK8L{E^v93Rl#oCI1s)2D+n(FNr1!4-U6gRkS49s) -HM>fi=rqPMxtyc5~(FAxBmMMNztMt2S|OeE%D7G=grJxsbq}^DO=MjMhN0{Bb7n)Nz1A=jQHo-tb1R{ -?Usvec+>|yD=h=7DX(xtm1Zh%+%i_I-J6*QHN3%O&qN`QnC4|m6w|U*Inxsq5aut`ZW!>oVL2~3Q+k2 -+@Xe)&$+<9030eg>`<=7K07#zz;nwg<UstQ;>I0 -}%o_KvRL-28|LxwNzh_ve0y__}Enr_)~BmdZ=21><3hKToE8^xbm<7ArI;z4;XLlyCsnLGC`B}C8~>Y -o9uU?s|TEPnyQ|62~Mq&b+K6zS+W^BMhP(_t4V4SD>4U4Lfi{2h9d(q}cF&)x5}^W^?1hjG -jAS-2@N1!K1@u7qIImE|Y9+;VQ$gJy-{}_^@I&@WdhK8-VaNoI-4%2NC!$gpp8Cp<7Q*Z+_?(uk}T#Lt32{lQ%=0Y1Pa^~U}LyN;Ueh -H@?@=#G6%V0k?67Q()&ysw;*<8K9+FT`B))zP|gIq3TaQrC51+WUvcY=BS>BISQb^9fGGjSi$5$mYwy -vyKUR0;5ybiR^3TPa&n*gBl)`C{O-1THv#?eWV#J5uk7Ypg`n#<^#Nwe`Xw*S*WG3bpLl~)p4 -Z0LRVJQD+qI>MIKwjBU-1IL(l&Z!{+;2_Wnnk@UC -N>7_o~@jG1cmdQ%T5=j+a3K`fZ8*tkc9MQ|mkgT*cJUsWVexpV0(@x9WC}54M6eef)D%wP)h>@6aWAK2mmD%m`)a=@ -=Ch^000&N001Wd003}la4%nJZggdGZeeUMb#!TLb1!pcbailaZ*OdKUt)D>Y-BEQc};+_(f`Xzjy&IHLGc9gQ>EiFx+aeQl^FeaXml@O-*8>wgg7GjS-+bv`;D$R{!;S`cIKF%jOw^5 -8y*wQEhuv;d>w2}`LIpB|IJxUR1^z>e*n7pny>X#+>pIlBnukUH#oOwPY?y@6aWAK2mmD%m` -)MdwU*}w007$*0018V003}la4%nJZggdGZeeUMb#!TLb1!sdZE#;?X>u-bdBs?3Z`(E${qA4EIv8wYj -<)W-U>+8a?$}UHlb+rAP?{3@ZLk`))Z{H%qw46v0O4) -l*W3-SI(%)i)DBojpBP@tv2<8^ul^$l&fDTvtCQRt{;s{O71uHqZdV)OC?6592YHRnJlFS49!(id8u4 -dNSD?o*uq-@gAr6%wy4pQweZjB-E_Isya20bqtPf;+&OjyYdn@#q~6&5)U4jZ-Rx|{;2Mv|PlYN0Dh% -}-4klh}$GFbmo#1d=m5h_2#&Wx7Sq+tp2;*uaU7VhB%~pa{PGpP&21^b2vh%FqnxnzS(tFKbzGPOERy -d(O_tI!)a>fbo?v>8Hw{is;aKU=KD448sJvV6p^ak7!EVY7ru;&OYn)AYF(ag_;5?=J+UT*}TSb}ONx -{aw+hQ5X=8N1#H&BRW6%yk!FN?!&ci4mCv&whhNOxAHLSUsKfpdQgncRU-EF$Z@rKzc`kVN#RfgCOxb -l1aNFCc7#RmV8X^IYPN}QBg0~z+&(zvZENoBN3=cF~7qfWL3g3=+LaPC~B|#Dd! -A9-+DPGw87v5yx!EXvMF(k%` -tWwCQp>YxbRAO%sdUks?-CDQx}wx)<5)|N+Nve@svI^lMc2feZ=^}C;ZdR4HlM|n@-rRfNHMU_@|p&c -JsjA{ya`{V+-zSAcUSu*m9ZF1$5q;HtWI@3y1hLc(85bs`#;ovFp%B?9w@V#})F_uR4&B`c4q~X%5RZ -d$z%j791D{>Y3~c+U2bJr!p0-BV;eYP;2FEQ?dL0`rHj> -n3W0B4ov_ye-f>0NZjkOPk#ZGGkk!(*gf2?3ql4u3g_3%UJ;gxe4E2Y$SH+I#h0Y -v~fI5@oI;%>mtP7J`S$YRFGq?qzcN#5IuH@gMDcWqcXWoKM)?w)?4WN3-)zBJ8P9;aTRn#0w?SDTHwF -F6uZHD(#Xv?|WEyf^5PH%2c`*Fw3HfuxO-t`h4*><$+-jT~Lha;_rBz`3d6B2Zk#&sD-I-|DmKx*Ep8 -vlmAG`Wr#>{I7m$I3prgB&|X$Zq&UBaC9~JbTMiNMc`<^`7q2X6gMBAc7MyiSE$EZCSPAm6!zaA1 -AiDL34meV|TSGdZAek-m24dqp_vi#y3OQVtNEBanL!VPK=28ctkyom35d|{pxuf#19{9frxSClf6uor -AEln6-lM8(j=;V1H?RX^n~iP^h@N=6k5a(8-{Rz?$!gmDFvmK}y5DHPw29@1V9+P!&|1&tVF)Z>gZ+~h^dGW{ -v2%4hUbfB$;3L?DCKnW#hW*inBHG#3l^l(Ta(v93k%60!QiH;f?|%h{hIY8j>0fIpgY|3njB3|T0w*a -;%W`%_)USQB*oLH!0VuQ_!SjCf;0$}Ac$9FABScal7nSFbh-}296D1N1SPP+2op-4Zh_^&Mm9xOtf1e -q-}ev+O^JstfziNNL;ptKI+cKC&yu4B7{MgkZ@FHJ>BBj=r>7LZgEEUFp*?0YL*~Pb=8&DFrdUDJXz3 -;Ty^H}XfEGi&ffuAH=@Ao-5A2jZJXjPjEv_lIz>dlL3HzK)CdpeP^|Y~O1}|~MpYrUl!E|Ub4Z?#3jT -^3k*Io)JM)la13bmFm_!gBJq!YI@ha(eeb_uFG=oJ%2aA?9BkJ&vo9K;!eJP5&mAMuZh_NR^X-Llyl< -HMHjs3-?Vp(tGHk}>NAyBD}{xHza32Soy}1F1%Shvi%E`?3v`)WAiU4k}LC=};cSDMOT=y}Z1j0uQZB -?1lg*>=Cp#sVh;Rsmc4GgP<%yn6mw`@QYnSzk^};=_a|j_~Y5-)$ue?-|3sD+>w;st73;f;@6aWAK2mmD%m`)o59uH -mu003nK0012T003}la4%nJZggdGZeeUMb#!TLb1!sxaA|I5E^v8mlTUBkFbu`-`V>SiyCgQ&0y_lQVJ -OzF7*-TTcj&2MEG80Wi-!Ir^S2)9v^>vS}YdV93c?qegZ#?Jq;AH4|_-%v+p2Jqdxfnq -aPb%Hp4Vd8(2Yh^lA?Q2JENg6J+KdjszueH$zt1V?G3p-3s^PeHDLZj_(VqTXHt^_5T1pdM=~>#M5brQlVfsB%muq!a6l0_$BpdU{!YBR$j4XKT>19O=LXnU2uw -JHK`JEKDeaqbb!%*CDKp0r^yvdhed4Iz?gKlc!JX>N37a&BR4FLiWjY; -!MlX)bVi)mv?E+s2muu3s@w5Lj$v+D>opi?J?l>bk9Qdz~Uq5EMy3jL4BSHAV7rhL+Xc{qOsnc_D`sC -2!g;E>=Kni<~)g=Da@V%w$=YYnCL-MmM!c5+>JGS!>1@s>~ZL68nA5GWj5tEQ`s+jY!Kvi$|Tyg?}Qo -sC8N9%0I}nhRwfT^DIB)}q -in$M*xYR3(c-wDfN6*KkkRvZ%4oxY06Kaayh`uKoD;*Eiq3et)}vxD&Y_e-+T`{S&lqDpD=t3)jow+#TH`35?q%g(ASfRuD8MP5 -rwB^Ue*WCi{EaQ7V9e-%3x+7bZtnRC-Fo) -rlQj9%KU=-EIWQ#cEN7SLQEzkbm;WL8+;70|7f1glBD2k_*FESOkmV3Q6d+qPP{=RY0j0JRkZ-ywaDg -d$@6@{)BDISCW^E)tX_~Zxz=?zI9|$J%-PhBna&MESc_(2FH5!&EGvs6&F+hG!!|3JQcID9!H5LIZ&} -RoKopp9l;`Z1Mj;3&)xb|JF->!&205XKplT|kgr<<7CrEs(QG$rDSGSkf*9?9Wo5`?*qU;v78>3Gx5O -s=n%bxGcGAAK1JSLqI#i~?FF2HKK;x$iUCyMsA;n1`$&B7b0S9YwIk0aOe5zM_{A6hPUZO1;z}sc`tT`gmHM{c(vCA>q)z+oiR7pjkOrw2Zfsst -__9yvn^%IP=EQp^;aSX@lU!QM*p&6X3T?uggEa)mo;=Gb+!0&yB9(9iT9M4b>D|sIB{R}8ac|U=b7@j -Yr=Zs3=`#>u{7Wf|S-00HHd_%hzoW?di*?y|)+(>e5aZ4JtD8RbUr_wPR;KhL|#Fhke4VF(z6vkR$s#N3#nGKh%AtT92 -_QNWx?*nc2V*gviEDm)^OgEN-?b5D7f&Z$V;9nBE1mZSkNFZDjVc(!5@sx2nvWCMyFt)R@1Xw-V3&p8 -4?Rin_3~zMj*68stK2~yTu<$u4T^aR`Wh513VDvBL%g=2~0$mcMy*eiXpTzGMKYPL-C00^#RI9EM{l% -%ej?^9mC))hWxUmZ4xmo1PQOzxn=4sMusuMQUpd~EUIBx=G{y4E<+lG^eml@Cxc3u10s}8s$6K1Z|&4 -C%~TSYz-}oIZHjiVEXdGPP$LiHOGuiL;}oILtv1`RvRTP=1x>(VRv?PO;<18xU}Pq8zQu2WG?!v2Y5f -;|25pSJK( -Y=dH~4a77YiUV|lH|yBCA6Y+Nj+5(H+c>aYb@{Zcn9$ZI-OhN59k>rQgew+$o}Ds___;jejv6mt}JO~-I>@Sy^h -o!oe{g3Ym8^yV&6EK9Wq+$YnB#a#m-QS(wwBMo}h#~Y&WM^iO9EEK@+0x$57|0j-pU4xq@JPoHO- -z~yLe6jV7@u{59KGuYL$OAk1bZ&xVgZq8)(9Yg)MAfZF9|#J^WH)%Nz#ai5Rr+}F1hTH`%una9Zue50 -Y5RR(1mN5VJ^lcEjt+liU2w75oXBm;fONp3!w!Hx8R}B01`6-6X%^En<_)x8=7K;IqlqU@(%U>i- -?_(2BNj1x*e1zFgpUbDLrJ0|c&oIzYUZN_oOY<3f^-#);{VM9RZRWTlIgWSZD1Si7dBINO(|+W1yiGA@dWhjOcG40eiA -+z_bRXw1GmUBs70{4t&kbIUvw;`vxtg-)?YKl|L%u>JLQN`XG*Zu5ad8$bM}XpyVt~~B<+f5FNIdT55 -Fj%>E22G4@2&bhGzZ}QyN%gqS4R!dyk46~M~T~HcVClJ*aAEkCx~tvhtS!po7-zf<&X;K8B}U2XW!L` -*=^}cwy^3Ta*3ma@cA7_!Gx$8kaBGGv4FJ22`gZdrrfwIeds18t#?Ld4BWBYSt}q$$x#q0GMF_sqF5m -EbOD;`PAl+D4Lw^FKP75T2Gf9?EuU@9XeDV>Pl=Lj1MJA4gF=g&!dR8PeT$-O?p6jkAs_%nn-!;4szr -%~P(rGzEKJj7N-CKSJkGWC44|`EvXj6Fa0zvBVO2311iaAVJ_GMQW0xy|65Z~bLrZm26vQ`zg||BgJ6 -9f_xBaknnKiix!KIg$Ij~v~Q~_U -j=i5w)is*zy^vLsW^huY)Fk@bGZ2)4-vCY-Zsmethlu*<6Q%KJj;5*=P;)e?4&PDTV-fe4P$MN9P^nwDQ_dw~ -v?i6CWeE_p<}S_b$J4!t@7mfX@!;LwvL~#Q#R4pUnzBVUco(5xN -@)b++RltJ2LKiWPVLxw8jYks_YN$yN3L#C;o3fl(5Xqa)kr|IpjDTe+`QD#9Q;&lPp>f%N-h3@4-092cXr?7QySr(s9Xz{|Xt5z~}?zIpW -~dHeHESGU-~f7BHHlSrn6BnF -*ukLi?tkewqqhBpvmCvj%5z -(S;)&hn%_QqW4L9Ng5x{7u$m&(c*|bDh$WD=!R!ED7ZhxRA9)nzEpS%92hIp4qc!6a!QV -#=l=KlfQQtP-6Gzniq%!wXq+2I_0XQnW+b?9(|IUUB8al@z?F0gAZgepWKi?q|BZ>Vn!1WlJ`sOzLwg -9a#sO$HfLH7j#8^!f9{>;jn=LsjQmsqpSxnd&~=%IN5iHRJF5LzErl@GHRbN$mn!?6g@ykD*{ndGrOLV=eiWarkC+O0|l{wXt58_A2g-%PpZm(2a-+cFaOelQ^b= -3i!Zx&qi=`vC8fVoe|PA|yt`$Gbn!F{2w=y-$7`J-H$#!~MXccirgLrQF}wfAWrc%CQ$ZDsv7k2BFFB -A_-_YA%}ea!_)B7Shmxw*xxZgmyzQ@3dRqtlnV+bL6+%R&=ZyE*F3z!TG}m^h~dYegt?R6S=0_Gc@9O -my2PzwZp%@czWLq;WQ*|Vy@IxMPAtWF -UC%6o)enT`|`2TbAOG(LOzRd^6!ji-gQzB}*V%Vm2PYWKWwyb|chy7%;J@TMl_avL5nA`BLXg24`bbG -Vm{wEN6^D`_eL#)^Vg4MQB81hLJYX^b6d^dngzmE$NS+M*4(sh$wFe~OzVlN!UC}8x4F6+4#D`$(G7xzrjRR@!=v&?i+tw8s$=>)z3MfEj(V|>6hnS0F+2sO%4@I$A0Uy)bXwHOAV_R$}P1lsF8WVivW@VakI$orR&Sqs{Z$ -F_F`SU6B2nF8jE?Y#l6UkF^!HctdA*y4Z)5^r1GFNozuGqZ*^ZY@o4a(V3VFIPmY0 -M{9Ein)Da#&V2S_vZQ%%9me75xcYp#r-jv?@%`S^XVSjnX|(nZ*RWZlNk2<>u=9Kt~)e^8PvcH)4)}d -pmX$_Li~Za;)l5UKo-k#Hhr$n>A-j1mruL&|D#~kNtHavm0EPH{%?;&p0n1tO#NpUW=GG}5uLa9BGo* -4I^sN0u$L9eb=RDjIkgT;cE7{6W*>T~uipcQ_U#dNN9B7aYryr~T%qpJ9N@9LScSl`5R~(4JZ^80>s3 -u>yap@y|6yU{lD(KJHH9x1qonEOBEO=9WmLBMK7foxY&$IGwvoF|B(k5u*VHC*wq1!%R9)rH4LILhy8p+;p4#1WeKA&Wc*S>0AF6ny> -hCCy$8t~9Oz5=$%+~v@qHe3vNUOlFWx23-&3A4k?r`RBgiKS8WSE-}+Ik>WW+A!3|27#TW3KIt(-;#> -J1;|Iz_kAXP)h>@6aWAK2mmD%m`*DfpvguQ000F`0012T003}la4%nJZggdGZeeUMc4KodUtei%X>?y --E^v9hJZW>=MwZ|8D|+S9f*e!OI+?1eQbitTWM`t<#7V_Ywx%>H2n3pBk3axH1C%)`{r7$E^@)>`<6V -B>0rc_is~>oLeEfZ!rx}+l&NBAff__%qg7RGSro0Bx~X^+F|oxvEM -CeYYib^;-$zIKIDwN_=x -Gi>EhE0`aVri$vmEP^Hy30cbpTgJ&<7SM!G4TOoU>p*5ryJx!9Ma&aN} -cB;;4`NlG8eKx6KgnjWFAOfc0`-UE%#zoB&G*gr?qH<*R~SsFknHe%G?DZrt|t^XBL%ijbZW48IO`i4 -5S<5egfx;F6ZQaLwx<=-Mob@^}lvJBMK@U$Jd`$0L{rg7teND!%1;9f6?CDqa@&1vtWY3kKZ!7f))My -#S?H0xvJ#7df9RvZ8+A=Pw+TBWLx7vtNJtfvrG#W6~^d{ZM0Ct>w8Uz1i)YX2P(d<}{5UxEJ+?#rdA) -oTogc8)d~;;uD+ka2>MawWwbn&qKYM53E{o*5q6!ammxUxy$fw*aDuf*O5OLDA>}uur8vN$T;4c`2!W -t0Y#V*JUqU6czgkCT|7JnAy8l&*IjaUcTx+0*ec4NTZzOqU&5mQscyjdqT2fltLyV44FORfCINesES3 -@&g0y^J)ZZ0Np1!N9qME%kdajvQ!a#4rPRW>@6-xvV2DPa4E(b!&CW~t{oXCt*S@J}zM1sf(vY&OqL@ -sNP%>@|O0+h`%5hf^X)qPf|-LzC(;nf_7&59MUPDrM}lAEH*Qnus_>;r6_qD2FOiS4$jQBfT$=?e;X1 -j;AsC~^uedA3^EU%Mot#TSgdK$`%SDSq;Z> -GjtY);hdemX1IjCYq-$WARnJ|WJ?PNlqbQM;qjcL;Nd^2$Jb5={XI -f$A~iT#Gv9!=m%OU?c3S`*Hr{o2wcIDx4~rMt34`q*B{k@6xM0(`$?8aNeAGqMEa@l%<_<|b4Wbp~LA -HDTpk*i$6;&V=8uSSxQe%a|?b_c@F`d9SxOtS)M9PbLfKasl%Zm=Bz+FbmSaMuSQGggZILVX5EOw$uk^T9{B4QB?K90a|M12zNgwVM3!IB$!p6H6Nc_=D(3`0_sdt*_O -rmBF$%9?;>hj6f|wL1Whevdnb4u`H$o3>IIV9-riN4cwEK^oKu!W?<5E!Rx>W@o%R9G+Vz`CB4CsKmf -IN!$ijTZ4R7dl1NnM@K%4DN$$_gAPWCvP?D*9+9{QQf`6;3m~k)kIfq2m;bKtL$2zQK6iO=GvMncg{$ -RCUH~%@S_l=lMa3-u#2ScIRN{aX-o=$D8p%4@k+%{gE;ZjenecOsu#sGXgw-A(4$_4Hn7qY+R>x#15+x1>?y{1T;x0e(3Q_RQ0(HY;c_+~1p*>Z)XHaj2)*aEMk3Vf -kgVxzU@jC<45Bxqjui7r#hT~B;i=rDhna$_ElPStBR2-Yp6D31tLsioDy@;)7$=z=LT8Ahef`$nV-ri -#3s?)(0qGoc)y4QdIOAs??b -SreAxh`#(?RhP?P)IL93E0OWr2$6Ih4nIP#)n94x_Y95$#+oveJA6G(~!WJr0|B?Xbe^U-7bz+Y!|+CLVG5s=*XKJ?6*)#i6a&(A^7vRDz_Jm3b}G6vU59IO32fF&JYnljehM>?zGI~p6$ -}uSw;W=|)C!lX6h(2GQehK_F3@ocy2R2>;2{vv_eJnD~pCiB_^xYG=Y#XX#Wst -;B-@lIvzfsCrD%koCe6ka){_v;$zf -Cq+M=*3R-p{i&=r#Fe(G2#eJR?aY|#ce(fSEottNSbbxr9oS-MU%!yPfut09QT(ogc=jKzW -p2CdF1{ab;v^Rb(LTfY$kuw<}{04o*~w$2Sj#54!&D1NJz=M^%?sk*4OQ(J_ykW;_*?^pvU6n-gd~3s -)bvOlHk_cQFec==Mvm>~FMtVaLq7%D?fj6&Z9Qxzck;l^xk!a7(Nz!!a;a>W{sdd=lQ -JW4t@OQ5gvOtTgBm6&M4F^8{bazkH97k(%_KME%-p%h@KD?LXcURSl4`#U*$$;kf3yTN!8>cv?+LEb0 -T|?)j%c;*Pqs4=ze#UgH59Sc5He&r^A@P2FwFN(pz;Jc6G-366#Wrp7%#ljx%w#eP>l}r;vy`WlC^cb -YZ=5Y1{!#LIGd}yIM9Z{y4reIUB2ud?IZE|NsEi?toUL@uW-8)d7G8nRhYw!3(kI*aKv95X6o{zeVIf -1j7D`^WR2*#h*IzN&=04@sa27>l7p#s2Dy!Y6%tTGM$mI0OEO^lmlsx$6n7 -JaZGn(%uuKW`P^P}mi57s*xYXctbJGD8i=n35=NfKVhU>f%CY5hE1%nTo|70{r^R4-opA`FP$_Ije>xdv!}kD|Rjaz!;$L(Vb9HwU*M- -q7rMMbJhVykMY%1A$2|sxw>gd-%bTuv5cTI&221@edbW&L$kDnhfF6+1zf2_iYJ7Hia!xWCj$;u$g6T -R!{9J?0+WlKh-ul=Qy`Yg7LlZX-e7zW&O4+;Iih!>I27}(@u|xh|AUztJ!|sco1&)n -)ml3gFhTe`&i8g5KuKhHQG#RKOp0_{vuSls;DbS^D^bpZvtY{2D)0zvY2E89djD#K1PgXB%eYjlviiP -IHAJ9>%6K6b%4<=BbrEZzIZ+}{=qdz!saUOe#j%5M5^GgK>9XwAoLwlx+q?DEWFd9M>tsV+G(-W6^A| -no88KDg;aoqVq~_t+3nCUKra~1~QDdz`PPl3pS_$Bo0!8;Zw?dJL*cstfF|e)npjA;zbpo2Y=rj=;^v -;KK>Om$<=Oq7XUR%-dU#soUG>tpEQ8xu#6xntu**ztT*M# -N(`j*nWRXP4=h-gse_9RUP;C)?4uZAJaii5i-JRm8c_;M*R0C&U}?QT=4eKWklL-GE+-4T333M=oFvF -<$t*J?MA8^cWmnHu8I6Jq(FOXCk0a;W3&tS%JflJTCC7m@KjJ&G}{&_*GDzUUA!g)D=rBfbSG#>>{6Y -k;e%DNX|f?4_ZyLHyb76vayr21dhxMXD{NQ3b<2yX@2KZbW*ySvi{?6`J)(l`d`7jnv|?wpJ`>xO`2j*tAwbntg%@ln8`WCF$*>ma}0DL;hEjfMTwuwIXzL -wMuln?U+uhy6_aV8>UVqHnELKarMmz8TOx_OX)pZ~!urr!PhMHr-w@tmnw{v$Hj@xmlw1J1e -P|_-wl`_h&-NhRd^8um1AqQG!pA**RoNI`}BrI~2F$rU)EhK?`Ikr-0u1N_4Cz()X=B*&U%?OU(TASe -Br|Sdi*Gqd5!yhq8)-rNv(v?!!(rajyUCW?{a*x@kLGx8MZ};-KSW_t*z3>e=b5iCOo-q$CD!dB(LJ4 -Hg5+)^XDG_~?LJ`~nWY3;D7GIj$M0<8$}G>i{SRb?t938!-mSJ0XD>L49GjoYD>TgfTrDtkE{JzBq+m -u(t(Tfej_)=1~nzGLY?KaU714Qw|Hlu$v83l4t#^qSCl&|AY2>Fvu8nu>*9~+3XlmU1FGHoc@d++0nG -%GUH%SK!i+cWL6_<-8x~!@X{F>yTS|yn&U<}hYuif@6@vMkY6YC9%)k5YHIJ=n?x*~7rDFR*<>dircC -m{S*=%6MZ~G;D|Y1Z4q7mS8+?M+$+pXS3NCfK{f<-d250$s4K^RI#JZ_?`sK3eR`c02vG3%}E}5ni=X -OV!S@p|7UNw27+g6-swXcAseLKi58PwIDTOJVERljaXf=Fr6_t=5uJ|Hm_6G4k5_^`!Z&9`X -z1N$bj!)-WQkKfNr7{sw{l^g-G57*fSHYhS4Ua0%bN|LNWPkN8|cq52@uKw>4!R&P4fu5#U3fu~bola -284PdrioRseE{Pc-&L5nuSMd`MekVC2KlPqUTjb^p^cQn}GxeJg=#p%vw%VyED@*uH3#*9u0eK9$Kx& -{L{M;9yQQHvZ>tKYssL%pbfiRj(V}A3Iz+P&fe{D}JiJ+kd7(+QjydhyG*-+gK9vW$AR;d9dt8J`*FB -&+3Ki)TCpt_(`qt)YLFtQudc?Keuy<=1U!KVT6lkU+{tDH88$onZG)IM{?^YO8n>GEP)l+omkEM{8s_ -NS8tuk%4V0`bX=ueb!wUjg~@GP;iGIRuYo -6iNW109CeDT2Dx%vzEuf9so(p@lK!xb}Y49`osGQBItBvcvEB+})I2;cV4{Wc!JX>N37a&BR4FLq;dFJfVOV -PSGEaCwbZOOM<(48HqU2q_l!WM>_uKv7`P1=pTx+XBs76Y0 -Kt_ikGM5oDRK<-pZII8ffY3lseT21H=dvXtPJ2?i(2t9B_7RPaG-lq4&Sc#(*^o9-)w89Zjnv%)$j3$ -HJ6E-d6!wFn=k7P6I)0wkfN=hI|54ICpNZA&LqGXxG*F7*!{9R<{=NzEJ#JFYXluuUT{eT!RnY43bGL -mjGO&+g+Zb8J;1jhpR49cp{x;7i;2r$2>8j!nlSKSC$DqDLitQF9|tS)s9TC@tHYFc)+=@}U7@@K=5f -2iY8Q-{W#+D!Ys}{Zz~11-l+YhuIz60p;`#((QE#EH|S2mj`iI&M1sc48XW5nlhk=zVF5+h{gEuHGLI -k+}{O2$mo8ygs(!J%h7Vw;ozhY+@XBlMD~UqyRKuywpD&-s4l62Z#Eu#PQHHuK3oq{Q3_X7MfTyCwN8R5PD_#Q9Au -%A->*5VTA2#`_cZdkTMuj8kpIm(kRj>||*{#ZHB8E7n)tBfF~f -`Iq8@hi}|0cy;fPkm24bBj**d9{1KxZc;EPx%;?Zl|{3JAy>c&8luGbhGn#T<%%f1(KOj>yy8<3CV^{ -y&>Zk4A&!csz*p%o3an7#>d8S#^F0Jv>!ni={bdWL>>fVu|0fE>mmI>mO_f}J?Szh>9~x4ZQ^s%lBrZ -5{0d!422^{-D7;r2zsmEae8)ZB;49&L76p$`B6pf -Uge7ytkOaA|NaUukZ1WpZv|Y%g|Wb1!FUbS`jtts84^+&1#Ne+6r!kha;C5ufP2l930 -*)bYCGIZIT5&^CyV(o+-*09}Nz`L)_u574O4M*Toc9dbg;r~pri;o}TBIqH>y6Tu@wrh&Wku@VkBHYE3wfIyCV*>QAdj3y5f3DVRUgl%)m6e4_GPMT&)H4iUi-j!2Vfe -K)Sq+^_vnlvKMFvlS+MH(=UX0l(ou`N*1-cL8vSPhSbE#{5@8SK0)FQJ=@5iQXvu1DCVy&$BMcJ3CD) -URNm7cO+oq(RJ(rQ&q8NeSM0SQ2+wCtiIhNK=xfT}zM;=ddn9id_g4Io~_lBKXe(^#CQB`_{cCjfT!? -A=v*efjG0HvrXw7z`YZqZ>Y3Je$3II{V@F%lA)zj}SN)3qYstOj^i0k*>H|#b(7P=SK{FT7b%zY_3!h -w`h|!x0wS&6j=cbXRoAFNC{`UcG*wzIc6&l;Y!uH`o74-(O!|MvhPr6t -4=Ka=ip2+#;Kr% -%BIZOHFzAop925+l0-r_LPin8!=!@&usS3Ocs7F)iX#&Gq`MNq0=pzHQUeOSA|1o^Zq8?gC}Vs~3S+h -0#L;OqncNQMmtu!d9o@VS|C3Ruu46@u{}!>LEf5it(OC%?Ou;j->W?2$Wq`tv+QFRR2rT3{=^acQ_qp -%)HxR&Nh>S15EYeL;As4*>7P8Fa=t(qTPuSUkLE-~6nGur3tLDHS;%*6ql|P3hFXxr4%sjl83zX*OohQ6D52Ux(1r}du+Pa -p`ETOK5)d_T2JlFqUx6Pq!StWSl4pA#)Yxt%vlZjTj_(aKYhDx(i|qA4@GH$p^ynx -}!&G~n?lfG7T61{p-t!@-*N3<=gH2Umxu6YTOIV(U_!4^33Dv;Ol@p1Ef?Uq9(`q|9Qo-(Bw1`bpO3^ -BmCGJ+fs{_!9Uk{JAd0#sNI2ALD|BpF@q1VuG7`}JHEGMi~2Tzr<+xF8B?m)$d`khttIVmd~N@dkT*xBq}wr!g7t -=$c0YZe*i{p=B5(E`~1!joVyk-SP(A0%*rg6tV;z`Ro(^rO@6Q3$SHVVc-MFcC5N%K+Z*p&sOtP-K9> -Ua1-VtKAW=1h}}Ue@RR$Y$tk|K2FRf#oXTtg(o%wXX02hr{(0z1m?K$bIDT6`vT9?+okv1w)guktUyww(~`1WX}tRbJ>P+65G?rYTnTap)B=l~ -P|TfPo3Xh0H?+rD7As2ffLR -DA{u9UI}AQvOJC_D&Ui9u5)=2U69l;!D{7BkvhGZQqvGY#I&0Ju${SDg9{3xj=$xLvlBTOt&22R$oV -&}e*!NviL4B@Uzav`q#v!%g-{?P13QF`?imJ6!FvHpN>+c&-yrsn? -viMjxQ+V$@0*_lsYdor4OAEQa5fmsVI%I|S90gdOd@L9gT-uViT?h;N04Q*VkQqZf2mE`?0nyK)$XJSQl=f*Pm~&l>qSeASh=ibCah|JhLaq5+L@zJjKfg*T=MTf?<4mR -R00(>@^?zV9PB&ATr{Yt^i_in2echjXL5AhaueN>+l${Yu<7@P-sFRw%AYVd6=EP0(J_>Q -bk*!vYw#J5UP%d;v=kzuI@OPXrF(F)(ddq_4KI5+}1L -^8UV8Q#zK4DGH0h>U4$|i<9%Pre7xp8i6P}4ob^CAvKA$Z}n$}1?eI-aB27_4JeCnB>?JkWUE-Bdvg6M?U8jtW9 -(_xslj|cf{ez1M`{zZkjUAmOKO|54iQVb)E~{2BzF(xN8m`LLW--91(vs0(CTxh;iFrah?CQ3K*EHQ?4;1eONi~=>np -1QKs<+jxYXw{d1jtyE7u+wi9IrwKK3=g!S_^HeAfu&5gDV*e0J4KFLv2S;G6;kDX-aEh-(R7TtE;2f< -1q=wtvhDt1P7Op6YoHJQEtQM)b>}K*Ir*cN2M!QI|2La~RAyQ%p$ -NmY&^yGBN%GA{a)-Uv@LzuHKrJdX44T(z47MGreov4(CSI2)IVLQfb4S+=e2oq8k#3;t$&F}8t3?Ycp -=kwK)=PA;P{vB}qgyTaLJAwZl`y)60n}Uze%DdPi_XmYm=Tt^IlB$mO4BRM6YCpoXQnvYs5fX2jjWy)My`kY -rI|I{9IK<&|9pLk@IUTfqiXQ4C)00^P*tKuG<6@OpWG*0k7uJlDU -oP56z!vogCne;=M$|I7K@%I3eyN-xB`IgH9FPI+(avs}(KXo|TX4qm~N^B;e^e0FE15ir?1QY-O00;mj6qr -s;J=Nh;1ONaV4FCWh0001RX>c!JX>N37a&BR4FLq;dFKuOVV|8+AVQemNd9_wcZ{s!)zUx;I0RqWbTj --&u00y>5x9FiSG(|6lK`_)vVwWPdBxNTk`rkVwC5y71P15tn^Vy&8o?uXRf7A -)4|AV>Vp%~mYuMCGN^>@C3~jc@MQ}JT~8}vCad4@`&(gvJ8hn?nH~74hTp+hq1C-s&S<$N_$$ji8eqt -Ff~9Q0{SagYrHXY3=qk%HE}6CDM=*Rag2`g(Yju|qe7rh(%G)Ln-v&4X6oLMIV_3YT!VbX>5TnW7;t-B#$CHlW6+ -C(13JbDcBS0J-Yn52t+}wN!D#W!wzHdTxR`^~J7KPY<;&gbez&fFVkCQX>aPoE(u3a{?_$XAhy@_eut -O&DYBEXzPKo2u42h}tFv6wVU&!iEQg`OD{<+|&bs*1&5|Lk&Rcq57e6Y?&#jfw2S5(=r|t8k3^@$0ULi5tCM=9bSYG=m-XfM$T#F -TX&Z8DZ>?|4Es|=XBJVkh}Ham&IU_dAif(}j|ARqlpgwux%l-dA5rkW_KAnC3Y5j#clk -npPu`uw5xD(w^vPFjUr2hUyF~`_cBK0ox`LA&_abJdZQwxphZd@cwt;Np4hZ9Fc%Ec7S*EMCd|)-)2f -;5vkd)%g^OE$@ur$D`B1vX-P04~Qa-U$>Ay_OMq>Fej^}`VA9#rZQO^$gOzxYjSA>r;~cE(soBODZo< -{SZ@IP{JbKR`RoJP%ZcgxWpiIx=cmY}bw>0_nW7HSsj$>5Njh_>@H2FGzC$tHqVEE{8LzG6h(!8L@lBvX_;*!lH}{JHmGJ8$9w3>M+;A^0xmjig)awh;jiFKy -~}@%v(gp(A3%q!J_9sPiBD8GDk_SAGnw9W{CT(p`5Sp;&xo3}173_h#D{plwxrT3ccf#u$y12NoI?J1 -J;$p&o`a3Bh<0&W_^a%1P)h>@6aWAK2mmD%m`>-7%6(%B008G70018V003}la4%nJZggdGZeeUMc4Ko -db9G{NWpZA*3QABuF7D5qvCyTUFEHdwti9Jt?&4%Y2_gYBzB-muKMp`8=!-(gKiJ -YckrFbesi{*&(JYl(t;Pg03#%1i_{Rx4;gv&Ce4^c_gc1lF11Y=VIXIw?JQrie=MLAPx5l<(*T4T7-TdY4&0nKWzkK}o{^Os=Fn6(Z2>)b4@*=+}awUp%O5oFE63Ja29kMj4L>dW3u0bJTTx2Cr -neV~j^@)G`pOe*DaN-39TCm*!Qh4x`aiv%?gYSU!C267Xd|hZRF;i^ -Pb*)DG*xtoR3gMQM&!S?MvQ$*@xJMdP7TrH2kYpA8&w+EWx&8#T0t$A -?AT|TX)T!f2x_=@;qad~lmb$%IiK;h5EX+qwyJ97S-oX;0mQ?j^Np3j%Bt_YAgTz(sUdoiOWu$(1S?0 -LTUE}Vz+$GCnME-sMk>x=WntNC%RAE+Sbm&o;UO6Hf#i>u}0Rf}sG&r+UOhuJ2tY9f}64Fwy!4R@~(2 -oUI@p{VjGHhTBLuV?nNx0+(0?IWoY2T-M -ro;~d1H3^3uun_1xGlird>qu=W9OC1x2GJo3-k|ffPG)5W1cb@O@GM2%$OA1hE+#(t+~GVts?z46*Fb6J%pHdYCnBLweWSfni7}_DiZC -#o-ITWS9_H>H*1}*r4y2-;$`C;vlmN&SbR4+q-1`TfuYR+`WYeL1&@8pnqe$Wv>)8lt+ufyZ8V8 -@OEkE3$n+1iTsD7N|^MoR;St&%m=cgpb@$u4urNu>N^CJzOZ;ouCHrf8j5EiEE@`OmUPFo&x!& -r4BxuCOsys?9yn0*)^6LhSpTOt=oUx0F+!rNVU4qUgL_^QuKJ1Cc{xO!?_L`v2Cab5!RbJrhW)(cuBpvtm1HL9Ko)pK@O>c?;+ -iO&YZy&XX%?CM^6BUCAqPxpWJgc&aFp&E>=dMD&)^wT>~lc)3PoS{X1h~j2Xzz#TY-YyGggi(f#*Y!T -jr8g$%NlDSvq)waLhzK>kPW!@x7Bpd#Vn&{~+$z4eOcB<3>%(moMQf -baid-cC~PdIu;R{0Q=?R>KI6we%rZq~3j^p|i9S7$%g02Q0)u27uMYxU9(LUmoyw4%7B$VU*mI;%QWl` -ZIz;%hHwji1@VXD(5O^bXZAM_Fm0=DTBH3;U7j2V9`Rx$ZISjphG+D> -S}2#m2RURAP;AHx`b|igcPb+$A4d`&1LkMf;|Jk`GfEHcXCs&!nDb1V`FF6%#bk1_}Hl=y5~F@Ck3?@ -`k5LF`kLTmIttn``w%1;oIJLT7;S25YvFR{crXp{j)l|64+3WKVrr(@fWJ2@L5-_dF^#OQ(LvzaHtUsG=YkOf^tBTC*;LQG2Olw^>ZQxyIe0-cM-H*}9Ie7Fm1nWQ4 -xwb+%AG9(St9r5E&fyAHhrclAuT#e9$ntSGog)7v$vgjvv~JZHEr&@{}(?o0mVFpt0FK&0!H2}?B~_! -s=6g20ss^k^=I;U*)6(4oBQHm~4%x<-L>`N{3oDlqYrVL+VC3ns~SoMOFHX -0MD&fn{^ztK}Qvr)u={&8LF@KLtCgbCPc5f-cWn8*A5I;v__;sBn)6cp?2D8?+8Xy;jM?=t6tX3&`zz -@*m&+7EW)0XKaGCJeg||Ghm)Yz-$?#7Y95v7aozWRv22Wh90&BeVPSXMgS@6aWAK2mmD%m`?Rsje!{k001r$000*N003}la4%nWWo~3|axY(BX ->MtBUtcb8d97DXkJ~m7z3W#H%At1ZXp&fWLv4TBzdDWqNvuXl7?XWlU;3kU5Yh{!UO|LrBF@Nd%4ymB*G3Rrqw&xC4E;)4=OV%m4iOQ -Nr^qupTWRoQ+t{0Z_yy|^#DbEqJGu8{ac1HJ}^7x!2!}>;>_4wPktdqVTAKlI+$s=)TwrxB>AV-CtYT -bKdo!Hi@s6{Pr3AnBMw$w<^^!6CV;TlpqgJ?JaK7h)JTd8~E>i`6Ad&r7Szkk1ccXcUVi8siH_DTG`M7JOoa8zFa1ON>nM_M+(OzD@WU$ZaIzNQ&)Zlnh;yp!iEG4V}; -ueZAxgg^Pvu6aH=WEGkg{9P=Wvc>od5~W`~T?S|RTu|r5+u(g=t+9uokHmYZ4p{Q3cj$5ysP&K-RK#p -YE>`Fr=tn@klg^=577hBg0@){lHUK)*1-N!bK_QhF4M|9ouca5)*F(IC^r3w~K}gv3^&}D>hzbVXGw8 -kY;Cryo#Gk4y&~5Ysnka6E9^!sE#Oga#mUH1o7<=u&uIT4hktU1{$KVUbHa-Lj0P%IW#W#c&1^qU?mU -hG`xFbVqIm0j)9?Qb_0CV?v5(#Y@!5pQwrASDEf=w9Cf~KHEQCP-EQ^eIREPKa-M7Wt9QfSCIx#7-^* -=~dA25mMt#X5L8^W)xmEgiU8lPqC;5H;sFqz!BXg9GG0f_|Bcr+maxyUtR7D12FasvD3Gw@G#i&P&WE*I)0W(6H%)Vjr@Py&n!;Be3{799 -wT3Z>43Px=SYKCu~A8cGjPOz{t>&i0DD-JMDg6Xh}bBq;n)TqLg<7AYe=@Wz3ja{dTKn5t5*#^3m_l{ -<6Z(zgIPsK)v?-|bXYs^-n-3x0RizuJlY3W&-T$Vsn_j585;gR@t;NdtR#}}HzC_t`|_HsHK8O$&bYi -b7Z9>T@$91z_Dl8l7orw=cgVXSi*|Je_gPY{{K{@9gBAM=Unaw&e?`zCj@j%`2SdsM~gxXX^Ddyy8hs -0pBXYjD8bO`|bf8+o$9RRA~6u3K}mT>C~pKW7hJzhN9tHuw$a%o^GP!f^ji)?0nZr>XeP6!vZ)a2vfI39R$C1ZjSGqa_*hLTwT -s{(9{{{XSmGg&|$&Y@NZ;Zs^TF>X6K~kd)%DP8~(>EuW?r%$p252EZx5tgip#Z!xNeaCz-q>vr2XlK!u!z|h-Al8;RJl5{$r -I5TcvIzFA)-pJ{sPn4rj6eKaGNG(BHQtz30kA0(ktgR{lBtcOZJ8pM(*7}jq1W+i{^+SQ=#^0KWh?-q -5X!78Ojc4&N3@RIJYjcaaVb2Q&`z(q3TR-3(xPKImXOTA;#;oSn+3xoC)2-d@oo#mL#@-EY#ZJswE9} -P;C*tfZaP5*YJA3S;*PF3R9!K8){!bWHDwbuvi#^|qJuX;3j98DyJQ{fcFu@h!=!7w;i#EorwPNc^Gi+F@qEFYpvMy747iPR1Cz)6hMk8o7yGz+_NH}w& -cc9Ah8z|WhfKsFTmUWBb7F_}JzsWZOwBHm@i>fPd*r!MC_n_nNRRiO#E)%9jHmw)uGc%b?*5$zTZ#Dl --p=;!^Cuf0TCcBO?d?2&va`Fhv%9wg^1%!EcUyAexa^|EKJ4p>di;j_;h0A@3Wm#RLN^)lASNL-VaP@ -6L-QyMTt1Ey$8Y|4c?t}-W+LXJrWf@1)E>qopC9;o6~eA5rdeVs3+`x#Cea4>o^?SVKi -uV9l=4Uqz>bcEgwWKVoANy>D=&0081S&=!cySJ7Be)27A(Ad-Yr+-mltK`%CBrwUINfi8yMo;^2C{Qm -J?&6fzStp)W&Gsa*cL2PEL8ogeaX`x84jV0$pC&!EeG1+>MIzyrhP*guY_3CE3rZ&?4xhBZgAn1CtOs -$ZNNr&^c8)NHyR-3vu0a7IWf9gahg?^^xi-X~x{j_vEN2Ko1(h;Slc2DZU0^%whaX*IIHp1~hH1~+2r -CrF1Vu!$G!?N+IQ`wON3OHkys87-yPo`|wPI1dBfz$oD)5J)5Sw= -zogR}?xB*aiou4$P#iD}o^Omd8mHuzuqEZ0y8Clp(GVXUfGrj6N_W34}zQ3y%;G^};O05{Vzlkfnmqj -P5M=JL@ya;Fko%i$jzEU^b9#7|oDWL|pQoZOkN>Yq1(>7C7!<@KhSE7g>O7W9F0q+CtAmC4rToEpkxv?VzBSm3XV9n`*6?t) -P^-8%UXD49c7};}tt#qkM?sE*!YCev39L|XWdnz_4TTUD~BEi{_ad7e(w9@?%WEBs>zn(`Jq(bT$QN9 -8SU2rI594@0IV3+`q3E;?|*{FEbSc4`p$V|e-2UfMDk&g9ZztF43&ew -*;E1Q%Wu1@g$6{arR_P12p|{6cPlGLL)lTH76dpZ`V|;m<4W?Ji-qL9@s9R7NdhkFfn(BFlPZn5L{^b -UN>^0S<`i&egFNFAD-9Vx9pwmIw6af1~m$mXsm7`$OOR}JRuS;RD4jbljB;83E>xn-~E(chCa;SzniZ -WKZlu9vX;a^%@=U<9F(5%^)B$HMH-Th?T5fiQw(9=Y#_F6U^wss_8)*yI>(1shn-g!Z%!KM24Ex}1fi -5XC=U`Rt6`o|DyrjjNBiw#1&t);Q%Op+U*O`=FkiOwD>w#ew2_NL3P>;8^Gnfl<>z7R&h;7>o3-3w>S -wHUneWh&3#%fEG~=3dOO~{d?pxV+0c9e6N`TUvHrRxNRr-E7A;(P-CrU}-=7N@GjL2LTaKkJO4b~#7Q -NaiiJ^nAT9p&%?W)WVpGSl|@xx@oLjLC0*L0&r0VJvNTA>_tzKMgpr6ziyUcKo_?czKEIu+V(ft=AVv -hgm~PgmS|HAUB(0Kg81!Uer1R9(RD>4hXFWV3H;S{A;p~{Fn?EmxOjgan$TqGBrVOyvm`MhMuHujOMq -emk}YPnkhwt&izFq0bB=?MeD0om&csyYVoYiV}60zAW#bIk!w}MP^*nHUJDj#t)aU$nahTg$*JtWP<} -Zws;eX;VI1{VfL3@hzZ;;HPy{I564Ih%dXIqi5zu}^fHw7oIq{912u8(#xWbgAs~52eS<+;5=($5&7n -%oGh!w2>rUUC`z9+Z9+Is{OLt0w_dZyOReoXUcg9!Cu5ZD&_Lq7^fERAZ%XK!1qAU92>fd*Zrl3{5At -~QGKs7RJ_65weQiDK}%1rq%V@VS_GTpG0&?iYZcB(xap9YU;=py`(2?iWz0qu8vSI-dVGKo9%v%P1Ux -1T?nNv)h6hPe9`%^+(vlL&M}b}9oPduA8Wo%Chg1i|NeSqOo~PjN5!ST5k>Tqp%NSl(}sG+*6F5BbJz{#ep?iqhmK^ZoBeQ)rlBgYgl7HNEFd3UoS&Zkw7i78Swg*>r90L)b4;wPa2A)eu(%0~e^gkv!7Pc%tWR?(sr1C -s0E|X5S-%#RTh!uem|V?YrVw_=MEqC^drZTRX;=#Hp-W*|&bgmrmIUnY?y#jo -3BOr4U9l6`r#YmPOhH^Dj1K6;;W9ndAY10uh1e85ItP`aNj(kRWN%Nf1jg4cRAsr;(5s+76qm$Cby3R -P=n@6zL$TskVttL2F?M|4$kT&tQ=W&~efPsvfGnus#w>SI0R537ePs#!p+;I~Ff;n)lCFWi6KzG8t>J -|d+@r1WhdCFKiQ!6L0t%n2QJDrJXi4g1El))D%JrF{mU%g&xy*WQxPTE^(y-oDFWD_gp+*N(Ruq-0NP -5LaTwxg2g0v0n~|)N<*@JkVNw3iq{-T(ybmQmAsrhpiOFinNdP>1T3MG#8N!23!zZutK~|?;!L-S4d| -D)Jq2i2q0-GY!GU6hTT7xJZkjWtW`-!Z(kKIPlON@pda2^9Z<{%H?0&F9y?iL=Zcr%D&MA*HP0J|Ak6Ve(-gV>>!LdUdj-a#z)1x%w9<+)+Fd_|De@AE42k -k8t!6j(!_(^zr8)7vfv?;-S?lWX>SV2BvRj{wfliKj*8}4LO^rhVt0f@ -|kn+U4_UsXY)%+ti+r`CC_>nm -Ccnid3Ia=N#!?Y4IC~zk68<*K@B`DI$1}MJXahg{k$5QZ@YO#y&f%Vjhh-zS0qG=Jy>EZP?|u>`Ydo&J;$)?Qa*`{JO#~JIcYSdk~8)~i8M3t-=!X;aK`dvYeuf6kq84_)fR`y01V(fe1~)w -Lc;JE$MQFj&MhEJ{9XSjjKd++=4-r|X11pU?otof&KZSwoV6w8UpfvME&r9JCr?Im`)nffpH|GnS^4j -c@=}ujl&3fmUzQ=1eXQ$Q&8LKk7{1dk@Jc?(jgiOQ7@ww$FJ$;g=e3!d1wt%h5#uoe}q{1zeE`^9V>G$OxyKvOg!3Ws^W-iMi(}q@ -0YU5tO6n+>(f6noFO+QVB~=kZnB&i4(!Li*p2X1cux&LVO5`QA|{hg87()Xq!X^8548xDE-J -+`n@h#AIykVs*b#zg9fUjZl=3p$bDbSMP;D>&bC(OXCC&MrGU28DE2A51PEP^!qEuw(ZUhtN!vam8id -zo|9^eV)T15-y5=)rQmw+i0Cf5@pJn(@H@y1!abi0A@$cba{(R65T!UlsL+mh=Ib_I3~dx4R2 -t;z~c`nfqm5nb*&xM3;G0{ba06bbsYi;56xsQPG`-1EnDZjRM$)k+(2x!Y1C2r$apXf(^>j$Ec1R)fF -lSxIYy9fy-(5IH^hvBM#K>ke6y1%^HwIyamRy}_{S#mpT#QQ--ajkI3gO$Net=mU%td8u3u6ek^MvE7 -0953hId!_)2O&tGQcilHMqNWFuk=a4o=02dbtT+f{|hfxo|EBTV`K7BfWgj*zxg~7Q_-H1Ead0cOdGK -m^8O^2k>W^dOSdvonl_PW^y?YB_GsC?XpOKs!_@F{+}k)09UlPC(K`AM;YR>^gKCskYMo%UMKsa*6~G -4E4qg|b;1j_jj9gtH_*?tZ^IFz!8F847oQSQ!1fNgr5{%-Jqz6B53%bg;U9AGW$X+q+Msj8!)*BY?+~ -Tkq`_J^y`8Ze?2}xGf}&+A;~LNkM{N{ -6F+iekusMd%>bJ#d6Q3vF0uPBfwR!)ohVYpYsxH?RIt`7TVdo}n+-S9PevNiA+^_z@P6 -YuDAG*mES5i_fWzc8mt*gWHqm!)5Ty~T8tP`9b?q -77j6q20mnD2nJPA@xGzh0hbJfYkIr<3sxg>demN!xMQqAW&gj6<2yYW2E)NZV>}TYmwMGV;%Zc+_g`< -4^icY63rNH!^HM%_aMm<{%=Sqi-(hYm}N#K8wqUMsAhjrq#K`u2Wv- -(nj-|v*(Ac%Id308k@9qn}?e}hTmPrZ+3H%aEDwMKdlTh?sP^D(C8>JXJs|(%?x%HmcE--)8PJ*Jl(U -T{&0sY@bk@3+SuS?!tU8jV_2d25cbx?UG-k!u#nkPfx*-LdZk+uE|&cex -KxcNX`qQ3*dinyjiJ)w-2NLX?}X$u224A6Pr~wi<;22SrYAeW2)bcuw;0o!AFXkTapaB_{v?^QZs-6 -#xJLaA|NaUv_0~WN&gWWNCABa&InhdF_4uciT3y=(q*P`;y4&`7>vrAPZGD>9IkD5ddy}k8 -i?Ga?BDDl%TbtYe{mlmef*>f#j+4B5&(%3?OcEFjW(I?q!2oz5o)xo2nNBV$@$~VNKM&!5-{Akg6^Cg -FA1`FS@nGYDc%F`Bu4E$Sc_K?uT}ZJzi^uSf{xTH5%TlF9E}lk@MIQ@n>Q9@4zW{_qF&EQ#A@ZUUb0q -;ps>FGkNg;2>a#o2n7vo|&%hEU>OL3i67u1Xf5&?+6YY@d*6+`J5%Fp2G+$|^KiV(i2s@e9VN7vWaQA -~(NMLBttaUu2S`N6aO!{hxeK$eQX&NHc$DCIxrX$jptTZniDxQyd7z%YxiMNx`)QcCz%6^QF~nO12&8 -46XLSJ!bV0ZNjps!Y%3RfA9lGw82d07w<*VsrOc92{?opLUNAj)wr_ZwDv89=$#hf7^ZaYWMKuVE1VNf_;>N!!QtLeNFWn5BX4FU;txosNJ5z)y^f`9AaGtVLTV<*>3KSae&v&SJdt8 -jT*)$r?ueNzr>R0lDnKs*C|Np9tGJ>!txiQ78=IS(8z=DQ^ptv6oSq6G_$7kvJMUBl;1uETJk94fV$a -Y5AP>Z>EUwZ-s*N;I&#Hk|EN|bZJsmOr`^YMj<0b}4G2oUgWV+u@9bGcQ@I3Xr7Cg -K371~^=4X?2=|z8qA@C2X*iAdFK9{Y~KSSr(5aJXM7M%SClj5GeRtPc55 -aW@H@u|Qf_}5Ut8|;ATwU}ZDrUgimDHCUDwTQ$nP$8>;Ie_AoB<>O-OrSG4j;B)Oatz#$%LTo_(Zwik -d>#E+Bobs}9HYqbn6pR#Lv%s$b@Uw!xh#XeP77?O!e)z!MDdD%E(&m!3AFagE%_kob! -Y2LqMj;MR>kjlLlqsNpzM1)#4HNN|YNxJ4Vs6%-mGYf2d7@ZU7f7h)X4V5ZS{k)i~Q5kDNDN5`J9)NI -}W8sspJVT{lSIn~X8)X$}O^7YfF;(OE{3e?Bhe4?TmeJA}vWw6K(ry~@F4P;qUhHyA+0Go=k5`{8<0b -})FYGGf#SBQ;%eUZr<^N#U;eg=YrUESE&7`;9`_zzGIKkps956G+(X0LE`@6^cBhWnihr2KKp>nTKFkUhVRPAkSJlGZ|Wt^*wWv!x7gz}$bZ?p7Y -s4qy-AM9;{-qo571nwLL9&xaShtN>lt093v83i4SwYB{4@Ql*rR7^qY3e;fRSnHwqO)j>@?{Nm~0jYA -pWA(ZTf)661ab``O71yA#P)>#jOz^~V2Ac0uc|}RNsWEU=)ooL=+u~4n8A@K^n`q$8nNZbM|NFX3a8;H9kQWlpme!o$*;IvW|Xpd -y1|_R)lQn(1yMKz*h=vEWls|M~Gx4f0D%<@&F68A1R+&s_jk_S;7}`%}{(R{ -#F+W!%(t>8KJ88rFaSB3#MJ7)40fymmS0u{ZgViArnxnxCnx) -_4gsA~MriK>fIcBs_WD0=zxl`D-NUzoe)Mqgwm)_-Z6YVhxj$4`y6XZwGc|iC7 -NjyLUtY04t@dd))*cGYK%}Xk!RpKj5HFxA-@GBWv4X#s*qFfRcJcYg<-m`obnscGq7jQMccgVpU<~61VK$Cz8ZkRO`|CVFf^IFmzd7pr-OBZ1(Ew%&-u5gKXNX{&};mKu+0d~_!WpOYo -^OgX2j>GsOHwxF(zWm8nr=V0HnC+S$o*mV?o;1H@|>ylctp9pYU(_hVJXvLw>$7sqaX~~(QnH`saAfT -ii9Fw?;$>AZvQPz=`H}Sa2(ClZ&j-8_zL-?-jKJf=@a)NzczENh -V{%C?kZHv8@O>(3%QfV~u!R77D$btV(B@?vKGFtq79!h5EITpMu^;uK~Ryw+SVpC>m%2?LuSd1cS2y2 -DR2Cj4Od>hYmPgai@aQ9YNwL&(5_{c~dPSfb(zRIGUp6Xwoc1@DP<)Fzu&3dgM=N8QBjgKgq8^@1VK7IR>s2%9efxk4MM+>0BmYb= -yxr(<6UUV1zm?9KSx^*Fheq6>S$&g<=LG0s2f=!bhycALD8KucGeCE#T*=l@g>G$xtU}0$X{L*jkH6)zaz2SeS=mqLrIgOMpW)GbyZgwc>R^*$%={w0lBi>Kh@UZ1snjHwaV6F-5fwIDWMTOc=J#e#;04=amZ)5+JGQ5b>F7b9^tgw=0hU4!Whmqoa6sEXY3}$gY#u2MPD_2u3>CX1FEskCEsZ0$4a(SV>;Zt{N -ezACyd9I(3r}vb<>JcDmNm7Q0IZ03JYVArTx6J)@+vLn3cR3NCN(rW@wKq{gy+XsN0e -J3pf{+-+dHqo~7`XY*QI%%Q8+ux97XHLlSq=Qe#OoZ4^)4N?o^2WC}^VpiyJWg1vE -1Tiq=-`VGtjq+kpfNiUeiYt>B{$GN42(rNYZs`zI%VAKeErq#Bp$3pv-N4Z^q6Kn-&@&pax4(0E5j+?@~SGC?}(@G!_k&g@GYetx{iBgM3;IW|!XsO -3dmS(kzVVx6$LxK^SVSux!N?%@D-8u#omXC|6^x{xDYGpgb -u@J@bQisfN0X*fbiZr)@v--PC|Xi@~vf1QE6pXY&26*2`s@$b9p_aR?o7IX&+qWza56g8n5x}n8}*c7Ef5-lr}=Q -RrT+0DhsTuP2=}PITSE_@t?DKnk6HqHNa*`W!DG=p=&GOm`S-Sl*z~S}dm;x3gi`VBs+hVy)+Mjk33t$w?@q4Npsn*d>^#2}OBpp(DQK%Hg2KjXAkhx?s{{g^YqI2##Fiq&>3t+KkgE;xCT@tQ+Vjf5FP -&$EUi%l<@yshg>q!2xO5JlGpOKlrU-Yq<*!4sbAJfM9yb_W)?|;OpK*=Mh`KSg -IT~yQT2VAvSB26qbT7rz*xnz~zdZx8^#8|Hw!_4@49M_(VwaN@Htvjd}m`szH{n0(L8Qx)0$vP%&?Z& -1*Z5_>0f*Z4Nnuw5}1W3!^&@SiNWv9)X@4gv*^QX;-#m6p7IcVnzrX$S97d&!IDmdnaQ&cd{1hh}%;Q -d_H$ul$^=&n_?Af`Clk}p;Z^TQ^8&=}N_NaG8w;Ru=J8JqNyELr_|rrY}XbssMnR>!5*2n{X~?pmHr0 -t$@vTZW#-vZOsdt#lJ#Z>V6VTtHRjv~tN?Dar-SZt9}A&Q0LB_LH>`Y7;(+wBwB3+TIqN{coa*LT8bh -UoTDSOw#5TlZXhPzl|Pud}XT_$~3`J5i-cAx>uRMqLqMOebDsPoxZS8uTkU=4;fTXSc>yCd{hm8u>=L -gYG8jjDQcG1IJo9xU@HgRFD2*zS~g&HK*Ns|4NqOP@d`wbmh9N>X!9Ja+fcsdAg$MB3uK|2PsY{6rXPR*0wfGAzTb_6 -0Z8{Ic0uxJ(#=to{5PW5l5VYdV1O$3RU{d+S6lZK#krjySw!pTj#eO@&8jf{{` -lOuq1dI?_Px=w3X|BrQpjsji>To61JjLySMV2PC&cRaSoGhY18=};mYTcvNN2naj(N7C#f?`4Ip%m_?Gc*$B4CMm#+ocsI1-I2^gQ~F}7x1=^nKZ$W6wmIm{ELdqg*XY?M@CdDXHL0;R7^M)G0(h -ygfcjA#iEmj6_@fYR&0w?@&Wa*~+5Q<11R57ez6PuV004oY^ZEdVMw9uVQcON2A4c-ht+6yKG%Wt`%=>Edh3dPUc@DBJz%_f< -GSIGi#i4u*K|Ow%~zv;c%`CS0nvQm>6&_975=()jv-V -NMnJ{5ya_2Amar}&G{Ix1n}g8r{>%AU2D5r#BH8{NstD|vIVBr}#U3F$fSOqjEIo=48F%HbdIGZ(W2{Xj9B2H}TiI3CV8)VC{(q$XdtHE#yUUR*tq={K`9JFwJ72 -~O24WY-AV&u(u`}E*wzbuRLbelJn96UPGTcFv7Ztb5G_H3jMZ4?EYsgDVap5YGuJLJ+ -EE21^dNfuLem6LWr$sPA}5uKvgd;<)4+py~k6=7GR_eGlb-6I%>!Na5m%?1Oi0vZjyg@$`QJfUnpV@Da&0?Q^ -eXV3u@=P6ulu45>TXV-hey&&3qYWgX!OqgO;nq4k9DuRU7A&n;0Hrr8+O}~imdVL77=-l=RXsk^)idv_n&v<_DrdF$M|rvJL5vcJk}YWwdyss|Q34TQj_4j}bXqN!WIfhvPd6Dn(Y#8 -`TVP_}mthlH*t%zm*aJhC;o&USe1_(A)n2b2P&Cw7JqAvt@Ws93bc*{KWID -?()UGx(!h%d0r32rrD%Taej*3AES=yA#OD^bgld0Qe<j5}-!m|GI)d0$6y<#z-(Yv^c0XgIPN@yGu -D>ei{hRiT+LEk#?{Y6R1GfdroLL(x9h8(6EsSU*v2P&ivysC_-iq-t;4|u-c3}>^x3*UdvGp5wM}{S; -E%wf5C?2HWbCn3nVN>`YaJaz+Q0fy413V9Cbm+aGhqXSR?2WK1=R@Mvyz`@>A2# -hP!E<3u1@J3>Awi_`gzwMudrG?@$@$g_0bBAAJ9TrysI9IP3exAGs&mILRT>C1Qs$M_18?Sz~JK*;%R -ViYYx;ZV06xb`J2(^K>T3Jx-XqwpgYKuumY;Nc4fayI{4=fIEjC|T|@5gtd#L(d-93B|h^3~vN^dtTIqy591UV%H5rL)rn7Sa2@({jr+&^6mK*L{ouw4!T8ld_o4RKGoM -Ye8^<@Z9Tx;`!LC)gxUxY|PZn{pGippyu}a@Sf&Cy2~2E;_s&kA)-6xN{M@7!JEhLoSrr|aNnV)jScM -g+EZ_*&s}=@#OY~cm-OvBx@>#;-8$&)Ho8myp1yN~QkOCix(M}U>E3Pv6jFS*2?1Sp`B`p{0s(^&ZSN -cSmb2CV>-EoWc@1mu^*iEh%?dSHl?&fi`jxl()?G9Ed$WbUP>Mk-ZDr`=H8IY$5N-sH!BHX&p0MdIlE -E`=gw6}w(~$ojjM2WSw@B8;puW}aH@Tn{jbJpO!%Vf%mN}3?3w~8im;bZ}MeS~@~kR$+AZOaCK84iI8CLU8Aj?@mv0~X(Jt?5H?9^qroye@!9Yd8 -_4q)7=2s&;JDzb^mvTb7{w}@MO5`KW#t@;;h;fex=j!9cZ|h|aFRFG9O!8qs|Y)4FHt5UDO5)MPY?@|5WBiRq-(M{I_)!0u -mVA^LYvSrihpU8i_hSc`o^N(I!Eg{5=k?o)vLUfo4oEhSsXQ2R8L>)L-snA{`D0zJB;hFVHEC+zxZ=+ -)3lpHjxSC%2_nt*ko9^jB|Vn5CURu$QU*Uu4yh$8Ra+q)Yq9b9vPF;!wLCbBW0v3T$fh(M!*5wpFUI& -3-5&$P0r~>INPv6)voAP_QrB!LtS@c=5pjViq16Kz%NL(5K`4m2L(d^G=SML!ChJ5L(s2tCv`b)g+b* --?y-Oj|5fT765pzWUXHE?9evS0TTi&GN(e(v1LWlm1)GSMJ^B)$gJMe(-OF?LQ$C< -vrSWzy}>2*;in9Qh7>3AYy1~0MzG+<7qh7PQ0e5p?@OC+6Vj(3tWqfDBk(N+3VYm?61;N1f}TH3pV`) -Twor@}L?PCZPHGHi3w$sdSbs*0`ezWek4-Fnh9cLvIEm(u#$W(xE-*#E%rUFYD&oW&`0Lg=2fX`y;|L -5aDw`UX*V&FO(T>e$@ZO6L_CVdVXj`dS}*_}6)QgZaWmcBS`2Iner16q%da^;I&sZGa9}$E|iGDN*DM -RnS#xp=?-@f~}0 -cgPltHk+VQVNNuDcCg+|>iHGxn8ldfv9vqxw>2PtKkc|5Z|2Z#c=P8ioEFN -E~ELImns&PESG&J03HkST6r&FEolH4N2qwk2poxD?!Hok>A%@DO*Ueh4<;Gn?GW>`{I<7l9Fph-h7UM -js7GR37&pC}J&xrQdwNlsnc#J52Pp`${LIqWY_Ygzuo)l?O^aBL%;m_k5p`P&fDFoM=98V{AX2kY;4h?Y4e=81%imDP^2-*?Ot|Z{l_;SS5>I1MLmXc+;qfux=(F3OeZ7Sk(Q&fTvS3B>F8k&vg-9;WF-={&%p3GZ?DAo;Rq27VU -fW>T?o4-X{z|H=^#-{eO&Gh(Iw3Ky6I{KjX~K6**SEjhn^OHj%~sHk=n-0h1kkp -iSi---JtXgR4!jwKp<>noYGtSB0%j6^SEmu)X#n4H&Gl9R6hoUyS~hm -!huqJ<;URKmMdAU*kBqDMEX{Ch1@4H5G3LxCrg1a?15gxWoMmm3^nsCHdyW~2?_UI6n8~+e4#iO!kMT -&eeY|;x_Bo)+3VOy?r=5aKgDjeu)G5XHi)pSPqEW@A&T*MUh;T)B&)GGPs -V2UVH}4wUJq^h04POgK-#3ghmGYU1++o)%iJ;!bShJFECP@S0c2L=4pffTECdM=wNfY}CNfWaoGo0al`eo0;5 -_{;YQJ%i+!*QHLOxEX;7*;Qf&BZJHosL+Xfx -Qg{nkR;RA^)jmh}DrCO9#47X%@0Cj_9I48?3DFTBe)e>}hdBGh(5_1gv`5&Uz -mU@?YERyQU`oek;`3RA_6|aKLmAqN>T5Glu@jK^$EQ+QUe2{5<^erWd;mwTMBDkRRz+M8` -&b)ab@DO>tv`}q7dNcuE%+GMk;iEh)AFD^)vqyAlmwNQ%o2Sc!eQDgNgGNZ46>?8OQ}X|BGX~5%4o7c -elt(U2aE!!@j`(s*1Ull)pD(=JTz1C}c4U2Er*&AlYu&xxFY3>sFt45LAD+N7UP!pV=gp<9mQ2*{&Gz -=z6K5f^Iq^AxtFAq#D6kWGGXv_P7ocdp7Y|eK3S>ADt;TlL{?{5A-#2cSdb-N1b+-1m+jzQG8&6iX(O -8-E>v}Da7fo`#21Q)f_(42(8r#^=gB0qtk5{X&(gw3f_a!SP6H0Z%KTz@~vU*PM`sP&qfm1M2@L68Tt -Z&Ni?f>-pmqw8|NqCc9X$u`!pzo&UEk?gN9zM_kUeYg!MO;qk?`T)&#E=Fl`_5qvJDVo;wxF>F+O)_v -2M!#>U}TbNY8mfsZM|18ISidQ@13U$nau#WK6%w{Wvd-t9@m?7jd;um(Fxk4s+>!W2Q-eOQKQ4!6W^J -DHeN6aj}hWi^Iy}CBCPl&O6Jp<>ht|fc=kGmpm+W>q|n6(Z!Y9KL~gSgFmYk^4l#E?{2$dD@?k;l87< -xzH>ZF(=MyYD*rn0T@A_yLZYcz=qp?8hK)<66a{+3o5mOiCJjKHcS$-)LKN_Lbk48Eg&qHA2{{c`-0| -XQR000O8B@~!WE{%&KemejF>^A`b7ytkOaA|NaUv_0~WN&gWX>eg=WO8M5b1ras?R|T98@aLP|N0ad> -3T@o6h%@pEi;z0ipQSOITL&C*hzNR>+m$mrqnUn&0#n7$Y$?n->Sm<(aokF9#8Ht_j+s+C=?2XLZMLj -VUNAamN%>9{Gwp}Zuc4cKFiMMF*{2qot-_#eoQ8Dn#WUCWbCK+Z`eAW#w!*EnzJp(-adDNcKIfdTot@b#Td>h+wl3DIcr;?kVwtT9=uvTK)eq#qD_9|N}p>yK|sNJyHI-Ouo^ -PSOzei$WbF)D7BaSrvG@Q-$Dr&!$#cNlz1%dmNtp0{@5>q)#U*xP6kzh14f6|c37^4zBZoI-8UwUU~4 -S@@H_1#-}9HohrW$Eajb^HW&ds2aKnkOq9&QD5d#fTs -o5dQ*xfw>~N47XRC3aXL++6tvS|UdUSggu-o%lk;gV{!M+k6rDlBnwUW_$&)lMqI42B$Cqtiv0 -7Fo-bNGu^Wp_NZm}oOgeze96()w+SurR%swi**S{kS4#f9HfpD9_Rgt2O|fHLxy@arSpfB2r$WiMElf -t6$Ok4ff@vj+Zm5fuz))Nad_kDw#9?+mn$ -x6ez)bBpcXpg!Nd{_$NH|Ih#2j&msARxG?^gCq5?Z&~+x=6q!DGEG7K8*4MrpGnM$3+TyJmNxLu)n}Xv{mwIXbrG*(GL$U7PVypPj1;YA;v0 -~}Xbbo(u|{DMC}*5Kz=~QjI+JXj7R{DDbU4;1Rhn{WNUdKhryC7v6DH8ApeY9ODB|Tw&z@xX9eXJZMn -YyCD$u{KE)rPT6VNiKtsA~c;`x*%S{>Pw6CwlcPv$_DjXq>WG=H~(r9Vl}|D0SWX)_!DBc4b*JR0Tmt -jK9G#4+Y$_(MEjf=1GKVbx3Mb8!)~4E|U#>eVXAVFk&c7&!zvL*pr`k4EzXDB?ms8pXeiM&kRw#Voqa -k||$YNz?`MH_8NqY#dJ_a2sGO*ffiC)RYS#Gmo`$8JY>4tX9yM`3<{?3)Z|SiskU&V7xxhJ4^1BWUKR -oB+u7zuiHK9x3pRiU(Gz8&)U3Ots1jn$EcsirS;=q)-dN_DB#zQXo;6GEe9_Jev;jgV=%Z**+tw5kiw -KBY9@a;1b6A*yu5#NGVHQ@)R5mjD&+MJjU=**zXp3+Au~||tD20Smv{6IjBYawzs7hsiEWT3k!@K5d6 -1F2C7*n>cFunK>(P&|-+uq$2WbAVkN+O1f5S4VEY>OC2mCdfueqz%)PEHnp`8kS%jj!p4mT9E*FY;Jw -h|rMIS8_E<6;rzpYK98JznavC=reGV!sZ57X|QbvuqcvA6vBbuxFyC#AL$EY#?YJU -@bNrdog1@6v@v9-f~4>`(0gbT3201qp0U>nS!>#6Wh-O!?EMz(>u$jAvV6T<&Xaih2T3yLiU5lMEYpu -4ANJW*GM^iC#>jJ;Ct$m|l*VFHH@-nljMno)^y6phveA{(luC-h#(p4E>YpSRSr?6!QB{xI5S10X{aA -G7G3}^;mxNZ1m2jg~>iUVcr(@Rsu+ -$3p#cOT!?9vAtF3uy-p-M92fTKI|gP3kF+>9F|bY$0pnHHmns7Y(pNl)nCV!C=LG2*%HC|7PbWE+G-Y -Q>Hhi#TX{=&4j`Cy@&0#wn;U;~Yq&!#;S}+DTpE@Jx>X8Svk>*wKQPZxSc^dk#7VV+hyTi0rleF%{zC7Xq(` -yLjqP?w{i&d=b-xmbDqIJV%Vz5T*^Rnp~HfA}JfDcq*qMNLMtb^hEa1nC>O>4AofDk -$egkiQW2qR!zY(J_Th%uq#dDbKv%p=5>)}3?{{Stj5Q-MS*@)X|)#~R}0%wn@6#2l{4eGZT9XGbYY%d -xtiwb*RGt~;jYZMb{*|1r5W5-X?lY%sWpQ;YYp&QpV8ZmWN+~0hjO5Xa+JeDSd6kIN-mm@L`=aSQ5k{ -F7}YQX5PYQ%dset)rExrsr&2mdnVpyihN`g+k#05)ge>?m2mRb)FIj)HAGiB1g~cXIV+KSRFuX_#jF` -aiJzDLW4wNxA_?;BTEJ>#_h9bh`%6rhlcmt(iNz3D3)-j$VfX3z73LAosuAvhXiqn9k_f9SK3+ghM8X -z`La&nK1O2RRamH!t;*G5QL7xX$=tQST -@)CQ&{AQM$~sy=Vh&*nAUVV+4!_OX#XKu^Shm-zQ0Nt^gxJ9KpQUxL!NOh}gPvtFwu%}c&sETUEN&)A -t$#*pbjcrOdXY>>v5A3mOgAxk$Yx9H{T>j(qDx?3+_zNE?3EMvxur!{)d`;-Y4NJ4($Z)a7*jH@HzD+F4h@ti)xCmr-<(ee^UEb -vGqnz4%q(@4snK4-CSlA&X^JCgNn;-CLXgZX;a}CGJsXkj{OvD+6C@dtXDjt`#7z0h-=m-|Y5%}=4PW*)RFx@IuOSh>Af|ni+ -Df(omKmIs+_xAOB+nkI+p+0N(X+DpZxmqaWoQMBlhY)gyf6THa2G3U6`uxH?@x=KkXrXrsj_PE+TH&@ -3Ix?PTlh59&ZKzz&)>Lbq8#Ig);$^?A(hce>p%Oo-y@p){1{M6dCH90l6CX&ZS?i__Q^0 -FnmW_8#)EpbNWZ^)J|V%XsF{dYE^f1rUtzt7ps^g?+_I~7Bgr7VXuw&$j({!v!_#2eKu%}o;D -(2q8SJ@#jk2*$AE$(jNKf~r++8qfXKtP)Bb7>7)!PIvZjpCWxS*o9nDbS7WVi8Hw@w^{x2#)21!8HX(+x; -5aiufkQ_Ob*oo$)G*rW0HjWQ~`ckoSY1#D}~4Bwg!S;I9N~TQ2v%fr%b4+pk0^EBN5}$lh)$WJ9VpBc -*N;e##9oRCP_H_o-ns%Z-}7aoBjoTN*zM>_DW5^aiAamJ?>y8xVBQ#p#Y7n?-Vs7F~Mm7AZ5hhL-K)C -*fxq{}4v+<0qL^$pd*-e8{}&;6!({@T?$@k%+x?e0e`zb;(ed>%1e;hp%&mEVahj7akU(2>+ -$Z)rW^rV$bmWExQi{O@WSfyuWd9lCs-dj=Zph!BVR7f)AHyg@{IJVT3a~^v_BqbJF`jv@Ma^%R7)+s} -cO6-lfg44XK`8Sy+Kt&DL87j60RAA4zPa&Sr_%^CQRxVLn#^V~ZGQL(IZPKkwn8P-4t`lI5V)S;{R5<}tqx&!8`V0y$=l3xfnnq5SoXUS4(8tE)>o^yd> -4QS;my6ND8h5y8(9;`UU9wy-E!IwmA5~XaWMogg`Xb#%$exudCtlbh9@inE^tQKa -7tT(M{kRafyGVIi(fU~Qf~j6a5MUi=RfSiCB3xPHaB%~;N}DH*8w%;<=J4(=c=a@@-|9zpkVO1?}pr8)UBo+Ps*o?@0>6PG4 -lyKUSSDZR=Dgw6XBlZ$xrnKCS-METu`$g><^W7N*ny#U6!-F-A=P57-P_rv;3995grBp#{dZ`YzwcF2 -yDp_4k1lcXyo(Q1XbdnpQqV~+-_cv123<44nn=ht%9tGB7n$L+5>ay)$`Ja}z1ps+r{@6c?^+nbJPJE -77ZEQeUjlS+ZVYtjmd)OTDlm8^-iL5M)0uAtovS0Z)yELS2E$aHPpYFrKBY&D*y6n$;xHiFj5MGPI9> -fz>DvHX@cSEc3zuV*W@axA=Dc=+$~3NMhzPWyj^k{~lbYZBY^G0(R38R;Nl@oVqV6nY{#>3K{@z0A{5Ly8M!JZSif -8y%XobPcWr$xh{AH=K|b~Im{$Hkb?hwiy2LMaD)n&9CIi=5=Bp{a$mS4wwfFILt}0kO+8DENJyX@+jr -U2kxQ@&_%-&APQ&Q13KXiW0_>z@;U=AVX>Rb0%e0jiZLoE+s&npzCaaY5g9CPK6`#fhFqRt$Y#O?NOI -J~}()#2__z)ry7))n@dtC-r88@}gh&KXe(6fJnBkxwKK2EKek*gT7NPzFlXr4?}_8-kk@elNE15VINt -{V}fy0SR>KSoX0`|)l)YTswG%@BVV{=aQ%9X2a1NQC)MusfOv&%Tze#Ri6yh9%PPd4}&KOJS{`?U<}` -@5aKDnrkzHBN4P0dyKAT%;(t^?rg*yVNVYBaoN9$=X3mTzJ^xT{4nn7A_08{pC)b_RPqc@=i(Gf3K#` -`4T0j{unRROBJxIC-@hJpM&G@Db@u1eA4lJveSh}heFv|?FVQP6nq@Uxnq3UyXf9raEY98gz0LG@7G!f`@qY#!m`Li^0p2|$D<&p{aAYja-moyMIpxv(+Gm&Iv} -Bt76s;)S73kVLQP-tZa(b!OiX~C#is^BR(GmmY>aXW6*Hxl-De<|LZ}Zwa-rb-td>Z!G|N}OzLbr2Q_{hMN2)~s@KP4QgCH{>o@jJ02Qz>u55x;IO69%7@(!gxpX)xC>$8I>28-j -CAr$cm$%S64>E2W)eBlV#3AF8pFI(bn6m@A^0l$KA7B$N)Rh`B(9hEP@eVHTMg|y4iB*^8W^a80c+ -VywB`3tDtI3!(c~iLiI-oAwgLHrM^jDR$wm?3U^l#pbkT{+1Lt_(UT*XxzhBTD$cU9Z3jLB|$qGNoUrZ@B(oUaE7B$dj(bpg{pm -w=Bi#42;RO@MYuypot~w9`BfD(H4x+a8+JdN;e=}uFbJX!J84p9-eEf;nr8{9Q%1KS{V1>9Gjo7&rz< -=otx{em~?(9cc#50@-Tr=%M>LrTf{FaTcR2->Ng(x&1UVl|;8bjiWi82P6f!hA -D4K`7lOf+nJj!8gu7~zYy$sWsEi|2IqyTJGd=?Z>rVKUq_A6M28QPT1!R}Bk6e1A_fM>3-OfZH_}1pf -EApZvTP>r3W}(J9-wXR!u(cLz)yHKCcN=*6a -4ji8ZBewZbwkqqvZPU=f|(^PV1ieA&?$bcU;Ur*!mrS0c)_(5Vhy<&DcQa#LXtBp^gLPLPI#5{0}=|C??d@#Ta-V7@`EkPA4B= -@&DBn)Q&dt=4`=}z`i_iivt1TjnBwgpit*cI>uy3!Dn~3 -&Mxb7>u*TAnp(OG!FPiJz=4rZ1k$Ep1cPrz_P+-6lLeZ#7WvATI&#FmGR$Gm9l!l6+SI@z$vt&UIJ*9 -Aj6K5?(n9b~aYyvUb%GGsK#g}^<7Q8sgz65Wu6VJgSM*y0HHM(`~n_eNuU6i>K28rnFT2^fFITW^$)b -`>{hX{T3V1S+2D+)Qe-tSK6iL#vL+4F4;*8`>(5mQ&Cks3Fw62VL(=pIaas7&sCfo+9t5eLFu=?W=!# -@mg6bUst7xQO+K9Wm$Il*4?yH!cgDT;*MN0Qt#SKb1TA$PXM!L` -FTWWEQfZjHOc_-A8qf~;Egel(%z4!#{7)|cLormD3k@to;$@4z_N7(d7Gfli1UtU4AUfXl{lxU=qCVxUpyW(fXXAv_2qjyqJZbS9VV~qUPYImF$iJ!RsMZQTpu}U{;}G#Q&*e3IZki**5BsCFwmjhJ+g% -O@_cr<6Y#h(CD_W$6UWaNPw*}83_In%2z1)Ia&+Ss}bFU2@44v|A(IKk-vPN}XTYS-V(xoiugFtYR|G -ZC&BqDN1=m+208;^wW`y`l=gjcGCPRl5{ULTF4L3t05FO&*jf^fMM2*@rlu&Z$zRHsw_}vQSk1z0PQ -%z`X6ND9rkB6h*wYkfit^I8Soxm=KF()bP0&#Gacu_4W9Wn$7c!Kfx3(!*97v<2*sP48C`+s0a^Fpu0 -v+TOxES5Vo870?{2;f<#LL{VEJV{)@W@D(#vhQ@cZ3MVS=jvhOf&x(53}4VcLXzFk25wH`9?cX#i8u2 -2$z7^Mab7c6>!2D?w-g7PPaE;k@T+(P_H+H!^oqHj*u^RA-c!b-GCqfdeP#J{Ql8PgeNm7x;K= -rWZzjFV^=d*O0amPcjAd<;F8s*T7n@yhYPd<_I=q*tc}*qZP-T~R&cPJ>R_6SJrL;X{xxpC0Un&!T++ -m1;?0ykuR2G0g+Nr0A-^6Q}W#5yhe}H!F+Bs3+|Z=a2BcDJJd)NnlPo(viWupucBvry_ki1cnbw*Gg) -PVN@&A8R>XY(~S|hy6GRxb3kSjxqypQ)|?5efMorAPxs|)_tvH`4C-B58B%OYl5JZePM!dt$AXIKF$j -#=JGcx2wAOht#6V?sQj+g)`GwWNQ4KTLp;zN+Y_7)U@nBoL1L3ZYuthbULUjdIO;T8w4%_4jith8YB9 -BZ@V?yM@YAU#4{FE(#i_y;@594wG;WjgGv6L)w#24UG8<|F;!k8}5xIUi@CJo8Li?X{9t$ -4XD7bg8t9iM7#n(B!gvi>1;v%KC8oj?3W7ds+qwd+aM*2VGh2o4!%?N>#4EPU8uW2*y+Ev3ehi_8Z9G0iOe9Hm}R3?B4Z_Ykda#soZ(a-8g^3eh@ws9p4LCeK?A;U^ -4BM&WH9#>&&0*HI89pT(pdA?my-V)+c^}8@=Qpod|M1x%>vx_J69UVm&aT^$Z^s -ltFl#vMFIe@Yd~*!QPdv1ze56miqBa{>Wl8U`)7xe1k`lqJwc>K)2Y|KZT?k%kXpTd`=TYtC>~R?IJg -T~VQYSy#?de}qit7{^!#9&eq(k~P6ywnrS$G%oec5fLWLh_lxp-YDyIcUy$s9%ehI5?j;Jd0_?V!AO}I!$FmA -X^0fb?d*`ORwdSXl71e+b}O3S(#|7+eIjso!79S|G9()FqyF>WEoG)Vwx!f`#VWZiSIK2m#FawRL1rE -RL!yNco2c*JfxRc;+15Wwqy1!gd9+WUqS1VR6`vLtm*AV|GMe?6KFstYO~G1+aYoDJZM{f1KNgeesa$jP)8~ -lcKRrfpnieehi%b_2|dfZ@>TWgT|S3ufd1gxoKhjc%`hc=UAe?D)An{omuT3luoTS3V26kRWa -eqzYIp@9-lykk@QIS7&U3F^2bKG8xphqpwZGiD$cge8qi>+A<(2s~hvDYfy3`a?n?vn=FvYtiklcYeoh$RNRbrgCA36p_27` -ICC`ko()&bR|wlpGfhL=B_48Uwps-1d*HX_kfo?b9u2Ycee1yxZo#dvBa-uJhCtr?zpNwjr51r}3yjZ -gJamq3%FtQE^(s58C!*I`$?S>s%87?-$f-5Wu$M{2SE!HBl6Vr&oQv`$QT&)Nd4An0TM$58tj5RGGyd -!+8yQniX&gMA9=Zv=nm{s71+BJB4&y&;a!x*&g$1&^kNF)sqVNGE`J+KZh=aXKNK9JNPd#rbaGyf-CJ -@%~nrk*rE0y1w0uPm%EM&v~758mx|@mOwVq>wg!C5sq8b)x99drNrc5n+aM*twt!iVH% -xbela#~%<6)|NaR`zLV5|bjDn@Hifwc#m>(+p=0QHif3nmy`R -LT&`9y0vTFQ+kAbS;hb0HW}x#L=83vM)&R|d&X}D$o_roe!{ciMz;|jD+NN_BrXm_yDdhq%<{o(+V`r#Qy{hiPDBTjYHieF+PZeuDZcU395=rCQv(l+K(m6Lviq?&J7e)yMCdMp|G`}iG* -wy_E!EgeRq`IDIFdeu2|SeKHV#FJXKMt@47V1=to9ui`hwb;v~JxqJ?!4rO9 -$V$HOBPzttPTxa?`k23`&XQ#2Y~#nETz(rDB$Em9ejY;Y8PlOpfqD4RkDIAV$N!dz!R*_Q)p-%GI5_- -1R{+_du`op_fU1D#IA;M1)=eYZ~jcG&Ot`u(TRkDs>O_(}!~AGx4}>x&#zw1G=>S(~lk6}+<2TL%KpX -2z?qfmnb)Z|$3EuV=Gll2GJRhJ*3_VcbBe-I*-y1PJA=noU7M0Y2qDrRXJ|=)#DnUjZOzVhy~KY@;3t -d>j7kpGTmCf4=gU^Xxn#sOlZroR2R}(?vw(!q1}&oBCT3pa9yzH>`YdoWjO%A>T_eAMzc?#w5fSiNy^ -s`{uJjiSHD|voE=PQikux3QE$Dud%91*h30R*(TiUI1EJNpdp{KuOEln{Yxre2$TeP*u-nW5Uc#F7d( -`0mm@UMz?VD_J5JJQbrZZeuFuj#i9DA_e5Pb0gFZnWe&HORu>V#+i^omhvGRA0?EIZ-2cNFJDbI`yQ3 -NhUM|E3XZv1yoE2$O}%-W_D6{d@cJ0C&GiSDRdq1&g2$b)UqT*>n!zfH;$kxhCB-hmX1-%uK@A{S1cJ -?uT})lZx)Re04(4UPZJC8<1pM%#eRl2JG849OVHDVXMR*?e``CNeMY@bIvEOWlyPYN*Cnm7Az(X(>GK -KfA3IfEp3gVlcK(XA)}C^vC6nrPlKpB~D_K9J-LR>v)bvyPcB8d{>|r+sLk-+>9x`&9gF4o}sA(?^ -oEIzaSp%i8E4OMRTqaB%oD2TRC44c(e&W8w?#_p~hvAJ$afyhFJp1n>f41ZHTw;K -6o38J$^97&y3fp573L44N=iR01keTg)aa&B#P*BoC|1%VinQRqS(|<=$-CPNC@8h3>EK&Nb$}IPR1Ew -ubw%=R?T{2S@OaW{OnJl0mCLk!NbpwS%o0_KQzZhtT*s+$=fEJBXUEpn`6mYEp>WjIbk2wDqrd^kRZ -?^a+wB=bF3awCC|%(gxQW7{dhe9&cJP0Q<*kc)N%ST3EyQgFxMi2MQqwIoJiYD@S^t^Ng2(^vu~#H%u -vqIn7Ae;FDzX8xEVJ$T#Fy5SkC3%uY}&9W&kXlm&WX$!-zz0_m52b2s!7@pZ!SuK>i&)z4CWFD>NH}2dsj$ulFIdE<*RFnio3o@8zHixmg6~Vn -2jH?9!3I5vy>hjXEOp~;koZL3Zw_Y&EC5`lzSp*51~cS-)9o}goNCt%*I)?o -)=;SDUg@j!F>AM>BQ8B@AT0~jT2LcLahT+9iEX#ruv(Dho<534|i;8((&&F$f={jYLJpbWO5BaT0z{! -p&|2*15Hsi4yL1AZ|f?htC{QNa&Cur&G?$>DwGDOROveBtH$E6F^cAe&*brI=={}#=(LvU%4izDeNY} -DGHw->#FeZllHJH2n2qa2Jd^@BkmEww2LV{_+sEH(1=H}3k2)^@*s~Mh%D~(IhT!}hrCQvIO3O&-Ha0 -~X>kpe3HoV2idDmKmUe-Y`6T%fWz74!$_|1v<)t6o(=V$n0Q1HbCd|gQ6gXeL9TLgap&8;6EvYPUhJ* -wDQRDJ?)BU*j?bu$jcMX*rf!8UQy8gi^m8$j)~ALEd-lvd2X<4&vjY0fNvlsC_@+fEXb(~#!E*H!{k6 -?T%ZATU*GYir;F;ccf&jX|vF$2Rk$?7dJaQFk0p(f5taN2gj< -8mrCGP>i3UCB?XJ`rf|5;*y53OoKzFc!d61F>UTAh?Qn@+jUr}W%gQ)nEGza5b`Jwys$X78#2&iz=G% -rsy=PtLmAQ(?94ZR+2FDw@e}3HQiBeB1OFiv%aOf%ykp$>@BZ@k1 -C%^g-)=z8IQ`SB?_R%&#uHeBL_9QvS0NgdC>tJN#dw`gE)2Me!54(9_#I&4zYV~|U2q^QXoP_@E&p!N -2s{)uP#^+ZTm~wqB0TWI#hwPC}GsGX)(x9N$X9Nz~6FB=^AK3KX -rJ~h-l^r?{TMJZQ^(Kb{DHGG4^jk+>ylT|jAcDDA)Gj$9B~26rFglC>Qu0TP{Mw#20aW{_=HL<)o3y&$qfl{ -l)<9nAWin`pU=(Q83U@@LHV2J9*E(x_UA4gfPk -^w@<42tKG_Fa$2v-6qO+Ne)}%Xf>6RgTbWxm@oln3Al%i;jqDvqd=S&;zG5+&9#Sx-i4SZ6FS}}z<`L -Y)^tXNQjPgE93$Rt{y71)nd#?aW!cam^C7H=>z0h9TiB9gVh%J(Vsw$nM0x?Dl8H;e{PoA>jW}!>XP5E8IG$zVJw>aJlG -r?}MU0*@JJ2V)7Ok4YAfG0kWotTRwwf8d?z3LG# -&rW4r&`@VVg7@-@-{XU2y39wrXPjTg7uy6Z?rbS>_QSa45ViPbP@TfP%4dXgkt~u5FEr`)(Mn@zgNsL -Z&kF!Sl#7$R@vnb(l~#iJ`evx_jx${kAPwb`xRUd_E}Sn^b^&=z!{K9=tby+O>|$uP(^yV;L!0)omo) -T`Ra~0LtW?v9EQ+?!SCdKzqX3^iiuYwEA4-As3wvLJ!b3XQ>u9ilNXi#=$FUgZAqo=m~BqT*CiefuSe%OuSqPq-16AM7MAcPi -(06o(9>Mi+Pg#bp_kc)vI#_L@;01?HD~$!O9B@8v#L2Db^j%?);<8t5k480Dy%v$*r5oM~aK&3T)&b<9HF!Pd%@;<}XjlDNEzwZLbVJBhZWZhWb@iXDm;pKGJTCFTa2AySW0wrH^G&^~va{Z -IcEmV%5>=%zRe}YbGp&BGJ69{fz7%e#?G -2j@gdmpU5ZM~9nj2|r-sVyY@@&&C0Zm4NhyrI -;#|6WDR$fJu#d23pLPP|s5hQ_ -CTFs%(T!ol_DYNkZ(BSm0t558cW`&L>T6EEc)xO$|MA^80Ztfp^q`kV%!F)QB -Zo|iSD?$Fe3#Ka)+7rN4VrsB(aQJPono}JZDW(E4{>TiYWR>{9ez)j)%ys)Um-RO6_z2S6xJRCO4E)J@~NByTq-DiWrQ4bdV{?q6E!$CBUpFP*J>@T3I#v9ULoQsm{fZ}L^(+3?~r^zpC475%RR5;^iipF -#m4IlNMA3nfv9zN~yr*;Ro98?ry-9h~g!bNZURU}sbrep2Hx_PVy -J;iEyd6)hvK_D8Z9sjKcoakz=l9zc)_}TKbv`x9NuA%Qd{!ux)z~UMPn4l)-F$Z#8UaDcp>4iPuY9?a -zP15W$GRHhcFh@6$QGcP$u63(HygohS427SjpnWIG$qsl^2D!Ha}M;>!Ns@WJF-AKba?la|Hx&dqm=~ -)y*O@&0@aQ2H{34vAc>S7jnFsvKT)TLPyY|Lfih~0f@Dp{GShm{IOyeKDEcd!g{c14vt#(VE71yX5Ie -^k6`H#=E-%D&9e1|h$gA(pvaE&h}N7ZAI#eOZf(l;6_Gc4SVKXrz_4QCM}*tdjoeiYT(8&HBiFyx%(3 -VlcU$fZGJ=v8B)SYTeQ8K^+3qbN(dDVgeM6#e=wS&W`i9PY?TF|#MXjXp8wW(M8ZB$6ZZC^%2q(KR6t^I$+xvVE-Ks-9kI7Wa!s|LoXTs%2-S&s6jK#( -o37hErK4Qph2)1Nx<^gZE*L&9l_mYdLKm&oS0iBqWi!+hsN#YK@VY}HUPSZ4zaOvDXP1!FdWV{1G<;c -pOt~S>+&=B3^)GKEdhInzB`~y_X77W+1s=kbK%}4i{&{S^62ORayYaiF`i)L%v#L(1TEy!I}oGc!NTk -D1I0S_fYjB`6xb;Hqq?dG22ckgen8h^EgW`-ibiGM7KhzsN29VsKkgOGTUn7>xiPZv1LnraCS-0*kiY -WWm|$^RU;@`vhlvSH9nTEfEKc+FN*uRc#T+_sApkj$2D-+WGO_9c}T-o3R`fVVM*XhSL6XaJz8ppi{{Tw)%`=0zd@Mg~n -{4Y#0#C3vgPc)v#ycXqd%GKTSWaV8>yzb6qn=&Q_8&i467Cg0nPhR!@&)FI;HNe!iGYo^?fsWvBHqL6 -3X_oeOp1QnBtFs}{WRp)2tw+;*;*G)$JvYR~Z*2#g*Hs~n-!ss@t_-xGR&}g_+5&~%u4qHa54MGp*E^ -+IeB8y&b$1gYyisM=#VW_Oq1|;=zKwAa+0EZK{7exT*wr6AcM;EZsUER6aFNHI-Qn<{e^_0j4`q(ZnK -42Whb}CupyRrG5%A(o$&7to_r4Ut|cdxF9b$*QuGf-(F1BQE38ddKwp(@=Z(L;2Vo@dAfl&4K=*w -8?PI(@iyBmDPN`iQ6~bl77B9-XNeiuc^RucR;=DRDZ%w^n~59&dXf7ytkOaA|NaUv_0~WN&gWaCvZHa&u{JXD)Dg?0x-X+cvV`@BS-L<+`F0O0k@_+q!Y -yI*HTzn%KG6-R?fuE71~VvzADer0i(h?%#g%0e}DqO0tu_xA(5vZ7h+%02mAggTZ_}=sxU*e^h|yJ)U&f&*GZCdrF^}^CDr6UBl%&uyz=@!X^Cgxou -K-YyP0HISkD>TjL`9K}k_aG*aW-1a;9@?C2o`QDqEBy -kBc%-MhGQ@LZj(o%>7UWrpYXktsnrxM}c4$1&jmx8X^Ld3I2^~aP!5*G%2n^fHF=H{KcY##|1tf#VOW -<(LBy_QN+_J!bqU^G~%jMRpU@pm^TXtb`tOPjEKo)g;ST#Z?4DxInx!_Mmydb!3by$6gdAP(lI|G0$>p)E -#e+JMry-I5~cG`osRa195mF-o88j>*33Tm!h?Q0>4|K_~G#M+vD#~1(bNVe{}kHar{c`AN^f?cX;#?F -@Es3x9<*4PQ>v$arox#>%)VWp*TEx@%sChhezLt=TP(L_*A?;d~_0zzeR%r!P`o-kJwm9j0PMbayZ`R=@WuD9_uq-P-@ki%d~yI?cnN@y4v${FgLV$y92}j(h@fS7Dh~b -%KgG$n`>$V9bNk=J7~WAIUmU;v`@6$$zC9J+9>0Eh01uxZK=1aSzdqo`j{c4-@%8@Un^3&mf3yG10o6 -MOIPa*S?BNgJ9?&CbaUcHw;`H$N2yye`_~`T<{6yTG9=|))m47%qIS9r6yTcPi%&T|D&;TM9>KqdosC -jh2a1iO(bAX{|2MXa>zCSsr`t$N&|2056!RqEz;^b}(2C!%c1Fx+_yL$y)y+^ -WvjwdDv<)jaWuJEDJ2uuq0RkpCDwu(HvNya!)z#lL2C?| -$JlCxJ{MJ06w`;LeKIAy*-HUtBbEdp!Ifiq2)$S&S4VXo8O*4DQ%^Rft=z>-)W8;?cnTVR&J(tgPD>G -+eD2%yKfhg`zeLWq_O1%@}<8V*}ei)gxF&iyPDPowb|#}voUK4}eyurpjNl4&UxbLb`3-lg8}4gvgl7 -;dSbuM?Q;XgXwete)09h@e!%a0g8{TX7(5$_4ESeMW`J#?mDqt-VLjYp -mJ9q9wvY4@5Q1CaqRhI0%$qnbd3N1inlL)MyIWfVK9d|ai+M8d4Q}FeoaMcWu7Nax9V1F%kB+AEtEk{ -Q57e4dvjxbFG^(ix{eZ=cl>@HZ5sySGY{9?o!%tca_X_6_Dmjx$@8&R45H+s&O{@D1xIHz}BLX-fOz` -VYN3KvwB(PD>7q~5(JDeK7)s*Ny6K8FD)DA^E#DC}we)*(*&TyF?VbLKrwUi+VOrZqG^ydX29*RZd=w -b?6Ht(!3F-YjJxlg(#qm;!uo$kHMx590%6~N>&1SM1gb#vP%j5g9S=r5iD+EMp3F-L(zzaG2V(wDc-1V -)_CR>3|K@3HpnRh)|3JfW3c#_vn!0(n7`+66)f_DM_&<UF5ipBEY8M=nY3#_S>w!Vo=>h(z((K_vJb=}X_Uy~vscBq-AchZIy*RiJ_L^|MR1mhwqVw?NUvZ53jyvwT@*-|Bv6rMx#NG -v_^eZfFrb5_g-cZm3Xg!>lBX;;}TG>4e)8q9pkOoz7(YtJB#Q{zpzEdtin^B2%*fM4kMvU_$TcwmS|P -(s`SOX*(b8E|Z~E#}@P2PO`VEzxfThj`*KD8>sb8#ozl;dNjN(0|5xcAUS-@|eJxQ*oTe@{QSTT+8M@ -0Brpk>>T>hukELA5LvI1yeO?V|7brw&f$sMPWw;orw1SoSeplJsj~}Y&r-NB#{f(;LohSw9hQUl??sk -!5A_L(*$^*f*s610USm8DA$c(-%;~b3NfDQl5RU-P5JAIsG3HecEP6hH6JpgXI3~b8(;Xp?o+j57mc} -uiuj27*U^+D{L$8k~6>u66;22@!dIPxjz%4S+bU)y-1f51rOoE96STh-IkWE -S(A?LUkCc`oP>-2ZZS=S%VZ=?g3gJ2MQB3(?_No{YuQc{v+h{$+ujt5*P?M=>m}%ea@u;s -%W!XOYb*y$j3|cn2JYC5Iq33o_zG0(;^TcdtouxyVUs1n$6Zi90xuf{yXJR~?X%En)NfuwP|G(cPdO+ -O#X_YXaNcB3I%7i9Z*yAfP#HyHO$aG-9&Aa%vUj<>;ZVon~(|iFkFHi7Q2CGmv -%HpMnQzR{F2p9|WPqxAmhCP^Zd=pQzIqohDk_2RsNKqk44|uY>iY5mjE)HOa9hBL1Ob6A;G$P@fn+1l -zXWhf1Sj6JN7f%=$@ECd+!yKn^wkQON6zWg|A3ALFCMfqv6h&b``=ox*TN+?Q3e32PCRF4&N0GGJO2nuP~sFY)oKEQgJfpnsE{W-qeoVn(38K|;VUM*FV;_Ccz@l1R@# -WPi5WZ}WH*j}`Q4?(x@AM!)%Mxt~%IEj#j$>GC)o@%K4vgXnusuujgE*>PN4lGMXACWkXV;)5T6mUsQ*vq(FS|f9Ooa$4dPDE*>pl=5OL}_>^q5@-DuN-(#th>tudP2XL -+_QOrLyl1~N=)n9?#=c{u-T>%W3?APk{6wBg#OzGdhW3xkXaK<(DXpetY`n^+5_pkR?A`;62HHo=5z9K6hb`F -QzuGxA4&k>`zx_DN~-N2e2rPC-g15O-DdVgg_c%%nL-cuj2QNfUWjbIhz{reu{1)wQ!G&`g{3xrO_t$k9npUFWO;~BuF3J}k?wqTnpFj1x|ns&cAuPYz5V;(2^6vGoNb?ry*-fPlZn6rEcOlF?Eh_Wcy!9ed$Z_$k^Gb8XwhWcn -(?jgoRSpl}U;O}jY7`kP;G6s{#dy>}v$_q14je3q1W|s;s_7(!?U*DMDNQY;qK?(!kvzE}D6YDnUp|) -=aZ@f9vrtUqG=xKWPM5H-gkn78hf>8y$O=(JL3QL3HNewQ%o3;qBL?)waF%L92%Zy3nndD+$M5M24{Z -!*RvK@RUHsIkq;!yDUgp`nn~-W17XgWTD5R;vJYv9aTu8C#dq$;kd`RMSJYDwSd;`K9?6k7D0s${3Qq -+r*DeE|N?MT5pNaL!ZJCrx-Alh6Pa>&&r3E1rT!U1GnK>JmM ->^4VwQ$>)F9GEyrx^B9FU+V5vmR50f8MABosV*#z+18kCBg1r5w2S1Js+BkrT$2*F^=vYV{>U3Q4( -;K0O^x*6Zb@6mHxQtU49Zr{XWPGSs2!bUIl`b=h5eEGZUQ!V!gee@v#VCSuW01V%IAEzC&_nU3P&^IA -vrx3~Mv5*R_-ros8JI7u*CS;mPj@s!YY@67hb7FXMc= -u$TP%xH-93qvUQ~>dWB@0GI7gWVmX-Aa4}A1u3#CBWFsg9-J5N6Q{EI(-`BiI6ioN`XzC9AH{pT-U9= -wV!Mlf})Eqyq^BC;EgsO;9@qCnxBYs0=De6`crssu>V;`DyXk~A2xx&tvJ`>2Z{lOLfijq$R&$pQjm1 -yubU80c>mIngyxte#8V6*i5FNgeugIBB5XR+lT(o;|pY@1f4Mgt*1vii -T!w6bwbg+N+9dP;*4uDy9|i(VCOQZitf!i0?IVw$0$yhZm($z)j>vmm;W#nG-|X&7vUZj|zMV^>5sSu -!pJN)S+A%`JewOi4XRio_|LOABCQ8Cu9JF7zdur@N9Bz?g!0++(D`7s3nt1=P@A3$GnR5FN-pprWscb -|f1+1+Ws{ma02#aj_&FAYM^hv)>hb$b~PaFo+M4Ib6iKy6Uc$BVJ$TX*TZvHcOE6cOKpi -Dpaw09qD94lVP -jK)qeB#kLi2cp=A$f4_zz6j@<5)l6|U@;5@CB5`nsZTZ5zhOZK5#XtF1jy&(3y@2F}CUl)4|Yl~6-IG -l0N(pyN)TD%V4V&I5De#|h3m&1{_zCAUI`Lu*CJaUjb;y?{hms%lFdm9$Y8Kq|3={vK2u<|@x_Q@%Cf -BZPTL&(?`-GD0nV%_obExbFwC-4Efn_hqyaHDpPn%+ZMC-SZ3C%b{4=!Q&&|4+bsVrZ3~X)v@f~P(W? -f&Mx+Jk&xwZG!i*s1MPU8N|wAUe)+A{BMA^o;`-=Fc1Pt3V+aTDVL_I3Sw+397~Qt!bA4uW{i;dTPJc -@i4+}K~st`wxR719Nu*hJHAv~CuS9|?08f2O`T7)U1Ycv%$rh;w~@$5WB!iwsaut8M10Es% -=tPt?7$1lc43vnGVek1@NsN?j+-0HTN)8FukQRWs@JYXdCgrvN~53;{~x`)pS6Hy?9^%*pV~uA)O+4D -Vft;9r!D$U)qV0nZNEPA3M#1f5+@1&4CD{CIu%09#)HIidVR>Y#EQzd=-BXddV6Y5Be4M%s$cqVUbd! -eDV4UsSX?(vUIw1_ZZX$l0^q?Nl2k;n+v6Bxk9}>cPr4v6)?1FuHH! -=5W(4dS|(lM1G36gD!+)xOo6meE+6(7C7zt+jLP)F9IHV-M_C!~vQ{yPF4GL!8%g_D?yz*jP(8A3Sc{ -6uX%eoulG2&7aWRoW5B)-lxCTbyhHSEw!583OnSBo>8zVbK)xag%+a-9zkW3Of{xTAvF|t9kjN6a#IB -}b>b>fm6Tqs*bra)ykrQjp$f`bnnpka5JMN919C|}MIMbHMC^z=-vBeRzdo)VE@j9qAvj)A6?iBE%mR -@xz@D4UcOT)+Y^6z}1aU$Gh;4kkI@mqPP+Zx>iQex+TLU=4LJ@x;bm*#M#xVNihtqMDLX6=;jLcqphG -ZnX1C(Z`G`&F^U$jFagifuVJ*NyMv>At|E3ziHMQZj@MkrT`q@Yb}_YlMmGPa;!N7;*LbQQN70M -aZdEoW1UJWSkV0KxZ!gH?Occr1t8sbiB%O(%oW(6Fk~zQPV&_JAybet+4ih*N_DB4V=_prExvy8mOsl -7xOwNODZ|LE!;cW4oYft#guEf9{E@kBp=`db|U4Pu%JwuT3lBZX!mD@QLVea~v7nJU`|BKii1fH$jv} -lG$v>L%hu3x_ic<(&#kKB=Z<=qjZh7W%64*zO{c$+kD*Q8z1wCW}EV?Jg1=%a+gkLwDrc`6B|emu=}D -cl}eWj=Ci35DACh2gZ=Sq*nP8kVJVlB*(@HTdHHmyc1kvtG-^q8|9mzC3hGvVHy{iG)IcB#udY#`VT;xa8QnRF*>Of%r%HL&#gRII7?%+&<*QMfBaF>j_W4I6 -#72V>M9Hm^M)g>AwP*KL9|vTABNhr7D6)1uHKPdy9~Wnlacj=gsbVFud|VK@Wl<@<=r|%Fk|;Ev93{4G7#hE>B -o#x$1|tZoGF%hOs0X#ntYP%mSx$u-vOvx`WQQ5ktG;(*o7K{zeso2c{(^nur}wCMd?TeTi((8Yc~N-V -f(H?#Rl;oUW1Roly}*Yczq9b(8uiRQ0puyslgJ>lpE6pzCd)R}Dh<4yMYz8FekNtyD^xE_+3i&LS8Nr!nro1iv#JcB)c9)l>#; -=iXyUSqcZDdUV!59}X*D!m6fLcN!IYPxH#R>e+B8J=iw##OgHa9F?MO&rmk%m$>+(YCDhx9mqjz8Ao} -G&V-NKjY8EU(Nui~V#L)4)E`I7mLW+#5b@881Q>_3Ae$LX&m4{fXLrA9#_5;&f*Ra1pc-metq6`R3YB -JH#@fKgZ0o>^drOtu|LUu+9`|=1Kk1td;hI5X{Q&5AlJ4Qc>iBfIc)iqpCbUcGLSFqso3I>ySkZmGYDT@f$5=SCml=EN1hd(+Y93ZBj`KbByfgjR?l$z+?QUz -oWlC>9^0FNkT(VsKZsnfbt?E&#!L9k1AlPQ)OizUE;qUy@BjY1x$J(XUA#8r$DIzIFnz`eOQHeWA>NCKY^{NWwlDBdm@6yhr2Ecu>?&_V}B|lI70~M(Bk%ri -NG>p;#GZ0a%3|GQo)D^D!9XKv@FyzC)-I@3*b?Wjqlm%P--_u%N68~e|*CXeACLBZ&L7vhI@ddqmGQ@ -C22GjR5EP0!?W{_XM}#*slYZUw2Ud&-_L!(d66|Ll|5~n0?rC`8e&jSZ__cx66a+D6~O}jw*6|$W_{r -YHI3(#u%XEc=nA@6-M88`e`BYs{`iN_xBS6(@sd3jkb&^GLp*iR*G=a}?XKPvq1=#?=ItBrPw1r?cyVrS4#mx8`? -7(|o3MdgJKp_T_2&9q*)Zv6blY?t(vH!=)6Ch8!}J#yQ0d0Rkh@b|hsMM<_JAgodT`@wV8uk=XB17#` -3BalcYqC;hPSIY8N4>d849-%823}s$SR(0yiSr8$eb;wbU}$a1$Wc7xe>JJSxZ(C5T%&P4Spvj9`>MknDk`XfLiTz+`DV -4)RS%`f!pXLdB2#e=13omK8HqFE2}&%d=fk|U_E(`9-&2@5A<;Qi@<|Btp5`qvog*-eZj{oJENSLHmrNLi+*1w1T1wOFN?Zr8J6W$R -FE5!jlxj0RIS#!ZCFt+x3SXp+32-h-{gh(ny)k(b>UPSNt39)qJXLwEn;}z1nhD;fzS$56dfou-SN)dANLjPM1|60WZBtuPWh;n$ifi`aw^K7off`{nV27ex2-{Q9hJ -MMQRJ#hqRHDJV?Qmt;u%IIA2A+= -L+ov5IK%(~8V(|nEUwX;nnKRYV5sUoO+60TxL;JB+jH7C`2_uOqNa%0(hKrYY$BhVv2OUxoR+Cnn)950eIw6|vPJvK~hb}A^v|jH&KX^?yq26wKhJ*DT@09)LR -Tt&0RmVNAV#ryVSHHatkKg9h0Z8QqUTOREbndyD{Y?onG45Mg2?0#Zn8(lK$-8qyo4 -oPd24MAvUe@pIOOYAeaKE2s~<0t()xt`oQf&tJ&pZQM!6W>nPa=X@e2l^bsi{v$TPyhdNow&W`9`m89 -oY5YsJ7dM++nXo;W)~5z7Cd^A50Gjc|%F*eXqrz1jto>=x#;f=1jyZDkia_@S)h!~+YmKW9o^)wb#3A --qm6RaWxyQv4?TdS=lq-%%b=w&gJ9mhG+W4-zI$fzKpn2itD0|TN!ZAx$lES634?;wTs?cAt5Z#3~$_ -p$bSj<8vGN5qn$xWOxP?Xu|A~%;DquK@+BMxaU1LK%}ehdJ%Bcn?oJdnhIJsS?0;?14QE{c1dl3k3A> -?D~bn9~7Rp4{vZ2^(#8D~)*wrN4s(4A0@_7A!?80B;DqG~}Ku*dXh0h9v^>`y# -s;YH)?Qk+69JSaQH7sXPXw?OWP56Jc2_LvcoR?amjLQ%I6esAS?kD;~s#1{ksmwwlqRLoSvH@uU>lZ5 -l{OBU+v?`q7#mO$qlTmmXI@FXzF$qC?aU-m6s6U(81Up^;>lMjDO_hn5IoQhz)E9vD`}28`Z3F@&3rdx@9X~TXwz -09M7tOu3?xY*8(hIZIc{xCP#xB8|{7QEt#znPh`^F+jFgH9;ggPh;&RCOPLr@uWs%6oQVo0q>c*V+Qi --5)mC5359Bpbw3OLa}jwS*5m0?RACy%qdH<%#~Et{oJ@iOoCWM0RwDq>e(_l>C{c0EK=mPP0c54N|4xml9v!bK5rYHi3%12(1cd;s3M;4wcBRbFm149YfkX-U{PzLw -u4|@Bp-n4IRY)T{0Z+nZe7br6PmNf?B0v2p2Awf!aaL%o2X8W?nsMll8WoA3JMzMt)jwSlbrF+P`_E8 -eYHe|D3ey|K9ci7nSI#ElPM+D4;GxwqFNJH*UcBx@%2w)THwF*-BE@;5HYG0F~RiZm6Wgv7;EjTSg>7 -keaBl1y2iuAsH1X$zU?S$YlmcWnms};*{4gtDCLnTW!9(cWm$#W?^&5Z@Tf!spu7%+{K8Lahs^IO4;N -F9k!lY!=2EBapjs6Q2hwm|s^=7l)dLwwdvWuZJtTazW&l3YlO%fvfOS`##RacIFE`;`Hh1+Ryx|%P05 -jEWz5rOY-MkDcUCsZqdgC^!j31K{c+JGCT|@rbl#YWl$5T%G&taSAq4=c@y>9P@IX4)Xxe_so;Is#n~W%|aq=T)u=osyrh2aZ0%e!wfK^|yr@y&t*5pHuD{G+) -D6ko3MC>>nQkF*wB8}0$=;~gjo4$%LDK=HH>5gM%{Z!aN-{jcwFNjze_^O&79sdNN$&R -vzA?;%{$WE2(&#jmqfKaA+Ol92J=DX^)&u`Kl`|_gb*RIJOdOW;NGg6QjXP3_?g5hB~W7MCeFQV45jP -F3p0-m=%X?bcG@|PJs-ANo>n+^5*SHidHqPAJghdP3Eu0tfrIB@!@r+eoXgI^xEV8s*io#uVAI|`|>r -$={zLt(>70E9*Gu=(F}KhX$GS?s(lxwELBhxIG!vS2Z$ -8B*>yk0FoQ&X&9T#}np|=fU!IsNz^@TuQ078$aUn~2HHOvFXk>p5CYrr}xhJi|(}On#qU1U63{a@n9c -*h)TcN50zn-;(A<}c8L@CNvS9Hz+dDRwFlad?!jgr(rf`1p$-Dja3*-TaCEZHF3w))uUCN@x!3NfqAL -D}TGc}2Y}I(28y=AG1ogFE*3-+1W$VLzaI>6>JXheu-EAqB!QZFnNqxwD4Fvw8{-e^8%I$xlPEh|UKN -S2~w&bg*8x;MHek49(T<(7L~p4Y=>$&!*3_@lwVDGt(2X76+Da}&|H_5iU7b;NuuriV$NFOVsT+`HYtB9=Z8&gBW^;>V54?xFQY{7R-pHrm2&pAI|5 -FGt$KbbL(4msgL#wY!IXrgs{lnlL<^BBR&x(EKd8~BP>TiL*BU`O#>r$7lZ0wUP3O4doCY8&`S!U?Mh -i4VssibKur{M8(g8LrboRE^k7N8_SO0_mbJTNi94_Jk$2C{gRW90~{h*B+58YrWbdD$+3WnPp$W&JW< -rWTVfIDP}rk{Dth}Gv;!64L#peB6Xpn}8^l#edsR>#vv%#dm6Jax~TbU3=2t@hm65&eF@yR*}M0w3{U -XQ%(%>7l6!XK;0T=2JWAq!qzpuD;zi8&*(kxh<=3&CVHyDt5)rj!O*i(CA^~q*LAg^QNPIqc~{a=UN9 -Qa<#WkXm(Y2<{sgKnt~smH%f@`u4i$kjf|fSE@AaFQ1_?OA~|vleuQvtSV=$CSQfX7z~fNb)9zdy%!S -w|yXIg!?Dk!cdD+uOK+=(IgDY*DC6eKMWqJwc(RN!Uo7fI1=>VNc8;+zes~G&!2@5G)WdX<*r3yk?(& -;Iy{E8Y>3O%tuLY)`6d1W#oxEKz(bLhaN%+HNvoSZWid9w`qFEcsDK+NN@O6#E2#l?IYky?W<_b3nF| -5VMf6+UeP|AsNM*h*-Y_l7o>8A3^;a2ptd{j1@JtXlp7~f0$^b(*4=xni7@~A(dbr -#;SYl~blZOXuH*%Zv5=;_u-Adtb)13ccMK?AYWb4Ni$>r?R@%b))m7z2(stK5EI$;uep2O62pwA6+`h -m0X(K;xp;-+JAz?Em5Idjjuc<#OhfaS7F6=M#zW}Dtu;dDc3-eP9H8FG{2=~Y?Ii`~bM$Jwap&B?#Im -*tm_pFEx>7kQK~A9KmxRXLkJ8x91A`mYqVdIKGg6S;pX`)~M)Y^n0(qE0Er@5J!ClHKXut5*-K%Gk#Z -_E)L%Gz<eHvH>LXd{SV|}XMn;+ -eqaV{Qgw52$^~il3LD>g~Ng9bLyauHP;uFGtcO% -2Ti9GEbbTHF|>+r5MGs9IcuENNfnRmxZgmRh(-=Qx9FuTjxhyN+5_ij9AT8<5Q$dPqOqSmS1FOe$d7* -t*emst&*ij9*E*@9U+}w~hwiuNgTvMMP~hTr``rWIH@FuDs!>n^nTk4NS%DsIE47r7_WFBY`>OWnxAD -V2am2IjXDC%&J_Lfs?QjSWy*WL!Sb--Yh7;_8Ztr(HbO=FEPMHZbgBV`Pnhs6}o-_#pEiyrV%uRy^cz -iD-!cm7|Gc&4Hah8hTRM>g9)~1OW~Ywm`ee}bnq?WDSD=%Prm|%bI1CIKJO1kZZ{b_L0NcR#F$Pw%Vp -+~`2C!sibfYIgPfIN17Tgn6HLuU2^^FwtbzuN0}VNPLY&031N%eE8$5c*=Bfa3ixvPY@+o0!s=-PtJ2 -NNdaQO6e|2f96mwrUW;_{Ntp$LbM%mw?8Bvc6yYb2n#N#a|_ElHtWKSDrCWf;nfUCDnWp4IMOsL88=q -xn&6nod4I3R?!%^(n95Q)uTY={?xSw>X0b=#sL>M>VzsLsf296ulgz3KHU4p?`>Z># -nW<}H5CC>uz^K0&H{8DA_erMDOQ#Hx7Bh)~k^ON6rQ9|Wy8bWzcQ8Q`N7Y2e9Zg59o-S8}FW!KdR;Ci -o7_6|b7>P;y-Rk)W;1>h6L}?ixBwON@J+j&<+Jm$Goiz(WAC^9`c=j2`1dtXk=koZe`2ymbhq%#Usl4 -xH4syJlBLs;zV}otoeu8b?l`yY|bh3jzidOk0Ak#NkkQ -jhR4=s9u=gHcKg=BXhv_oJv$h1*5@7(`kX(y4vG-lyPV<^pnk#S(WV-GfYZ;gQSG(Gs=^4shAARBnVg -SEtTg9YY(VIfG{vq?R&(;-jgcT7peDBx;JFENY5-B9XD5QxQ(Xa+j(G(lQ9j(D6+NW`_ -rqmu#Qnawv>sA(sI#P1SwM -(Z1Gb~Ph)su-r*`AskJl|AJ`&B&HFjBt{B*S~;OC5;0;7o&ns{e8#kcjC90KH`?6hdKyuInNxkMgW2y -6E%`I~JPCehhkDO{^*<)n=5smP{3mszaMK&u2uV=jzN{rSw+TqIeZssEkoE>)M!u_&w=;PAeURi)r%D -m{V9|4k=6!EQ0~6ffUOEElVYy&vtjtan}l-gr6JBK>CD3AIbscaSo{Od)tm`@&QLIfyDyd8B=;{ly)= -&`nMcKFETUq#nK@Z?ag1sV}{?!{Ai5tJ99@FR-T0DJpo)uVqqD@VqltRPey^wt(NESxlBt5&|eXc&SbTg(x86&FZ^w| -J{}tCHVw_kdtw+8bIEk-Tn18j;z}$lWk+7q)wU8&_4ElG)JR;VlUMS=vUM6*zk^fO(uo(-Je3$+~Fq& -)s}|cyus$dHCuT4CV{j%;77sfAn|p;`rr(c=7H2(KiPtp*Z;K!IAji-=Cbq^EYn}j!sX+@jLPS_5RU! -1O$paKREs207{*HdmxSu{&q^w0n|$g7oWe_fBjmV9*bAsAH5KVM<<8S#t-lI-@ZL~7aE;;gAF}D5O0p -*=i$N2PvApPkTDKOnBDWP%AJm;hIur=(NpOGO$M58XaE$=tNPVHf25l?lu=Eaqj%Hu?s)#~4qEr^coi -E&r|*UxuVK5}V6THZT_;LfA#L!MVw{Xg0R`KN3=xTm+zBQTmV#vC-uQlP2#rdCz1UwC*tFI* -gYrSAtHB0XSX6QF&PmQwuTvy*&@XtiG)C4+}qVGD6S3=IR(jL2(MFvx+>#Q!S17;pl>1F#|u1hKJm9x -h%;ug7$RM#ll`GiJtbaB2Fpcm6Xs~2Inmsswl^T)>D%yJ!6U7nntsK!I#&*fr>6h*wl~dnHeMfH#iMI=2%pB2vMUpf8*a<;qA{MI;w6ZiI+Km!E>mF12k+<96W_G6T;#1>; -Jz`Nl0}NQ0F0wb`X)!JMgdD1jYem9eyq~3Te=04I`HhrloX9`C{r0rWE3RPZWZ?PS#fDQ<#BiL_EtHK -*Lnko=xf`f5_dw*=ZR)!XwrZ=Gw3dXECfc2*q%^xFJp}?Pc9QOuOfg_IK7`KF^WBA5I(5{#OsJ%LG -cmb8=C%ie4xIowi;=z;s*7z;7M2y``bI8;nt&_J6hkhyzt-LAHJuNH}1yfM!D3Z`nBqS{^|&KpMNL%+ -uP!c&$ho4JD-2?rnP~U^XL7Y?GUSl;)~BefAR(V-TC6n&z^k#+2>yvQtg4AU>(VCIK=B6i35&oO|mXO -$43p5ZD8=jk>^_{qd6`w>{!oSROWkUJ9c+yGawuE};MgXWT@@HWs&?x#0N=EvXp+J`Pl%{U3IN?f%Y_Ua! -{?0p@!EOo{DIh}%IL@Am29bl1r-Xmb+6NlVgO>yGU!_OwykwMenPOtH=es#|Kwz-m3Kw3F^FZ0SjGle -{rp^|r_0jmBKkv4gk)p59e5o=HNSx_Ey&QVf{T@Q1gKO45!Nxq_h#Wh%PSj_$Hw!7pQ}b-d9> -N$(mbOr$szF<>n23?vR2mtATXM@me8sz$(wdCRur^v!L46YOR@P!$xJEJ{s1lTSv%y)TfhXEhutqZ+^ -Q?qx#Sjt^#R=7m06a_wq+ml}_ZnI2{*AKtb!F%NPtMbhhj2xt+Cb9h79t&f(8uPpXI`_oKSphU{`5S< -zxZ&*7|d&1~)hzrLE1<9glW?hSj_QS|>C;3Y)%@|tu$zL47%+R0r}L@V6eq_Q-zv>MR`dF7F2i7l~uq -;VP!bq8RLzDH^Y;ZqiWz3B55nPR@$kyyHB+Lshnoq#|v0IlQbyMN-;$79d{XX1Da53jp`LYs(xbXWIjb;ye -@ilivd22y#zKO_;=6V+@%iqBGv;PqY*!a;Ev((G`sB>5YSMMA?So5W<+}qxO-t(vT`-DrrR@`Z#V)i*uG5=(jFoZF+Z3qR*J*bvE%QzKvg{vbm^EwjO1&Zi!juH$ -gnoMkChT=-wNGwui=!cH*(N!FcIo4M+MRf+&R+rM1H2D#Y?&))P`)A{LV%gaX&{{Ee=R!pFrQo|xrO1DB0iCKn0|3u5MX5FaosUZ7M{5%j<;zd;f*vNFuH?V1TOM?kH$Q -je*JrRu0Bu@J~^2?LH|Kg_Ub_LVP80Lt4kPRkwVi~VuRwf^$l(nAaL{F;xT47(>4tTf_CE4@S1m?HiauyFm0RRT_DR<}eYY(Et&x=1Oc&? -GTw>xVZ9DDcU1!M{D51)yDFO6G3nc|WHh@fXtDu^#^$Y*t2)(nPp6qTstA^7Pb**ypULz=T5de_8L^%mdOTutHZBXSG$fx0nn#09aG{|D|2lW -^Q>X>Ppb;JkX3Q?Hm3-Ax1NYuSdVPFS0fWKc?d#}7n`nL*^_UHN}U&emXYryn7X;uC -&@t1j?O%j>LfmS8;_$Yf3jjo!SSgQ;dmS>i_-`-P^PS`}KBOY)}WMx=n6M^ATn!DVk=EZ0^-L^u$#${ -LG7Htgobq{uR+(FGA3WdZbeYR7srowkjCS)6yHeZKzF|DM0F+5{qwN*=a6^rq^c4$aQ$L0&xUy?sJyy -aqc0Uvv8FLPq_orE!s9Dxj?kFGP%dqhHJV#(T5?u{6GLdcM_aaoj`wEi|J4bF -piJNG=2|;@iCaie+#47Xa{fDdfhW=JXWXD?z2{?(OgA-+Tfts-|(Q>Z(i&A)M>9CuhKymsB{moWH(a{ -)z-EZtkS3cGPMfQ`q>N>YO-Nled)BbPDoVjK{3ev7F!4ptYAJA;WQ?z-q#ZoT|qPTm@;`Tar#aU -x41c>f4pjc>u_W&(SpdqWlJ+P_z85F_D9aN|eid-&y$j|_KT*T82dOgtTJQ@dwC4566#9mT361+JodT -jBCp+Ew7tO&MNrSMlNR#c%e_$twh#%co`9qnNCifZuIx&n4KIL^m$9*;4hsXvCUB-dBTBx|5lg<*?Yp -`qlTzInbkf$BNN%R-~uzH*xovoYtJ6SM-pAyMl-+l1{aCbiz0`ouHB;0GM~cvSOjj(H~n=cdv9NcQ(# -yj-DbP#=yK=ssP$LaR=BSE+`vZl&U9&1%KZJyxu)cDGfltKEI&>Z*5Mz4lh~Z@EmJy$L_C4hEBi5^Z5 -#)mR!2jpLsead37n`}03+MXN!tU(|Zd>N@xXJ@7FuK5}ON64s@qsRAPCqpZ-Cjs3BVYgO;Oj2~2)ta# -brd0oaXz+1LFo^#e_cCaT8hYK0I=$g%{b4pt;BQ)HYwhVmxiZ=OqR1T_TDIQdwet;r2IJ#I$AD{7Ct` -Ky-*2T!!LU{!O^tfa;(;+)}jGTbi4fW;*AY@};z<00VucRlt07lBebM4u7D7LGxmDsNIxxi!&8V}Q@^ -0$x{?iMo0Jwto(YqJ#5m0)jU@*ZGJV1Plh5Zz#42J8$F8BcGdaZ3sKMdO!jf)U`9!G+3a7Lh4cg>rpj -;p5atyRZHB@H7-}4o@)95IU{v7o6%2Z*jeim_UstEAl0j+1}Un8T6k$R@Ab}vn$4)!IinwwbL~hgqi1 -(Cfly_k5zppqB=u#HAHx8l%7;yjU%zTb>Ga<>yEn0dBbk-Kw{Ypd0`kHg*0y}v7Qcuxq_n?8tox8+S3 -u>f`{;ntb#YyGt!tE;}6zb3kataGLpab&!zQeQKjYdKQ(P+T2CHp&H+ -UAW6xezVcQcGFBp^IFC-sj^nZWyzSw@nP>Z1@{Zv&&>;nK`~w`>NCuv&mqgV#m_{p<=5klf!_Ux*{RV -vTVvGWlTEu8M=RAZ0TwIUR>r8M$auewCNZodfHcvSId}b#8QSLO~%n!?mF>%*xgGba{FVbk&L5~qtcA -gu<(r@JlYA8ABB}&?ji$5Pt~eSWa(I=NV68x^PY(YZ~+2BVVj3{g*$8T$aGnQIUEi<@Q~8wX`5=zloF86<9H0)GMajlmoDH}WBVov}Q?7>;KQ`fAp-55yrn=lVddd@WugVVO7$=<}Aorq9s4cH^{M0%_(p1Fyur_@JY%sxb;7JNpO7PRW`$q@MjwhSl^)8x%@}cGj3%!@w7iJ%tc -d9a45B}r(E7i{m~GT0-lN!E>gPq0$5rGPXfw%e?_L0^L0OLWY_ZQQm=2Z0p~9RIMS> -vleU&dzh@dl4d&8{Mu1pmpKEI72beXC2g!)WtwIk^x`R6v)XW(xIVfD0a1GUrVj#Wls13`-xC#e^lnD -(v5gD|{VQ5W-FrpOIX0U>3Hq}P@DvT*Hx(8$jl!%0={N*WI2>Z-ar=4YGV#nx|izkEQG)Eh2M{PUUS3 -APb1^m}Gf*#|?N$0(`y1@`BzRHRKVz9bZ-YqZBv^leRym2>1R_0X!K|S}o)mvu=Qt@N0IIY(9xS^{_> -~F*Dq6&xVSOUtugq$BG^EbIt#SL7gglP|HsU*z1^X6ojzi$)2KX-Dp;u -Zn>sEFdCaq>Ji*McexwdMxl}goyIsuSyvnM$o`NFh?>uk)#e4Ir`LiW@6#NBg%agpXZ(E;rX5kEkwEF -#bris^o5Ye?^j<}-8ob&6+u-o%6hs3+&NP~@7FAAg6R2@GS_FG2+T?1Y2CI(1}BM#b0S% -)wjj1*ktOU#w3A*nMX3k23_??}glptCBC+8rx*MOB6`GN`Wzv(SFE?e@9T$dhrl#BH$+!J(IUl%QQ6C79-{(+x52(L!*AOEP -ARv+1*_nix2O(E{_nnHI2sXvT_Rma==?&9~`pYOLpa~?+RFX7*(*SazCF1u||6uZN`O5M%3Dq_EP!r* -NnDk*klwp$Y@4ByH<+qqIze`@S3cW_(K&N$UjH*=)LG^Vdj?-EaK3x4lQl1O}SP7Vz!Ok&nQ;kKPbqqmp)SHGuB;Dn@hG)bk<2l -w1a%TeS<8lkJPCr#WGX!tQ$Q8VP)BJ*^vRqCAeW9tAafbFWpqm>%m{TAM1?eeKUJIy9xv+b39Kr4he& -s~V-;^m%7V_@l>vxkbf8|Dl+!qHgBi2*2O!)Lv?zQV_x_fa0qQMKM>9?eRNkRxY!;1UaXHQMBwN72VK -JMr%?w?`6bp)>xy_3fu4Ld$+0PlVCJ=AC#kt=b+Y^97zA^n@LeukQg?|` -M8tihVc0Xy@rd;skOS2yAJvKc9C1t%gil*#s!l>h5(aG5-MvhfN>Lus<&fH1Gs@4m32N2 -CNOSNAS@cSpFs;4V#?;(X$Amh1qpbQc1;OPAO0H@7HlOHh+JU!O7&1BPt%Cxpt1%YraGQq|92(f(~Cf -CMjJusQ`#L)iH=M+Vn)`DdaThmQ$mO4_zM(g8v;yv_4_bSsUAFpNHbCjqUI^Y=OTaZ26Y|7!9<~ZLTI -^g@Pf$UxEXF2?{>Pe=G>zCEDcFXE}+$|p0}ei%cb -*V1C#wGPGc&j3}!I88$!ed;$A>9pEOkU6luLsEmh*+3cktwlA3V2Wo3HBcikl7VZoxx5~Hp&4REyqn- -|rdK<2={ICZw_xhe43$Gs}9xokv-Q)L|Kyg2Ka_Z-tS?_q@D;|ZnI3tGMK>)prQPyVCjD2tijP#LV%< -B4yf?9F-4|09%we~i*PX5WP$7ZIALV}){owuPT;#8lb{6_+|e#4q}X22W2sEl}x((9kq#mc)-znDt;K -NASuEifkNllQmeDxCb(`%MWTqQeW6o6=wPv8$GWUsjopJ8rxtHjmO%@iA9)(#fLF$h(YNS%_D&(AG99 -3`edtQp8a$@>|vzp#0Wl5Tbae}G#?hVUda$PNpX3giM=Ps5jaOg=5<2^l)v3NeS4`|uO{PUb -2GF$Ax3zQr#g7N3qk@!Z>p;EGF-S3I|A*#pq)^`vdJ!!`%>2&p#2f9MT<`J{n}?UN2qWJn3Y{l_?->6 -+13J)v!&h{9|NuL(TOS-{*DZ=)PDKDKV#0v(i{bQ1U_esWSggFN6_Xgz1eFAtVqaAA5TI#il-+ZZe|5)n(&Q!o -d?$(z2Y%x_cez%qW&{*ja>M{ztInjv|p}-S6qoSdip#qPD@n?uRnhz>3Rq~RcBy`S(1hzoc;#g&=A;AH;*qDSk7>Z#mgTAQt4ZC52TC=AQ7{8ia{U-Ep+9O9t -LSh4%v83lN%3ZKH$pI*_mhRFBMJ!AO9KWnM`+#&pMVVEPjF<-GHDM6gW3VK{yqPc8h8bhC?&PRn<$%2 -AK!h -ilf=rGAU5urW*A&8>f8f65*jLnJs3dCf%D?H#&m;+RRfp=vd^VRmE>j?^o|8yMv74;|n@Ylv7cp;eUc2iAO}V+aWkb$gFich5VO7P4wD`{ -y3&!OuDhs?VfRrn_g>-#|ymD;z^FkR*i3H)zk6+rv_{t=+lJL0;RR7H~F&e>zeRUBC&r+O^SAFf@Ml% -}h5Q!`}P!0bBPr-m$IP40MR6E(vnWe?@1@hNf+C2lm=DzGTx>a?xyAB9l228?;r#m|TW;YU%Mw{(%?h -?h;eD2{h{ac@a&KowGNhQQB_Y94IUgi*jmf?;Zo+#?An@*zUA!3&-)uHjBQFoA|q1{{bkfE6xz|`9q^GojbMDz#0htW>CD5&)4 -Io!pp|}X&A37-NPU29A`-NwFA5r-%-l{T*d^E<@Y@Z{<=z4N;>0LxU~N`^!@&az6#sxbbKFWy8k%$|N -D^u5Bb;Hx&QtBXZ#vnF_$9%fvjJPWQi7E$O4I+)tPOY1MtiBC1uhM`%2xi7<_3@g6DW8XSwS -vb-EE*wD<#0R65?GB6BPU=Osd*`H38U5PXcvICV2hu9?Rf7$GbZ7k7XE0Iwo+7H`M02Ad#BQmxmZKw+ -$^Nz9`uZA!4M@JaL0WHcK8ppP?SyGm$Y2~Prg$`ojWDVEV8?8r68FDgix*otBB;%-z921Y8jmDsbeQR -};%?GAte$?u=>g9@TRK%k+bMjv_G}8#z3&?fxMC5p5h#RC<$gr$tC$Zv6C7MxHW{uV)iYb)wR%i8+Ig -zELM^3gVQGcIFrMjOFevL?)EJ!~^t_;fRN*Nex=%eWZjd#gRZ(h0ka4UZI3^}9|r}x#krg3x=S9vy95 -AP*M`r^T1f==>ZhvD6704l&pWm<;;gw(1jiVu)E-qB0%BYHgR4s6NVZ7vqe=v(~FlZ~r&T2}l2C4?BZ=^7s6Gyrk4#| -aRI4szZHNrbXNq=hE-S`uR*{akNOS@HB&kgiMVoe1^dFkm$OR>_^+d%ivSO6>NsLAuli%a%S55 -xvyo6Oj4W}eQ-%9TKjMG*Hcdzk)oCiR}|ygkl1LIkZpdt~t9Yqf|Z`l_(WWZf&>8l@^cR=`pJZQsBoD -krdZ7u>+U7D@t=s{1K(Yw6UAIuV90rqNI0@k8CEhmXayxc+I}?&x?$SfqVkZ&bzv2u3I6avHy203WTv -P_+5^CMJqC$+$r<)|}te#@4|p(N`6BrCxP$$RhJ5$+F!N%2iADLlvv``HG68>Ce!G$7PS0#nv@d?FNiG~p#>?NAT|;5o=5DC1* -3a-9ixoO5;Q$Pk0VEfR`G22DpA>}1wTD?U_3LZ0ImJ1>eo&PbU;iEw -W5oW=jild4?CgBNSfH{qnEsQEM$`WsoBrZMn*O}j^cMz -|oK~l&;wrmM*=s(cFqz}Uh;8;v8JHQ0if7psBarU0ne&((1uIUZf^tc(CqtEBZWzO!c$-VfQ-<$0oro -;w(&6xS47{R}wL;lThXX-DP7ElXVp%+yK2ykjnm!AjB4(b2PXRH{IxWMT3Vn4DAw5Jeom}W8nt+dTF@J6~9LR5j_FQFq>i&>O*(Z-M1G9BKfu -dab5-6Tgo#~bs)z#7Fm(;d}ZJdTQlgQ#L$;2dQcSVY9glw=c{RH9pI?`~ -NKrLX(%JwLf7lK7pTBt7>-BK5{JT0#749UyU{tPv(zv;=+OAh_zhbS#rFP^E&T)eQh@3v{p{YPY6kBT -Mc)qF*$HOXOD;c8^XRB7v4f5qZ%)vx>o29rjzxIrsR>LnkDDM@^S8Mb00BM(7IoJhen(b661nRO$;k()p~(h -?VZN7D`bn^Mm6j}WR_hDT;?D?&z&q*}0|97p=G6-ZG8M&^P@g5X?a6*noX;L=n8b*ylhKox6F?%K#OM -$@dQ6aXr?x_3zRARvev8A*lG6+5`@5Dd$-}{WPPZ`NPw+|%4hfXb*|hZYf;l3Ze$lVm;rVV#0dvM>P>S{EaaC!7(IBj -GP)6g<-d@e+CykqsBY~k7fsGLNq)D!I8w3ZVt9mwCSr=ah$(Y~TH<`_oV&YgeX;uBOE-Pd*!z=;&CvH -@K3S#YNl$^Vbc>2$a1nDs53?9VU2m(lJm#A;V>r{NJw3*_YOxC2ZC>8N0>68?3$tcgT0y$F@iwkRm;Z -rb%(HP51g(-#rlX1>-<2d`)NY0`uqic*5e`MS>)l<6jFjzkJGGbJjFcgNItS)?2hG|_;YC_<+-I|WgR --9VW)8-3~(n|wgdln~0A@fviy~SI*yre>Ut+e{v+YR?p{$$W5TV)BS!dS;3jyjJuD9;jW8hNjG(Xue7 -$rSK&il{N@v~WmN>w)*$5856T5Qe&cxtPsmVLHvrJ2v?U^YekELJhHi0L8L`gQ=~$)?FtrVDO1NVYeV --4PY2(IGo_T$B{u=SR|}~Rmq6hSRpqX!aidhPFheP+cPN8VA5-WbU%cWpeC>1<_GC%+bVEttWeo&vO^>mB8 -v4ijGM-?m5y8u@a-1zJQ0B68K&enD3imjOi8K*l(j!9wrL93f2>@0L@s0ge>)2_5T^Ku6pcXtTW1c|X -nsojaxp*W(zgCw=QQ@F)I7x|94y@!j16i*#l=2=Mpy=2&e61C6Anr7*-gNC=lxCHj2FDoua`7kh+N7)fij5sEw*&mt(iTf!y -r0=sUnQlcha=ZJ9f$5BCdW*;XKWdJAc{+a76rk)qm1Uddm2Jgr~{^;FXyK~2@V{(6&X7RflR#RyXu!O -?Jpq8eFG)GB<@+un(Ho_GK$CHuyp`f<0vQ+owA` -;h;io@%qC;N*pHV8p-Ul^rYAStk?hiD<9Gvseu;AN5G^1u3-(8x}QO*0Zh;#vO>)N4RJ7@X^kb8sIw-bDfaS=#c|eV%}|P6~+0e&5rW_YX9)HKaWp!QSijQC-|% -u5%5m*Tc_QXeflMjVLOw)(@h8!zY4S1ufis;->T7U*KR%P@eP|6QR4!-J5qg@SgWU-va=XcrgpPr!JM -NjBE+7Z`AwY(^&XAeXEBd37=ttp(QVLn7fQXnI_OT5>zIy`zT=x>h(X>`3Bl9ML~7Kb;$VbnB*svCxRC+leWxju=P^76fd -Mc!Ry?mUTN(e$64 -_&|Gw?o);`x5`AdGe180f@^xVd?pmM_A&y=f6Q5)6J3Wx2&G_ds%sZOz1yrD;tf78hz|t9?IH^h02V3 -3~?H?DDcrvL=1&FSr*R@FLWpBy^4%Iy#$yzw7X<5p(S`|4>iVzr74^L?U9u@c0dC}8sMbqk=qBv80sZ -~S7>w{CH;j+d^Q|c4^%;y7@I9`LqG4m*zvuj`%RMoXT@L&m5R|-HwGIgn$vM&QRium37W&1aIWZD(K^ -nZhYc7AL1IQn~_$JrYU@B}^>$WR4w$9UrQYULfp+|#c~RKgnC6RqIY{^|bfPRn7T^H^%}Utz&2bGwv2 -TfSMxbwa$(j|Kw;bjLZ5dz^@`0mDXlOf3bxWvc3woo>IwnW^Ak8p~b$;2p>ebR9Tz23hF9*pNgiJ{s{ -ao|OwnFY|fqo7~m+PQEU75B~Pz;O*(*@ln-TsQ8h4tFMaGhd6Jg>G4KEP;6)Y1hwnEmHEc>u0wI^?LJ -hyw*qAF4Wq2S?vZ+ts@~St7H8W&#Te`MRgjb>K;qfIz%#+9Y%uM|I|zCak|@9z)@b2TX0wFT=`Do>4ZsiBY1`DV@}SIOQZ&G6s?gH1%0>NcoWcdZOuVv@E!bckdRp<95rjj -HHWhU_(^axwxN2OV(Y{ORvQP6gk9Py>zjx%{kOSk1{d}str}9j3M!t#+k+-YTS32vXu=7DocN?p;|@a -Jf9V4)zbPtrNNN8m9bwG9!6j;>$3z&F>g6h2?Ymq28@qJs~%9QuA)*r6 -h;5W+^d!?3tiE1zzh!f=0O&_90Z0A|}xSMModI4KsMQ+>)yWxzcMk#e~`NWG($8f!yU_$stas0hU%it -<~n}8+*&j2sJcYgMmsn?Bz`D)~7|QEj~4D(-@JRCMHu6v5bGqR&dT#IE>B1wi=i?zJDOz#yLsGls|ld -cIvk?Wm^O3WimtBa!S}l8feIZRriQ8 -6vHp*ej_fE(4myuEwrtq^shQ@mQ&|PF;9NM?mI=~xc%fqY$ua8#g0{Yr$_tg_&A*|5 -Aj{Ef~s(1L4{NE*EllzL3g{gb}ZQ39Df(@_xf#2_(vgJ;X$z61K!kD@kIAWIPrxjZ!_Z-HA~s@6Yu?H -k_)h9eAO48sA#HJ7D7l>>tePt|Y;0?vJIR0x$>wY+^dXb8n -%=FD$$~c(woi>(jw^2Y>(J_}$CFi*NVeoxn0yI4&Nw2LHZu?E3A0-m;X{J#VVqR3|-0PSCf9!GtWG!R~}MOiOHHtt@=?b%ig7C; -UX@B>Vazre_#2-8bs}yBQWF>N_1Qk6vVmex|Urmlyqvc3w;90o$RCw@7j;${Zq=;i>09AvMY|Xy -)rH>euZQRfW_l<2$s0NIegYtk<=#S|7upBU$em_l)kOSm6L4QO2-YRn8?-)hti4C1dadt7(o#tm>)m6 -Mk%N<3+P@Tdi$CI&Xu412ltnU!gejwR_~LW;!*YCQh_?Qi94mXP!*57&-O+F;)qqEEZxYx;j<$fC6y< -_M3o}j!$$|%7f$v(X4`rHW>OLty8i#d}K(r%IrM}fI9vz?7%5o?Tv`A={;41fGcigQPZ(g=Kj!-t5jR -iaxFJ|NZc1s6VfJYcs!T2N1T7nl@TIQJJfOE%i2dscnHQ}uDVX7Qw95wB62qcW2`rq2 -ffN&iPjktxa`RaIZEkZF%o!72@huFJIW9rXYaiG)=01JbOQGd^1gh`UZCpuApceil>Vwx0(eFtGe|t%uqPqxy7FROZ -@!G}Nvo1yOS`)AjgJ&L^2swn$6X_wde7#ZL|6W%9I(>Zabbb12JZb8A8NPf)0)8>XpJKa$1>pCE(LJC -cPQd#IK9H2HUA1^dI&1liHYOsqX0>>IvKwKzsq$-hxa<|V;d+j@@K -h<|BUqiFAnv$LNkpzQew!W9XHmEt#-()?mEPYy>r%2hzQ~_115_ -#`ELO*dx*RXf%}VG70!PVZBByksBU2&d=-Pk+sh%7Iwatj;wkHOT?NUZe3MTCl~FNW|(Jvn8nEtjTe5 -J5J?zFf5^rnXI@~M3XGt|7y))uchl92u`}m859I@IFv#Z$;MRbF=melHY*0I)J3W9wG8 -@6@gNUJ^%2H3^p)|dvyS2{OmbQorQOp+tKtlYG9UU>r9&~{+-N#}Zw!Szbyrh{HCxNK=K4<5Mg^C)fSY9-3-b5pK+ccBuW;GJ7JC*uj&ef%MJ*R6e+isyy>V&`8;!&N`%`RIkISV+(xPnVP$cD%Z8_0fU$vE{PbGy~kxPj&uk4bRl_>e_?;JP= -SS(2?PSf;Pwz0@vU@#Z}gTY{qhV5gwcyIh}s2Mx$sE*l7cj898TrY~hl;Y6s^2t)|`Hh=g5a0roZC`0G2!1>pLYC}nxyyb3pFUoU -TruR%3-uRyLx(*gavqL?-q(7zpm+SUUW4d$h4$^2eWRJCS)FOA~pH&X6SWh0_XC9TF=bCXC)4LHVa_! -(kRzV&WksuHBKAcGcwT0&L=D}Z2Q8Iw?y7F)fJZ6FtHs)EGo2I$C@v-lsEkRFWLJ_x?}ngT>WKs$J&s --z#5(b<&kyx99k=iuex9d}`&=&_^~E3StT=l4NXl?;~YyuY!L&ob4J;X7z|roTIVt-=2sy8^kO)&rB0 -vL7Rx+iBBxWOX|mD#R-U&2V5r;m{%w1@FbhkKJM|D~!D`4x)-oVEG;SFxje8XP`8c0- -aR8nriiX5#a9PSo~#XZF0xKah;ev&+EF~XsSmjr7!pGAFk$Xjo$lHWE++?#i8^^y49`>E%ene59uoyW -&#@w)SLot`;0gKoX55(3FuD1Mr-tG0olUu#9!Hy0+wy!{ATTuqa_6d6)_VM7n-{AIOKCB>j}rssMUK| -gP4Mx;Ni4^&RwsHqHw)Dyb3)_FdePZL+2?Ane6*;{C@yFKb5ML8)lcZ4Q$spcGKcGqm_a;jG=*Ttq(E -(B~kQNJ3tdD|cdkR;8!u0)yt9P%l#tXrm<>7jW#yT~V(*00y!laTX5ouf- -Anx25)7P7HXVo?1>JCe%mYJ8n_q;BP^-ymiV}HUarM}5`KkvNw((KU|jU1ETR3MX!i-JMDtL>$PmSG+~>EI@EAIn;L_hOa(!2adKLf{@Z`waRe?7G|@j$|dLXBy` -sK#OD$8G<1C=yAFH&cU#HbqH$N@=mIT9r;jJ7XkvuUw)|9)@MEm~75(3<4u_aEGc8hM&u-3O9f%tpi -A(+*FU17Vhn$YdXE&N{ZFBDtraFrL&IzSuZDO}=`)P5DSLo5ksAUE8~5+M4Su<2XY3droW0;GD>w)h0 -+7Cv7~(NSHgp7ONpzS6Q0x9`}BJ_)EQszemuc3wUtc`-&g*(kt~-1j -$%~M*CZlrXl&#Ox|aCe>l0sd368BImX)t$@l)|r=LCe;*0wilgnmr(!83?n=~Ps=t%7xoU*nW`ZX#shBQl`jpRUdOAqP)Z#)_0TkpP- -IOMrNC?34z%taNqG79ysQ9)rrTZ0f|M3YK@qmHf~MshfJCE%ZPutF3erwVhJNNK=G}2Lun+9xOd#toEA3lvPh^|ZP -`u>^+;->S^jEeWBbB8U{$y~rxQg5XVNGz6G;&XF3HX$5r8i}{%vd<=am$5@Je%-DImRr -}ExvqYxk-DXqb?>YCR$M29@_75Wy?ea5eINdKIcPa1p#fA1@fu&Ww?^a@G?)Pbu@{7KO=rG{w=deew&3=C -_-X0y#aLdv2YS+*x{jVx>dZ5cifR0~yYetZYkYCQhLvSFUf5imWt@6>uIp`{A|JyP%xguQ6tZ7Qq>M|__bBp`2k*BF~I{cdmhFs -D<(U)Z^C_FFsK&~GRW~>{+_{zQ$AwhD~P_DCF*^Mwlt2qkQOo0!Y!XAokZP~m`nC}_wrEr;p55dqFTI -@wDS<97fAygWUvua2rs*VK&8CX->7j%5<0%ZrT6UzseFq8J0!3-~%tzDfrZ -$n4{^Hy;xyn^kB*qd|vEMVSj72}%L%1=16_V>0gj?IX-Dov`2{bEle(I~E{#w6lv@w=y@CkeTihO%+D -{J7WO2Ph(uzS8CLIku?&O!+m;MJDyQ2FZ?#9Z)BS)VzGy7hUizNDE$#n%nmoH#X_mcyX%idtH{z^yG1 -9pVevz+AH|0%%AX-(92LXf5B-|hWbvdt%szAi4gLIct>FykPVJXpN{w3pK_q_uSz-}08o&HfMx^+07( -yaO9Mm%3sm0~abG;P_z)UiZ^)ilQwc-S2?ikokvWcUkS_xe3gj?K5+Q?+LPu9yWIk%9bwjgSW -jt!grEEzx=h5n1mo=z-ea<+m*kBb)#6Rt@tS^Ucf$9_0@T1B5jMqlQwzuT`&GcZyg=Ta)8Dki_9P{v9 -U8XiRr`^1E?03$Jk(3Tqrocjp$%0g}(-|wA+2@+sP26w=pxeto4ucGyW1JGAmkUH3uZsLxqK%-BEVoq -6>9p}ND7BPYBxMB$yrPH=1{YxZtcAqLPeJO+xNm%@uBK^qL5qQW>gyJjXtbkOZs|3PH9KZ4y9K<>eaB -nUZsE$EZl`jEyQZ?5e}v-bDV;7z%`d)vet7Ww;N?E0L25mHb-4HZc}Q2Nb;)_{ZjpSob@ct+;%;$L3t -9>$k!SB{hc$FqS#+H&hXW=0Q2j&?jGuU>0$Rdu5UN%k -Y;@+N=k^;u7OsVpQ2W$Z|n?!wzc0YBLm-N*6HllAl%!9pOr}oz^k*d$PallqIQ=(gu>)$wi_FbX1h)) -KI-KxI<8xX;v7rpnG^l)7WEow$uyyK?Ya-Myi-(yY?WbBHv)G<>eU<0F7(>q7K_@{dJpcHCUYP`5qpG)-@m&&U<&j18J<X2Krx|Z?|`2y17~jwZP=|&_bZ0emI$N4sYWp1uF&*KJBaXkrqn2O8m5;jD#X%1)^0N?-nm7vxD)i!kP$mU5vNaTv;K<*9(9*gpo)pnxX?hpzkb$@>9nkjYe*OhOTS6aLL~#Kn5hxRgM65mkDFq7; -**_J1ZZNewZ -CIw$t;1XW^%kDQCC0qEYcYtV<=V#ISPXF4>zH;?60QF0d;Af^e^<6oTof>Z`AU)OKEiRJ}`N#<78!pHM5hnFf@ -HWLR$gtTxDgjf`i(#se}#Jbe^ZM<>y691*YN#ur$kYJp~A6e=!+3VjY_o&vO+KrvUgEb}JpvTH59!GK -tHK^|27oQ1}VPmvQ4Yf2k!T0z`?8;^_Ezc6^*4ACF@U-4*Q(i;0R1Euy!PK-Q4bRHGzLsccac8BDwQQ -1W$k+3toJqaUuL8T9~!mcls?W4H%6i*CPty(>9TexKI1^^qE_Be!Q`< -w?S`SKK2@&AGbgKoZr3r`kTEMowu*|p6tV}_~x&Exz9KDsoaZKFTZ~E{9x~8=kKq++kf79yZ?Ic&EDa -wH(rI!jSU98|FZM9Z}*;-U$^=7i;CBqx;Eide*ZvMuXz8E>G{o@{r%?a{Ws0(l8=~dufBb=q~NDi@a@ -4rmX!O90Umt)?VJ6oGM`hK*WbQ;a`^2Y=2NaJ_=W1nL1l?OD)G(U!JDcQkEz5z_ustge0T8l@SBQqo6 -mTf1m?-+#v^|D;zjA*13lCSPxoJa{buj=HwRD3E&NiJr&-FlEOubk&S1@s;|h_w9GMB1)+#wYsUWPsO -Yde6&W%>k<|_zTx20%ERF>8;%iJ<1lGlinYvNaaJIvDenQf;cZgQdpQ%_Po -+Z}_y+x$!!#IK^?VzMdRTo=k@G(b&T&&0_jMQtOkUs~A(lmpQ6Q-{%h14CLo -xT%BBcp{I-Ub8Ou-KmA6ciaT#VI0N?L1VjL_9SXj*HpoQa?SfY{b20%lL71Uq9>f^h*Yrl$J@^mY#Tb?aY4I|J7oXb -q_L@rzV*6F{_`&7;BLb>QwSC%ljfTYITCgz(181Y9EYBVp5EHf;J-;?{PNY(J$GJPQ>_Q$=-J!-XOpb -Xue1z?Wn&H}j2NCAG!)b)WwgqucO=Oz5^n}frB&Pr%5J!3rY#Btr%(gsFfb@XG7J;uFqcD0iFtYq4O2 -v>RlVVXENw_%wT6lA|qIOYhFoTqa^CtTFT=sl|XwKg=<~p4AMJEJTtQNmKq5RxMHQtdMAN-3TUb{cUs8bPu)R0F4V$~TdX;21f}%%**MdVB_z&a#X2{Q#4g^aF9gD2IqHZ>eFzF=vQ^;bIISf-&b;Vb&5H1|K)SD;MxfG|ZT(E-JRpx -f6oR_+#;PKa;o$!|8Qml9%{!waU%*^qQ@KKoRR1xT)$-kL)kU?6olbD!nc@Fv%Wj#DN(=JvRz<~?5pNeS)mto -7T-|@rQdMhJ!P7H1aSmi6KHBQR!K!HTltnbJBmUIY0NkOr=Ha@b&UrS*B#4vz5F;IW<3NRQ@}R*T{iuw!rvX} -2WICCjp;>dAJ@;sn#B*l4iBxxr6b%t7y7~88p -D;aTN$(9=-tvduxgk4m%CuxEsTwxB0%}BwjqpnnTqu=Spvb(W_gy5P^7I=$%H8(>ecVuWbuV7uA$O@m -`;K9j5G4D*cpf{gMp2y@}(nBvn3;)W8W4s!jH -lIBe~393X#08NI2ciANhirD8@d5z-;(~0XDx*68o3}T7!kLCf|*@-rN?!aqgM{X<|CqDm3Lj1;^8ByJ -ch3*HqPC_-K(FqgZM5A^RtIK^cpfGeRF!rv -wmdo!oA3B*Blo^`gk?IFf033VQ*+!-R#w&4 -YbgFs`50@fki@*GUQ^a*3giB7`OP>jz>+Jq0ngl4%=;C!akgurotwwIXt8M@lLlHl^Jsr7>*KYW2Wk`{k5&yf$9f-(-M$g!tpraO9!QOW$x -bgvPqF(fX&qtuL+J?N!ZQV0Y{e$?JNDO-pLomeAs*KxMX;# -@yE4?k~T(A|Xx0m-23pM!Ea?n2LBa9w-5f}hUL93MXupht6t}5~XnDw^4BkK4p$6K7v{*v~3W+z-xja -98w*C(D8wCTR)#|gOXYCxkkI>sM4$~ISm_2gSFNMoRopj;ac>pz3?Pq3a!!{L{fr_Y4ZG}TLd -V5KEw9kNHzgt0v1pr~rq%(C^X(-7ltk=@Q$!}Ch{fy_MI8werd{D}Q;y+4o@h|ae@jhOa4j=Y7U`_%Y -M;jws;0}oA*~$~apy0zmD>~p?-^=TT2fK-`CV -Fv^^+PiSla}3eZD=0RX0|Eec}(nJ4r|-$zgAR!|A}{BS+0wa_xzKJuemFeuktIc{%0h#s`s58IzcpMC -ztq5u|0H7Hv0nLydQ+tE)Zz1&>4uRtK!kWQjQ(b&itI*8k%kIvB_2I2oriK?nu+MrHnZ!egSfuv -}42DlF4P+$wkUWj$8ynLr{oZO)6r!vBg$4S)+d)MO;`R#jj}ypQlZD`Pv^^Ha@d-6)l;u=uxe$KsYU)=Jz%3oLAbuSZ#Mh!r+HMFvylO!8n -e3Kc&)%s!2OL4F9t=N;n!B#N&VNcmyVMlUXROeNsRhy|uqb(2qH!vBY_+~Xrvo<@H|^Nt45NjX -diFb>MC`=)&p(lfzW(=Q;)*)AJB09M>#f8!afd1&-%N`8@A2cd#}C02$(raKWJ>n`L#>|ViYg3PLkWU -L#cji&X*E+1YO@7?f1bl1!A#5Rd1blQr_U1E7C#H*+b}Y=(nphX5u{?we+DU6$Vq=TY4`fS(yo?v_tW -mh3UcmEO;8$Sb*SQApvx3nq1?ySgrm$szs~kQQ36a5K0>aPrcxEs70hnoszt063i#V^alxPz}oYnizAE4`f|ZYt*ET -$rVVH2~`o`h;RlT{UU($E#U`}FoT~2!tjF%n})0I#)fk+N_bfHP)0DaD(@ieo(OXQa|*rr#&$* -tNC{DbtWdEJWaOIj{OvW=1fcW@fCIhMaVLFxW5^}kE-dl?BB=V8$i!5(w5iL-h6XY;u7TXj=i@_Q)kT -7VRUBqT;~S}Y#H3cUkj61;Z)`N8_U1;YmYQ}%^61fqtqv2KYd_j(eC}4|GCcFC;^u||XJ#)|-P~wAbZ -h#kSKf}?yiZ3pu7janxEg-rn)r<>;}@!5qx0Lw20m!uKLAQ5C~P`yipSh~pswgw6BU+Fz_69~kmy()zdYLT$?@&JON~diL!VdC;@kZIDZGk4As&_J@Ogj?jIw;LI)2Av##@n?c#)ZT -kvsJwckUgDo>O&)Hk;G|OFj+CrO&4A=EE?32y%cxUQM4snK|kj=Nq< -_)0V_ -u{vQWJdD9=>^U~Mw2DljEt>4W0M$_jycAtC*$BCXkh-=`|TLOvz@{ulL#!Qx>L-Q+AG -}E29dGRjGrZ04ib&soXz(!fZQ&o+o`^unSqq(lJSr5*l^<{MGr_f~2y|<_5dKh(^H@NIHbPeC(tJf=D -bcUN?wDoB}WRe(Eh2Y1IjIJ&jR_i>Q5wk)*71li=TTqn2A*jA7RRvm{cR7S5V=4f`NG^m2?<>G5-5e9 -9u0s{+(F>R=dJ|E&Rx5D9{*4A4wgApejcWCTsv1hqT&V(tjVFGgpv#Q)X3;B)=_1mOmKqo5q?Y!2bnc -pub#5rlXbRltqAvPP!>Rl#xoe;Y=8N$p3Mz^!fo!4FK9yFBm|11c -GGoEf5%uT_NcJ4Fc6Bo^ka1y26VGiziD+5%)OBk>p1&o2BB^ne! -seM$Coavx0Rr7O0X5gDNV7DA9moT$lf{z!EcJl6Bf6Ahp0R@)%Xeo`K|GKmWJz5QuH$wi1YDPh#Xdge -mshSyX&ylBsnRQ7^*-r)SZ7^gzYld7tHj{y6$|EHs8WW(@k6qgG(WUz7@G`wB6bYejG@cKKEcTNnDcYXWAzq(x#}w)ZZ$sq)UB!yQzAZO*mV&E8Mt;kOMaVc=qp@X7Smc!%m>4vg7r8?Gj)MKwAQOD -75o#kA}tR$h9E3V6Y8JIwmC7^<=b=^}?U0w^w6$xM{s+8b7ShT!p$ZD3VP((-0&=^eV7S}AYZM-aX{4 -IS^r7pyBm1oS;Um=6F(>ZM)(W1C#&wF=X{3d=gnfRWskXW0fc&!SY{%Q=>b?tM#+C2%1ynq$F~!z?kA -YQE*5%slIkrD1??DRUx>&?`9?as_Q%H?jR;dP$ze3`BD(#gbq+00yQn)vKe)Q@2@mh{gN{%$vf!lP5} -;0;#niY?8}W20)rlBxu}8PfzRk6jo^6WQA8o&krI;Ir%i$4N}u%s_CzV3$2iDMX&JqfYId|rZf$~nM%1~T7 -=%?Xk%LR1@zN|qliKg#$7PTxO6isg!VE?G4``qu$TS)akH3R4Kt84^8rP~<-L`NM3!Pe^8Vn1$c6#q- -htAnMY2pHUL)HqlkgYK%15wn20cu`0i70_BG@j<_5WvS{b~j-)qjfcJ2+9xCnwXO%^h9M&HaOZQeT#W -^Va$HymoOu`melO1=e-W^0G#p<{e-6l(m9R0}gh6sAO&-@z++pvO%SKg9#_|Mc%4W4rg!IY+YTQa0`^ -M^Anrva|uEpek(e`IQ`}3Hdbsz-6QL2>YFzOOnf^(X9gKk;;lq^zE&u&0^&zN`oR3SuKW?y{Xu_98YI -rQBD-}vqjS-7Z_?WArD%5~8gh!QA|w&0MarTzGoqGVTQ)6N>m~d%xx`HxO+Q`5EP5t)eD;B&xXIh&>6 -jFLonknkkuyQ?Im@Uli&3OB>|4^aPe~g3nEC-M_~ySH;OMMERVXPlJqv_Qsy(h<#K$bQ9mF8(frv>Eeo|K$Kjv9QS-U$7<=%InUlk -Ob70`H(pt*0P;j{P^5UEvC=y4^h@P+Zt2GQg^w+*i`Jc_AOV4WZ&*wkKIR03>m$32ChzHlnD&Si){I} -)bJY_{uq>%47Tf&Seyy!w@4xr*X(M{|rV+h-br^AQ|0gj0hd=-$+Qv`_%3zVWRZNEiI5ayJ53}?gV8O -wXDOSP=@WW^C7(_wq-wIYjvcqT4?ym{9agD89V>@;20qQF#&L$I}-M9lRa0K;?ExD>g@FZ$L?5n7o&w -H7!DrNd61$KZ#J0<~!(TB=#Fas(3ob9z_5ZpCIO{{kToj`}vD^4#n7=yeDgC|Zi0#(Hy9L(1vYjc*Ez -GDw$F^9;?H$b~m=b5ADiCZx}gWYlt%k3)a4=3r&5ur=&6VTePDDfmv*~ZLdez2;tf~V|aMa7EQ4~Hc142P!T$@Fg>6qryZ|m3Dn5{ -Osy{hvV7IMuvcWP0UwQ*=raT+}H!ZFeM*TyVzhRB~{onQ_BlBq*wJ7z>p@^pd@CD|Rg$AP`0hL#efJ^tt4U%Qezn;bw9ski>1Gy|$I^#|;DH9567@=5L@;dhf^2AZna}yG)sJSKh*}xpCntJV4DYFGg)}f-nH$bO%kl* -!!7X(V^^kPhrRi;K=FuI(~hp2XjQ$?C%K=qLcHj^822ynLfdga;R-{-b)rTall=xg17^(~-(@#kC%+B -{QBFBcKIy)#4(%#m_1Vz%-#tf8&|ai-;m&tble5i9O0ho1576d4~cm<~z0Jb#QoFXxZZXp+b8`^lh32 -;iLIHp&sYaS9+(A7><1zqh?DW!KzDJ;5v3&~t4cN`PIbG>!zW8(^Jlp~Y6H}M}{Hsh -17MpPil+|I%wp7(b$*^l>>Elmv20p4<)F&%1>dwpga7edG$>i*ZtUGfKy{LRrx0~f8miBV619J2j7a_ -&<)YVEf3xh$H+0p)iFDJ7X%1LTR;#Swfp4RUz)HfS86gCL?y_t^o;7UxO40uTHTq@FwvHVgDM3?i-3p -j%|Mm}6{eg5rRa#~3-d1eo_u46h=fUQ-K{W5QCr?8rhd6=Hv8%z%;i#K7~xJj%=HQ1DPVZ7?Zh-k2T1FbzgGyuJEy>qzXa&u@Eh$l*R9F<20Iw^2d+-tNaDg)r? -TS`7i(Z+DIsr=08nz!CEh>|k0;%qZ#w^en|ADy%JN&#qGO$S}N5&UsJ!7ZUs`QzOLpJ@DsuI+Ut_YBT -2W;#80)F(z{lATP#w9t5>O1kn4rtq`1#C;~2lS5wd0tcjoXrum4kOFy!#iz!Gb7=0Sh#Q6kY55{zQMlH%LDz1uIHj27=T3m!M) -t^tj?tk%+LRuHFya!#R#55ZYk%E*n4ULtbPtIY?liF}{em$<$13=pkJ)oa`0dHRn#+cj{3%+IK3baDG -yZ|l*A}YCo&nDcTlj~h(Otox$NA#J`Ix -vD{3oNPZe%58nNnB*_Z&m^6u(XE3st3y&1hi}%OZ_%dd-jeD=tOti(C0jl{hJj$*McEpM8P&6Q?2-_o{q~BI|ut)d|76Oea=_9PZ3#U-+FNoR^*&l`pv3y!k+5Ryc| -T4J9qmkMa>xF@}Z`qQx1~_nY?ajnSZ$eynl?^ouOBmRH@OV-s1<($59w*F|Ra-2Vl390X3uRI6BXaM7 -jl{tZO_;$m-&pI&NLLzb_Q2mL;lPh=)tzVfE}!)zQ?C3*5~o}Cvf+L15`I?~=s*Wp)=DV8~cDH4XwVV -nl+#O!Fp5Z!=%Wo$-lj6*x07uek3X9grM(T=Sp)T`|sL(8C+AV`FT!3WmZh?#_MrbO8*w@RfDYE5YM8 -RrV41CjI6hZ>^ul0ImQ;wc*BD6vYMPD(W@O;BhUs*Kd>r5>XyRLcYi!m2b?uWmX(vLLF$gv7^1u3g2) -%gU-?Vmx186;&#%@Uw$pCJvK--3>88Ml{GU=*Y%yK?KWSL`b`U~c!X5up=3W=RwsF63%YKkc;ng -k)eX}2ob1vk^O?P!a9YNd;Oc&EXU!?Z_p|w6*uztVQt5DLIa7dVA(PGWDa45xpK%4zJlS;#!IG?*^L2 -e1M!l@Al6z)ASvoTAQwsyhHI_{|f!jJ-v(HNEEhe8SW&ZA=v4lk}?IKV4MKw-iVY;TH -iHH$&`U0kd6j-&|C)@F?t$6X^yT1s7*T0&R`03*{U3Q7d6Ccpzlz2^D@x_gL^lgTpI6P=ngO!)}e6le -}%V-ePH}9g|EQ&cF9@bC7i#uglRvCjSQOwM+sOP{-eeZJ(ko7gPh241*0970$(WjZ`tjFbW;sFuU?S) -3-v#_tP3aFF=1%VxAM@^zwFTlxxEc_ucI^gPo?;yQ>(FuhcU@;9Z&*=)H(Mg5=Pwxf?{TNc16LQu-j* -(#_LA7p4rF-&R7q$AGAu3zeZQH1O%fR@8TS9BSKfId9Oo{0WU<0-IF?=bDCE=%1 -+!y30)gyo&0sXUuycpF(+h{QyUjIVATph;6tpT1Mwx;sWG04~7iC)pI+nun;{h}EKT71c8;9yrF|PG= -QRRB!n<4$yKLaa3b~dgUe{A&-UN;FyrGs~=SaD8K&$@l3&{enX-RdE%j!ymsDV^4$Jz~}lIX(5#LAaw$XHwr}-7Rd%Ad2SP<cw6Lqa?%#e*zZ;Xo^@$Jm0k`K9>4Lk}@@g|#FPjYSo;@Q&5ACPLO>tVYii>SmEG1Dl)|05TA>l3 -b#-RO<&|o&nS1u@5y!?!GJ*)1|JGCBmWAtaMC&m&fGYH`BvJ{MNlEgehAq@K21s*a+w?va|oCP#8EkKLz2qmMTUSUjt$5+~(rD5;PnObNkjS0fgN=+L! -m412=RcRBUbyPCp -mSdCR2vumBAm9n^^O?d4As=r&5h=_8x3J%4REK&ls_2Uev;F#sI%dFHQRJR%}Yu4}Ptuphj(%)98pIS -%4r!qRE&=opfA?0YTMlwZl<6c@_lC>fGZY$YnZ$5y{U{y0Q^Z?)%cH$V-IBE`slkh0ARjf5+8!aE>AEpcVmHDOZduS;aV@uI6=^);M?7biv;4CLoe1VKmtxo$w~BUf2UND -F0hyv?Sg8qm#o)f6`9{c?4$(`1?~umH&&Q7rV))My>z(4=PdmCrj+176JMCPk!C?5QssE3Xmw-|K3Om -fc00$Sde35)pOtnj1wa^T>Ai|IHAwy@Di`|mA#UY&Y^!2l69Ry>=|833mVF)Mnyubfbl8ZXR~oR{uxW -;h8NrpWv78kJ=i{z(n36b6Cy`GCbx}NNr*1v-DNS#v%S6LYUj0J-=646{uEPw-DHlZ#$(4#TyG{iZy+dI5Ey!niN$by@ -~al-=G2CJC|YTGEYJF|JAOupsBVh!U7M{D*3X5jx*&H2(_`04T6x}?XaxfXC -9AW5UHz2R_4q0XUi+DzRJ5KJ)RFoE+bQ2sRprw3+*EZ=Qv70PBK}g7k+ -?EVM?TH>9*p2RCRv#WjXtuOP&EBLd*cgrUUb#Ke3pYFq!>4Q#YijNd|ezA8KB -fionE=OU)Lzfw+bZybqd4SYxI&%YnucnYF?~yon{*Wz_!frL-6>cyY2s{)x(8{u9hY?EIHhD+s+cwJD -G*T{%eSI-(CMBwRJZZNxeMIit&fy=; -GAUe=DL#Z|qxAsXx!VCo~Tp0@muY^fRm5JQzz4CB^dg^EstvM$a4-(ab?aS2lhe#0Bl&OER6Sa|ZCZg -x&t=oAbl6hy(EsG+CtV9{xUZ6`$9DQ!q0FVURSade4IE6{cvl=yhjM9ZoEJY(xESFSiCF22FOOTo`(Q -T{Jo0c411F~H)ndhW&h*J=08&S8>vvSX6rNnpH>mcfw`1Z2rhOetNP{VcE^S4f2#o6Jxd3PV5^k--_u -Fp6!#GN`@_U5@(57W&Cy!iojoq&_~oZq_oCB02>&!fYK-shad<7q&P_nVGi!dYG`=*kyfj*iC!@)=& -eLeAniq61#vcJ?seRt6&&7B)%vx`aZ3Dod!WDyE!2Z3oo|3{ -q^opKUUpQ0>hvw}&rudqrc|m{nZUG60`jn5>r)r-b2@RgngX(mk%x|8NFO^EhN*hR|ab1rqy!7k -jf(=I}tL?_g=X^2y{$r*B8|Y1W;vxe1PEFFTu`pPRcLJ+g{l8S^H`{eaGr}uy*UQwowUV*qtDoo#AYqITdB=;$qUK6jP?~52rFLm37laEa^K7yU1YIVu>FMBw}?aA=6eAW*mQD(J;mj!0{uJ=O`6~i9>2mkbd7r{S2^y6yYySr$+p5{wNogzG*7o+c9zWiC@?`7j)2;n|+ot>6 -W7fUlOE$<-8Ng9Fx*kVI+S!Vl#wYrLD#4MT6c<)VmBemsn7}$G=P1K{f@iFbif9u?R1(IBS%!P2RZxT -A%+W{zt}g<8hwY>07*~5Q&(kZ-24GF0nUG`e8(#XVc4*6KpHR^kb%j|r971!H?tlb1RaG-17W`TYv(mk)PV9xCQ>2LQQ|RJVAAL0rL<@bP6j(wBeP -9iWw2EQq)Cc4{P+U+vI|?Ud(jxf*9!LAI_M3D0)r}N7_9HAA>h>78#Q>-Ls^T}E6~MFZH~`oHFiWyMF#X_LJBf-8(rII*GiJ? -Fdd!s(g?O@lvrn|aEdmC=vPS`yA<5kJfgKXmQYQy8tR2|l64IP&2oH(>TlTr{}7A*m@}zLv_R1tVNAO -pU-s;cd&v<_qLX`=RS8Zu>Ou*P%j+ePM1|Ku%`x}99N|X4keB?G6xRf=hd7yqq`paW5&cMWt(f}w9KG -_L_i4`|Rgi$}EccYuScmx)ZyQolN(?URf|izL))El0>ru_b@zEiCYQU6gij{WyLu6~?}+4I>k0Mn;qay|5P>XWospX#0b%YsW1jDX;eeofOJ+<%GPrAR)i}_Uots9I&>8uG)E~i5b5xM -9;60Uw1ugRnyU;GZH_557l9EjPiz=?dK$O4+A&IjD0`yHi5_jDDkF*>XWf*&f(9(Hn>4z%e?y&!&01A -jOG?FPwOWJQLi+NL4QhrGD&i=yiE}S2FperEO`(cfL+Ma}wx?F~bfU86Aetm1f?WMB=X{8TZko;cdal -wBhO2_NO|MARemHqUBbwzU&W0fx!?$8|ClV}eXOc(j<( -m-II&xV(b!IaT%`#&JIYL>yTnPd>`zT^%LB3WZ-Xg9x6|4(qREc+aoM9T^3^)`1%N8st{wSVscIBGV5 -=fa6OG;j*5w%GQhVZ3l1HNFEBiV*MU3#ozb+(ahD!*hY -8SsjM=bJZTEkvtB9Y=8C>ZYXtYlZx!;ha!pT(1OEO=$go6|MpN%&GFpj>Ig$-$M5VaopH27Y1U*OO6r -jL5OEWe>B(WWJNcfW^drg@Zk+6CuGk?tsY(b6_BG6OgM_HRcuAyH?3qv5eoA77@o!A#ssf%TF}lAt;D -;H&RGFF-o?5K?clzSkH>K%$A80bXY_U!JAF_tQAz>?Ir&vTK?M#Gx}ZdEI$p!P;2t`5_zq9~aX#q2Gd -vU3LK&T^g>$n`eO&N59i{J-*%#l+O)y#4Z~`POW=&>F7@|*_C*~RFQU(^)AEIT9>drZ=Iz-ovp#Th$J -Z{N)U#7#;vI9-9XV?;ZBA-EX5%dR-^eNp3Qia!nB-ThK_@mQ0W5euKAQg(bw-hhF3&;1YtK8l6D687K -sD`e|Ulmyr4)B!q6McbnU6GDJSJ&Y5=y~8+)rZhhI*wyp*U{jolusSVsWrg!Y)s}q&fRA`$X!CO&kS66g31E@k&11SXJBE!JpXbBssQ+3)n+ltZ_n -dK!U7N40PQamZh7sIV)O13DvNP*jPVqnSoQ{ik#F7xPOrO;DMD0HN+LYL570X>PVeTL>5^YgI4hr;@`Fexx8`t5gJ_%1V5) -k(DUM;?ImJBSH%9||2E)zZhX#8aIp&Y1?0S3aq-+A2=sA?AXb;dr-H-EtA958ouzpx?mo4i;X@02*nt -cgC*6vidY(TwkanO)t(D0nITq?PNCBjIS4~PSftt7|M>}@Cm=$*;d0)dIG+Ihmp&E2>W#n;M}DmromE -+uPSjri0GUntlUckCpRQ9J`)Xg;;2Ld?COMq{$g~d+q87H -4cdQmDMJ)Rg|NR_cp0&E+|3tb~YyT!Lsh>F6G58-sr!*SA;Y) -l4LY5oo`Ytc?`KE_B(EOmk;ibnwatIhP(5kcQbHA;b%D6Ry?mco!wz&Q{FwDeaPy*Kgx_065ciCsXHp -_>hZTq2WW3s(lfS7&VdUwxDHXLL8xE&VnZA}XzYzv!>~N*kwtMAYSdpGcBL9u;&bq!`*5TMCa+bmp@r -yv7SjEp3Z`Lm+%(7o^b3We!C2magX1xyk1BQ*KN^m3L^5G6@4%?t%0l?IX0R%aHE}bOSGkt^@!^AY~n}- --qbbSDI8Tj>Cx3?${ovHRWBPD+K>a$pw7^tJBNy70wYp72;ybRCr*kY1rrFcofMe^R~ca}aA(QUur$` -UjHqjjw$FAW5bS!<_Fxxjw0(cD8*Sf*r(@h7hD<%XdX^v3qiHq -qlJuecd>dN>iq2OW5;|L4{cXrNpz|e4iRNq`6#QYJIt1yBN*U_Az+KHsH`;PmFcnc_*@(NygaAB&BB*}4N)7KG=qQ9|fxX~!3cfB~xxS -*o)=!+sS7kAO>Zi0b*uPDfaXUPkWG;US>w=t;{k~Hz24;@ -#9B*kgM5KjRzhqHUL>1qM`5&3$@XIf}Pum2q)wgP;y|uq&aZ$)rVfea=2j3Kd;&+sGvGSD -NoSI9>v&3mo?S^xg4r2cCZ>pZKQ(c+;+Hh0tpPN(62!>Uzig7u03`FP{2qYwW$IofD`kv98#&1Wa;@n -Wd+@t}K=C)$d#HDss!ymq|tp;m9SKg9!(Zt+!jR&Eg*`|PI89JRMj8lMwrmWmZvhjiDG-&6ZUV{#pl> -h|Sib}&YyPimT+ZGer8i1fQAG>vRds9@qIEdcQrYUkNwU}NtxZ9=Neui~TF$(tL0&z*l`-N}=9oSg&f -p@Q79P?AIfv1{3=HllYRVOp)&By%J;+#IVK>xDd|zEmnp9my3d@WMpBE3ihKm8>PxZYOlud_2kX$tCQ -7q}1iZM~-7XjcP|HH3yzhS<$(Bsdx&Zn7V(`Pe;b= -UW{+JiD`TNTcS3iYo{!a(%F0T1Momg+tUIGU?)?fhnF-huVF9y9WjH!~96hw}SL7|UdDFuMH>Dcgugx -W0~cu#qB9Yko*p-q6&HM9YQTe&) -6;qY>_zsW8uaOD?f65@LP`M6hs`z~wl6ORxD%r_2$cGyCWV7K72No+wq~p9Y@4V^CO1>I_yF9|WJ?)^ -%?4+K;b3+ZLUhul%-M@j-SAM|c(@!@I|el8Slx1^4O!B&$$N@|$odm<`c0!A5gS9SHh%(W=JF()bz1` -UE9KQ=Vk{eoTsa#|=2x;lL)>fr6P8xzfAEa}silUFnU&_qGu?`&`g%{?I8VKBAC!DZJN7EJ-K`4~C|Y -#5r%h4rZtyqQm)6@#b?V&WnWXUg=1t*+S3Am#6~7^5m*KjR73wWygW8O&>aI&VO_GB_l#- --B$JCG~Cb#?XPxUKUwL!SLOALPROP3e15?O)T?vDlnr0jsU#s8D$HEFbi*5FcO$l>TIl0elMAL>b^E^ -a=~r(S*;t(hEEJ8;G&vcf@&5O~kmnJ-iGZJCdS7i%F-9(ohn|oP(IyU=j7u50cbRCEBSJnB0n@nlgqm -7h(HEMpBuncpzj-MiK3d5>lTR;P5*x@E(At#ake~lX=JjYW6`~$7fH}^cD)8s -g(h9fn`CwlbJKmBi*q0_ZUwS(`3Dd3zpPzM(WCiY}zhS!G$%Mg65Bp7Z^)9S%lLpEwu#y(W`+Oj!=y> -qJuBD0LT^sBv`T3R`~7WW_+K!KsxKYpKAC ->;kUmlE-tZ8e`v>Q)S4+KBF@HZnoj>(iNCXQ)Z%7|(qH=acD-B9q#xG%Ah1E13n{~1lsXn^VKb)?v(AN^QRz4 -peX2q;X{IuK~8&SI*ZEi+s8a;a!ZKTmgFKVYw8K@&}n(3l25dL&w#$l=?5VL(V;Of;#j;sP^Lj@Q(Pe2QR;V`sxLKefH`NnbG1u-@JPB -c3-+8|1RV>B5r(8&~a4p*H``MmBU}77YO!i4fZXAeSF1g=C=SAs{9{-^}`KNuGZ4Ug!aKjPKGmRteG+ -2k--BJVO7^1K_07gR8pDqY(}|ln4Q;j1d&?UKumv1wN!|hTHVATStj61BnkzJ>r7K8s);UlM{Y~g^v< -366ipkAGmTkA)`MHcsH_{4}7%OS -dGVr!gIACYR%tk*6$szX^HH(|0@MT~rnN=!b(BtNKzE_KrsMVKnq-jkY4|JU`sA8oKScURm&KS#US5T -iN13=gYV-LWWUz(XFq(7g~*bxy)Si35_EcLoOq&ao^Qx7=V5@f5;y&pI9$z$h;uB=b$=5k`Gl74 -5WcE489hM2OULG=j#zd(IB9g|2=zJtr-4;vaEd6!KDp;mpwa4j0``f8*7FB)vp@- -o47$ezw~U~Ts`-pCHtqj*;))lpe+?}!1j7f;)Fi(ORaC~m;bVAAUzUt(_qP<*lLTHOp>T@491q^?nh0 -Kn(jwu!ImXDS^58dSj+aS59P8h95DPF2_Q(F}Ix0#h$!qfQ6!%J5okJvKJ*gt>Kt+=?4<1e7P47AHKr -%hVf@PWDnSQB!|~aU1t;0b5+Dnf&vDb)|&LXFk;W%ggn7`wJT>+K ->_!JLSbNZEdGgJ7R${hjz?Hk%e(_wS!WEAum$CZqdCCK2B*2k!>)uKB%vKi!S+87zkLZ2LYmVUIy;4% -v;#VkmBsHSrgO7l6bNr~pr!&Dk6}YRaUIR2gtMV;%1aRy!Pw-)STA)LNNQ#X4Pazw02ih?me)5sm-{3 -<{7@gofjqLy%pxt7Bf1gQ`^9+k3k-Ns{5!IInSdUgD -F)}`oj6DP{J73e;ksU`e7-pgI;U(=fjsWr!(OWtdz(lcka(n^Oi7dYs%-<^)u(5Hz* -1C}BfOZ6(1*#_Yi{=j?{}RiZ(%%1$S9SIW>?c}CqB;yy?D1BJ&ZP@cC@j5zXZZ5oK7#GbmKv^3IDYl? -TYfdq!zrut#CqhL*@99c_uppZyNAlP-uYXv73KkY;vR$s=(1M*eNfiw#87WMSJ!(xV -0xpXxN9t|rBlP@+f+kDrC|P|z=rl6Q^wtow#96eSGboRn1PepvjzV()llY@|kGqXCqh*mYT*=zeySP) -wA%K_>)e^Ao*XF&3DHT?zta@%m&Zs+dY_;6~USX+S4f-c-H`k`^%x)=un=c?rjE*JgJ33r^TKQTIfNA -$JMghDFvrPEXT2Ro&iEZkmaZW7)x+cDOM$WOl%vTFr{GZ_%QKg6iUyS17A3xiea!jiehZ4w9q9nEc4! -N1P<3$rnexLBBufqDRG<3eslxX5*XY$UZoYSSI>?cR|8p(L&Bh>Vv-cK^Btgv?1AzcNV_)vjw~r8Mg8ZbYe -2yD~bs^2M{yKUTWCDj?}x>^ZjRsl1=I7Zw|ix=CH)S24gr$yi`_23E6t=lY{bP`ka#64&jV#FUe|24W -#X{bQ<{yRq -dA7!U_iMJ>`fltO?*IyF3e9l=?*A%T}!1kHztT8Pp{tiQ)L!uP;)}c(`CGlkEYVh=QcjB8t(4o9G$mG -&_iB5K}i7<4`J{?x;#~>A2QpD?J~3Tq{vLxNi?VMlbBbTab_D4?bOnR@djO -$#$)=|f@vP38}4Lw1(w%YR-MsdjYvlGvWY+rj}n9yA0}sUiXP|8nA9o@>0|g#}=Fg0h&`Bm96&VGG-H --MH?%itL9i(PIXWwAZ7UXc@CDj0H9+(7}Vc1?-N22Cq^CpcdpJquUNiQ!GXGL{C&G7{P)XA_=$|s-}) -nY<%P_jMGzxv!jLs#25P%_W_-pjBpq8#mtGa{#2tRO{nSPGHadA#UY}YScwnb0^(60Wi%v;Ur$DZ8Cs -cqsU1cAJa24nX@Qu@lUog?va&21Cbl^0UEv^+S@%)xgQH03$vF4=xRh*xB+TR7TGsIe_ez%;8Lv``1B -&~P;P<*68MV{dX@yTsz8Ey`Xe-06Gwdqye@z9?G20AM7r1lN8nWgvH-H@jPi5z4l?+LMcn@VLXQG<`+ -*+}gjDIl7Q`XaVuBHY6QU)uf8n96UpNAt=E@BZOYFheq#T(uBwT9^$1|2!Sl3Ej8Zjob&W#-uuC2YZ8 -yBFO@!D!Q##^qO0cs*(^FMLuDb*b9&^3nQ(d!M?^!K1qOthw22w%g7l00jJYj)9X$Q^#naEH1l^934G -sM74FOegurYb`QRMdU7JnAAJmtY>fvewuY_Xp$Fw@5H_(ee&L_(_KD}~yasD~N_uQ@vVNvgDLz)Z<=! -My*#;(_!wJf$P=B7gF-8h2Dsl5p^ib4ka(H}~kNkco!uZXK8PIWKon{ -vWHusXpi=kjo)lcPbl@;)_E(ltgjos$15R#|7B!sR(1I5P65bSMx(F$nFi8#6dI(N8=zY002Z^ZhE?hJBrnOm~Y?G0RVM@tvLMK}mmRr47m$Mf>hpiCE+v -wOOU6BDD}@u}gybrkG_Mk|%boT%*N^!2aY3Ii4{T*Kcb;7+v1$DQ;?hb{=DXqG?)}gz==6ogIhal$DK -|j)7bjGU^Jh1vA0cBTY@?uq@sQ-(^K0KaC-UJvA){hQk>}T)uA3pBo{Gu?p0)Rq?eoN~kmXRr$uNkXc -_916ytp#U9*ZtlF|y>t@Ee#5rE5W-TMWBIr_Qf?-enB^VnSQ!g+&;YUduHc~#{N6BWL1CycQF8+Q{7i -)~DR=pr-bHCAwSVJ>+dx8J_jZRmHawmq`p&QfCboLx+6+bnGg@LfN_)+t5#~L82g|~G4xm-&{L(*(SO -g}T#4U73>*JuF6C2Q0o{!!NGO>n4e`s1uq170pBiQMhi=|a$d+&V3#AzIRiI(=unx&vqH!A$Cw2Pm(V -R=RX-PaAN2#ofC>dv_>KbY+mOd((6k!d2Fn)y+^~N}0s1<8JyO+XeWm5CSzQBQPRJ{a)&#DHEHf?`x~ -t@{Up^?+}nk(7}ifYT{PQsdU=VilaNdd@`Nt{7U_~61|5Rnw_xIhwC~Z44+j5nOdBDwRQA;d^|qRkB? -8T;a42j@z3!wz4>r*{XxdFsn_fGYW4M6Tr0)japGw7CUZQsl9?$AX~p>xOyU}~R}+}jYRfQ*>+5kXUW -|zf+hH*I@%JLgbrlQws6BMhXJwb_A>Q_QRL1}klU`QpZ0C7Wn^WxIfRBS{Ox5>Nu*B-tgB89M-iw1T? -!-x~tf%37ow7`mA01_yg%h2LhPM-Hca``M+$M1pH*kw@`>Sm{MbhI0&?EI8pcZMTTcz2lS1ZU>V9BOw -!p1jYy}ZCFq%eY3PfzP#%G;1d8DKF6FbBeHnoiub#rlm~RQ`@7-5A+zkW8jD@p1q{ZR1D_jhh|v0Bn3 -mm-1!XTn$}=D54CZ4MKU7=kzk -x6yIxsGY;a9M2-5x38~hQdrLcstUK&TIGTUk -XTp<;^CQD%BuofMwd;BzuGc!XMr2(P;b$OuQ%OneWov@|o2YIcn(N%E1^WE;-kZi7_=n6wrp9Be5yeS -e+DhVHqg{2x=2H6^-NJvVIU7jg%(m;O`*wCU%%1RMlLjN*j?uU8L>{h5jQ@rm>Y_;ZB#FuMw7L{_P>z -I~mkYn>&@r>*c%z~Zp@5=yAGEu-tBhi -B@%~)SPu_R+J`_7#xPDVhq6DKDb`DqYSe=c4I14d>z=tYy_|8s1b%l6X>1L_QM)wDpkY?jn|M9DUw7y -Ukp+6$Kfg~e!aew7$NX0v169w}b^FMKyT9q|`SZ+|015x&2(qH$uEbG|hnP_rY97ntt|p^N0YK9=veqjhnRSH&WdSl(cEg)ESWOOfAi7u>0yAM^*MR9?!Hv -C<=~Q@9}WbeV3f!zi(%7yuu;kdkQY`7SpxqAK@%EAuWi1^5ps)(~cTb;s5o?j5B}CIXQ_wLQ+BWw4AB -V?6fi(l%{NL^f@l>s^^knK+(IL~h7v6fEJib)j}jJ-Z_7B=&S2rQ` -HGb4WwU@r=^KoIMRv7$WjOj$A223u#(e-=^UxdqjPjE-vsinQE_7fo&f-j_Z# -+19En7-tR}*U=M7DjX%9!V9vc#5?UsC*IAOO2dQv_cEHtDnN6k2j>2x9aDS&w<7_t;lhqNJ4!DYl7G> -(DIV^wgaY#-X<2aO@pRaM|o7KRLqLo;0$dRK6P<;>p+WWN%ZJcYZuDKOQ@+Jbs*{jk8AAY3lJ~*%lYu -OFU8W>@02j4>tV=w%I4<+fxStSiYm=L*vT75~0K<=jVk-1@%Eqgmd%|GQU_8JJFFyWLnHdE?ak117!8 -(MJckn0pUsjM~}Zg?6N`G9L+PDi~Sx*g0_(lYK_-EVDsJ4y`nYe~Rs5eC;*g8_#PbHw6L2$vniMK$UUIW -}deaxEb_?Fx#FCcXL4s9&s%h2TUnveG)tGo+oU;zT;d)m<;wXifQ;yC}yV%q=I59fkxHKaXk&o=bnif -9kapr{tDf@~F1gri^<|Ht&rMIL^|;ug$}~O@2mS==AWWWEvN9_~+MGqtBndV;(u)RzzV&($j3FxVq2v*`a+>H{(~g|Dk&z=-qnX{S* -9OsshHHl-pQCmD7+E+rYYTbyk7EI3=cdy#eDz0R_ncl=VYMpO%+j*2oM*SBO0ZT!HV`(%PVf?|a?1g} -Kh1;6~n#l6`+DQO;5$=$^T@l);hIRKI8JRNF9xs1Wo5xS`}-k^LBn#L7Y{3zobv%Wh -h2Wtvv6m=9S=VKKtr2}+fgR}@EGW`nk9cRQsy2ybBx~WUq1J>32VO!`{=+i&o8g&xE=`|29rWdP(c_j3M5`|_e00 -y8=(IivEbIZJtXk6bTD+)9BCsuYeZk?&wvFGaTqG>OmQ*ab{rG>yh*1;?|G(&?m#bws^JZFl=GQG8rOK -ztHKJQ$kEA65HH^406@j2`aRfY!BZm3YK$yY()+LRJv1$Mr9zEs8qhQr=qz1LP3-D{PxdMGAvlxJ{`_ -Q3>imNAH2N?jVm;x(aa}?FY?ru|Lmd33^n{C~3`|wP-M_6_}`r>`u=!ikDMl=AxRtZ09+)n&TC1lS0$ -ia`KC~Qut9CbaL~9V%cy=gN+48QTiSh0y^#7aW3ZqHc$7D?~&!ty_0MF_Q`#+_`#95cV8MMXgpVx_AHdG`@2O>0lezjc$L^Y#tpK$8S&WebsF4$^j*sFKq+?P%}`Q+QG!gull%BMK -dkvNjZs~Z3`=rP6Ddov^g8T#U)?H_x^n{kvbkswzHr!7NJm0an=3dI#xZ#C+CkiZfQjZI?{()+{1#0KVTzgt+yV$@N;*Fekna6j%OSVc53V*F -*Q)7GW(8@HP0_$eP~FQ}P#H+K)~Kzf+PAt00vJcf6rypZO9A~ccM5SMR(A|)Q;O=GG!BhtM%cT=V~^< -p^e<*6oW9j5s>n5Z$J34oR0Gy=n5s_F%!WvgW0ki~wCc1Jm&1_1&NJ;4D-^acLT#LLBaHNENKf%j(7o -%9n>)r!xy8t}?%X+K+kJV@(7Ry(bAr_|;5(@0J#F0~o7Od8yl5WF@lZKokyO(*mHiNfU~6IsHsyRqR< --a7wwO!Kf(wJjS&xhpF4<_ASQB@+qK}@~$#Mon7^!^=+HH~|HfW=zf-6!oS3YC>Fdt2uCf=di6?+I^G -98g%s`bX?Og8A!>ME>Pt@6h#w$+#2(}tle_ORH-e|K#PGySsY4p1Hd-%?6{)DT)tlhjh_zzdd-mJ)aMHPb|V7kyuuc>tjl=q-gkT1d~pBaO!TH~p@nTjlG7kH975oI8Ra(#zg?*K}X5FR19RuOsz -96!Dka5j|Mnd?3oW%kPMOp4_zaF2C@RZY}O_YhjODe?*@{yu(3k^N~zcC0Gc&dE|g9uS2=&jy77dxU< -}jnj5XpTwqm8TSRGS%YNRrC3oE)wS7FC1$U#xc7$s^sjX6{R=3wV^u-rpWb&kewiMS&94QXzz-L(7NX -I=L{e(h&sT1iy`CXLTB&kTYNOS(iZK_!%nzU=jH0mW6G?@kYWTxJh)0+77G02Hi6dfQ4mx9&*9Op$hs -h4%3G7lP*mgGES%y8LMV&|j>G}!?cV25p{y{tPJrNgE8x#4Q8=Am}9-aPs0xVP>&8ajRcD1_7va|CX6 -0yi0}vB65z^>U^JK2A3R*AdQiB=ymKRJq=;o}h(pJvN=xPtu`xs2APr4cH3`b7YSLgTu30uL~nIRcDt -u+BmsC!|N@z4Li~fQpQl}+8=9iqhP+&nl*X-gytKneyH!HtRU8^U^dHCao#%$s+xY-G>z066%(OEDTh -w3i02Wjn2+i@#!Na4%<$vZaqnKuQH`4Idchoj=J2t~#Yl(}Bb%T!pger=E;2Cayd;$lAb@IelGq^Qit+y`m#3n?zaV@O$;p8AshOzww21Sc{Ba&nSol5~%QJ@v%4Q7SVXnh50v}Ox|htMdM7B7>Zs;> -W{k=Tn(b`FbZ&5=VRNoQ;@wFb9g?TjA@ptor#>943{!!l;_=7WAm4Ka@<;8sQ&YVUt}jy{iPLWx|{M@l$@S|kd6NX1_sh=OZ<0wT31MSNJ$23WhQ5U^)iRXA3E -&{fk8Ff!MJ7}scgeJEdZ}aNo@;vGyAN5?=v}(06>H)JFi0>a)c~_HoL*HHj<6Tr)+JvwdI)QtyWP=7U -Yq+8j8r^pWuq~_CjFvNt<0nIm|po$?(s_7LArlQj^SJV~@6@&sB?RH}Qx9UF^e$`YC6k=mc+dflhd^^ -kqvD7}@J!`_~~lxRX`1S^2`u;!o`?MlaX~d&D;EevTWop29*+Trr0?e@TwETFsNX_wcK&ZS>GmF+}xA2QS7?O2=5jCx91w^6|ny6F!;Fhr6smZ26Be#q3IS8TQ<9YTe0Nm5a|29Tv&QW&zW4%8xy=V{ClY;G;e?+fhr|iiZN -N#p5j|+vPlDr1)8hTC(;t^i)9~Y@fz}^o=};Pm1m*Dtj$NJG_ng`|wX=05!X5ej>PaS|VS^Gszn9t06 -)xO`mFGTT>&*YdyWecxeX(`-ZR>8|TMM^Z0+zt4xh2a1zx@77!s+Eo%VW0E;-IEO3uJbSO~!PcWM;QuXnbmP@R&B_(ih&CTIqDNowfAC^sW8+`DivE!0Bga(=nqR%%zRJ>k_qYeUSRHn^CO(4 -En_a-O?q7oVfU=mZ~JOy)U1*`o4;@qC -u4KF|}+!A4IKI%Z-|>R;ij*-yLwyv73yzTEnXDpht8kqvc}7pUy);l;()XtV|5U6K6rdcC=^u?3S2NP -zZVFrY)y2N7B@lB2R#h_?CA&fX$Jn$A8~9z+p!Ma{Z8p{W{n)BdgeM37LVe^f?dG5PgaYfl;H_hwxg3J -^FYkB&1Qj=%dwwNM$u( -$nMjMn07}RBa_n$9HYTAA#xo=Uf&IWX>1+v<&eqS5^E$W%ln83$R2i}aIlfLaRXSifQ?~_ccU<6}tx@ -CrRU2Aix!e+Mf%(_^l6>!IrdHY=sy@88f -y!FW3Mgj0lhQF-4`Y%CFwMN_W@?3q#?zaOkPjU=xLgF?OSew02!y<3;~f+ln_wHX`NyE(-nQiD{QE8m -2hq%#Z8grb~=OcVAkoV!0P?6;ItGuy^nVo{jvM7)9FpRoesUxKl~DCDrbxEuREgM^UO92Xkl=`!galY -2jvhiG?9l$QHs(8HGQueOjL%sof0V4h-##<%Ez@jP9fNm@Nr8$q(BGRj7q}}mF53`Z&&x*MiIo{`&XO -{5;k=#Uu?%QQY9QysG2?iX{Dx7>YROdjY;evJAp>Lw56h=;)RDcLaKPEQYfXB3Tj2#^6?);=?h8UECn -Kj;D2CeXZGXn);V7qkw}TXo}Kya?Cy9!Zf3Z)v`RcU6W>Fqk9im$;8AaPm+JKy`;D-NjxOPt^@)lK1c -E5l0x4IiMr(v5qojlyzkz~gM5S599GV(kO`7V+F+*V;nUz=$4i;fvtK5g2P1Q3L08%|`k6C3Foz8_7W -|&7Xk!-6e!%g@U_-$?u4^tth&fFXvsNySmrVDQ|*NU>9BGXD$hlmf5q9K86D;YzNyJpDL=n<%R=I?Qr -VQ|RjO;D8_DB#oSD+q$QM3RbHkGjlTAg{ -X+v0(Wph@&ptKt!WgiWZOoJ`l|8MB_3wN5%8I{0dm8C0hejw>a6#zoI+ts=;8a;~988lSkJ$zGjxC{; -=aCocvJnNiy@z6)=LW=_=Okth7o`Zv0LYOt0p1WJK*m#466Hgg2WxSz|hg$KA2lG{#~Z{*m&5qtKi9o -==!0FHTPMR5Le@VzC-#gvB0!KgABp{J;&mFiL>IHaQ#czSo1IwLAzq#j0*4_%0U0cayDo0Zqd9S5_9^ -W^4fQXJd+b8cDGwXwT0V*kA#beyFo*!+_Q&rWkt$QoMC?WNIz;V`P0uF2dMTYVn}T+ZlllsgEs_>co1 -8ZsclK7&Ys>jC4YDce!YDJQtG!&?xkwen{6P_?U>j^ -3P;rK5G~)?iIQ57vZF^0|!F@ldoC6ta4N)~2qH1D9b{^&1WuyFwWb!AH%O6Miqs6fNce3q=2S|?gv=YrF5aP>OrEISMA -9W6$Ut*~apOE}JI07fHDULjs}2K5~$^}XHLSA7bbXkQX|qRv4O7T5?wJQX7zq2XleqFy-|Acp|?k@1C -#>|sY2QYRhpP7^!GEjz+O(6@(e%Q;{d5TiX#B~E3GmpGL&mAK^w@fl|347;m{G!iEW+u0au^BIClNHY -PMcvbKXiw5iTyfbK`M34Y&V)N$ZZEoJYf_I^$F@%&4~r406Jsn@P<|;oMc(p0g2;PLcj$goH4@{fkRIfqcg8)O2IKg36tnOIhTY&_VzdCkaz>_|M1t*2WX&o6ClY&~PY8_z%6dT8cHE1!6Vn>RL}vEQFIf7yJ -p`E>KXksV(G$Mf30{rjWsFSqZqzh7x=f*3wIWtCHVKi~fI!P>suaNH -;0xqIdN-7CMr-%qc{amK-#g!$zkcdvZDd-;pq%Vt$ZW>>sc|GjbR@5c}Rx%tS*kiPd~x%8i0?Qg90H* -Oobz&FwmJl4PI-?`Rbf81Zc+h6~+zrNOAf7ris$;eU}O9%nqfjJ1f{Mb)6=P=tNIrHWWXpbb)n}bJ@LgSc -)dg{GX0--i2=nk*r@{3K?a7`uL1w#yrqd`<*QShbHUb2M8C&ey?19-R-<*A3-4bOFXvYfVzIt(cu=>j -2$Sox0X7r(DS&SQA=1~KA&04z1#B}jjc5c%PjeqF_yY`u>6{8Q6YxwF&f&Q0sCaZMWPm?6$u>R73%O@T!AucWmH$Q$u=J?Pn4^}~p7Q9us6IJ}N1=VVHVj^3sQ -A1XHId{cb47eJKs|DyL%VrFzp3PI?DU@)f&6nHDR;`zgz$Rbr+Dj32fTq?m=m2&LWhzDBR1Yj|mlj+4Bxw@N@zg^ -s2-OUl?{nh;sH$UH#_ZPRf7uWY!mv`jmmb|^Wes^_$b#o0*-;;~$U&-IEuHVfG18V^v_EZYg0L0{INt -S4{-7)5fkQPQHS+ba?JO&qz`*ng2Ygmg>EfF=-+XoY=d(9}o3Ir8ti&!jPN;a0b8>u~eBRE^Cj>sz=~VxH$Kpa -z1;VFQ9;4=kclDSIjUr&is?^3^6_8ioY1PrM_19oVs3eax;|UlrSM*6Q<0;8l9%v0_WC=FZYhs#Zm=b2zusS0TjXAnXi9}_u^PAG8{@tmtD3M9+Y`9M%2RZ%XliySt9E#=C5^^--A -l@V2nZAum8)n>)SLGpxUbT>wY45O4kv1BiWsYlU<=a!)DD1F+y7>bQxm~CL52$EhX8^oDyANB%5iH2F -M9a*%gGR3h>3mep-7#C0HZB*ou**>AN9HfN30XU9|htc1GeNQ3e$9#k3aKBp)5q#nh38Gcd&La%9Fd7 -LNDCA#bT^gH)?G^EK!j2J*anjMIcZ!9>!i@Wo^;{3I3rqv1(X2rSsT=p9bioTy9ga0T1nVaEA=0P5aM -sK?XuUJ^K!<7Ki0hdiau^aFg(W -(^NvyU8wfkI4PayBk6iXcE@YqU(0VWD;31=+Jl}q($vabb>V{MuIdSKDOig(;g2ND5ATac32_qg?XZP -vQQ7x6cwnEtR2*w`+pQ(19-r3(H`6e1uW2#cOWdQVH&@Tug>UZl~7V^3GIRw=o}ikU62O7;h8=gqaCX(K-0Z?ZC%ep%4o;|T3x~HW%Gy_W>S-GHs2F*umu8A)Te_1#(4I8+$nVD)4i0LCK8o>lXK1ltt -ajwG#ZbGFNuLEwpSw@}n&LUS*QB-LIeUbf{-t`i7`>5x&+E3}7@W>PcPtxjUv*fNfjwPP2h9a)u;(w+o-a!$4ZG}&IsaI* -uz^Cgz&K`x$(V^8dFHALiIsM)hcrT_wK@mc;3^r6KL99(EpB9TwBy0P7L8}{i3^<{iqJljM?{LxlE2g -%LK@p?z+DPdWv470!B(^usmlxTfkICHc3Gk|{*9drYF_U`7=ebGa!P#%_Kfuj8y@z}B%W23!{tQ~=F{r)98)@#25!YjYZ}%KwM=UeG;AIVL@87j;4T)u}da1qu>sC4~ -&w-`)qOw-Xbx~!ByRtcS+Dma7bTE7^t!vtFO=Z^$^bMdF|7SVcaW%bY_(-#geK`HtMeeYD8HFFUdvSQKfm%7j;hh38=m0-t-%r4>_n62Kr9I0VakDlNQ138B(a#kSVIvyYc6#KI@p{xD#;0Q0uv?@g -^KF0$(561=z~;^+OXg%%Df69ts-$_rujAzJTG4zD+j;<7t*ewiD5UhrNq`Xx8> -ct+|PqGF>%$BW_xX;sjFU+H7`VqRkpCDajG@3VTvi4N0n(F^%rjd_Jdrg?eRP%r$VJ}F6PCx -cgzBl^8B<*oF-RzZbO0~+-Z0~@92iC_&}yW-5F6;W>Xg-m*E*{-Yw`C9xphQN7+#y`t2XFQ*LD9@#Bn -9?2M$Rka1J5Z6N@Wc6SfMp_1k?3XqXR+l9Nn!QAh6?ftO~jJ2fca`(D;KOn}yT?j&wX+1&e9YoxusHM -T`-IA+$rFX64H>$m^0zR;?()v|fm;$5XZ?s(sz1lrEUlg*1-gyxCnNNus|WNuDxD~4V(wI%eb(xl#=0 ->}H(dG?2XF+t2{RTBOb3Z|C_o%=s5KF+OZfF8toJUh^mbSFO(L{@kTR*E`2E#E%F2sP@oc7;4Azb$^B -6Rqv}zw+Nsf1idaW?sEB_G5lJ4L=n;589us)YOq$1+HqdXDHVf;}={E-w#RAahkdB^o`dpdr8?ACp)y -9@`Nb>C~6q;=9gl196sU$mHD{x9pnaV1<#Li4@rN -&d^*vdq=ex2-0W-jaEQY2(?OpzKsY-_jnzh6H95`0RQeRZx>L;~H7Mt7spco29cj-%B&_HP%du-t*zf -BWw38~E?9;-d`zaF%{3E@dj?Bno@4davLmUiwMmN1^Z&v5>Kxt;KEZgsJp~VjfE=qPcJvPJAneB8`L- -uEmP*MKnttKlH;};RqK>1#$qJE`U%H&C>@bmH_SvCrKjLcYvbsA~##gFm+Naaqb5)5mvg8qJO0@`U5J -)lTHBifL+Yhnc~4u7g3gqSSD%gyGUgSKyHwE$cN4j{H3qTKy(sE0_1>jmOwp_+o4!So4x)Sg+&*sqY$comq4*sYs;rJ -R~XDf$s!j6~$C&wYDQ>;`3NsU3|L!dNdu2$(6XAUi>;a8J~#$(G|S+hvMtx`t!w?YXK0`qx0+E#lxszbU$58#gVu?nqE(iznmUT#pRdj<;B$)SU3T~=achKQz&PAHa@=|LAj77#=p -XgxcYo_dWwYswWBXkhbeL?jxR2MpH6=Hd@Vj-oSuv!@#7e{JNkG!=E9(A$EQb=v!OUSIy?GhOjs8{2W -yCc%%k}Fd5noz<`MimzMfp1V`Yvn&abENI)u7TuXE(DldJJi98D)zD3(vti!-by3KnoKhzww!kC_e%y -{sDm!S^p$Y<}8 -FELPovI-}iw8a5mB;{cs+AdwU}e55+!YAGBv5VD|gQ{15v#;-^Dl9Sp_$0f=la0Q5soz#lrR@YW^?AZ -{8DDcuJjek~6s3$AXGgzXP5x)Bm|Z%LiT_X8lR+XIx -tckNM!E<7G6*wvAbU6Ya7pDn!99I7i=iccL -n1B3xCH{-8+6f+u&;vI8X2!)AG(mn9X5xC@8AkoJ!9B|+ -$zi4ie2*iIJ>i5gFo#3OL4vHd4I^s7gqHY2>&U5h3lXGZxfdp%|ptG7AHPU~vgfbaifgta$;IPyx)q}4+j-mo(#lq(11x6j_27Bd06OSh8 -Tk=iGY_n@~S}z#yISYusx$ALr_c@*+_+41pI2^?0{?tCbB?Up|g|)^$9yC&KoMJqyNNClv9N>2j4^qp -wtv7r+J~aCT=s`o}oHwbwnZghM70O51WO3>ilzkA`>^R*azDML~N-tjG-{t#Xn3OVH#8se@whvS)c)3 -XpJia69Td|2a9po{`X;&p$5naX6$WD*frDd -x$Cj)rakLN$zvYD22{F(tT4(Z#eeg -;+JTmwxb(Qa#Ix?kzuAFOwDG*E;x(?27Q4i06mU<3QT=&V>Ob<>rJ_#<&E`;Z4J$U+8aM$3YJ5ykJIz -l=Ej&8ymNcRk~`a^t=e99yF{oa>a3kM@&Kgk+zzDqAgBgL@UQL-8ZdQH^=fF+3U+HJ(^Tut70Mynq*~ ->7qbtk(PpdQ2kg64EKeRO3`G|c{?o+P($1?!CbkYUKAhH?^=osTjECCR@rF5YNXc&z|da#!Gk0WeE36 -1L@?!|cl6?cr75_QE~E+7RGLn-W-FUOY$Z}-LA4?Q4>=t1PbBMh-q-DGDtaj}HLF%%|h7>VbD$1vDzIGPX($Ba~DPrp~^-#@~?jzrD1?+sEwwUhT=6090R137zLu+ -)9L8?a+n5NEtUDLVD&GeKkCE(8W#qSSfarY25TjTG-$mKeOgIH8K~FhGKOSLRnG^_%dB_3*s=f&?y4L -k;c8^Msj{^Yvc2|2T{Wx<>;5L!4FO&3_=yzU$|&3FQ;T3@hj<>$C5%#mh3Lj^iqr^J5asDLp;=NF#@E -;)9HK^6~t3*kX(YU$Vu|FUeC^Zz{BP~RL8bPS4## -xN#!yz!*8RT#YAe_*n2?}rI=JJwixQO4YiG+$e2`{61}dB~x7;}M9-XzV=LIUGNK;LrMMIP{)+1j-=dgx^lx%iJci`I18$X0iz6qy1+VrG&onVSG-)!E}7!tQKsu -vsW5dP_JXiy3Of7(gdIEya1{v95 -t0%^XQwAJKHi4U`;O|Whh&i&gJt`(7!Jf`b -tI(?u*DatGD-GC&iFMVhXle~j*Y`G*rTgZP525neERRAg_UkgzcDv4Whmpe_R&m)BB-iwX3;hTtSm8R -a0YL<(JezCJs>%-;xo)vg$3KJcLg&2g#boYRCUmyRFUOCJITT>e57N*bL_&c+{0DF`$opbdneL%FR`n -v|1>6oYM`wambPq2_6s-dR1FXcpib=!Q|)LK#!l1IW_qRGwUK -IaCAdz4WETZ@Y$tX8N^o5SQ=fvDYyQ#bnA(Yz-VwO^(OB@>g#|q!?ITK9k)>Bnqe$%3aOg1&^^j{f>@ -*+g6XNE;qfNxl~!BskS@m#o= -N)h!=s?Hiu%ZxI8Dy>%`5IqWNsp$XsAxj6RzHP9*2040^chg;$*nKI#jrIJ;F%>-Bh<=de7ZRkOPOpx -4Y7X5n*6&cdC`&gYSGuf9E+y$Z7A>9|?AW1$N1dBxgkWYeC} -4hr~gFj+-xSA-04(*EhZk@{d16t8#0P4mX`RLrc@^F9fcHVy5dhy*+?Ht(hCyq|3GNFbDH5V<>}1BA2 -O$+Z!>sjH`B$GCgXzu(y0Z_3?#XD3qb^E-REhA5!ur8_a3`|VD?dM$nPhCX;hSUjkQ;3^Prj-ky|E#H -md0ENdd77lQ*T?z*%Y5Q>C%k*?yj^Ot@gLwlLCvbMfJ%+&-wAAY;x?1R!&Bj)rQ)#x_=Gty&w}iWs-4 -bS}-8S>}RJ&Ei(q^}15pS~Fe4y4uVx!&065LagzL@1IdS%;HiQ8K*;6*DLHXEQWqIDe<#wI~vBLUfB! -y8E8+KBfY0=O8C%H0R>M)Ti*4^aD>#xD4`GF`>dqu&y_Y`~tX>|JVpK|(w6aSKSB2iZUZ{m+S -|MA%gyV4^ztFV(8eLdO@Y{w)Bw#r -BaJ;r#74;Q2PW79T}H~T6I&~{`TZA*vf@j{Sc&;xeKB@6yL>t@tvSr4+kg@^Q&YVKVY(PGd-T3W7Csu -_l-O>GS0&%%;QXg#E>Y9CFiS`9GxNXiyh8}r*fXhGbah>>$ft@Z4k|zK!K5M%TMdhz)wd=#v1hS2Z& -a&Odeb(2%H&x(X1ak%GV(Hb#lF6CtO>obexX1`xqMBVZW4HIekrg$DbaDbUYBzf&670@mE@=o$AlovT -zn>a8@iO%R1`@+J*DtKKQW2i%D+#so!hFOe0DHO=Tn_;Ru*J7m1y -2fDxe~s#>R<(eo|B3@72G0;eOCfx$0%9m-kk+-F8cssO!pUkIjzBVsvh>*t2&=opUaKYNX9+cF!055S ->;EECKD|%n3Ot#RKG9WYKdrT5auC2mo29Ot1dx+PLr|xm(YO8pLf<3iZfjs-DQDG=!L>vTU4Y@l8qrM -0R>frB)`1296&%Cmwc}}^3U1*E+ffxvlLtVjbtl(}g`eoZzI$l$cR_rfA7l&td=P|wi&c=KrI0w{LMKmC31gcYd6 -GgH-O$IA)WO(>HnvrUhIo=fa+oJ5B?m#A+{bBw!(ef$J7kf^77!Qmxn)!ba%>(S$?C-G5$+Q;=`c$hD -5<(_qD7pV&bEuD1?=gQm|&df$D8Ssrk+Os8?%1XQAFJn&8&w0FB$R1Hmi^Omclph%t2e$h(QT>_Td5p -2Kb*6^a(C$oVk30o*$my?79QDHCF&+XHr^nEfrsF>|C%_Q7n#Pf|+Av-^TJznF`0-G@Gqz -nb?vzd#n95uESP(Q4SN$4B1(u-BoYY-N70H)RvDmVpt;*?F{AsgkQNkI3tQERWn1nrS(*zlO!jHk -xRoX5zHT?B!>=PGqm>y9~yYW(rlc*wN!EVY;)+?z#X1wmIE{kvB|=XG@dIih%{HOWc^e>QeI>IetNm;y$GLXo7{q -ds?2)56?B_vr;j9vKF<&hQ1J?-q!28h(`!DtWwOY-S;gY3 -k&6eZP4uL~1kx`ernK=t1&md>5YXgibO$OAt#E{3rBe-HcRhQ>P*3<%NhI(4!jiKH4S0fmOfRyQ|pu7 -uTKqIGySa>YQ=;eaCiq1J^AL94NolEjmGKjAkRGPxOGrYsju1}cX0p(J2q&>CL-Na4qUD%j@!^HBA?# -V}@LPi%Ih;Ilis(Rq+1i)ycnX#h_SvH)d<>Z3A4LQD<2_IZbs1oupUmN{LjV%s5a2;e4&{U$Abs>>t> -&7tYrLU`{7Ma1$DJFCRP|5td7CJZh8+faIk#Z1N5>CxrocxoSAT}^&D#~X~Us{1Cgm4|n4H6VStJUO} -^Um0@Oh2kOQ)kU*;X^NzUwV^I<0QhBe7(yy=+RUS#8^Rt@JMmYsWWpH+s0)Dr_OuN4sv%qr?g4 -^u@hi=WqVHrw0p%dpy|KGwd^xc*ODR*U9VGdaIjp2bMZ}`jat))gpK!{-L6ue~33fsnH!BNBs{d< -sStUz99rBSLq#ms6(2xXqw%i#_vSW$kGj_Vxhz0p0AE2v*s}sh2mvmhG5#3Ny@QbEuhAB1->7TM#cMs -@RqT??~*;-CCA%J27|IvaiqPQMw8dMF8+VCSRqg-4!vQm5JQ92ksmnST#aQV)aHMlC~8$8-o8f{Rctg -Jx+-rAyTJ?l>J*#phiS4#iI~(C?8ENl}I -jY+|o8~xv#d%_-ub(@#AY3OzqBBW+`e2jwnYz+nA6Wk`0R-2{5~-yc?rB|VsaS&%SVT81T@QVGKsCM4 -`C*<$#A}eOh(i%L%bDlUjR_z0y$LxLU`cs4`*ue8WkI!S$qL_{b!H^5;W9+@{|)IRf2LoME-a5=sdc$pBI89u-N{vBZuG9l$365z -!Sd?$uD_~8ff^HkE2g5D90P_bq>0#|EoASjw%0J%al$FscaF|*DaD7Kj;-fwLXgtk0~I`IgM_OqajpcG&b+}8s&dT6iIe2bo8fVS!`qxs{V_H(=YV$jTO|PgtAdS#14L`_T2Ayr$bR|i@ad{;F28X -Yc!Jc4cm4Z*nhVVPj}zV{dMBa&K%eUtei%X>?y-E^v8mk -3kB;Fc3xeImM6z1QlEgN^v3R8Oji+Hnh!zNow)-rZxo^-TwFf@JDN1p>3&RpM-mGLtsg8^NFNEOGc>& -b_6Z~Vf;YiRcV9=uyfaz?&MO-V}hRj3p@@KL%tA=(psy!#xY~5YdC?vinDM>iR@=Y1G;`8l*!q#7q*> -YdCmAu5_7Z&JF`ESqgLuSz)XT6kgTizpD6}DF{EwdvY;ZCKl*Jq$Lb4EO9KQH0000803{TdPD-13rvd -^101pKK03ZMW0B~t=FJE?LZe(wAFJob2Xk}w>Zgg^QY%gD9ZDcNRd4*F!Zrd;ryz3RLdZ7SAxf{?SO^ -W7_8b#xr3Bp>-L?x0TsRZroyIhj8+$4=IGIwWZhcmL8tZ{*jW*C$ns_N*>#H_Ndcm~}Y$5aA1c$&cn{ -~FOAP^x3HpKsfIfIhSRcu{Bt+FJz!&scAsg+Zhs4q5Aw2|R5)+{@9qw#Tw`n;aqSVtp9+tqvg+# -Y}4vtU?ozZs^IOst#r{!Bx!ygkdAq|!WA$j%ZSo>9?R>e}FosFNw5*?0L1m@MW;H3*}Ew?=!&V!TBHv -Jl&}w#CaVEc>X{=;i;MwqAVL1sX4lt$;-q&;z>k`w8Vjk;CJUHmlvRbdoO%`_8=3hI|hdsIHFxBkx7# -yCBbwQkG7|^yp*nKjna6^zaI@Ga+55XIoy!sBpCqT23GY>pE5o5rY$=PP3F^Q~d={O9KQH0000803{T -dPIwlb7KjA^0RIvI03!eZ0B~t=FJE?LZe(wAFJob2Xk}w>Zgg^QY%gJCVQ_S1axQRrwOCPa+cpq>_pc -xv43i5(NYFhM@I#lT-GFT`ZK_kDLfTAUiCEwh&f%t -H8&eOs4SDH#U7NwHfj_FA1-BbvN;g1S;V*YH;h#+sa0ys@AS>*RmgZa=^GW8Jd6RJGMgO3=N~Jui=NA -BKB58tp|sh|)T-ZgMXqoHcKnu@)(JynOtKQ(yhmVzDSCHzwMlGbbCFwtBZ<_=x(6OHpwv>O*k?dsLNS -8}|3|^Ox;%&6Xb?etXzHEdN6gWa0>|7RHJ)wG-b-=$)C&zv22|MxSpU&+elOhugEoFlLGHt(~Wk@8#4P%ePfa7wx4DWxU8peASIs0OOSwyBAz% -g69$%Unq0XTIuiEh%k%9(3y$UT#W|X>e?H*YlR$SvzQ*k#F|n0EPPp_;xkGQdTtm_l#dJvz#KarWW1^ -{9eL&I`krBF)v7_F+Sukk`kiRrHdsm_n*~wTl^}9)S#+Wyk|T4-WP;$e0_2h+`0LBhViF?KHKfrbR&n -VbGAkLgk6aqKmUYwOIcE3Iw5iLw4)ooHo%kc3G(##9$y-B1A+Pemm+es)b{0}H%HOs@0Vzq?xO~Px@2 -ywaC=0d4Vj?ebhE>6Y|0@e?Wk(_FEc?#HykYl&fV{p8r+~qjaLZ2OaJ0-btLNlI!47aSP>Q=qsy>jD^ -okFhRCdK>Ac*G3e|gFJ`B?_JX=gk*)fUa!zzZ!r+)qJp}@Q0N~UWfcC8}<9@#Xr19 -o?N`vaC_4XZ1-YLLLYega{sp>*`8zT6Q4ha0?4%%KfwK;C5)l&V4)5m@B8uez(3*0^0szRnV$jR-RVZ -<@S>fIRby88tI+Z|{PJIDJ80OW?aX3zE%5;>aEfOT1NzS!gicbmEqau120cob^{EpVD-81h*2pMu9pX -!FPAYA|NMBdE@H^I$+upR4*V{?CIc6T*t1Z;jnI<&Yk`inm1h2nU+@cdXN*Rds5SCZpWN`W9Z9cTR%d -TPJP$H6n$kP$wESXK!7$Q=M(dDBGcpUoe62zXsyyFyl6%?_if~(k7y^pw?yyT>zlZZXa$0q@6aWAK2mmD%m`=uGyiGCz001Qe001EX003}la4%nWWo~3|axY_HV`yb# -Z*FvQZ)`7PVPj}zE^v9BQOj5JFiQBRt56k7-Lj`Y6^y03Y54d!#&~tygfwo(FI_L7IrL^R)f(iuySOAM -#=%$2oZgpVD^tR}GC83IFdwSszFGjM;MRYy2l}Y>a;`V%|Vi8E2@fE*6H5RPtu$-8@YimzH~l%}_6!S -d6qJ$)hVD_@Yne8=6Myf}1qT1RVMt4BXuIm!ZRCa{9k8SavPHFh8-xdXzZdb{W6Pn>v9x`m|^XSbAuE -n*tW%8&FFF1QY-O00;mj6qrthmShtW0RRBE0ssIa0001RX>c!Jc4cm4Z*nhVVPj}zV{dMBa&K%eV{dJ -6VRSBVd7Y85P6IIvhW9*$CH7m`kQkB5f~uDfY96bN;Vr|I$|_#0xEyc9UBdsi6P6wwok1c!fCzX9d;ELAP+w?@;rD -I(wBZc#u|(8Q~FX3Xc4zMK5;1nTUC25jG!CO9KQH0000803{TdPTIDN+J+AR0D?6D044wc0B~t=FJE? -LZe(wAFJob2Xk}w>Zgg^QY%gPPZgg^QY;0w6E^v9ZTI+M$xDo%ZzXGKvW2%v8#ZKL;XMES3lgxOUTyB -zF?}O{pP$VSb%vTA}wyx9vy}Ni3;6qk&SIs2m1K7nru>0EugCLlE-cqs^qRQCnl*HMlteM#6oK$5kXi -C;)O&U(g13V=){dYsT;L#+2nJmXKBr7)?R&2~|P0dvjXS7J;+T074)5*Fnb3*f&Wl4rX%4M<)PR*+X!1sY -?I3m{x+q0tg^?Gi_vMlmOe~k7)fK1NdZy-G{!kWFUoWYMH~jK*-M|y; -MztQoMJyV=Ov;pU`ACw}i#1fWYhEgXxF+kKT6O+N#nOydcmA+;9Wctd0n)8w57LfT8C|-oMgs0FkO)r -~iy1jxoXyA?UY#voOqJ&TE=`nEaHh0XWm9KGS?6Jr@fm5|SnK=;c%`-;dhkyl-=Wcxn!@%6|K{AT%;uUE{J|DSrOhi -mb;yzCGdfr5AFoU)YG;0o|E9>*t58J -{*kdWJxkK%)C?ASt%4$^Kz1(vD@$7gclQIV}MOgw*M#VZR>&?klk(@_F}iA28B3lTRI~d7NY&-z?r_e04#wGIzyG!lo+L}{Uf@Ie3c*SkNR7<3C -k8YBrA#&REBi7Crc-a%z)I069ZndIftz(&gc~jQhy#QK!n0uNMRo>gVpq*%Faa_tkm&B!8+&={&80FwkbltKo4PLRK4FC^qm-_ -iO&DBnAckN_Z3@YOc=l?AxWGIzYwxEADoyJhq%qme$kbn%vbQ4`h;5;ZLlB4!=xa!cV^o1csBH4W+N3 -X$R^@e((#H{H>J^R4WPYC3M@Qi=c+a@R)v)S@Du4HE5|E%{mc8`s*zsYbqW=?@ut)U6qzbMJ8F5A>YP -Sl=_6(99Mo7s2`-M9|FtBrE3Z>yu(_WHR{?aB?71EbFuj^c@?|eXMuRkhEu>t##x2h6~Lv$4;K)DQxN -DN#SSI$TY*YyJ+yzY8rXpRQ?Sg0VuwngcP9rOYtxNfcMnd|snS>DN=U!l?iZ#~DemUufqNerVQlwnvJ -oZ&*h@1fKtWh3PFmGz=3iWt<(s0+YuGP@Hxiei0L{_^BFc(daeW!P -o?Ezd1VibRg8k6M4K8A2|NfuwaESSBNMB!%fRZBY}hOWf>9ILH+G^gwUv#?ap9a2I@UpfND!i2?Y^??|bkFtoee&guU9*USDQ*+oL`hs=gn-J>)Rn2Tb9 -iN>Xp2y&U*eP-H=Q}_@6}^SU{IKcxGq3z8o6j$+BK*eW(}gzbf(`j%&>q750mp++Grc!(>8oSnL9HRK -ysGnG-UwavRy=e1{IXWv2aKf6y`uFE6_R0rf$OzMqU|b3<@KwlSGo_&U}D+HSWs<9BW4cTb)a1m4nHT -6l%5t5YPx8#7@;f1Xo&ZC!3^>E}`K4ZX0+8fmgg4I;T3UqRnQdT>7SV869_M@bc9Wt_YsP`F -U7aVAm0Ae+~0i+o+N=(3*My^w!3M18y!2J#u@!ccm8*sRO3OrV+0J&*n1~8YrFYn>fYBAddt&xs4ZLa7@tp`u9dt!pKK8p=9- -uJ$M=2Zr3^v3hBDDbIao((rbxxv1ZzJ9Y6*pE%Uaja<=UclwSgdR;sgM+40Cl$*258>KfL~MK|VtWqZo(4%8)UeTsFkO5n`ctKW{PtTRzL -sw6PbJ@CPc-*y^nH7uCy+fHF|cJ`LC%xNWnTnL>ahEhlcBgDGEL7o -@r;M5~ySJA+<4C6nRV)$2vawgn97O$53Vb~D-O2OOeoE21|tb+13;M*t5jIAkJAE+<-xfd0yK@W%=Z} -QkfjKqL>#eWn+X$k!8J-7xv(t%ogcF9{qfmjL>2|{LV?_tLC%EsL}#)oMnFq~VvYc%LDH>jhGz*67%3iNTZ5S$7>&B^K^}Xcv-T7Gn7&Mz^pqE -Oa=$Ny?VJwD0dJQIP3h&^(Y^qXF4JEd4JZ>gdhg^Tn5Wj|&2qED^UIdmo{juUvVpMYGErOEEbWOLp{s -9=zSkPEDj{i6Hk+-hp8-RD>yqAA*?o3g2YCcaa|WyrB<2XbEppeueU0 -TR$K^GVWc_R^2lF?WeRRFF$-+3CC^%c_Vd4OJ2gI{5AKrITlRSHUVRI(Q(c^h0xE#$c+144k`w*cufC -nEQukZkCbMamE`#F=Ruk9Kvww8L^(i>9)@yi@BKRWy;nJD&a3;^b9LHoQZt)6ZKP_w+44vu-;ht1{h<9j1@ -;{a%?5S8R_HLqPkziXA9nrbMptTM9D*LYI$62e}-Pw-^r1=Q0=MwcOGQg`F2&E9Ojmw<#s|EPK -$ibs)KQAeuulP{+l_meAba3x^!j?>W@(da+Epx~|q?W_aSBsMAlUpA_cdT*91BPe92DX_hX6N|wX{mLX-Oq`20BoEVJ>%w@jF&w7e{%cc3HQ+0UEwN -<(eG8>%EjG_=%P_lhWE6!!=27Qg^^jm&$F#cnVoXgwx(+R=&0nzNe!uS&;ioE9m98?T{zA_*95GPg;evmj;DLP1@#r{y-&$k-ZH!-%p|4290>k9NeX8m-r@O -I~&p`r}>>YnH% -zE%JZSu;2haC*!2N3*uJLpxay8U+N#KjI9)Lb79sM=S3Oa(%zGrvy8z{#(%4`@E4@S7UlOg+>AA68c- -TikJhM=I*PcE8rXTuIaY%CP5+-sa_i1ale7MP$1^4jGwnRA*FgJ12J@W0FHH%L6nLudpR8I~(qK+EKf -Rjy82u{7DBqG9eXN3)}LvO}KB#q6f5}Jgoe-dsaDaJ3JebD$wWENX+5Azr#Ja1@QL=ZUg*v${Ewcvz? -Q~_UmStJ#rcs9PQ|SjSDY2M08sSN6VJE-@xnj`S#mU+olg0Y^U#lk1IT@l9>9S~mZ26b2io(ox)1+e&pN)R7?qm6@u+P_5?B6 -(DA}PSdV}pZF1Tq=aXqKb8HzI#u$W6D;3Rh%k<=j9Dd~M3tEb7AB$(Xo1{gXDo|H&YaUaUW++Co8zbz46#g${43s^sd(9h@NTc%<~5JientnIYBnjru++BHuS6iXvGxsZtnsnyRG0>3H -KMDddNruF3Cez;C%dIg*@nw%N)vEIgme@RT^w=*6Y6tMHuPIYo1G|6`IhDHy-4Z2NW2s27?FB~n)Pqf -d$@aW8O$cQbO|k0;nn!8dNGwbYrQIS>1jzx`KE4^T@31QY-O00;mj6qru)(f%6x0{{T!2><{m0001RX>c!Jc4cm4 -Z*nhVVPj}zV{dMBa&K%eW@&6?cXDBHaAk5XaCyB}!EWO=5WV{=2F_t^AeDTOX4BZ6Zk?~}@-iJg#923W%Ulxmnwkk$?Qr1>V@1Kq3&q4 -J)hn26svQF!V1>v<^F7y9S9U|#4hL8$=a5X7vdK$y&&>G#+!5}Iz6Tfmerq;L}1y(f~mprKqRSiwU;h -q!_4lO%MtxD8@0hvhJ`pAe+BNo509ugy!K2gQ@sl^%2VA{LHE=BUqh%=%Wi~RHv2r8vuDquv=X6l1~G -e`hBz#x>t!5)QYW-wNBI{rtS35ifc#QBc9ibEV3D60KX*%L(69^k98T$4q;g4YLb%o|129W$KsNzy8< -O%2Yd=SZRBFfQkhPH1cnAHIi({KEWK5i)h(yXB)G;C=6@)S%y{I`+$Qq -SpwvTkM59U=Ro`ZnfpWpulAnOm2toM6C82TJPVSuh3IO7CmauVfcFpuZJpF;3qv?^>_dyeiyf-_A7!| -aimynve>%4;xjGZf<*=^dlj0agw0)3#Xb8mAPpZSrUbLITxu~l`~fiCL+%zXcjJ&w<-1UVY8{dj -zy0-^sew>xB0k%CxPxXZ}<%cjS+o`MVmT%r;_i!%g!{7fukqP?3fda>n5z0ris@$JqCO6FVc+k{zHm8`poooh+-mXq*fY -Dho{hcSImd$<;Rx?daP?~kB;Hs-A-&H#wd#7R@rA|BhS>#Ja1Jr&F!RLGrf7Zx-63doy()LTCZ`;!=qYZXOc&0;b6qpV()B&d>PDua6!l_go=89lm(5g+Qo4W@>o3mmMtvjIKZ{|i%M~;Sg --f<^>NNR&eCb2fm`csUdf6k{|jFccf6zW?KK0!q#?L0YqnT566NcHK54O9avhzVM+GFvJ^?dQUbX#uM(@s`h+RDRO*K3v3Wq9G?9FD+$Tnp0ZL%^b1$(i*# -zPXyw^?U9ajW;vN$)JKb^Ji2Im)E?%MR^u~MI6lVnYLT{n3Wz6ZmC*+318gun&2G`!CF(De^A7+iTSs -Q{1otU?9tQjzdYlL$nV+JHyHUx1{&B7ZeP5&EH0J)pVIyfP)h>@6aWAK2mmD%m`;=>ZC001 -Tc003}la4%nWWo~3|axY_HV`yb#Z*FvQZ)`7UWp#3Cb98BAb1rasl~-GD+cp$__pjho7?nL+vSX*kjO -C$Q)1^SuZmol2C<=j=sF)2!Y9tlME%M)YNRhIoBu?W8S(kJD4$t{WT9iU+lwwABhGmb|&zcsb*UP0S5 -GgQaQKczU$bHR)EU?b7CL>g0sYvHG(chi2c`~-Vrhgt;4;f(^_j=2>=cmb=^Cdb#K_8D$KSTW$>i>)S -XN&&%qW=l~b-oOGyZa`Es{0CnQ^3@X{WVAAoS2hM&+^qQG2JWl96yQ7=Y1~VWrR?SdlYQNvbqWL$UfsQe(A_7~F2K-aeN=~RK2!t@t5njJd9T+5>YT1gV+3d4Dy0j;wTgPp+a -<_(?}#c?N^wmyk|8Yw!iO1$wjvVOkl)c9twkl_iDl8f7`a+KpH3%ejDnAQ7CvdHTJU@aepT9q -TVtmV*5Ja5S~#1aoF3Xxy+)XCA)AeVxd-k056ja90Bj;S`*88@HQ>3yTWBnvvMM7;3Fwv2?LunN=+{3 -*FFDP(5CPWhFg94#CC<=lTNj*BDDMbyp*vPU09+%HTe+slP0$Ar{c*bk4wog{K8#n5YvzH4t~8=i2ku -632Nlh`x{Fo(+ft>K1V!`S#nzvad<=`<0=R04*}ZXVC%p;TV4euEfFOUaPlzI5 -^0?sb-pd;N&&l{%MLGwkC@M-}WSF~=s?ZcB-xijlk+!;d1-?nt*n4uf?5ggUjKeZ;J -_Cy$<#(WJgXso(Loi`i{7Yb72VdJo^NF3bS)-wz5b{+g(}80UKlj6-x%;ws@paI)*EsXhe|0R=VGH;9 -0cG2u<5X}h1+ylCvRc8cyVGY*rK$O8ZTFSU;_;#nhcK;&L$LN=MU+;CwSY08fRvkYZg{yQl8Wq}5+@1 -eR40im?r?au*(gl?S4q>7dPO -p&Q*7(?4w^l0U_Xcb42bry#{rChnpGQa0kyQfj258cXnWn{%Fjj)&6(jYQ#L?j!2sRft5T_C-6A-xJK -D{>4*jGimlTj22YanE)zB^YL0nts2_ -ZW3Wk9+XU7ku9!|>#pp`ee)!R>o1@8O1eck)%+2M+2+hp9*a5n{G5CYQE3_umwqHk!cG!G7Qn|#bh#QA#jh0-%s}A -el+_Xfw|-4U6Y3x%)+L$%q?{OI9#8Rqszj+^^`U^NL+h;?EIMO_5KG?O9KQH0000803{TdPPkDG57`I -+04f^*03`qb0B~t=FJE?LZe(wAFJob2Xk}w>Zgg^QY%giZKk;ucko~oj#YSkFnGR?oeTn -YCtp}MC}TFLJDw^D3Zt6ifis70M^4qO(h0spnq_chBOX5X`h|F`AZ=uDfY%}v{I-R*ger@oh(OD&8z@ -HZki{(vl3Rn1Jd@L$*0KmUj8TH)dp(esBA{~G?;Y|N?VtJSLDJJ@W$z1$Q$R|Vf}PloGwn_R5`e+|cT -rPngUWo}ix&A7A=5!1O4QIae`q1>?^1IBbT7OWI`{SJm?(1gHS-~3(>m@tJ-LlLtOIAIC*jZo@8VGxUrl0+??oUDYu_E@W=1L -ka&H5cHH4gyk_X0lrbp7@UzW@I3pwY=-_K1)F6$k*dJ%jgW6)0JrpycczO7P34FJsphY3kiX`ox1HqyivMA9G*ZXD3@0Jb(y(hF>G)(FoSOn<1#t2>1a -gk(P~lH>6BP338W>mi3{z+0_`SLS;Wv3cmj-CLx2c>_YO|MECe`Nr!cgJO$$pxHasZ2wNs|a)Jn>56ufYrF2rt!`(%y*z|E1P1fgt}vFy{4&#-K&p^3ChvkuA#W(G7oq)K70j;LMJ8)b%7D -6T1eAEY`?1k2!^YH}Z@Xh%G%6Y(g}PusaW) -XORF&@v|T)i9@Yf>_J}|Y+GH#cy;)j2t}5Z4@t5)5KUTw25F@W~qirxiwGA9ta{_PCQ83(~9q?OpOHn -aEVM+8KLZ5Ucc3dHGncziGey7X(GcsM5!o*P;jonH9cWddiG2Ye8P=4h)@PvDnSliYMvEsgO4y8x -rT~hQ!M$|oe62>SYJ1I{%ta}UZrBito5ReL9g`!ehG^&ndQjO4n%~=g7<>BoeF+co0DZswX+amT#?=A --PmqUl`w$caKoEQNF+ewdY_tvNaUvblIXaOcP)A|*{Xb1}n#3=;-4i4I@li@vP2ttxBmOz -(wSkZ1gSSnini&iNSOwcaR9KTmh}qScEFYi20Lmj1E^ZLjuz}tz##PviI9 -U8Fb6oRve4uReRFkj3xD(SMPtdm?xet1V|P8N*FSwL*9k7$YKv=CYdR<4mJh2j4*tKl@7mh;=H;u~ep -c{f$0!bj#>pqQg^oa-$!xen#j(;BmOto|3qUW=;|}*}gIUiE%`!IRqm4~~&EfYyq6`5mW@1E2l6ag9t -7$y^fEWThr=^&9G4xu!nT~wi#M@(G*UH?`XFNIutthX`asu|L#eSdMOKlppu?#AqUF+hNB1U>Nu_(>! -hS%7f_5J5G<860Z1UVl?(ML?G-Dy@xu)!z4(CK+!ZJ2Eyp>0YWk1u+ZaANgMViq0|QcTTr%wd#-`XF@ -c+4&h}9iHph6!k{!E6$`QW9Cc}rF5AT02Muh2p^ADx4u4+Uo_Gf!_LyjkkEZ`2ooqew{_6%x8=f7bc! -`Id5*~5$|3nlijScQyU?AA=1hwg4}iR6{hOg|rrtD<%Gh;LV_8wNXG4_lyK`g)J@-U-X@`!LLDO0V0>Wz`_kTMAW5Pjq9}p&8lrsP$_HLdXt3LE1)XmXq -<&JQzFO?u(KMoV^ej20Hkmf2NWW -(~v|DxG3pH5*$$+R)I-5fn(kF3)%&7H_dp66sx+x2)9T%YkjJ-tvb-~GXdK%QQ9g#vBAQ)JeUj4@T@a -Cbh+`ft?lKRy$5J%Hllf)H#?T|Kk1zQdd%HvC9_s6q&d55ZHFdeUE=xijZq5c=krhsTC%Pref?}(MkB -In#J!MI8u>lTPc9f-N8@6p8$Y`l+YOKbijXcus1DIZMNjH9)}l8lK#*}Ir<;cRNzQ9aCqJjeoCKf{#WJ6#j`~ArnPrped+1SFY2R -lOX}_?>0(lAL46x8wl`j+5A|6A7XOS*A0IloaPBb{62FF -Gi2mCzaU4AiLbYuNMd1-H=HF3nt@1p+`3H}dIO9KQH0000803{TdP86=8UFQG*0G|Q?03 -!eZ0B~t=FJE?LZe(wAFJob2Xk}w>Zgg^QY%h0mVQ_F|axQRrZIQjMgD?z*_dG?^2_#hZN(@)MbEoboH -<%JB5M-OBPk(9nNeE@Z_W4ds4lTM~UR9$;29%~B9kRSD-ND@rjL!Znl4w1sKgx#v8qFRRLNw4GY?+Yr -LqJsc${VYP8zAayVD+NviPJhIK%=aA14d{E6B=TpWBanj0@m6pqDWfra+>>%>d!*m19z_3wEQN5F01w -JFkCOo&j-)ov7Zg!VvCHaWr=8CT^!pro2U*z6jLaJ90J>`=2t487S@920O9KQH0000803{TdP8q+rFgE}I09F7104o3h0B~t=FJE?LZe(wAFJob2Xk -}w>Zgg^QY%gPBV`yb_FJE72ZfSI1UoLQYODoFHRnSYz%t?(;PE5{7RmjXO$S*2Ua07}sg9Q|n74q^66 -S>mBDvMH6GK*1_27!c7)dB!eO9KQH0000803{TdPV&hS!4U=k08tPC04)Fj0B~t=FJE?LZe(wAFJob2 -Xk}w>Zgg^QY%gPBV`yb_FJ@_MWnW`qV`ybAaCwziZExE)5dQ98!MPtMcZL#lTL%OPup~`@0I3b6+0vp -Y1X?;ptR+$)sW=|`<9A0=Z&uQ7{$hzo-pg~(9Z#aFmA0(lrYOZ`Cj6^1vs|l+S$MKL&1)9cGsr;NnHR -=!%F_Z`**Q0GK?|K!Nvl;^f^N4s@kO^hn_0a-nKArbi4s=IUa3ZAms%@5gQpZ~%T~Msx8V1^V)gz_{P -FoS?36{ksZ>F`LaY$XQ|_Z8RjR2AS-%un^^VUZVOX%PW<^qP1`jOv!T3c3fI!6?41k!4|?WI -<;g*G1A0@WkQA>?ht8mdh(J#81zV)c%9teu2(moX2F14y12bOyJO${%jL(58@3Z=$#O1ACUUd|&J^RN -2A=I1JPBisv%K@Rf;NB7dGlJr?zKB+;yxHtLn`vUcYgyZZw!!*Ha?IBkwG!H&MbvM@|qjN@CdF2Wlo} -c=i))6-%ekMtBv}dVp3U_W9rq8nSE6Xxi#cKt>F=Ag`riTB&sI%Z?_aQZe! -V)o{q(XuFK?}#L$0*Tf(uDCIuLJ=w+u=^+Ho1kL2x-&TqcDHsxVpFC$OtF`k_$`m3r*!VBut;?xuy*A -AQB{T6R{Au`aF7gO;os$~zbwm0UWJZO$_4;xcFg*I%5i4WM3OAd4|eT`@IQl;R)M!b+8HLmE(-DO6Kt!+P~ -zkee;vaT_uPs@kOx0m3()ZZYssV43eDgxj!d5r5j|HBGPv+h|GW^30#ikchj@d@&m&dYIKS8RAqa){} -;eQSYzGDay#zJL+}ZCthv7LTZO>N=s#sOxdFMfMCM@o0il`s9n1YAnI-k9IO~dwe`n(XRh7T*nk9C`%}Frz^}zFQTQy`9Bb}Zihl29;aMVI -nZXus9wQP)T7?v#Qx@GoI8hXO$+g=vxW(Ha#wf5tPs3ahjfC`@&*!7H)%x!8gk2-6b%tXFmI^^cb=wPBSi+xhH?^s-L>Ky_;1v1Efj79+?P@iRwj4UUcqYjMC?X&IAa#H=9$P(N*P%;8ejer;c;Rj$ivfEJo2)C@qYe^IYMMBEDe=){RL!-YN -Dsbq(g?;H#P--^X9kcDGpl~i@1QNOgwtVT)#iLv?k8cbUeRkKC9OrtBkOOatcV?XR60iVNuKaFB(d`iq`^ -HP_Zbh?jTd_kTY5{mX*=!an=gFVEa3HMd3lRS6G6PlqLY?Gz5M!u}Mn+QNPS6}i!RMtG9+^J2>2;AdXMG>b&T`tt2)^4)OIjs1Blk3J4FjAO|jsaO9foIyU{^DWNdenf%3X2MYaa^M -Iy&cT2OOwp5UDDM?P_dwl8um&FgA}XX#n~U_|@a?K1>^3CRQaBe?oXfxUh6MreQ>)1 -9-RGdR}%PhW;amj<5|5RIZDV@UPpO*rVh6P^Q4o9o>u^&U^0t)T(#?2oU0R@R{yE^Aq%oeDfiI0-)8{;09XS604@Lk0B~t=FJE?LZe(wAFJob2Xk}w>Zgg^QY%gPBV`yb -_FLGsMX>(s=VPj}zE^v8ulEH4nAPk1@JcZX&B4s?lq+YhmPCHE688L7=Gzt+WZTI#wNlH?w<&@a|ets -MGDIP(oe#~P+rNAABm@-&*a^zwVqAvwjXUy)1HNE`L*})A`oiNy#q|xRFO$<3jKmS~rS55d<0zwGmH4 -%KGbu@*VnrvT$06rFbw&jA$N;QPO?|@YUr(roIC`%0XQ)=Z7m>1+1|29NIZZfQ(EQO_HMQMw6aMFIn4 -)8L#gtY&N0XKTChY<5MyT)(aNt!QN#M)Ygp754ggt(vU*K?h;9J2}W+_aBx!OMJ)3%OYYWR6*TMdd{- -HEmm6)Q&BBM(@sRRbPs3XJtIWX4XQvwL0)_i+@l{0|X -QR000O8B@~!W5m;ebHUIzsGynhq9{>OVaA|NaUv_0~WN&gWV`Xx5X=Z6JUtei%X>?y-E^v8EE6UGR&` -ZuQN>#|rEyyn_Q7F$yElTC$ijOZ#Eh^5;&x?;&uvJhpGBC8%GceXOuvFp#08mQ<1QY-O00;mj6qrs4? --cJd0000r0000V0001RX>c!Jc4cm4Z*nhVWpZ?BW@#^9Uu|J&ZeL$6aCu8B%Fk6O$Slx{FH6l!$uH7N -PAw|QOv_Zr%q_?-Dp4rUNG(d`Dk#d#E71V6H8eH308mQ<1QY-O00;mj6qru^7Y3&2RssNKR|Eha0001 -RX>c!Jc4cm4Z*nhVWpZ?BW@#^DVPj=-bS`jZZOpw{vzy4iC;HB(aCE<%4&AfGJSgHkFbhc_ftX)zFb@ -I^%<$=NqUGhXUG}bB``nK13Ol?iCsGLVH~jyZ3;Lg5l(y}YX7`2H{!6YNVNhL*?Eb}gJi0GD`{n$7;e -GheHu!S3{_ATk^gq8``>;%+?%(Zx3c{q?efb}M?)pF0!IP#4Ks8Qd1O;O#MdJiR!4yd{FifB@4%(;!@ -kJ``S<*b4;tnQ)B|Dth5$Fyfb}+LekR5~W5@Z)rJ0jj;)Q(AaA+n>X9m?$JV7<(qMSdIu)Q8cIA$N4R -i}78G@0fT;qB}I$1@w*yb~Lg}KdykRmkRJ567Ohq$3!3Fp#=Hkh{<~(1m5BBF2Q$UxC8Tys2z^(B4(F -h>xeP7Ly~peb+}-M)4Pz|k@SvuPbHyt5vav>5onq2$Y>o916@EZ1O4avA1BI+_JtP>Q;`&&HN|%+q$- -LKn>^1}XvU5T$7afjW8eRAlGOzxp^t*@9gYuQ$%jZ|by4DUcC;7qq_Q^|Vi8N^a+TL_)+C#(%VnC)u@ -6%e<2FPOc_?X5AH}oq?sX9=PNKk`Kiae=ha3hd#Pm#u#YtXR|D!@R#oLdat(qBPo)dJFO{5Vf&H_uQf -;g!qJ3^|!1)y*Sg`gmN7p`Th6ixiX9zF*3O!jt=RO2>EqbJz9eiSEeAIeMtdCp`8PTVUpfu39~R}FR) -vUj7CIL6lyWne|rIMrxJS$~&@E^@4Hu`I4|!pN@mNA>} -3wk`xhANWuiktGgqj_EK=1+G@X=Bezr;;TK?wy0kjTD}-~9oNgW#LLtv#|^0!9vL)q&HBOcgr*t3&SV ->zdv^aY;iIa;c4=*KEWWB1XGIhu^b=2E+jDiLpAv)1n5~)o*}Z8CecL}F#A(X*aU<>WhKHj^7jhLIZ< -zE%u6U^2)p~oQ=iX(C)Vf{{2fXUSD3(dnkoQIjeuCP&bR@Rii7jl(w -%@T=VG#X+G=|OFp*?KbD8zEfSOa)J}TIH_5y7QybPZ%sN=Jm1NF3fddH7>io@>?M@Bg{eIJC<1X%!8MNMedh-Dl#anpj+znDu& -XOj=~X1FH?Kx$7ay$#G;tSeLalpDXjS8d4c8<$<0`k`B2@Aq)>W@71B*JH0C|msT=;-ctcTm6h(5nJ= -|q}fbk{LPmv^B6_JS$Mr&!MS@vug++8)|*wJkvWo-34%jK5VsCgzlI7DB=k`D5nIpqh%KQvjD@-;Qr7 -l;i-yVJ+`nG(;Fe7hwaxjd(7@_OnxACgu=(BnAd`@F_qljKcR%-svmYBtVXyH*fG!tuouhswZQ9zzk2 -@e<>O+l#{tID_5xDn}Bf)i9>D)f+NOnQlmU7k96^QHEKliqKxQ(x<`=(p5NM*{tw6=J=IcY{l|$y!ua -^{jdM}SkgpI`167W{SLK$fExfbzd)q_{9>TL$E|;TfZrq6yTxzei=+ -#*J;CEa20E{u0L048`Br7If5Fev;bd{M+Mfpihp&*eq -AKVDYMJCO;j1qJe7%l;f-eF0Y9fPw316llg4F^4fG>VhT?3s4ua;U1t?psLeOvPt9?q;%nZ$)PKB0~O -4xJzXPv2FlKU9Lcai2$;DtG{uL_`%bfK2S@tYxM6E`z=mmYk|y*>V4gJX8D)VSWOb>~!U>ptGrh+w$= -da`pJbNBCN~)&W%fsSez)tMcu>KwobR2X2f2py|R2pn?A2!Ot9f3@-!uJho8E)>IHRXl@x;64*N{y4}};WOYKTsv -s9l5Gv)D9)aG+%w+@Eo555*3>D{cv`{^Jb4dt}N5YM>&a=E__;dh5ehcT -m{7x<`U?*USdr^l1YHsJGT2i&WIy#YtUV>qGO9P-2+`uemj>(h3si7Muqd3_H~t}>r$&`4m@_f@Z|C= -0BUf!74jV%ML>WRxE=gjF?M7g&mMwR|dn1jp~OvGyc0pQcBJ2L^TKj=iX#Ubx&s2YBm@VHW9Fu?UBTC -X0~{YcVvf_R09Pw7-U2f35{qK1ki`rrfCdslu&SwrpO!e -=-pk+-}f*w7nhe5>ZzL&jv<_qyL}FZEA;3#SiuNv#@!+#V!QHO;-|oX?b}`ALi-}cL~rafA}8}rztsr -&AXALIiN};zHE)U`HXVd8ybp$q5Jo9&_K$wgHF#PQP|9nyI(LYu|{5GK3^lkS=OFHl}-M0S`{ -jVhYgnq(}25_!xId;xB!he0kif`6meezj>aYNWXSz|IImmPX|z#Bx#&vNR(o53dIl@C2*9Y -XbMJXm?23}h9kcu2T{E0L4fK3wTj0GUnSuO+5`QG18@b35}@o`^TNz8$pIh)XuN~tw@Su#c(@~(9Rmi -7cOigyVi#dM3`kORM-V#-2vB&(gsTRP$lq&QKq~+#0b~UzXCP65LQaFVGn($ua4kgPRoDU<8-=@oSpO -HuSU?@9c&#OXs3vwK@un2fS`MfK749e$e4M``2co=!-Kg-Q&WCB{A07))^s(FD#C$p?jQg`pr6O^2;2?Q)zhydV&#_$9furT%-vRI+E_RJah#j6#yuYnrMD>px+1< -Q%U9*SXeEoOrZ=mLMQCOfeBQwI{z3np8~DdZ_&0ChdjFvR&JBEj3;&%PxZXeL;|BgnyZ$NbQhV|)o#= -$4gMCehkcOR^jaoGor;O&7MUAbi-}DBN=%Vr>(a}YWDr#9LTrV39QBJ`s6uv@4wB+-qKs)GIOa4=iYE -uJj}lERcN;}}w)10z -C*St&H7RM){``t*S#fwWJwWcbj97a>m)8~xh7+j=L7`6OfpDKCOb~^}IFj$m|S0g(T`F+lin9RHF -0QMBbR*Z+5I`lYx>kLLN0FX8;9Nz#9O`Hu=b6kYqJDuVDI|LYG5@cnqFwMi2H#7h1zoZcrH`M&njBz4 -i(U*5xClc;Z!m23=2^OKLx;3P~kC=UOMTO`S9h+}W(8$(z70ibw7?h-&ah+RspPI`#%F#Ij5 -E+_T4GBP40DB0cb=vXU<)E+~4X@q<9IehfU=?lvq(5c{P=GwrKic@i$4klZE!sMR+1115g*?qh}AQ7hbVQm9!{pbu}aRO*ReL~^!_H#R}itfe}^6R -SfT;my{c&58H9LUTZxCWu{*{ljWel)*PhFLB3Nn5N@Go=r+-efW8T_}i%Y90V*kYON?Mlt*9&X1k+!{ --+yRu%A%8#w9f9m1ef{o~Y5u%=rG{l2;)15SZ5bHwAB2S7Ti?fO)(4*=dBnB}5?dj)xp(jQH+QhD|3$ -ZB+y)u$qeVA{9rr*A1UKRQ>wATEFfeV8xoq`rP`_*azRC@7;QWY6_M;*>vWW$`N*(d=5!XU8`%H5PJu -8ArM8U!}rEwp8mc=m-zSFm^}Nqq=M#R6Z5sy2>qjn?FXaGmi|C^!vcm{PRhEBDAWC_U*PhaC!o -@p8PCb6bGyOiQS64pv}$GVsGr8fvck&^L)J&?11E065A1W8!^fa>T8o5SGlr#7g8&3xI_i%XG^&~q4+ -hD(89X;+lYS*US0b0R=!iyBs)BQN^b4!bEtpsE&RpcNNt;tYc9_Hbh;e%3vnV1z3mKT$*kG-8m6rcRp -_rChq+aFDkfF*WbL&5t^vVJKZMw -CX9&q1G|MK_Ye!;kqKQI?Fv^Wz>bgZ^S^KPK=#gIoOcdp(_r(UX*HD=Lh!Y^e+1=BT{&?J)sYw5(z@} -9GkT}kx3A16%+a3F{8MAdsMMW_VA747bdB5ZGNDeI=WwGbBj-Pih+l9dO#K(uvvcgHVwey3TEht=$YI -yDn(JLa$`4>+z3oGU^y+6NYw7znyT}sSS77zl3ofeF5-&(Cgj*E$WL~UaxjU|Ay;ofhNq`D<6&gL -1lXey?e;T2Yu(FmP!7Y3UMp?*u36q@<-bTkjhD4ZM`Jj^62zm~)qQsec??$3cBvdAC+5q10gIKC2&4- -c24-BBAT^z;+2bel41+?wCZ^d_Q{E0f$cNtHY-r+5Wh4o`t6(kMIdT8k!O2xp39hnHb1Hc%>&LEKmVO -||K4u?*i9|8>H_1yxtn4*-z-945_&Iq>%F&)?Mn`2M5%Cr)tRU0T^#OEdL1| -l);Ix${|2QIaJjen5CD`XSK%MN;|~b>whsUS2;SyEuwFQQ$I(MR6`v_{WDDb6cXo9Mb -!slsX*u{?1%aVZ)e4O&IALw2y~~F=~z|x?!o%Ni;q}?%HghHu9DhX!veS_c%v#kTu3k#ed~BdvKwOgd=en^8gufSfQrOu^9&w~UALlyowN36OD7f=>ht65Q)W^abNVw1*S8^#ENbxaNzqXu -p@0FNQqmoX@-YbwGyWgWtX6VP%Skz}xUa_hi``Xfu4@*@a(~DkCf?vkPX13K;oVUEp*kg -3zFC%w4a%~^r@f|F*PYfB#woj#pAs!TwIkDsG+Cy$FY`T{xZBJ&*AvYe8ZeA^4kf(FWZtTRkp&}>4St -9$vVo4&&1tQ%}ZWn|L;1T`|#Sw#9H*A@Gw(U)1OA$xhoUO -%6corfv-&c$apZ|%Llvx5X?mRdv^@_w8z#g23F@KK|;@j%ou^FNDmFA%sHxZ_RKJ-$(-V7#7SM3HbZc -{)@WifD8%G9Q=u}QA1d#u8F_SqMbCL$i#)aY29pMXqmllm9z0am#cjJBwar=eFwxp}n3GLVd0VdSD8W -=iAZ`{b@|_vClON?ON9189ZQaerH{?>FS-!jES8ch8NN}5yyx2bY28P7v9ecolhAdOU_-N8aMUwKA@; -nfLQyZr+MaIx+1CK&(M83h6L749|Ny$_?TS~q_xAs)vQ=rwQ!oP6b!;+gWCd5Vydc9fjvD!Dfx}bMo- -y&OuOuUxa8~n(*VHHzG((ly?^{)tzq2e1l=IXD3 -2zeF?`UHxW&7(fI9B*d|GJd$3)2aE@BiDcH1fD#2LMucnC8WaZ&=-=s1ARp5;5eukZ48S3}4wR<56kb -In09hp6(eZkv_`@ZCN7u<@_0WMrO@dV`BLKp}9SzzrtJDQ>3*;;c20{N)cWQ6lNq!<4_e(EJ;D(>j%m -iR&LEno|-7#*TtGjL~)1hQ<-=v}?-TZH^tBuF9J%<1uAVo4Pi|5Y1YhVB;nop?vigcVW8=uG~C3~ZaY -VdBZxm(u{q=UYLx>ZB1GH5vir~^p%bJ-X!KO&t4TN5M+?DZSe!QW3);?=7+9@x(aI`YfeKwvtSEwPyi -Bx4LDVzB%KgWug3!_8p;m%ZnV@6h{-g3#ZB!BdLK<)x-GRy>*a%&dkE+EY_2&?vGg&gjySp=h4nCts< -le@+MMMc+2CAou6Xvavf$YMg4WE$6|HSGNgIPnUsu^|jTOtlO7BF9pbGx9Mmu+lTrj;JGby`+S$(k-_ -i&lfAHH>jlq5QZ`9WN-s-WT&TX00~em_$iGHWsOcWt>_q~`Io#u4=lT&`J@0nx)K;X+*YdpNTA41-Z5 -}uq3V}~96u{;1A*YDGh0rm9=TP&V^U@M$JE0 -L0QHaN#{0>HzCN0qUW&EK>z^bo{@oL3ONRb^3v@w_Q-X$5q@}Tp&x|ki4Sqbs>a -SM@oeL8&tt6nMTB|=k;S*fne@G~_*F>>UQG3^?o4~gQ#7N!+~!M?(oEr*6V5u%kO{U*dP(;6LGhcyWT -RtVIyBu8#-tscj+r)QPmEh*Bp`AedCSndvVk33-KWOgy&sNP%ZNuf_q9=!6Y{Qm$Tcs`Bi5*vbAif>g(5uL+Ic&j -xdM*#O|V4S`ToFrc_XW}ayjjn{bY!X%1@tOh7pev5A3?%)XSPrqTW^qWpbGNZI^P0xjoV -OUr+30O3<6qeY_yG_BoLMDv%KU~}Q129Oz!?B}z|%DWE+SVJ5yWds9AGDKveqWlnz9GvHx;c+BYD#dA -hbc>)s-jLG(jNO(Qwu3fO1ga6D2!5`b%nYTT{WY`kPoboKClYV`;a-kJt>^wmL~AYkgv~V109EzeRXg --}hV4cK@Tz4gKMBt6AWJzYb9XiZOz}IathY->hyROMOrWq;2{&S$ADE9q7ZlU1@~(opn2ASJ3!Wik-^ -0pCEtxqyAgAUj?nc_U~-%ue=3SO>x#1aFJ4l)#}Y#zLi0m`7Ru@ko^e(Y*RJ7QDQ$40Qtk-{u<<0fxL -&b@hf>*I4s7Z-v7~99(05=6}eiz+1p@t-s(v6T#;Nkp!c0Ma&3c3>&JL{@%H{_RbbKYtp9J{%$geZwl -Y^JIsDP!Tk<`?AUJURr-w@5U#16i>ob%NC*~i72>NSA6xiKO<2S9}9cxCx2tz&Fkwmo`AzIP{(t51jJ -|A33ium!eV4~>PryHEejTo41Xp9F(Y1R8y_1cAHdMv}*jiML{6&{@9F~uSLRI!nnN;4dttN97w{%Cu- -8yd_Vf%##Z-G)PBQi-YcdM2@3-g}Ac8Q@R}drLYn(6Oomg|OU{=p=iT5E2Jg-9x##9#ctyL4V$1>cPM^D%sTv>sdkfcj;x>mRTWqH_5TtuG~3GL4GZHqScAXHWqJ;~(0(J>c}Gp*)&_!6LM`;8DmEqFznzn4?ke5 -Av(;z3{wC}ZjO!}8TSKtJbT>D=2}LgE&Qp$BX>? -z;i==4kxj-jDz~c^SxGx{&4Kj$00N@I++y6uoh0pQ^owL4sM$7yfk5pB?E~~cJ?X>{%0w{?;k9ijRM7 -9*wIE;AbG~07#?d4Gh8e^0)!yeu-(t)by<@L7fyYB6i)d+H9jp-SevY(Ot?_)1`tU8jy?S-C8MaW;lh -XAS>)D0ByW-0_RkT!_(^XFdt&=Yo);g1S8;9Iq_fje|;AIf_MB&9lj;n|Ecj0L;%Ne>X#%SrPd6&AY7x{K#c=Ek0&dbQ`9@T -KHb5@4tpo01NcmdUpwZ>3d8`N1AOfPusCE^As+xJCw4Fp_{jP*0RDhlli(S0wYX`(F3{hQ05A$otnM} -%?@(f;AW^*f?lHFd@dWv%0`S{F2Q-CVv+KY|2;K%dpdl2qy8jfqc2Dp%q8$>eX^y>91F_&Q9dmnKtIP -S51PE+tIKRx36O}(<9P|^&?R|&&6yP5q_tPe-@9IByW4(p;*Ti{c)J$bk1^v6k`Jc*4j{n~2fW9W1IV -z`rIvtvU+QX-w`bq{umAieCf$R76&}Xvzd(YS32+yMJ=y{94Knxd^a^-IvhNeTIyhUM*-{LF%h;wyw% -!MwyJk6`P=an*Wc&0vIYld@+)7>l|To}Kg^e*3s*2tcXFl6WJ;mB^1LmYP5_S`+6`+coeyewGOJpj_| -sq`k@OgYf9($jWNwlF}&6=jnu>FAzF14d!X@Mdi|-PYneYrHfnY71kaEBi=edbI$}RGTVBlY;E-k0y} -x5aRYvIYMl#EnB$4acg5oCO&rCiY>Kas)@EgKf$uio)ViaYl9!D&6%f+z3v3e4cVuc1} -*DR;lJWHj+azgqI+*2J_U&topDrVy-vllY|Re2owj5Ym-~yEUZGBRY_F+n>~UkXdyB_# -;WkGvD`&Ev^@VSrmBgy)S+vDM>G_ImJp0O4H?krw@gZ#kJc~i(w}Z -yWsmmP#=-ArJ?>sZT^(I+!p|MLweCRSbZJV8t5>U!7=#ShZ^c*8ks0%m7}qyP0s^>r7&+Ck-%$U{;Bm2CEdtqt%KA+BSWsWv!kx -vc_F;bVW1lZNsN;(>;9aV<1xTckVX8J>)OlYbjXK1>yh7y_SA*uir~L^cQP-qH^Qsnr?qzZ#%>@UW1t -t`gL9Z5Oc69sG}wT61%1|f0)q3Pi3QF{vmXsRq6g&=*Crud>U_GQ<+OP`ZVUG@9H5%viraV8ttxq_~N -T{Dt_lBD<8@!Ta^>IS4Yo=?0_$)o=wXGoLgGT4Mi7r!8Lir)$E*LR)*)T7u~GAljZM6swgOJeyil_s+4}f~T=Xd#~6MIQK`A8sa%{&$&DyC0uQ{~$vSq|5 -&fl{3wgfPm7o?M|(57VQM50S1?k6l$J6DSAz5VqpbO=#^|g+m4)$2(J8UAJBy9;HK}i@ -QeXCX4rapIKdkc7bzVq3k?~V2!g4o) -NI=x<_a4M8TCBd!?3otEsCDs61M}IZsbq}lu0sBuI|6<>F{vD)4KVW($vZ`Cw6XmA;!C+^1FTMn~HFA -v4Q}y8}!N_mtb6eIILvk8lF(N1k?s{Ej^rp8`EwM!$=ZH!!ZasZX0jGf%lamWXZ>qo@m}TSV7Z@R0dY -ZcFHIS(bDPx(}5+yiUj=q9mi02LFoei76iWDl9(u{bw-{7-k{Oq$#C+bZ)RX_ZvqJx4vz?8Buw(Wvq7$Pm|gf+8cp;L5+wW(vW1%-RVF=Lwii;gp7aKBl -OaT>MU1e9LQ8T0xn0FSvn>jFI}mu&;&ldQ?; -=0-dyZ*#4bq9vAXG5&YS68dk^rC;^>r-bPX`j?am!`FPXkbZAqCs)n@~mTuJ$0^;nZriuW1DTgfgLTKOPI$2tR?YzB^!UB)a -+nfNaso>d*u31cqKS&f|COI{`gt9i({l7z*-rL~6QY -QDGQl`~d{}AOscrPn;vc41Lw;#*OKW6j&4zRxx<-eQ_^!;?cpADcyzdL7z|2StwSWi@)6Zag=N2rbj@2@n+m3vpaAmesc^=|dytq30z#2EtUuqO3eL05EQS%#H4PFkD6e -q6rm!rZn&(0srxXBy4%bLa`+sYY^H`KYn8#%pn0v|kYONpBRbs!}R^=bp!M!tx(^YqF%XvG!Ld&>)t`?klnb?I(%+dNX1Av9b|OLeDQvquD -gDobxIcotZ9OSc(#@UE{{H2c+a9Go-9;2}wI%#?EbL!_FfKuL6m3&`!ppK3Unap=?`e$&;tMlqHaPm6 -lns2m4AdRqaU&7)be_1P(y*Xe=spRNb0j^0<-1N!H-hk??Fn{Qq^y4munD<3AxTwr6#^yBj3dO+V<^# -82!pW_Ce_owjA*USO1BFP~)6_*7~*gmYbkA)=1mbbOzHlv(F#~y?@n90_;rke$d-P`iGGF`+)@GT|o> -0{g08#~EfmA#+05h96uaUff%#9J-$%dIx*CN?dh}B~c4C5xLlsO`^>zJ5v%ykMNRpIcHsiaf;}&I)SOVY%q3JT1; -%|SC0+aC<51T=qHJ8_M4l0=n4Wz0qzwng6DPsa;_|HN8bZb!ea=Tic=@fiO*%t~+M}9!v2t8snK{~2i -yW^>R&28TiN`ms!c>$C+KE!``r%+hXTH!Zhl(XRHp9IX9Ug`j+b=Y&Ip<}e-G*qBYO88!e01%78eEJc -hI7=wvq8J@oIOMar>MbjPkdY$JCC_jXFan!>NCO~je`5-#ESQ)?hvo$pqNE7+zIV!`4(;6&u9BKx{$8 -2hvWHr3U0ZHZWhh9-Dw)i=cAa^XD8M!Mh?zx3HD?-@A+xdWQqeLL`e -%65dWwj@ndB-zuqVKH@kiksIPTv?{7Vte{r{VYP;?J)>cr%RF*<&G2{|Pt$Dn%_IdBY#$z1zSYRK)H1w#9qd#soXaJFFm*d*cumHbs!06f7R7a!bU5T?nnNp(K-@g0$3$jz3ggV+-PI}|xUJpvm)1Ix8|>9 -Cj)yQysXe4R$nclix{2T$P;;&mW}lH|L|;$~tQzdxoCx~N#uQi`s{?(-(q?aHGEpD~?N-NlPu#e2?>* -;DMn^T2EadSJr7Y%SwdQ2HazHPrMqNkz8VNS_IMKIn83d!ibHh)edg#H4M`a-$T2EX2ML#M0Sfva*K2 -Q2@b`boSRtbIDJ<0g>RHD5;MkR|sgdo!tZ~p02qVnT?VM_11{tOS$`f~iZyVCySA)1LYs>e}#vG7AU% -Bq~h@t!45GqaYj2{RqEKB`|cjW{sak58oi$4mD0$fG~46VPY;hnGT{9r%#EY;K#*r>5JLU2a=(N*{1;+?O>~VJ(|68S+4M@Gj7`ne9uW;VY`y(6MB2!xp2(rreuI0~Zb}r6`YaRbZIa|u%)fP~N3iwSTVB~lVEDD=nPMJMwib -v3SdW@T7*mMs93Fl@wmB%F`c~3?H+;xWn>n_s^gWCF1Fpkn@o$+EtNvF+PxD)PEdj?+kcaAaA`-dIGM -f+D7ir?CO1=~LkoBef{pK$zt<7GZE|EEj*xILdHV3Z^o=2w^xuyj4Ik6d@@QRte$0K==%0l&jTDZYkl -kYr6x1iS$K&Bnjvy|Lnbk{|)U_t{}9O8}h!$fx9*(FoufrdHPjM%J-uW=%Vce(RdxYZApeZn&Ol3+BK -?Ypg0k*4Wp&XFuIV@cIKuuLJ{Ja*dL`(=Et!&3attOs)G1!By7-0^#+%L-L&q0o34Mxh60G4DM9?u|2 -=>^eI7DR(O0?X)2q-e*BX{fhel=W -o+lP#1O4-n;5Q%A$7}v=*v+`sXunwV%$wHDZTxJjZxOGp7a)@?0}5)vGl^%4aI#G=0mE{HF<$SA0Bu? -gW`_1Nv^{e{F!Dk}aTrmTfVhGE&)R(%vp4T}P*L-lU?(-Kx+u1{EQft@nhg0>9ZJdplpEAde@{RQuZj -KDzK>BNXjr-R%;xN88xnSusAJI7E0g2nkc%lu6})3IK7RHELvGpfrd*y}W*KySPMXG$yT}>`oHBw@V7 -C&ce%v1;o~FRGQe)bj&HwaqI)+@L&Ocb!qzCK9L*NX4v&Pp^HZq)iJ+5Wa&~_M0W{%Jvn(xbVV4U9YH -hQx|USbXOOg!CO^VszuaSSCi?Rp7MxRHUk$Vti|{dJ6N;a;dfq(aXA$;9G^K-++}Ue%ezZ>unnH=J3} -o8h9?v2JH{#}UPp(SBCDcapICfhiI-d{M;gXB`CeZuwtL=a*yajkO#NP1nqI=45^wzweJ-GWKc+v)yh -h=`vs9hm>VY$4J9`W87qh*C}fVddjN8s^>;`j5d4Sww}>v!#cVEJ#-5CP3I9v>kd_6mL$M+k5}?fu=a -)XP9X#_~Zd{Lt@|;5pF1D=gd|8?ypXb(H938kSn3A3WDgr -91_v;PH2EX8t2(?;8{_{H$?GHKRVa5k7;Xej=UsaNj5b<+=O$h$^V@TYv&LjbErIL9H^zG}*L`SN>5u -PtsNeoEIt*P` -*&6*=yPfMcULCpb7}g!D^r%~WLNR4kox68(!b3SDmvZjQVOo0$GaR~Z%}$yyppLNsifR6CmzmjBfct} -!K-34UEa&({X^bpPno688#vYAaK}w&b{xeQ+wUoMXVpuBRSmK=pxy -XZos$Up=1Vvf%T0brMgU03o)Q*pSycgO}6^czq5mK+qtkXi&EW!xHr01oR84;uA`g3bC}f6)ao6)`kAWzb -H?}EKEI=HKZUzc`j^~|cpra6h3gKKlwOZPSmR0P>WKu=%C$fV9KH9z!aFqlC3gc12@6(hB}&(^5&S)y9y` -XsjzRmh@#%VNda3~BA}%Kv1Z0b`0Cft{PZbbp&+o26Sr{8{gj`R1aIUm1;0G^;9ehtA7E94*E#1F -r1p!%+j^vACx$kg(KYH9DYnsq>{6zucNL(uKB>`lK^(fYQYL4S*C{g@E@ZUgC_K%}L#8Hf3IT!G0h%doCm0!vtu@{2*fmP|H1%+uZ&{1w%%3$ -08l -*+?hmpup%Y)wUb0HAMOv#aPHeO%w6KLn2?6BjA}^_x5_+e{#9*rBdlf7ceHfxD9DZ`vKoOBaSdhupV- -AsU;FNpU{Ri7P`N0+(V% -mi5L!&ek|H`(ksq7{{leT&OenqPE4pbmi92^Bxy7V*2$!qX5XP3OpW6bmqLH-5Ng*MD8iY0$n=!u{~abeJB|1RkJYIK*I##P*t9l#y9sGjqKw&k -LSlk@EAfQZaANXE#V0+kDfDVyPR`@dbE<^zAEZ+eKgL7e$383e_i&@eDlnN$nWX`dOG()W3rc_X2~&! -!{^;4tUdIYBZJC4J)tJ)dYflXJA$vxWdvz|w&aJRrnP})^Tn3{om*ZfMPT~UiI{U2Zc@8fpxLIVMczl -nqG2$s&zfEp+(B``hffZ0N}cC@xjDD7^Nn`OBVZNXr*j1Tyd#(YV2yw5-2EW}rU$uvq_5(*9CXv7Ist -`PTKA1kwt|KG##Q`#cCjqvPfvTy0YEt-$I -kcppF6EFK!Yoj^|JIpy|4zZj5dDL!_|5yuY7O^_dwv>1fuW<2&Y7W -6O-pS;>DvmhTAoV>t2OmJI{5MTS)-?)k+Ky}FCys&+`!wum!=E188Hzi}eN)vKE40ZWZxGDDQ0jqL)8 -6!Nbc~?TSadY>sC)kG`xoF7_Ip=xzxZE;KeiWGN`^jBRhXbl8_*3*- -Ra)~wpVZ>k2GWl-uJf}E+(6Y$;K -S9fupJ>^eifKR6GLuC$!T8@!%hbO?%LEm&Va2fzOI>Rh(@dxh6(y;@R7XF&Jfuekqa)(qT=Q~kGEqOm -{B@C=K|zf`%Q7KVrZhkI@L9)_30m3o$PXg+zaNX#rDVL;S*@m9q+?+m~?{d3kvd>CpGYq{ESKD-|%IUC_Y%Eey;(G*G7_al -hnpA<67Fd0F$irIb2Pg~3EjE^|@yB30}e!z|xD%RVl+5pZbURpm=3v{M$r7eDBfn|Z -^*$E`oT6tz$0Ky1CwwJrX_gQs;ai!p9*y-&+ov-9%Br2C0kJVyif7Nd01!2K>l$9@7ai_YgCE2A0 -jNY3v{Yg+T+u=3G|Jj2=yL@Ry%Mzs1I&i<+Pwv%ACQ0%%A1W{0p+If(xJ<(-*SylM(FN&qvXjH+W|88 --6t4m}3%T&$3Zgl)KE&1ab;M1GWq}Oe)JH38a4a<1i!r|=9ulRhCCkpoMeo;Yyct#yOXyN!^IXLF7Tf -j+>Fx%)5l--u3sE?i`6^~}ZnFaIbGPnz`QfwO-y&8p?)IbciC`25Fd|IEbr<2SO8ZkUvLi0MANH=tI; -w(>{Z*W*DUhw18LZP2;Tfk(VGwmD$hqDaN#~J1ERz*s=Q($7f=ucXvCa5c~S_5^qbDeC?mZjJBb0LcZ -{Yu*9#@)9_>~W1Gi6k`ZE`#$-~1bV2@i!i&sWh4d`o$(Q7%}R{(x($Z`~l)fDuF -4N2Ah<*52vE9mDeq^fLCgEK)XgX5)ko8$577ar=%e+wwNW;4$oUtj}V)#$N#EG5j15mbAv{6SYYNlb* -PUSH<=*qaoRZ3l#UwQ#@vm*gP&eWrk(gFl>0g462V2KuL<_;*`N9Vjfl@k3>IuRuo>Z5&ytT(##>^VZ -`}B`56o1oM(HjP#bm8im9Q>_yDY;`^=8c?A@D7cuEUPQw(;-Acc7b(-91=M^TB719681G%z#gni)yNw -viMU7c>O#fU`j0RX+RPtJES2>Lx)JC!GNm;`~TMj1dTzHU=k`hB37UzAZ=8dycnWIS)qhN;X`OtE@WB -_Z4cJ3PR6YdS_`blnAWw(fe2~?yQe?%TAi>A(_h(&Q6FyUWwH*)jD+*05$DgC1hVX$WLgE-7$kZer*3 -`nNk1$OrF)%4_BG*Qtxlc^}RF9wsrk%zPEq(Sd^uqA4A*!+3DY-+`n1)ODFm3LHM_{`xfHj!5$xOVPu -Hy6s`2FyP6RD@Z!$zigy`1^lM{O1b>^kgnQ7NQadM}O7`O6?&$WWb|K_{z;qY1!QO1Loh2Xb1y_^ZY#}ET_Z(T>o9tlJ5>gE>lBGf((Nxpm4#M?qCX8Dc=z5BZ+vy;R|Aa<}H -5NL-lgS%Sa2jkUQx71nXuDjSd_QApb`555bzrMA9duPD!ZtZt>_N(tH@O$G^b{&q`5rp9v@$yL}Iw2zrwDiWa5<5PKZ9UgX}&niJ(lY?IP-RA1R903FXN ->Qa7tiL;8W!;on3R2hqFpR@_-0F! -G?+viG{xqnBZ?&Qkg_8OU*|(fmtmE`fXlWP>}C)?i{smp!*!6*mFb -0QcYtTZax+hG*lb_5JFtyJ}tkYj5ti_PAAd;1!_1}S=h*C%8hSN(jSsSV@2X~o0m;?l+Gj8IcOpXvW* -Al_`7h_hU5q5BRnX+x`> -Zj(^?NLWsR^g2%g_8A$ByDhk{sRW^`8lD&boVbU(V2E7eD(0w{=p9>2%-1?om+P3$T`%)0u%QDehzI8 -hpd`rKO@%}OhwgU^X-_>4d*$q*lowWqMwaO7>=PQHQ-j&RtRHNRP)&te&rFOE+RHaFTrnQ;ny$6HvIUxa -ATC^i+lg#-{q6mVyZ3qs_n)5A#K=Fg6sD?`fin_7T+e@|FzMmOuOdYiI<7isv+hNxrZG2f|}d|eYS1{ ->Kt0Y$Lk~gdTDooTnx%)0_AEkDi3jT&tH$PNK6m%aL8Oig$?)kl+isPB#+tkSKqI(VFZl~-@X-h?%wB5fNZ=aED~;RE-S*^+flys@y&QJ0-Z&6A~vahXl43-@!ArN+Z-mDq!sg=NSxB -%DLx#M$%6wW9 -qZLIgTnoj6z8AIs2hz~SDFPy^T5u0?)g^(MDnK$b9kRs_1z3Yz!k{Tn8bv_>MkWXxu*7GP -wthzruk3xOoq{uWi-?RZ0ry*f6 -RC;5%XhvW+mhkiivKri>t6um|L!Y&hoGNdh5oB>I7mPsNr5B@A~*(NAca#fMS>8F!U#fae`W}!u&)g> -pndB{KgNrL9SLG`-{`mef{J(Oir*Q_?w1+-Cx*V(0DU7GiT~$gXlAFlzLiBcSo$!&M8G|xN|8Me!rtW -EkS=4R<>e_wAd#>xrh{&@bNoJNFAAAEsIGj$~xCBNqI2vx>ksQRB@A0ps1Vi+uZdY=9 -a3v%I*v@5--Fl)BzzV<4D&5BV<*^3y5y4%y>NbXp_iIx2H#wOnGdOh$O&mbTMD5H3 -*6Fb$319Eo`6(GtWN2jWy68Q=U`hHglo1a`5hpSx4~rU_d>=6$uE$;g#fJrfsw2+N$2g~3M>ncLq?B5 -$Q&d%7X-hvwZ`~keF!GT*x2*?zie;;kJi-of1-RGtO~m5Vf=>adTUZ%Pjc7edTs?xp0)nY7OP;alBz) -pm;gFeqeH(Zr!0-}G8VLn@UQ{pg)ku>`>e>a#he=V_$-h|1`GB;CyjYuviWD1vmG!H6P&CQ2Qa{kI$o -DTs0LZ4IY3#C4br$nAVih@hg9r1{J*9gd+c+0OJ*qd`ZzCbD`PlS@I~tyvA5~FKHM;;V(_?v=h;@vO> -U&a_`Mad}JoED>laL{`A8S}FG&o*M`*{}`c-8FI3>( -{#n_q&+qlyz_>9RXwSiE%v^x4ZgJq~-kLal6sK2@|af5SU3S$XNghlAWX62X4 -Wt;m(?Fud=3D~ptRbpV>BY0=Ea7hlxc(1l~+qZxq7+EiW$11aCtt)gUC!_(9#zvTss&Kkn6=5^N3CTgxA3M>De|g^F$QW>J7)M8)Eap=x2^ViMXw>nde2x<|If;kKZN!VE{Nmh58=^1yFazMKaYRU^Zvz1%>S_~eoBV?<&=LeTT;+IUjpL$SZWaNAep} -54kC8WWEj5XGl{p}=B~c|C4j@kF3B0b{Vb7mH~!f0e8W^?I}hK*&4Ray*7lzSxR(yeck4Y#K1IR*3gF -25<-$E9Mc)c0)H}Yw(Y>U)g#lo)S3$Rg7TO*}dyR9uE}HHT9Yj04$8SAxhL}0s -Ng-J&S)TTi(Br3(0}+bEq3YdG_8!vF~#8$&&=+L!B+3N7ufO2ap=PeE{^RzV=3&2d7zCZ(^((g0^obeI>&|nfJpNa&=PYkU{|p#oi|;?9FkuU$*K2!Sq6DywXyX;|~289F-H@sjYvS@MY1dB$|9gd;8+5<$E{evgiyjHPE2RS;>%A-ByK$9%&!R1e34fVc(9S$CXo>;xvk`?_ -zN~P59N{(?t-C4-+ULxIcbhX$q4yJhT@QRep>>kdx4!(Z9AGC&I~K+@N -DvsdmO~NxANg&zs@u&;+`&e0J?DQ$`7?x_el_RzzF?OKn%_kVS>k#|3zLo`y2RygFH}DTprdp*Fqjbh -=hOjIDVRgpv;`p(N@3<<4@K_6msg;t*)0y=W>gaO9aSPx~O@W-dw?zHohZfVtI=pX_;kSVaIw8?b{%U -p*H73$1wri229Se)S@U*wT5RjKD}TI+ycm3zM&B>1yc&|6mxd>z#xh9oy?#ZAAcF<0^IU-0^g4W_&$;vP5keEi087D~5u?;5Tq68^Gs(KEOmKPSIRbGa&<8YpoiPk-=l?+;tqIk!IA~I#-qz9x<&Cs4`Urp| -?7wJ2<YNFTD8`HmlEqj(%2$ex!3_jlYUD~!f;Y -$}hp@o136AtTdR@3_Vrsiiy1^GXT -UvO~8PBz-cv2;i{j~*obcxhhM=;GNBea7xf?gcU^|gepEK`0+NZc7oP&Swrvv2ExFHgWvLnpLz!2LBS -{L}TkwZxMKZb&L`UmAPxS?0E-w{2KcLkP#6@2Z~`DC(V_zgKb;d*^w5p2GqEHlF<*JOjVAf2N)If)+6 -tm4O`yLy%rpC+uvGb2%=!1Xx0sCK9f8UQ8(FJ?XBw9F`R^Pqj!^w?l -JQFSi#BOTrXmI0qz;XYo4Tz!OUN{EY*T?A%+1ee7U4J{PV<(?cfYPElsd!bEnD}I8|W0Tgj>#X1- -upr?}DDZq5g>2Nx4i}cD;@*d9jH2j5)5`VN_bid7_S0NI;RlyM=&hozcqn{p$eRls%fg^yo|G6nhj|4 -OXvCS26v)l7fyI&JZ8r!{$X)1iSMp5v(Lfm8WjyyaZ!3%qXM?7=3f(-%R=K{*X6SJ^W|shiE76K%a6?R}q7JXN;yf^ZCxBr6AD~>MNciM<0P-0PSY4{H(I*ce$g+f -GK$QYx -`^xO+KY?-5y5{|+wh&Qa!yW>rfTpu~&HS%ion+1jl&zH!d&wbN|dLX;T4%t31X5^5Fm9_C4GfzuFhm? -KI*nEsGkcD_c4+|Pfjky)}+s@fu%cwGi*QhMOlFxeLiO%RU1xxc!t0Z;E5T-sjR`uf;tx`P7PfND(Gf -_>AidvL)7hY=GjTTFf18_Qy&7vyf5W(~)r%}Am%_mh4;Z~mTsh*E6p{5sH4Nt!(#6ww ->*L$GN+`S<`+icCWhj*y9VxrjOdm%s5kVfIQ%woP71<)JQw68<#j12tQ@2D -t5k7oAXhIjl3DfeR_Ia{0^(_W6uu-kZ`PSy&i|oN3mVTQG1itx!sH=Wd6^AW#LNLesimSD9d -9XKIUpIjM@Duq{RFf+OMu>W5rg`9-)CEg#(c`u+oVE|0qw{v(EJP-=8)XYP={>~6rdi4_$I8rLkXn+N -I}@taE5OaU{eHraXK8b4>m|YxRf8`1w!JtP=Q*J2nkWVyGm#Hi&&nLbCSx0;=Bx{Oa?cO;dMEFRd~vfS1^RU|kBH+gxOMmE`w@$1XS`)hnlu%7G#7rW|-SnA~i)yHR0|fB>IXBD;z0]lq6VFL#+CYWJEp;zA!* -INc)3c@E9^90=H1sb-ettneU)rN4b!fQCC1>L4pGkM~rAar)Mp&ezBB$xsORI8=_p6qpvDOV`l~kM+_ -TIp07mc^reKLLC=)#+}VP%90pUL1(aSvyq4@IeCxEIn6aYtxZz1?Wxwa;dw#MohiBJ=Tcht7mC_pvjW -3#ooiFm-BgxZLsAh&xw1ZUE3YbP99(;G+-w9#ir`agn1{o|C$2F~>o@@!kBCcvv&wN>UNa%|vpJMu>S -@oYtEy{kYF&is%ORava0}O>2))uzw7E;x@xk9T9$Gl{NmoGUc|&@+{(I$2uE>f#Ec%1qjy;n24~hF6# -MA$L_6IINyd8_SV_y&s{?`}#9)|tRg?^$I5Dn(A*S3veFQG29 ->?#AQ43Cnic+?!Caod806a7LzY4qmk1+lMtd74MPOcIn+?6xs_VJJk)_Uznu!H7T^eBu?#g>}?qm@0F -b`^u+#|PyJSP=sr~)uAH7`n2~zMgkLa+BZVV9>t8E#R=J|Y6w*m-1ac+Lrwe#ZrquFF$ -nN>)7%$1??vw+9M!z;;yB+3bR!=)arZ7Uuneb^2lz0$bTqreiuPs`Ja#7nd&QNv -j6I~f4pnpe{$R3?|SC}{Dr#p8zR8S<*ttLI_;hXktE{m;PPe{5D_46yHY<{I%U$Ba>_IAQqXW;+La~e -m$UOyBvaW^o|MfN?u7K0QdtxXsVtWhcxCb~K+Q>TJgf;~Ep7Xx`okhFw^~e_g>%J&@`6*;^EJtIpd;o -m88q>!)>L_?eOgb@qqQliM~?t~+oJj+$Ck4gV5 -i7^iD<+3E*WRX{p9V;We9&y3J=R6g}__Bv6z@J_yU%He0qrDlxFvbbTm5Gwi=j_gpH -}BbWix87AB5~_qtT_L&7WiTDZ`s^!hLgzQJd(P$L`YXw=OYr;p{G6#7Kk0?nIEPFikrlK=;^AWH|1Pv -70g6@xy6Z^N@ZYma^wgKjJ`Dvo%3qy2S4Ub=2!X -i^wOQWy-PAVQ!N29XF%;m8J^D25^^{uO8v)LwrNsJDgoTY3ly_TKykdt3gGrh8W&ee>uxB!a)LW$ZXe -?xRK9srXxS=tFiWe4}TK?|gC;{ML+s)16L7z15YF-_h~*S0r~5z^+n_?ypXeJM9j}-;H~0=Z)`3`hGT -iD`9W9y507!-4yT3;x`Y0NcT0!+b49pW<=}|j6?qjnvXYVezp*&3u+>SB#5=z>}km7Eh<9zmMTH@t(K*NkUrmHo+jOW?$hv+mQUUO(iFMY}<}}ohQYY%;xDeCBV!`vRCt^ -k&TNToeD3HYtaksPMXiTkX7Dc4BFGfRuc_=mNmkPocG -c|A0Ic&^lggzKUK3Xl5(V0~S)9N18<=c9we;uWuh#y)fUiCy4euoWB`Jpy;v1eahl`ayG7C!FQfim0c -jSi$umS$~j9u|KS&RtX&rbo4lE!Lkb_2%Hy+;b0ueU|2eO)bGuIOhnnmWBZ!WSE(;|u_C{n*%pOva9m -LKpB}U+@c_hNH0Ma&_o{4#wP5X~VJ(F}uUIN_sdELrVv6R3!NXT$<`u7J;{gd{WP)6RG)_$Arm4&-B& -72ZPxQKuv(&ZU^O2!Z(t{Z*+*9pLgB{s{!y#-h-~@m~iu;x6GqEJg1Xkb+FVhPb(kL?lcq=RX*LQvR9 -547W0nAYlna_IfmB~V7EUL!NL?vP^SrEu|B;#YMM76Q6as$40KUYxu{_W`HmgN=>GsH#Ujf;61$*@l0 -SI+{{UwGFR%F*`26klene6P!w?h%K>|l1a7#ofh$3K=KtKXP5rTxar^qjP?J@c`cSv>>7%bXHVR!gL- -sE&_*W`<^9Z@%Y+_F;g>uFx>-TF@6>^cP5p%0x7QGn -kd%Khj8p}u}OHiz6VDrRp7Q;W7f9ZdNjF|m4j>kq0BFZH^?DgvDA_oDm0=o_E?p|YQ{5XDcQ!T$I&8~ -xDb01Vsv3=Do94*T2LFf~*$_fi7~$|Nuo9MwKdF^@kk5m=d_|5ApFU2#U!Zi(G+qPnhRU$1kr+$q-Ul -!|ezhlR+N16;Hb)D=Tnd9cc+Sm|ul)OBLr(#==tV)wCs)-I`+`6a)2m2fzy?f|caiOylg%Df7^*qpJ` ->Fl(noi<{tg_IU$B{kh!^mZB%)p%+H8I^|LHxB`%Pp6h2iPpj)Ua2?80HhMDJTGCcHd`n5A|rXF*wpQ -bRbX^mUWZx*111m3K)hVH55#hn(+h+;(vHW(*LeiUSH@xVn=!K6wmF?J-75+@Kan!Lr5)!OC5Kk&x#G -dr7CXUyTzMALnztl}z~Dv?8Nd%O<_V+cn^mADIeZ%q)9zdJ^@WAQU)krtm-O>9f0*HtJDe$zj!jR_TZ -w*Bcb}cOA00b)!%pCD7yov+jE;mXa1kwufM#7JKl3De5ku*gqDr0g(<@uzlD^ucppeMJ=N(7a(mpxz4 -%Cd5s@|SxndIDA!dD|GnmVXmQmn$+qYL?bodx%#Ag@cQ)EaNQ7->$;3C>=ae-QjGAWwwCGDlKYWZ#^oAV -(#N=#J47meVPUN+;V<N)&^p8vG=)9dKlp+ -Ek5!q3&%?SCK)k|2sv8!)0Ej6x_*5;%yGTY5=g6b8O)pMNdKlKW&7`7wY+?luERwD-qTVy~ux$X@sil -DAC~yc;rp1&G8)Hyqtt;RL*6>6SrK@Q2s-+slaDEt4Q{PY5IUt$zXUxEY4O0mOZ@jN0#HH$_O_Rhm6SD*klt)eZSy|Psa@JNFQLS -j!tZ$Xok7KZU-;xRIhB}pJ^T}?a+=b3**%`S16(nh|D^ -QKJdEi`=6?1&7(3wphjOC;qma{4Dtqg^j!J6oPjc;!`glNb_P$xsE`Jf-jiEJXj0k8l9deG -T{t{(utqAFN@0A^_me;q6IflIp~l7lpYhf`UTAMh?EYp-W^>ZLlas)U>L<1*avXJMp=CxN*x{5eHxluj`N&l#UD#);-hC5t5|_76qY21!;LhC!!nfl9627{_XSmrNPV;qRdoXaQHZ -yg6Ph%OksT%M0s|n2yW0sXS|})!?yYpmU*74Q0PF3jhL -ywY6Z?*wVA<9=Xiu9b$;ZC;xIrdj~e1`?}<2TuA28%T2xev@UELlQ!@xq*<1w6ze)=#VI6w1ZjlEWVK ->A9%xew-RK%gUKaAVI&lpYXGmUeRZ<*W}RDYO7)&%48k$i|T{lT`sIwJp}(6|DYYfHelOwuMJT)NW;J#Dxf#N8GKt5Z@7ZL<=G?bYxAFA_bL7u -Lc-o9%-!%OeJh_LZ?-eE3oXI;E_$&~G6nCEsOUe??^=!E8^hqY-|~iy0kN~bw#PBG&n~BL4UH{*q<)x -D-l<*jzHEER^sN)Mt7?F62g0{J)rYG5uF*mLBet14w%tFao34g(m@_T7%S11$TrHfZoDRNB_I3u?pY1 -i}dwVSwPJ?vPwgd>vW6@r=bnF&2_PXaX;ex(SD{X)3J#(dD**}yNrBn9Zvv14E%2nm0Ek~1Hy8T^-V? -W04ets{_{$POpG%EZ~tz2WTQ(D{IJU!Rg(yH5c*{19YlTX!%=F>Nn1^5}`Z_uCAu&c><>OWZQ{fKYdm -UNhKKfbb(=8o#C@YCR$Jy&syHy^6ng@o2{X%y45k==>|*Q$swD^K+(-D>N>qdM?dF=>I_=TTF04t7mt -ESEdFRuq!VeDj2=h?QHs#))kQO|n@~TfIoz_NJ?O!?YhCkej1(i>^ps(w#j|9B%a -!YoGF2D2min^n}w|`F=;;b56vPMuotu=#_rKsYpRi?5nLx(O6#Y*!QdDs8VypoXkp~>v_?FCvobdGDj -)@tgEl_a9nPu86X&cfy{8wPdDsJapcj+qw7U*amop56pWu^TRo%DLrC7H@BIU=iPxndAeSzpixzM|kX -*0ztL(?3a?!($s0FBL@x|C#?v>Z?$OC)I2-5DifV|XOkb)ixf!A2ajauFa_=D*$j*sTF+k>oQ`= -|kZc2{E(3K%(mi1{GhmE@@56&drW&RnOsV|%l7P#CU2gKdwWg}t#3cVK4L(=w*Ric{239?>`=V|+l2m -YR=p%Quu(ZQ@{-LC&$qG>LMVTX!8gmxdZq5t@Q{t$M1kw2fHgy+F@E4BoLLcT^AaxXe==s~_kn~)EP3g0z6bkALO -jxo0P$&fczQSYK6Oza)9uMuYF!^C?@Frju~?iAZaIyTTllDE$+xf58hXvZ1kO_kYTYZt{1_DP?8oQHf -*7NI+e?T?{-T6g!B#dgjP^^aQEr{|6^_$R{1^m(L3{sOt>Vg4%c`$CCYlYVJ#SutF#5wxQWx<#nZvj8vssU5)A&IL=j}jj(+vmedf9Xkn>!4-t4jK!*TWA?iKMvM2ZHJP}V9OlX@bS;)!Kf*^6An@~bW=K}%TdQixJAd$6hi2~v83`SFy(`3%s*3SwN6UG( -qm--VilacvZo3uku>%l>JtK-6$gng7-!v`1^gIkn139BjJdcm*#ZOUFq~|d^V0nf(MYkN{t|(>2Uh+c -(;Gs$?&J;YYq#AuFAzxZ=F@Cs*Jr5)`O>W_0svNc)CF7 -4_iBvZ!Jdet8G878Uyyn3F*l)-o*NEudQ7PF#i^;t^1}^+tn*xf|&63*I9Z8>@-B_}`F5t0`ZPA$Mm -DD^J6aa>dAa*?wn9i6>`zWQq=9Qu-5=_{Jl;Uq~qbmu$g-tqKN!lG=%rB=NZKp%f1esE=Lsrnf%u`d7IAH~mRxvA5i%H>#V9qk4Lw6Twe#?$MAs`j`IXzWA%Pz`oeXzN -v3>}5L;Ec#sBv9)XWp3a3@)>>n{@4BY|1S2MUr!jnNz8151 -1M&YWI)hJp4M1=w<+74v!h9@HhN0HLmE55bkTDsonA}AWgKjdg)p<&L9encW7dJ2_YiN~>51ODgTPXq -6MB>{@edT$d8|;xdxK;|rubf%CDb{46wLNLQl(e97LFPO7@$Myab8TzuEwr>uBSO1P+GqXC%i@xH703 -KPt`KPZ-oSkmW;D@(4_1Q?k(sH4=f9Wb5HO?A(~5M91L`PVd}9N$5gII6E<;$G%Uf8K)Vl<;}qky@Wh -|zbd=&(dUzg|2@o!~{+7~ME+=*t%bdI-KVGUE-pa48ZjS*#5X -yX!4`Rqj58tKj+no<&m6}vjyNc-Ra$hc7%%AS!$!Sj-ctB65>w4rv_2lX0V|xpETyV>>{d!p#m1FzXJ -~9FCVY6e+Z1w`k%(Z^|J3Uz_ux)kH>v8NyC0JmPm+~S;01EE2YdvpaFyY2Fy_CZ_RaUw%wQcLSvdRst -&h?K%CAwE51?LLXFQqalFVtT>zUzQxoc6?%^wj-GdsCNsR3*C&r^MhGqfcA?OdgP;5RROr)Vf+qSvv---whkP7?YeX -_bQlpC#ZW~m%>b(JyWm!68J%gu|+4Z$iKb8Ln;hI@gQ}Xz41GaxU>#rf(&u9D?v|$7YA|wK02m}!rMP -c}t74O{$1piL}?Rh;B?@9LdAdU7^I|BC#Gl9LSRpd@ng1(N~w&Xkr_J-|;_HvT!gy1OL*-JYOIoYGN- -6uHR)B6un;6_fxV=uEzNum9 -UZw!wgXBrP-^3O^ZZYK+zs3I?vrT)27ytAxk*wErJ3}UM28XYGOnw-|0^UX@VD@w0^z>&;wvQqkKPW= -bFV*`oiURiXK`8oFRQwPreRgr_MYCvBT_sSf-d)^ZkIjJb%UsxhdpE#OLETq(^AB;`{vop8ho9K&cEHB+jFtxik#ERR7 -CZHRD?o$9ts*%AO-S1ncMiNOBw7x`J~~;%B`vs}?p@J7F*gt+#IF=_^_wSnFEheJa4^FkGu7N*kqF?l -r4VrY$|;K;r}`GTW8c6or>wL=%%y<9^^#4R?hLoDySb -EYcsOdn+Nd9PgM|g^VJBZGd3KfowPmsayU@zR^H>Zz+;7do^WE_f+rs%(o9!0L$^AmyxwYmVFOi{M>n -%OaK1)i6&=3L9Vg^HRI}LTrKnTcey&sabe1Z@+i^nnX&Oz5rZF5b9P!P`xBaYR={h>RM>UW}vZV#yh| -`}8^?F013BZYsi%fft9rAW=|B=LzYdocxU2fIV>g-^6Xe3FovqF_`h*g*rK&nh=cU?vCeG_LsQrtF^% -Q#eWmGaeo)L0ej%~zlqxbTD%BZLN{OmUQqcqqg}_O5IwjMRd_)y1a;|gq9H>S%;V+B6a>n9*o-3y4`D -L%4sc{KDh(d$tu~&RzVc+k6A|iEI*p$`Ml>3Dfm9ksXUW69R*6V=Vi$vIii9|Hxv*oP0jsD+p?qc -vq_aCz2y_3R)h54Va;kvg6c*V#Tr2rH#IL{D6e+{HsJjhFr$qN -&i5k+8Tw7;L7270Y*W+ftlC)=)zGE(KA#L1UWHabWbSd`d}RzTZgWIS?u52%Lz&Q(S`XW6#Q1C_H*ej -obyW{_rJKzr?}m}yu?rRKbW9M7{)OS+5#yGM-UiAAcO>Q6u~JH+MeA0{Z;U{MM&^Fc={Of0?EDJwg*+ -n9zw<7w}@~%lHmUdzc#N!-W&-C+S^A^_-0CwZ_yk0Z4mNiHtf>r@!po%UXXgf!WIQmza!FbPsiB%9DJ -_@Lhze)5$*x#u8armU7_U7(xBe19mrenHYN7~x`f*ABY6w3C*d9%Lezdk@!JVxdq@Am%_H608@2h_5) -zaJ3MQx<^BeBL%LGpkzWsXo%=?P}=cvr}d$~+AV0-%BjQLe(ZVSCy;Kv0&k`De}XYNn#JfPmApUCrX* ->=lY)b)mGRu!nH>@Vbb)$ryM{ZU>7_!$y?hx*>N`c;sO+Xcyfc>cQG!RWa%_FdZm_^pE9FNFEu@#TS? -Fh4yqJ2@V2sR%U>Pb(8LXKxFVQtefe1o8i8?!C6$RM)P-bFN|?b`SOUiyZbCeLx0DfXIR~au7iQ3B=V -mFXbwSRbICD-u-ubILMNSCB5?r^O@6Mg0pKU0#9NF-G<&~ZpHC|EfLPRXCT&(_f+ZYF)5DS0WHgrbd9 -I(S1dctO#O&10gq;|P#*^*&hqO+a(&KjnMRH?VAF|PtbjZ-p;FhpgHoMhaMy%tE)K29wf7q4j|PD~MT3zk~rq3wL3(k}^z(KvD*Hk*)6h -ZH$eHG%oine*MJsKTNq5}R1;jveJ!-ATG%H$F@rvUXz!&kifeKpuv6OCuu{;etI1)&(OrnhLcB6KpOo -ahRj$IBf3l(=@q`n{@LFVIEdTQ~1dc8T-XD><9b$?*f~HzI+~^~tYXjZ+ -i#qiafO;_fWro!VjeiUUd<+N%QKuTDQs9Q;xVW##R;a_q$SnS --6jvm%zyYrZWKqgL?Y5V|2_wPD5G)6K0xLxNB!-Eud;C8!_S8#yHGu=`|`~8|49DNzfc$^|N3sj|M^S -mZ+}H^U^QpyUypnCSKl?S9{}_J!_#;N+|N(pTX-cI0%ec|Mi~^wz#oDnQ82THQ8Yy%D1*Zc{3*OH2$e -)D-694aQ%MGzPw{G01sH?~=v*zp8PTA;f_y&Q%^)kmVXdlQ8K_{qiRRHbKslTSZ8e5jC3IFF6*2)O4l -4c^{j+`;Fn2}4NZazh1?7|FG}h_~#eiDLf~^<{$}Y@00vDrTkIdRLV<_;3cvY-jPJTIRj<0<(9CYgF7 -_bSMU()Nv)!bzKDjTnhl;^z!kIJSU!*30px!>ZS$;Mxuze{+1SJ_akJ~*XtXn*L%^%@_%^V4(a6J0oG -fmU>-+rKz5I)#@6U7oK+{EHek*zmcRwTmjKBT$_MrjcceS8 -B~3REF=Zl`7EnLtbbr0qn})dYKbL`Ufk`Ec3W-Wl7n_gPMMSWb`TA#`EIh;NSBc8b2oUtxl>w`_;-R? -gi8&Dz;+ZSJagGei(($@+eGNy;5-W(CTma`24ms=x=&wTyep5w!AXw+}K$4F1(2$9{<@b2(WOuq5x>G -equ{An{$jMUI`onvq76t_o*JV&os|Jti&rFMpSSynP0}S;+)so1 -JSP*KoYZ7WxQ?6;%q!d_jeeEJ-DB%w@Qu%HtqaAxK`-`;!FP~;wJ=n9D6Z&u#}>at`JJ%sAmbyS&0uy -QH$_(_-6qJ94bi<$O6sTY(m7_$vCz--=Knq&Aj;p)rE{D``S9ro-Dv8NJ>ltGUarGamq{d5-Or>izl@ -q^mcrVUVGYlDB>mil1fP(e&8a^#2ZNor16ui`;^haWzM#E0-(4l{Lq*jt`)+!uPao-*Bz`_L=CY%dX= -fMwb4QMXYA@0v_77&wy#*TA_QM+yAN%Y0h?l(mmwE61{3R0$y1#G!72iL0_?Gz3e{zoBRRJ&zl;seVjsND1yCi`D{kEmdfV_z5LAJ#P54YIu6)zseR -~7{z@X>3TRyV;Q;$Gh%WBt0dN5!r$qyrKSubk85jK1CKzL(ShpOxCwx{Wq6jSBF70F+(m-BwEw-w>V* -#r&nW8U`6hC}i@1s~(ERlOi#3L$a=>{%Bhs;WoNbV#_{`<^ZB9`3E49yz)7%X6a6ke!x7u!I~ovp#h&o3$BEs!_I0Harb_{Y=_vS?pSMyI;YOD_mPvD6ve8 -^#p_(JX%nw1^&j`GQbT#v<2jP&s>wOsX#Ohc?^gq&a-`hpdd%r0D)&t%g#lYe6-a`w2=0Z(MM$Za%V9 -qH-T_AhiYW$K5%&Y=&g?keUjh744tv4q}?xTAh5Vw)uu+d;p~l}cIp~57+SX3oR&|@%$E&a$XA}bDA= -VVl6;s;msYzU=JNzkz9<4)V7bTW*LmO{KPmZc;q~#7}v5lnpWuC8+A=$!-QToGie;3oJr+oeT`|K0oi -9#liy=ORoG^CA=eVoY=y@Lu?D3N*2`lfyq -VO6p7mOC_#dSO0E81j*v@!!j3qQ@S^Jk42wh+iFsovJqQ3rBZl`x7rF@`M0i|F^VY1yz%E6=#ww8t#GPUu -CEYlspeH&QOx<)Cyzwc)bI9!dK6*|(1a&2D2DId31`p0;>9!7*cINal2a)wYWo_)%~+M4z9!i%kkYN0 -QJ+7k-!cx|DO_Gh^`$GJ0C(;5^<-UaLHA_Ydww=kQ!xv(5rvXTVAj*+9i4R$YGnxX6kcYdSx;iT^~a2 -l|mzVb*(8diLTrCsG@`3EMo?Ob&@mk{)$--9gR)1G{-Ouq&Wl@GUUvub3ykxYv2`+Xv{)z|KXiPYvv# -uMT#9^K<&z+z^Dpfp4WRT|M^XA9j-IrkU6YVQmC -nE4T4z<|u3W-2rJ?@=hI^Ergve&r_-;%yFYGc*b8%Z+acF`|eRZ26eh_F(r8%l)Q~6TJ_8uAyw4_NiM -ewdFiKf3kk&e!5@U@*6)t3)$i)e=(^W)r`Hy>JLtHxb59pGXq8)dcIz+?ideJ60NY(Ross{NPD-&oQ!0P}F4&Jw<VIbb0B4Dx0^DpeBPMf|L0)%RX=V)HR -%gh+20tfepj~#J@+%L)hfQ`xb+z{=7HeO8ClXyV2HE-(=&p8Jf+_`qd%#dKXsc5Zt~;;{Pa?vPXWbkhw@c!%4LFN;{bG`j;{9+rHwf=|b;#x -BBFS66t1im?AJTh~9+)!8#5r|r1>TnQ+Q6YOKYm&&c3@9kL=%y+GVLF4Zuw2#=X=Y3g4zqfTwzI@`+w -@=(#vWV!)@AjYVlFcJ4b4LV2mFoj!RFG>00yUNN%P^i%Q#q2% -Tld~cDv{h6K~K_~h_5`D(<$S&+nb(nQ4#-q5l?60wCPR;q`BfFKyn5ryU;Ii4hp5jX=Tl1V -d@h0hb;bO=ZOE@IXOJWy1bp49uuFoZ2_Cmo@AGwo&?A -Vr6hps{7s53|5t>8D)j>C*_zoR2&iX+Trmb5Hfk+k=d0)*LjNmgz*h8X77r63?L^jAJ1A+BzpP;^AR` -(-#u!Ye7ni%gYjF0ygj6`fp5x~DQ-}5+g?nK28+n}N)pPm^eF+XvYT@`mxvgvx%xaQaG~f9{A~$J@i% -R#fWnQ5mMjBVV}$zQz -f#~-nfn2K6|)v&jeEOXp3`g#+cm(U2h2U_Kv*x5mn=c{UYfVYkx-+MwxRW-V>R@C)@-o{r`I=;K&ts84(_s$Kt-ACf0jhFBl3CwnI}SBt!}$X=eW_GtqN&Zbl1o -3q@D!$rT|4TJGq-jqT&a&(a%>Ijn&UJT)$+H<}%ahR?UK_7}YSacG?fV#b>-VXPcc^8|-Wn=je9lmdB -n+M#|Q3YcwkQ3E+68?fc9*M)mT -I!q2RqI!k2!_FaL#C1Ngbe#QULW0(BCnzu1hv*bEM}{iu;`!v= -6<&4V}J53~bL@vW2WE)%v?CH$~^8TYP&ILk>gg$}4EvpvB}opF%_0->G|jKh&Jj2tK^ym_sIa5nZS_H -19n7yyccyyG>L%7pZ4^@K6OlcOi4cZQYCWo``0T&fUcNQ0}%vHbvKr*9SY4qXtRH5FaKrt%>$t3{TmR?zQfE!mFw99Dc*z3$b^?qoCfUzyV+ -jD&OHi=n#mjz|G?t3i^Gtx~1#obufCV11y3$3fe(e%6P^(ToLxCJ0UJn+d;LL!vT?F2+oC?7EUsKfyp -e=DHKLFmN?{iG=66p~tQkmChLF)0(%fr=Y8S!^6)lTcd>5_6rFV2b430bLOomMzJp&icJ0~lV7hj)GV -SNhRgRi$MuQoMEDNq)fXB|rV}VTHbW$OgbubNa3=yrj%)#{AJ1=Bgjh82Zyw{_%{VKRx9y*0H~vQVZv -&LfV>)$*79ocxnlt9&FbPRJO@`8=l7*N+?Y{P}5W!em+#Y;@B|hTy)!_7~{5)Ou347Sn8E0t4qX!9{B -4{I9a)=@6>|qjz`GgM|oE?Wb({OS2*C~<>*9_TF+;BnhnQO=Gdz08(z!DN|KrjWnxZ_KKloIY#j8~K& -`A_Y}Vf#p7cCC+LP~hcsR9>Gb;NQcXE;&yM4+Rh7!wdofx-kC*EAN;oR9q?uSl-xZ)<>#S>zB$fI&S> -ge3tdWk)W^kC(&Y9YrV(5ih@XkD^3=Sz;@LPO&e%h}2fV{zyj5RdySMO#TJxJ)ar)6FYwmEOmGB;9@X -dbFu%=8p$B;QO1XsSm;Vno=hqr8d9MhIw&(+du=wNq;4aUnYfwkb-*YX!@4gGa(gLJz=Vvz{`7I~=VOV06(!X)U-c1 -Q3p&>H2!tj(K*%E2iwu|D*^>nCf)JO6F*$l!*P;kt{U6WvxLW(KGb>(l?a;@3vlAXo_ -&(+!J=zH%Qj&+?^$O`%FLWDC!NUjJy{F{Jw|7i`bs#@v)P(2cO;E_QvZehVhIk!xI|!nMyZ0c1OAFcEx+NcJJ|QN$@K!vBwlUukXo*f2fB`tEfAi@;GC9xA8bzj3Uv7jWYxu2cQOUep -4V1o6Nz&jR?b?~2=_I+=Zazh-P$;UBH7GyrSk)+=}$B2H+6x3Bcldgun)~a^=n2gnXvYoChx_l0bSj< -toog}wLIyF__xHZ@;8bG(66rXSCKcD_iO`SNnAWVx70H($m&yUUO<|g>TIdzKz_^9opJ~$aQgEW -u%(ftDuy4VoLynDl;O+#+Dw`8-_U9u9bDXh6wLQFR#<@r{humPX6x7lc-a$!j?HRr_ha; -&fGQN#@`pJ7ueDUrFjp(XzMt2*(zf;t~;U4YExBk)E3rV762~JwN3$d%|=6R!8YD#oY_8a5s&^KhI?? -0-e-UA~&wia1x)Z^^>!ZP;q8t^*bQl2ca=l$j?v`}u=^0Lx1^1hs(cDxVRS2|zXd`8BjX2=^!P_Asvy -39_a?I@YE3nyEYUgwq(JGb-+$wJ1uTPjrz7HR9)nnsx*hB>9Tbb1ha-(y`h#cSO;}ilP!z^HB+1fzhf9QC6`^oK&9npea2Od23?aNP;JH6F)9)ecL9xfEu_+`K_;55DlZgR{+ -HY^SzRudg&aT@4WIxdbtFjhfTb1%#Ax$hs=o*{Sm1~DV}Umvx2&6IG*T&;Tj}vt@kxsS{^@>PH&)P -$^01aS#qlUeFJa#H*|+4v;StlrI@R%`CADU(m}b@5huN7XI-$~rikZ{=Lp@AKneB71}2aO{95^47Hj3 ->h|V{))k(8Wlo_+r?h>LUtny{Ox7pW%Du`yQqsj&X^hV)rj<%<}md(jA<~>6Bz3K}dGp_{o&YE3}yAO -vk=KcLAXnD}ss7L(Ww=3m7^X~ewoC++;zX_jsH)1-5++H!^ju&+3+5CGm!!u@HDu!QN|R?sk;1yx(bEwY{U~sO&g49_GuCqtM7;`g3m|h -Oj9gtX%bsr6bE~dX6xBV9P1oGb3$HxBM9kDFL4o?0FW{xkR0~Y=gT5wdQlM9C7!$t1P-rU;Qq+Ho>xL --!n8gX?og58pb`~fZXRfp*h-7E_ci`+`cBS+Q|iki?nj*%O&$J;s&;jD#Z#3rMmrNb2Q9;D%C?^a@Ow -9U6wQ?-{7dDjb1a^ud%!!0|Vh4W*vGt9+|RdDAbq9X}nv3%QHjqumKJBOF0!0M`!*!6$ttreU6FJ2R~kB!)-1mtL*Lb6>g683}+PJe8 -#Uc^Hf_+JDaZ(RX3O!D!3;-WA5(eXB5hZC*lYyX}U~o(c7MXq3Fc5X{ve3R1a5y99?vt;e>cyxRhow# -lknw0tuuuFHR*5J&%Ka=efb8hC)*=orcU(n=1IhY3yYC(5{!HIVp#b=g6B=&voI*IZMXWc*HN2bc&!- -_e_?Gt8#C&`n9)=LMdhO>05F&AM?gZReQEBlH3$LRxGE7XPSu*kBWFzM>Y&ANUCubpI(jLi$Q;$?DWo -BJxaC9U8?;Xj=HqFNrR0X*-hY5e)2#!`AKsFN{63#Snr_ify(&;{(T@{vznrdfM9xAwXc4t{$?8T`CG -pA3IQ*FSAL{HXAwpj3P)iEBTZnscLB%C?iPy11el(QKmqlasCWhJn+yL{$M#4i_$VGB?p`#v!rKotKasGAMVjPS3{CkKXKd_DIwC2ED;j>U -)?%+vG(-Rmcj!?*cQQVT?(Z|_;c(Ys@dlUWkV+=mU(7*dJE{Zd|9p)Nh&F#)U{%lHClzE?*ZB~{yBKU -Bv1xl8i|K>CLwOv=5T6XRf)VyxX9+fk4dt`;}zCrY>M-0&>5&|Y~@!U~wPuQeODE7$4ZI6cdte^Yg@+ -4=#=sYN|`My!xXB61P7Ex3NbA(bkPplk_M`Zap7Bfe+QkOt^5)lI5XuV@pB$|+6;5g0WFr;U1tSR@lg -d#O^ZXQR@My3mmD2-r_0dq}6lMn8X2c-BVcOfq)QZlX_qsq+Sx?J(FSj@f0${qv+1A!Ip%A&!nc -;s7bmYJ(n|(I!V|fX#N~WA=u)V^=>tz3M~mXeG*XdpsQSEqp{3lT$p=HYi(T%WGuzhaC1c2hP}Um&m| ->DYO`h@bj!ZGXg!O`R3Flyzled>jREYkBt)^{>Xqidkpua%>Ht+COh}-hnxiv^8DM2tPFBP=YPQe?JR -kB0m-@{yZz`P^55L?hr`HEclzB>Dg9|#aBW-R5fFJ_a1N$d`skW(;S`W}&tV|Bj;!TEnErfJg8+aCHi -ZHI6j`S-h!o_a%btMl)G8RY04N3nWTX>762Bbwv3J`sO&vLvL2jP|Rvu3r_I{rZ|JN)&iMh6B)`w#zRZuhy@^7KR2wCqYuAdTzaOI(g6dq}G2 -btEr2o9x{~e|X0Bs?wQ%DFJ~j%J+E04gIMBJW)uMKBgv`xLfOK^|JiDCxOvVcKYEw0!*&HwbcUi8>{E -?H?~^DTcvM#uKxRFK;Sz5lgog>b^Irn0j(v$V66ME; --S~tdm8}w%ubo6AAPKlgX1S45{t*ogqoz}RVP4c6v9sgV&7EWXUV(-wLgVvg`>j&M4?LM^#Ln^K={d- -h7uBgBBy`;0UyoFq*(3CciI?3${SwDj(L!R(NxoGx6$f;+BX;{O)*kA?}VGoYGu@qd7$eZCg -+qzv!k1qG=38kZgRrU!Y-El6Plt$@zS;Fg&V@C#}pU{&L<7L81?(m` -RriQs>L5*?OcVZXO+a(d^g5=-Fd^eDD`U-%;?*=gV7j4!5B)>IKhxKN>db0;~4pQ=L-d50Sm;@6zCa|%xW~e5;(F5O#CfR=Ii -L-f_2&F(}+Y4gbOkPU}U^HpHMWwu_e_5gj5PtHSyJ(F(CoipfO;nV)*jkpJ^hHU=A_O0o`QDD>G&-)U -F!cfNIJB(kSpci2$%Ju$D#u(-wG*Q!ps9oIJJScD6b{q8Jz^S(06h0R+|P*AUl(!f5|d7(FcCZ}5u~a -Q}L6i%+GojadvdF8C-49!;#N0KMXE>T3Mrg8ZFnh>-a^5I28;g0~VL^j^dJI(4W{`n#Bb^u-|S`{zE6 -zP8T(lcR%!L+jE1fQY%#D*9_A#w5}5n#UEe8bW`g7G>M(j%298k#A`VtD@td=%DouHcmqWYB=-* -@=A_b06+!8`{xvwVk89mHk45DS6-8F%q)&Jee{hJZprnHY7{oSC~*688sS5G*1Rv9b(KgTJ! -}ehoKn7@WAHY?$!}IegDS*Bn|9EfZL0G61M=zBD>QC_+0+5L4_#h2{WyKE+h -M`^8uBF5C;-6LNczMGv`2Mw7z1%H%P%4+3!KtDPiONT(sMueR -AW8tWwuQk;1ijvad#GO8?tw3LfD|~9~>t3>qCd_vmwTqSn$n8hAVK~~kQdwPktuGNLp?kT6Xzph#f^LNg>mz!*#{s~xdCfdb=X>eD$zWGzL)tJV -(ia3og>WeVDKdA6222~g++O~v?M@#p=+1*aC+f>-H5DgzXdSeHP;1mmn3n)Sz={qCOJ?hT6Vv{aR -OW`e*%+BN*R%0GcYuXfs!dGfv!@t#Tc1riNtN%r>OWP0|I2T)mw5|z$O?9 -d3@T}Z2zUPsHwhZ+VJ_q;qg~f6wo?GA&4)~e0*bIrf)64AD+`B{0AXn>!jJ*2&v|m${2SMBE@@zXo&? -jw`O@@Sp<{)hiX~r6zhDb#jD1D;dhK<8G76SvcD##Kb6M$G8FNt4F&YAf7rVX1#Y`Xs>k9=(2>^+qdLEq601P=D~x$pzpEi}ed(^i_}rzY=TUu_Ik8QzYAs_2?)1WsI2)ah+Y&v=gL -UIB@HD6$TS8T>yc*2j@s`>uJ8F+w`>Ju~i1f29zvs?46Y>LmdNx}JWzr0>OPBW*H1Nftcxu=Q62jimk -fRmk4T+>Fekb~w8F_gw5xo(r=hc{S_r&i{951-Gf{6|cmkrg}8hR=M6@eVCyN7vrn@qo?&WVHEv~ow7 -CO@3d26f$7oGxp^=5*BS6N26z#$4BX#y$zRbG*RW4$9}`x;drzj5vc2M`@3<#@Rh`NHgTp;hJB1_-w& -k_{3EFUWa#my9r?rHhlAXi}IX>?u8{~jmh3_gu~oU9iA6-KP&b%$4j?$q)VHRshP+PXLDW>bOb9OC0e ->BX|}Pq4;S(kWFtDpWIod>=4yW)oBr4_ccvtd!4+)+=Dxd3bY-5!EGF9hama}y%#m5lH*9#Yq0WI-DR -NELMrW;y`o=`(>~f>HiNi&ITh??&3NJTG`CFsxO0G@mvfNZ2*Y^86dQqUXJ)y>Za}3HP%*MW-t(#p;c -sadZ+vk%hqeI%s)POqyW`vv5c??KQMdPXqxh2o5E|6Y5_DifoblI#`HwE7XP2%5zXU#D~X4{?H)IveK%)VKGUNyP+p5n^kOU4>@^h36HMI()pOB?{d_IzEUq4CSa=r_}%h8c+ -At5;ao1d8M1!CY1+0epSmrG;EpV-uP4lO@JkqI%Af?%F|t_$H*OX26BriIAlucPZyU{Mq!#@FJo8hrDND__wC&_6-(}~)73XJ?$BFI6UdWxJ#}r|jr}zwg9bW|;l -=BYLe(xY$*bi&%#>f3`MNg>JbVQ=I`xqw>N^`DOzR%iO`cce?DpKzEHen_BeXjWy{lMW$4+7H^^6&sj -a$@(^%_0R>b&QedeiN04`B|Ua6@`@3WxeHPCNyB{>E>i;*w)zjggzjI9%<@HIO)k8xe?IFg)jLDWby7 -5XCoLOY2rV>ZeD1tD6gt?h2DWd6UhLDyVH2Ogth)6m5;6`pGF51!l}G!&D>qm;hI~TBSRE} -{d%$dNvfh#q@o4sB!|w%Dc9e%Y$eB7ef^VNp66HubEL280OVZ(R#?mr7*nFezCE`ZQw^6B|R+?AI$9iM^!D%0Zy2*goqvw5?4tkL$}mozQDij2q6H3N -6U=a|x?wDOqBuURLCT88jk+5rI!ucx@do7jzb^4LU>e1*vX5y5t9ThIwamB(W4fW3`r^6w0Vy_akX5W -w4i@b4YKCZn(D_CARM2j@vSZBSJotV7IesV38Tc*h}>^*N-0(8SxZu+-UtGymkgwbxvyt951RNj=hR= -XZl-on$3*>mAbi6)e~md@U1(-SH5U;vR8019DlQ@Vf^385>VNytb>s3~e{dn4e9)0>=gh>?Og$tPZ}8>qI&5WXM)x8S*A$L9C^a6imy|>FO%J&i -Me-*wyM4bh&ZBNL%)XXP|G614po5Rw@h-f>j^QYFT9iN$Obs^G5akhYnw}J8G8rMweU-SIZhiO)lIhP -A!HSm%LZ6%>cBFC4FbXc;TLzqqjs@kohr;3YymDq|ZPj`He`mN<)0}+>b{G2Z#QXqXQWv=y&bA*+Viv -PL#THuf~u*;63-adW6tJuzhgC!_7HwYWJpwr72$u4=vqNMCqt8c`o1PEzw_Z4Xi9*CSk8^pPSc{%yLD -!<*W(0FWaopcz0E++YPzatkG^B=lJ1cI(6VOzVL|Zuow9-Hkir2v-#bj*;zjc8CGrXL<(7HfX|MP-tU -UpsnY)XuwSe#yS<$uF+!eA$Y7~W4Nq|k$5%7=M_zFRSS{wEn@ -_2}O-fx7gw7>;+hg~}1%HkB{ZO}Qtqu>V9G}pxS55q(Hx1j1qeNjR?}>}X!F+U=!-l~zb^&JpRoC!kn -veBfY4^&`wYMkiI?i{P{=n{E+IN4)(@nk#@S(=N-{RaD4-d>3VsY1IHDR(a|85~jJgb0=|Jku-I6nX+HG&;mQ$ -k9I&J4>>H6TBDx`@TZ|^OubM=n4c-;|pV${_Fc!epmna|BK`Qsgu!q?C+})G|V6{L6HoD(gX>-j2Ie+ -X##~Ah9YR1Aec}67GeT`6NUpAOBgV9iLZTWoCYmiAS$>Lf>Rs}fWV)NKr9%?WUFH&y?TaIU~Cfu@$nl3Qz!LrC&nf7R-n~qOaA6XnHhU`^wybW2)>jPQ_7~e+=jEZ*1oF6VX1YX59}RUN ->!G$2#lO9|IIQemwFo}a`b!h?9Fm}J5u?N%${Z2>B47hLz{8*VBSC9j< -IT5n{?aS@m*HOsBN;sRw>STeZNw5n -z|i|#%i-I*Epaa(6`OSDUybk-&~ld*ZT`DF;!nc@eXdUJE>Il(WB?(@&Et6}@mGh4x0LJaYpCK=yLa( -3M+WnYsP|h=ev0<1iWGLwPP>Gcy$*HQ%SE%<)@`Bk9yL`ikO*!U$(}jNmt@PG9q*M5FHynHnq5Ui9o_H>%dKZCY+q(%udQZ8aM|ZWKwT=w>S)CfKIW5QMtJ@v+IcQs$ -GuNaqC07cDe_w**J~2$+OM25$kN2uryI&>4aBJyFKvK<7SznGz4{#dPOX;aB8VsM`sgzfP{AcNE?5__ -iS@KpE-9%gPp0PJE>0x{jnpvt{H9`b)+uZUX-@nlGN5q@WK>snr9&ol@Fsq+=TzP!U8iGq3`m4%_3es -SvrN5D*ALoXDMz3e5)z+@MBoOk8fcCw8RC&WF3!Q&rw-dF&&BD+bn;g!^S-o&E>L5ACdZEk{h91P4Xn -(%02Bnj*-%ht~(qwyCg@mv^eqhtnXs^a_vV9Ez5+-iMsc9)JSBFUGDc)b`(|ou>>q4d!ZshNgLs8>d^ -U#G50AzH>Id6!Dw)JbKQF}mOPzQ3MWkW!_#%r9aN<_Q#+l+DU6bPwq$&YnB8OnV*Qe-UAb(yn%j9ZO& ->{t?NeGXvE!jA6Z_2S$H$8cvfzx;w?e33m81uGff1W$1o6S9l`cCSt~EWYZVr;U-(+@SnObeerz$(fjBN22=l4i>3eC -vHsad>2I#o6tVy~hQcI;(kOu=FuXh_5pv0L7kpp9e#vxU@+YLTHxXbU%z&?XWeU3H3o2vT+BknJ -x_~)eT1zN$ZXR>zNF)$>WtW-8YfTnL!X&ljh -tGNI(eVXq6(i0?EkZo(%<}$pf~TInUq7EoY5a-{Y3}{T_Xb+n^-_tDTohSe6@r2l`@v6&?%{R0WM^u=smf>zaao-A7rPhSL= -P|8VG%B8~7{Nz;-BDjTO2G+eorO9)>%)hlFEc;qmh0DgyP(wTmD+i%fP53w2_349BHZ@yWd9?*_vJ{J -xo8UB=I}r-m4`*RJ4lvLOrb`;luBb=tCx!#}s%pm(Tn9+#bHw%#1)#AOaicPe~ka%UCMZ5-(*=oDi6+ -YNU1uBq>kM^B(tB0kgL_#$3xlhrjTx_?9m{`rE4{rd)Y^nV)!{`Z{AuR-Fw3=l!7B~C;L3MNRP3dAt$ -FzW&iKuMlq7Tmxo>eCc(Sy_=7@Q9c7m0k^El2z$FA^$~@|H@JDJRSp@@{-wMpYyhI1gz8`+e^XDG6ob -r!RQTWIj^l~4D_cF3art(EDKO1O`*V^ftjKb>>>ynS=>u7DhN(4sPN;PKI`s%7Z1hj)l@b_ -CQdO7?8Bk@}|ItDo+7-e1c=J8+31c`f)0#5r6ln7Y)G{8|u-fXxX!oy*knVX-bfVa=QZ2mV}?iK$w#C -!+|{uac{ZxFMf39PNy_GY6CeN4a#--!r5eg|T}SwkNX^L1eLAWnamX;UT8@dp3*W>vHpicQ}_6ZG$3(>KsGLw`biyWi;UaD2w7^h`759(P^ZLPc`lJeAjjCWEf6?K%>q$q@94IOr3$TYLp$0@Ikw__t(fD4+l|634KdLK{!_lrB;n439_^mhmtwPY%lrzLDkPAneR{5j7QIEpNed$!^uh -8o6VWuaCbL?4>=Sg8#2Q8Rp&iB`vzz1=@8qP(;FDG%`I9S_$bB?R&)~+#*6FIoe%9jD^8{y2dHf`5L4 -X(ikEh$-4o3o&DL|gO|xL=nb5iyv8TxE#E!cyzfpzbDYqg_BjEBHY+`nBUN_W+=JG5jk3c&K(plx#m^S8N!S>Vjo!2JtQLC2)o00cF&OUo9?|ogJI|$hj0Gt+Q@uDWzKd}7Zm;@zf1ZSE8yguCKcIoG4bW(t&<|2=f1$0!kvWPxC2e-w1{|W^gJ(Jh%$az~bT -W2bl2+|=zPtC3wX#YGm#=ebv2v@zdQBs2MBW3E{r%A5PfDxkKa_Q;{|#m3|JL#UowD+GnI{bc&NsQ_o -)|_WFbOn~kR^(MX^KFo|A)FaYjPB8q6FXh742ZQ(6JBvQZu101#lu-dQ$(A2i95qoP~0Ec=QbYZCt285rFJ0)- -7UL1%fZCN3()5Ac?7ZiSBz?CE3vc3cY=-@yem;~kPEyhQ`BDsM}ir!~{&#!T?I9)tO=9FtMF;xBZ>0^O^YNZ6{%dVvz5|$|{9Rjk+oxfNeX#gMb(*l@aDfuSpQ -UBC%(MA4^ZW-TWl&LuzLu1+e^XKh6=mqZDJg@BGL(L#Y+p*s*xLi={6k53Lo?zQ;r>`s{(U6+UzU_X< -cGGj^k0{hzrmt^TT%va2{K9!1)A{O`jj05XTSt2=ZqZ3vNsl0S&s7;@&pT#d#bzRsF;g%qnLwW)*54b -u?{&8gz|)*jB46rd(LWmy4Er5;OM2|%0_&+iE5@jP?Vi^uoFqXAkGK=^166vIqG2z4Vpeg{F;#rBHTi -icHo<>Y%6NR-Vb<^QU9XM3Vl{*{gGznWu}+dUe?$B6Bfd3=C+)ACwdppU>`EX^IzUO(CKB-m^EaJH)O -~6!|1^$q&`kU^xjskz%dGmQc+oX -)(oEAECC-Qma|`qAc^~`L#IRKXpc>|7!==| -1&P_52meu@3MY~L!gaGP&kF*FpU#5!fa89#3%wKaU8}F3MJ{!$=3ASMHN`6ARqz66Ci@LWs7wDE?2$< -m=GMWu|buQ`P>wS1mR%ISTO>yYPMiOp9mKu}G*Q4vK6<;*yvawO#Ub=9XTQY{z{#~ -qz>%=QBZ^@b{2;EePMJFkLAX|UUZKuzy)BnHlY2DJcf9ccudmgyuqRbB_r(V?5==SsLJ7uT8NB90Y;r -&Iv%Y2gWULb>WKN8-f*LZ8_y{#rc($Vis-utuk-3|Si^@UWCs1qgGE~#IRC5wNH^v-v^W9g5-iH~3h{ -aLgFgFD~)r^xrO?v3GP`}uDEK3euS2R9B#u2haEBTb0_WhuUg{qxMf?oAPQ>C9qjCBD+5_`)Z{lJ7eO(sc@DvV_M+e_x;n?J{#ZMqd&_@kF -B%N#!n$VchG98>n#HIS1lmz4jwv$wO62i3#mF!%l`ARYBm` -}<~&G)BmR9-l$LR6m4P^U2-Yh)-dKi$#W$6M4}3RxihHMWP-?9<)ghYz+ce;@u@w@>BtVUPp;EgyOrm -U+IH0b`k)MT6Tu$QM#d9#TI;{+YWNlI!z+Jp_JI>uAzmOBQHM&)ghHhZz^x;vq`vzJ`~l+^Og>q)(?@ -?p%ky?z}@gFa@`l6~7cVw$;&?#<&vG46o^Ut>l -7Y%BY!1L9024)yG*(dC39G#d-(Wjvp1M#!;v)hlG&J{Q6MQSF*lD8)26qNi6g)u_?>c7I9fPJ8a4KD8 -D#4!PR9hC-+Ch%PsN_*w#b#LpaZt;B6t<${NTJV)^~a;}gYk?~qi@d*ib#}|aJilzzoc5i!)Jz0^MaA -r)Jj6GEh6&6`AoR`zS%o8c@WDVs8!+M~tb7?O^*Kz0$;ud8_k|`mA*NmJGbH2M?@W*aHJ>}>0f|DV!a -B@iJi_o6Ja(9~L>y|)wEgD)rqbfF3+tx9QQO`8*PKj}^{4&N_hXz4XNCk1TmUNU2BS5CTu%8iM&EaX{ -uBseo2fWda7(^K;A7mmR02u1O##a9aUgsZx*1x#M?@S{LFajn -?lE4szp$P&;HWWtUFiaqyp)M>0b6^{^O5X){@=`zCvT-Ovy6PNq>HzV#{U+8#;XQ)J0onHWYv;a~ -%7^xGDQNdU%*GtjU=6JQ4rGeD(_1U>Cvpe~XDjq2n*jSgVbTd^#Di>M$N=zqj-eKOFph{0>)Z#LV8s{ -mz<0cDK%Et|YON)e#)fW8O#wu=CYDSvInSAf3r{QQQxbX?e}_7(cJY7PEnYW#sLHUhZK!H+2(8 -2ud;?uQ5y=QBkNj92$yq~oc|#5gfydY%`TG8?4H%!H1Q6 -v_;Vv$b^FaorhafI#n?d2gP+1fR1sR{9#Rq@omxhUqc-ZOb^ixg9AY&x-o1(VM6F|^E0J`C_Evj5D9M -}NfCZ)_Ld*WdoHFTqHD)XD$&P5NIWj1b5W-v8Hmuriu#5=Mg?kU-gE`bPYc9aroLmbE^ker`F^{r -k*)%ab(KJO8eI$pP)lyH^Dlu8uM5`}V#efaF|UrU3182ff02DPoWzxE~YSqbEz_Otr6>MBt=97SX-#L -SL$8%Is9W__W0hee}2wK)O>fJ`^~6VBm9>nKE2CE^eeTb=Zf6E=7zPxs5XYm9KKU_iZTo!>fLCDp-tC -++wLa9|d*!VkHEQ0l}EB$F?{MwXYvbKaS*nC*2rtTd9UzWof=%OxUnp;Mn?A?r{O3(tsj#dw=54Y#H- -nzF6dA-d?ZmBI=K1Odp3tiG+tw5FuI@SL65!SMYYeRMw%-`4AP*uX%k4Nb29+ee0rux0xSAvkxxj3sS -{oie#%*#Yn0ye|*({Byzp*b{bQJ9@%H%k)6w$;6|X5sg$qr%G4FkJ-2Q8F|UtPsTxYj2;CW~B|6NcVV -GXrso*p8zA)Nkgjc>5R$=e$E!@HaMAp-%H}91;cm-rc#ikso_IydY7sOuKaxdcZ^FkFGdb(4-ML+aXG -tkpcYK48TmkdH~=tHvwo{Bs_3{!7lD+S|-j_C==W05*ZD$lxFT!&CS^T3upiB$U=A0o)B+dqShm!0y4 -UA@l6se{ap#d>)>pLDh~whXCyGH0(>>X@VNQZbS2tPt;Gzfi)9zwRj6_NATNNX)glKQk3>$p&rn6CL3 -J<0%UYaoW)BTrOdSv!b^(a!-AgC0ldHo*e5Qu`=)sJlymLyuqLs>wMp_2NGw{SB*3A@37}yr}kd$d2} -@SdgiE?yGISkWp)BW1ixMH_)2_wmGbgHCm|ls7=5CT*K+z-<@&P$?8Od4v(be|@lJWGzLD -eb`RGsmaMUhE7IG0_XwYSH42!rA1UgL8?G$;@4c)E^twa|KLb?u#@8%MD+%&?@o6LU!FHXQ>v>!rTBB -9dc1Bit(uRhW@0o*nEL4@KL>`W|Zeukj(Ah0}x~``08VIfZFSZ)_K5@wIp}FmO&eakM@qC|PV|ih|t|bcGHfN-o!j4OOh74WZZ1nKOUNiGCqR^$3@xwHv%w5T -BK1`QmU{;YeCRd+z{Z=;);T$~WGku+cS8tcenYr53Ke44B!f^O4NxLmE-oDo1JxT9B6S6-&>1Uhz|7M -|Yw)KCx$dAsv;J-Hu`ZJTDkO1uh;9wVl{xy}nXM15lYuj>6;+-$!D2S8v=k4(=1Ok3E3YrrP0;q04!y -11Jn^C~lA%0IEZ#gaqkP!&o$vbOCekGL#nj7)k{sDh0eZK95sJ9Z#7GSq@ev7voWWe6Gd?^VobqoE;+ -k$9A91-@W{$X#&z6f+IfE_Rbcz6`DW&MAt0keYkIQ5NkC$iejFaIE#0NM~-_)}H=2%QBnHMsdh^Tl&9 -y9h2;ewDoy6wATCTjDfs|Bi;!&xfz#Wdg6Ax4>8cPI2{i*x6FCEwuE3PgGYQ|C!Xa{yq<7tmZpv=8K6 -ufZR4{25bkcx -A}!I;jvWVe|fRG|;QLN~cTa-XgS<#NwJ -u$Ys6yVbi{N`)G)`5(HwQKSJ$Nr1x;Yg%(-xMLcmR-^e20W9GsQ5~C}!#%fDN52V6mc(^{$&X(aScDJ -0dq(8JOe}>2HU7L{HT&@TF7Bq025J%M^%Wdz6_Q2&eH{ -wYa^skDdXVv39&ZbtB(Uegw%83~C)q(hHNH9I$sVFO_!EB#v#YqG9wIdL98W(N@NLf}Tta9{7-grK5m -_JCynJ49d&hsty5x120m$DI1>go#Q!7B20>1=;51=fRgFOxNw+1@!**Ew_}DzRO8UpWq};IH;VGZds= -o25;%TQFQ4HcLZ -lhbXKswZ4D~F0n_nB(Z0Iu}$vn#ZbvA~8>&&CTIbnU9fYgt1A)%Lucf2UAV%w8Znzxw>ShUCj2iQq5B?jh8Ach4brPPZeY$L -+1>1@8K=$mm!H=ybT2>e7yZ8F$pgohvQ+^_&79Mi>O@7#%}0&+d9|Sz_6XfLjlEY8JRnz_%oj7%k%2F -FXmNQi<3Xq%Okq=R<%3R-l{!3_2hX$8x7Ibw5Fr;Ob^%CiTlDh-@Px?U0%nmOfx-<@vc!y4}`pl=#E*uNE@3s1(lKads@xnk;X?h`gMdye7mL>a>r1VbcHbLr0R4KCINo~slx( -0Z3am?mO-D;y&)Z+Opo>yX@v}e9;R?Nx-Z)F3V7%T&y4C*W+R%tkbMvLb{su<{g_uyg3`Ahk<(w^hZy -WWQt7E`pvVv7-Y2;HPc>GSs*oA&86U?I_3qbMP;MK=2adJ?XEL1FrVEM|^OYriyyTpw>gIN>) -SWoy`P7t8a>Ius)G}FOvOsFF7bf9hpQ>S^*^H3v-YALQ8s+vY^8F>P2C5j96Gw$a!rOlJ~^vAv(qm+< -uz!&UB`u$S9NXp5cx{5(mdwbMWFb++8M-EqQZ?EU;B}}c`K31DGJnywoIyXz4#GRWKgQArz>U8iU&?q -FXIp}dSxI`$t+q@(6CcUYwg`w@N!%JM?>h6-B?WquRe*2q^h|(7CgfufMmlooQKO|ZYiN$#X>}W4)d| -F66MQhi|zU~e*-S+4G!#)u-)aPZT;hkI@~H+3^_ES=foKVXf^CfK!GAnK>?mgK?i?}Lde^~7z7*UO{ISi^MQazfhd@~`SL -IgL|X87Ai*;bDTxG>5kSEr1ThjJ!EpFrMU)6s>+5f1d5-;D{WbWh5^!(@v4cL+X1*|PP9x31mdOA4Ox -?FZytg3-^p)p+1_m3+MXSGde&39@EyV_X=PzS#XTSo?XH#%dQ+SKMuHYE-{Xs*@f7C0hTI;(S#6euOL -vY~=(A@nf{X?IPxBcFno@e=+hogDE`X&-L-dB^0q?#@wm%6g2-1+=w;y@#xsI`1#DbWb?n$7hv>3T7PFSw7B_*(?uFVpv^1cHXU -j?#a8ptBAp24Xu0$QFt!NyNe3Z+Mm|LdRq(WeDokA=~#KMk3rkW!E3k2uEsMb3v{%NY}m32>*1f&F&^ -dV;PH_v4X%AmNHL$n`+Ck>267J=!dZxPhOf)s$#?F)7f~L&Ty5ka@4M5HVwa}$##QZQc;;=owbZM-E+ -!kW>EnKbXd@Qgtn;r=jRk!7w -H>gOQsDrsr6GB!)SxInO;kD=58vZ1_4grrX4RnaYD08;F$~|^x9`B-iJ9kTP#AmJF!FnTWh=fWTTo9& -&*eS4{_pvE0y)SlDsTLM=A>4S{p`F@!b&vbxJ>TJ7>X92618>wZ -!F4zeQ6jhMN9r3j8caHF(p4f9RPZyKMy$&bm?uH*$qR=RN3`;OZWbqDX`EjzhnyJJQ`?WtXB+&&B8#W -IS*PU^~y*nLMyJGN9jA*YX0b7GA94K@iS6)KoS>O9pC+%YP-#)K><(X1nt5;s#kCTpP%A<6F5zaOHET -iiYRH2y99zn#|>9v;8DN5L?&g_&?-aM)3b8gobGm^K(Js9GO--~5$;}G~AS}-u~MZK*Uleb}3iU9up7Eb8 -&7r_eKQl1QO`?nPVBR>R`cr*r=vBk0Q9XZn&6wKqd8fW^pCE2c!CP5AszKuoF_naAUVou&XwfD3bh@^ -krTINBubvpcR^k`^1YqpQ}i@yG%z07|EF6e9I`t$bk?@7s)#2{^eX;Tc$pFZTvwHI4|bU>BryAx!0aI -qHH=}q6yZoe7z=P$NW(07-ov36jEKG8%lSL+v(1TiIAiAVB##6yj9umJZ+<6OKW9&`lu$1nEV!SCPS- -+6n`pS{1o^Y)-Wdw+lD?Lo=;A836Y?|8X4%Px7!=poCkX*xkwLN?lTySBbLch@cQl_s0{s2@GWqkW_b -kw9ImK7`Z7mlA$`2nBi`iW^pL-@o=l48_qsq)yZ$d+aNHLD#3^E2y3p#CbY3ZY#s8am`}B5R27|+zv* -Kv_7AWu{hUka=~3FQ`rsd2#V#W_(SCi?{MwU#Xi4VxI)GaY3#DyEV&PzJ+SR^NAAPox%2Uo&WXAw?i6 -I=k7|+bhRbnf`Fyr=$BXhKA}-XpxH4J6R%aj=X}7JmMSt%c-L!07rv_1$q#Gh0+A^7%vy?04Z4t>aiT -$ZlHTCGxl=pNk#Y&i{6`u+rKTcF$j6|tt=8y!h)MmfjS|ugbRI ->NMCQQhm4>JvQ&w{mkrV_)%XCan<+X>(byBA+K;@DUDW;2xKnu2r*Z`)$(ZA{<@V7dK7>}l6bJHAST6n&kyRA-!;Y1bI^z`SzV7sWMLF -K>qMqmMj%PhZ5zw%T_G`P--kraTnwrWlhf|(tEcb?ZI>LOA1SvO}+3}IBhrJ{fJD2H9Me%Tl2}vr3&{ -KoTs5bL27+qa`HHL%?(#Szy*oN=!TEn~|Up!x;*KNwM^86s-FxjqlK40l_AqGe>OvHZT2p2}^MSu&cj -^;H`Z~CQmpO_$Ij#lS)-v9dp;BSYkcVc$@;RpBopMG!V+Stz%-2Y~QZzI^BpYcntEs9`plmz0PpDS3$ -1c;!~I~H$|3ntza=C?C35TFi0q87hZzJM6@=LD~W1QX3)rqDpv2!pxiEh=tn;{+&e#t5iPqHhZiU@k( -u!#nw(@K>^(arCZTqVG9s3e*+Rw{ib(rd682iIb(P_xeHDRF+hr4BGn$eHW -PRjEtD%@vpa<%q`UU|!0_r`pKlpA#Je@ -_8{a}+SSP5Y6CCs9B2&ny!?~TWRkI~4r)zuMNBYX&Y~qR@0x!lo#d0y_oF7MG)mJj!F+4TxU4}hwL1T -C04%P$S365DwVd=aeY6}Wl*{_aU-Kk7WXXPKOUK=)ig&tmSV#>>WV3ym8dRqQ|CM`k$ikVG_DDjg%KZ%3DI8#V9^x-2>7qx9Tdy+ -BL`U#!xrR9_e4{Te23XTjs>Nhi5d! -qsbws6EVfgyhDjTnvE7JOM|fE*Mp -K@dt>^xWs;}9(HMi1NWGegfdwn;mRE%MoDr$XvvO7V^JwCms=Zd$qZp=q;1HU`AR110yVLkr8!mV)@| -U6x!=Fm&a?1Sb=fvn+PpXsRp>W_4%A7oJn^g&*pYc@UCqjmCXIW@SZMONUYw#5j>mPCQ==~Q#UZI-@F -Hd>Qn{<0Blv+T`VmGo>uOV7)uw`xG_N6U704Hu>~DuBb{rnvEeVs~lJxglV+?AI(yeR4wtHkLkP-{)- -*{E}jU`bM!(o#CDN6k}>wE;Of4#;J(?c*$p%jiX6bcl`Fq-~!K%2teB9!>sH7W*Orx5!O^A-+^-+q!n -$eDgy5d(kX&m}6~^rI{SH0ABw^lcp(;~<~I-yA3qUf!mWTjmGD@6bd6T2l6_Q6U%ybSWByPOuh|fp4~ -4a*J7X1{T`BNodehW8TWyKtlutYLr_v-JRkuL;s2z6$%K+6upZjj-ApzF`dGGSEWkweBV{_eVA_{iL*Fj0favt2R7d$`%K6&H4N^d{qD|Mvdy8m+v1kjfWm -ObWqYPfAz@kUtTPBFS(=5T*0-E>5szDG}XbVW+4jPj9Q|;3`8?HKA>{tGkPy>++Fo#?PJ|H)_`494E0 -s1c0%Hc&Dwsdig&};pcKHGxW7MC^q#&Kq;qQ=Xb%`%_!T)jcRurlVqSQ)Fp%6JQG!l7=)BRQ269jXYf -Fa|mbf;%J(G!%l$*5u1tJMoM@*R@!ZgVy4r-L}4$PJ_eogxa5oVasUpqoeO#n~?R3aTjsavJ5B=d&a% -sCyrrC&U>{JVNbKu@Uwmn-ALe0`Z$k)Rsl8Ar8S|6`xKA?~(iwH|1BB!&(hohAf0kiDonE -A*8iu*-wW>_^2rdpp>=3ws!}}(KPfcXQdz*bB#0@f8X68yfm!p9_^^8-6B!t<$!ym`H>tR -%bH5N^R#?Av5-23_B(v})`N=t9!@^yJVCi)xB{%E8!eWyNcL1d4@B7Ph+^F`A%9idT42J)(3z{@% -S&_WM>K*Oy0I8bG_a*&gcpvhbTyUp%VsA$@{;QjR$;n>cNM)Sr^8@K_e-Td;w?>zoOspv6}s-NKxz$g -FJ=LJx%q~@BMAYHpW{~tl)Mk`LyQK -KRgH)1|O;v`wzUH)+oiUv!2_nsky9rfTqr#+ -4&`bG-sOIwwVjol;8Oc&DlJ_|eP6mB~<*-r&^lk%4Nk0YC(;VBu8)SGJyfnDXNP36PubB~l)mpg8n7<2mbaDTS#v5^T2!`a&Q>RhPjkAJ^KrXBQ -lH(3umTxn40)*bsEX9EZJe@*lfvb-282{G6xxZQ5(7Kkb&lTX5hnDM9X)n5kc -C6R=*=gtntIG9(M$tSRggU%7ErHjWN?%JMNS;anE<_j@>+TU@)zrPl53uAN;wDJp;PN(ws -**z88(9p8~-Y)3rPGH?Hqf%uW#xUzd^KMx;+HJ`bC2U6zw*ZmL*SJGwELULPJ^-TAS`6x;?YBDyeHJh -YGj|arB3cUQJRcym)5BzpKkH#K-b>FVCgO)&ae1s^|pCStG0KKPvx#@?18VtBeW!WQy-P9a}-yHcCoFZ_uYq#$Z-n`HA!I~J8Vz0UV-Z}OZFw% -o>wc;sxuuc@~LXyrY6z6jBAZ)v(`-JQcc;jz=7`cki|<$OHHC1o1iE@d@aM9ixp6oU6u)NUPQ^0b4r& -h=UBf0A6BvbG} -C_^UGd3L>qTOe?EjVZ;$VI}LyKDv<=?~CG@9boyHP2y@oTxo`n$EB_WKM(5JKTksWm>z=MS$!OtfxZO -Ijg%gG!Fy>XwK?8S~QtwY7F+`--bi8If7hLcttg=h;B*V_)EVl(EE5mjV9?>XK!lAW#IicU -Tfoh#5CnItL)S<=%?qn-YOr_-~DxH@%)v-;RcgyQzTUgx9FatBMu9_Svu?`{H-oCMP_cT8pz7i|YAMu -F{-F%+nDDcIbxeUK_reKROS2xMen>&k1NfLf3|2fkI<+=jyjIPUvvendizjF*9J8QrXV+Li}srCwj#FDarp*r@bMWUozcoC_2dOox-V94mKU`C`2|?yCtw -WgIIBy~-jON!gMyq`t~Eye+l{K2b+2CxHcnEwj7&Vs4zR?F!g=TX2C4p7X;mXXS~t}|IncQhN_B9m3x47LsLW!GJIm^` -MHnC`wsbILfTsvkjhXx&ve;hp=U9w$%Abi*iX3GX!bjP((dMR{0>Yggqbg>qHymG6T-d)}&1%A=4Vp> -S@V%k4gfVtqGMwn|IUKYGKCw&xM^XRXWBWe&9C7)`{~(a++%XRU)l`q^@IUh@Oe%n_C@{wM@DQoo&4FE -mV$VZx9Ya&bdQmZ9<=-YX-&y0)1Ukq^42LWtP>HQGyQ%qo?LX6jLS`mO(y1Vb!XUGlC9ZS -njurn{(A1XFO0FQiI7TK*G%4J4S1q&b-X!i9%?ikH%MwDyk+I+ym@_F{W-gJR)A1Cotp3bSD3A791i7 -U@Ho|ilOaH8rapssXVz;+dl*_6;D?GpbJ<5S-tsaN$k8LRRxQ*agn74D6Tpt#EThZO{(vGQ}AxDZ-f5DLh -49>zQ&!)U(vM;TZAFYeAy>aUURSy9A!`jd(>HT3sD$JF5{y-M^-lW{dkBG^h&bZm15Xspsd+_vKHNSO -|9~3F7hw~nUH{u7`;C7zP1?ojmmbvr{YA?0_&-_xH$L1R$Ut%LGYI%^*Z9DPfA#zycqqtQbr{8IoQ5~ -VNFn&A5(h;3W=W<%AeadM1E&Dn!EcL!4V7i@ZW!`*tH*#m@24mcILf_?k74}oYeiq{bQ>nzj&E>pL!B -F-+g>E3|3jsKT*8F^iBq7l_>00J30`gkn%P@qcmsP$1`G$V_a(vaLgof*aTH)poCH^!(17a+_?;=JCg -Le*i*0CiJGi|hpoAu%AiDh+!+(VmmGg_|xpVqE59M&$b}6#zLn{2#$Mriw{%;t~J4=EgerXwTi$R`!s -RHFWl`mdb-^~NeTjRzX6P_!svb|m}8{Cs67*dt@$W$5lNF6s{s)=8f+rFK6IExO@zkM%m8=7?nXwiBZ -WsX6H-Ous|DRR*`YvqLR7yCeohckQsXtSxJ`Pk060TD+?m6>KcFh%btne|7jO#dp0`1|nYTPA2V$_n{ -ic^D}6|9)_bxA@PcOV4nP+4^#Yiuh{Hz_+)EY2^pStgjANLdh2WHqZ)hH>A2MS`Abfz|iKGVu)EpzPD -bRdX0SXYYpVvd97iqGbDZ~j7s8Ma~rhAOu<->8{C#(?DeDXC{~iNz0L0z%iWdW^ipiM&>DYq`*I5{wv -)Ei??xV>!S*vVfF}j0`*lo#9lkgc<=@aX^w;p3pIBp<&2?n`>On@z&CNn{FBf~%One4H>E5&zb*FU)% -kA3oxE4V~`mgBfG&F-$f^Cewj<;@)t}Jj^hAGs7gz<2F*rO~A&yeqWJ@8oBo#ZsbqJEwCmXc$q=FBpRVN0T -P>yhE~Kz5hsVu?z^Ty2QR&HWbk>a$-UW7^R73ctpgyE?=&1YD)>=ru`_b+7g4slsw1y_l(HQHRTMz{E -V$p{png?PN*7X-G%gPKGwya -lKi4PXfb`dW;Tv5?<)5BakUN_kQn$HrYcv1Z|gV*$&bWq#e#YDvJz|yUVYaREBp9Vae$$QCs9nUu3JD -rg^pCxz5n^crfFIfcy%+n#2KH40-7GHlb#7^OmmX+6WpcKbLZ+q?KMR*1{zXEdQn1 -aNOBi0M{td&rgAx%>w(C|>2$xxMO(sno((Emip*hm)R=@vrVEw3hUMHMqil)|W^Rj((T>KAr9j1R5|} -C%fd-48&tm>P+{`z)4T`8LCkQ`TKkOW*7pMcWQ||1p;Z>PFU(ePdm6mGG)3+E)qRtM7zIYB**>C4Ve| -$ny# -5F3i=~`_C-Cmdaeh`&`;<2HokBrD3DmMOR%uy0lN0%Py@V*Y;cac^nWZufzM3=)!Rby?d8eW2VaFJX?HM6Gct@+) -8RA_NJD^@DOx&{UTL%8u5JAlYQ%WnWl4jU{6 -bR9UK2ZY1!a4<{`Yr#6!@tD -+&Kcl-`8)pk-Gp~{FLO@EU*P`!|A)B$I~Mp^`JmVFoB)OLhEbaB^1dhS@$eTGxbV%P?CmaMl*VHI?tz -IJFL8lB4t{@Q{>goTKD#mh0;^>BvUXs#N+Uw7 -qOkuQMKLucxj{RehFGm#cy_V7;wSCOKtMn)kYq<#ZxAH)igLbolxkt6sJH}OW261S0m|7u;&GnWBay@ -g|Ik2sOr!)eBQa96Hsk4`DMO~@bIb1lu}7Jlq4r^pL1TXCN9aRmT4n~L86zv7LSeU>~*6lCq@poKf)o -{mxo3z0*SZ}wspK@V- -v>{KEHCb8-Q3@(kHgPTl5ecbN-kL3I&fy=9{9ia6bhe3$RUc6=y< -g`OQ|VIJ^w(Ca3rM>aYmF{>cc@F;qQ%g=&u7;}k`A_ -FVKRn?nbN$odx-B{AgdYVEY|nj{)W2#do{tq$Y-qiOt~~pQQLk2I6N&Fy9o?;b%LTTb$9u&qS8SWjhW -O*p@a_c8gT94c!;+I?UkHbfood$J8d9fxaX1PGnX0hvj6BHWR7%4%5OiUO@(gnMe+m&XgbAUj` -|Z~E+}r$+0U`S{YA#OJGrg}@Px9;NGQc!Q#ck4r0?HaS1I?y~Qb>jneu{Q_mnVHs1q%FxVL*A5t!wR49Sy(=NwYrm(28f$bhyX5Eg%Ie+=3Q;3xN=f2{>c}YE&QiGW#BiPUtl^WBPi%uAaq -DWOTa-&5lpb+7U&;$tX4QdN*8~cR7usE3Nn48P&?!pxaGTxJeh%9a!&Ii~m9Ezt!*E%4AK)>lg$s+GA -MJcaS646+$a&Ub+gAd$!(f6e##?7!isM+F7-4)qpNfy39@S3ko~DDx_o9<`FhNLLHcLJg#AS{Ud!nvk -OVfr$KiFJin&a)>AGGRzzvIqH^`7yoS;cd=rDIq6J}js5wKRuJk~wuxbo~P|V7;}imX5N6oH~0cFKUJ -lYPzp&^md@qIXfA+Pen!&p1ZcmsdZbExM}|DF^YJeLKDq9wO~c~nqs$wn5=1kC(mi*a`5n&DxT_xz!% -zOlFRbh%ag+A*<+Z?>v_kKPx1=EOg_IB!#pn+t16fPy*}f -jN^6)MIaZUIzj7%i-u6)ucxhme -9Dy_A+C(i -nZdi`1`(aMP+B&E)emO;>0mHPSzgQXvJ7K!)B%#S94m;tnWw*R4TE`fpZV9Y -rWn7`8EsUn^{oIJf8R(zmE$R)N3NhW(i34`;zeQX<#}P@VV!+rNoKEP(g;W?Qq1@vu=k|9T%j^^m$ce ->4I#zRuqKT$=iP_C{xxATO6)UBS#UY4YKO&Ov}gGLlr$;EwotAs(J~U$ZCku%h#mhf$0VmY2%) -mb>F%YGh9BNk^(#-F6JwyLR}4RiOQb)slcE+{;w&&OVxmWLpO6nb3p%(>e;f=V5m%yl2MX`b-5^iM<@ -i{`lZDi?Z+Y3JICPUT+)h_UplX%(kp&=e}6-K`2S~@jAi`B6AFWIE_P+83nzg*v=&#CunM0v%CV5D~B -ujwY7+##K@VVT`L3R7P#Gny<~W4GqFDAIkriy7y{wQ(d=4@A -(z$p7U*TT2x(L~^LsHTuH#Q^)7p+0hi@egS+x=C7Fun&Wj!Y_yPN;uKs{m?6XXZB$Q<;Uj;bPKi7%JzpHq+@nBNL534rcS$+`OrNC -!-8+Irs^|WA0o!;`r(=85*d{+Uj|OR<1_8E&!E_z&UK$4r6oDab&c(lsP7CC++1_)x@6SApD!jx=21{ -M!`k~%4N+H{jQv;6K*%Z)UD|J|%W -_iF3ZV|eNzD+NAky^_IuAYaClk<4?AuW>tV=V~AuHhyKV7c#pe%7^9+YFK!7uAGrA%-6-Az|`0YjhY0 -N=0YdTw4afDelBt{03f7UZ9(47XXie$;*g>;5>_N#mk<)Q`OUnVQi5+-3iyK>T}`{3VrrnXTk_^3*`s=YoU{4We`d+|+w -cnfh_8RZEB#yW3jBz#e}Pxq9p&)@UZ+iYc`H`c(b3AiqgMgpk$7*;DeLq6p?0(hE3+TrME%`KKf*2WE -4=*`+yYp9S9XC+zWr}st) -N?sEA{hYBwQq&-Y`VXgziaSx-OI(O=FFEz?h4z)_nX^kb@EEN?0Lcs>LbL}PD!jOk563LO#9q@%WiBN -vRNETS^(Xt*os64--R;qwj+X{1BG1sTFUSC-v9E^Zm4MJhuu4%RI(^S?Tt!pL92Pg@9=9&vTyz5(v@# -ZhbpgLLLuPeLP~a<&duVOB2H%c*~ys>`^gGg-GC0jNo=xdOHWGEpT4~~Dbd7o-6?kfpRga$fHXm1&Rjs -#o#t*hQ!HmdA$<6Q7x;Q1Q${sX&!rt1!KZ}Q@XY(v!GG0S~yZ*dZ4g8{>To9uUVKnDd2_+=R-630U-p -g(&S02p5Z{Ys`Za-A?{oPk_Aikbp|-lw)`XUA)u7FAKHkme@eTa2c%z5u?uWDfGekc{; -uU3ADoJM>A>LGvl5Ko7g?Fc%-N1(ox02bW%s}sqlimg+HVxbCCrC_?+qKq!V2uF6eFT@LHr^WIo6i4= -$14Ui@D?J(+4eO;Hus-x!UEoIhG1J@u_7_bY=9r{W_jt}9G9#t{?|xMZBh<>`b#9f^Z#EWvAM9s2NJJ -r_F=eq@Cg<$F{{y%|W>=Um^cf6Rz~PmRKGb+f -Zxpi7lZgazD+~)cSpBa$Ao?IPS+DTK6_vetMKyfaV>=>Aj<=MZY%U~Qx -lDAA;XBdg3#I~|8!JQ^K*!7P3GZ+g7Kk&DjFQTA}ss09#cadxL#`O$P(&)JC%1CdJ+6@(mewUB;B)W0 -pa=D1R2hX`{+35bDM)4mqVo{kg)&O4so5Z8Kl=7o3di%M|LU82&PL0BNg+hWhi8Lf3&5ieligY$E9Pmy_J6aT&ejX1Rg&wTt)vIlsXD -&*owQG;X<@L^zS8WqrqCh7}bLPo9Rz7{> -GS$<7rKgN3X@LB7^O3JOMp_~Pnmm7pox<3n1W>HeFPtf=e%wQ0*=q;ih`jCp;SAhUcOiwbBStpiwbgZ -n=gk3fL|!4UO0lRmhd|J8RVCkZcZbJ`D%|Mc|ghOtTj(mE#B;-Z+I8Jdzci;r-ifYg8_7QN&dbXMYeT -we6ghc+OWL>*w*av#}9rKp7^~}zG+N+diZxPcO*<>1i?@gL*mG$AMt4)IQ>O4H{4n^(p}z<4mV^AcNs -ro7ptZ5uPq$W=Y8PoAuE@Sc9C?P*dUXMH>#P&o3QOBEC~NQiMN(*GTrcXGulCS@ptNHec;$fL-{Ua7= -Kv?yu&%ZoxFlN{KZEn-P^o(>?d|r3XI(FIoz?I*>l{Rup+!GA!XZYLh6_B>1F%S!%<96M9=r(lfR$N7SArKU;aamF!21``ZwP|wHY`Y2=21*ux3QiByI$xTk|`X;7wtK46aBc?-pV8 -P+$kz8gncl7494Pwg2lVDt~BsXe`0b$Y^q#pF;n#9v(u1OmKX6Z?wuDWtwCWbov?vTbkcl`HRd%99Fj -{4nCh-!8&HD{*V4C9f~kMB1DSLvV}UM=8_da1IAl3YMcHJ->Drz(sk2>oyLaGT(Cbn!l&Uo-?X6MiCs -yZ1ggXf6NM3ij`?X#1E0pIW<#Wyi3Vxx}mijV*&{5C1aXnG`JpUuf)}gE8kqH|u_V1TOCBSd=&zQ}R7 -?LFW}kg8F>5auB;+Lh3L%DB?E%Z8($oqOMPIaWmv-QsjEE@3*0<1;!S -CKsu(MVBW}p@9n$mf072jpx(ZI2t$|kg?ty@|&Dk~Q%dzuHOQo;x$)sC%d9}(L9$%$vo=_9ahqJClK~ -+9=B#>zzj&vM0DxS#!gTS2mj)0qBdxI%xISpC-Mr^|sMfQ1pOPU(S@U7_FS~|Naycz5Wac$hYDd?H&0 -ch%{8AQI@7Vk`rSf7q)w#j2sL~VrA+-k)rwRVO}X41bum-J@<`09GTZlJ#nF@JN)XAtwp;om_FLr@rv -(kO*)W9k$|e5z5j*?JILPIQHYb<<{cDIt6>)Y0+3aby?aOZI8*mB?kE52Q2OzK-sx%*{G{r%v0T60wo -AP2LXOY)+Fs>$(!FFEz-`!{cWR4Gy>T?FLcdhJY*kqISu>^|bZ;Z3GG1u!BgpDW>&u>upw$+vJppjVZ -1Rj`l<;ynC6$={AeBo|3`4@5isj_I`wzOrQnxytsE8{@nTFe;Q)Gxo?L)(fk!+^7)JF$Dbi)f9-!BV! -mI=KY^HDc65D;hmbgTAu8GrbEp>V?mDLL=1QY^{#gjFOcSiTHI9s!on7B|+!mw~n}MqWk4`rWMJjj8M -5a&`wmKFgXCp`I;=ve0LGpd&ok{T(Uf%(vb!6MrA(AqPLjVqo=2_ -?xUqHz2r(V&ac*1$-5;Ck$=(N<@xT}XAQ6fdpa^%F+MIVRxh9P|UMu?|jZa0dkp+G>_!(g|Xm%yj$Ke75VioRgKXj^QZvf9&Fx2#kSSU50zuwb6|o9#$7t$O>$ -f@3PTx1<%~BL87Fbh-nuTfC@lUB#BdX26T}jZcd`U5%^uU5wOq*&W)1#tLCiPJbylt~T@jEkU1N~`9^ -Dt`&}h~y3TX2*pzi%jK~OkFHzzZJo|gw#bVI`>Pzw`siZC#z@J8*C@#7ikF?~Q3###dg(RP=o05>Oj; -yN+#p5^Vi41jfoClrifvc46FC6Wkg;{o3obBewxx8rR!&F|Kc#g2YuyolO&i&K7k%Rweyq|^%lEq_3f -QJtC8Rr=$!Qn5A{T~tbZ6!VoJ#C*(VRUW>>B{(kWZK$F=lT)#t9^RwJ2jEc;OgmM?P2`POY;Xl#2^gK -`-11~#drBhiMh30NK!Nzq+aq{TPLU{N)1%6ybAZ#pgr)C5EgcLBo;j}M^ljxVCK9ruElS)Kz2#F3zQX ->^bpIK|oZ9qW4)@>2m!BQ~8Mu5s_Rq*d(F{gym;zH6juGgJ>YvKE;@kcV@6zdOxKZ${JTA+0{PWoPIchHy6taYjTdtBUM!8R6&Qbu-+PTs3G`uzEWji%;D>i5^Vs0Rh6E_*d -wx1pN(3^bJ$lVIGtrvRHBr8)gHI7dTGz-xmqEu44L}`HjoP5=+U#csgYeM_QUZ{4Yf>36dyBd)5_90q^*up_Lbu{Uaqr3Tqz&}kPnG7A -rj;lOw7j*aYH?S%*RX^FDA)wtLOHRo#uSRKgBmC -cha=#DCW$;eJfWUEc`G2MFF_fF(>EiakyylZO5Tp16*AVzPKKzcG??xfL$*Op1|`r2UQ%#u1f@Q`taP -+u-oIV@LCKb$@n_GL-a|j>tddcp;x;-3JuEmm!g(2pcb2+0lnoFAjFZF2N!28Kx7+#)7%^5MWxnGU+- -L6OMUiwKw+O4_=iqr@kBeAKL@~*2mf>;;9FRuv9R=&CDG$9X0Y%m^ofkjgqu}jUeZeu{(^gMvTO1f!# -Sqc7QUULeZ$lG} -@DSE0=p0Vf?`XpVe+cM)pK;{bZ>E}y2gBC&hLeQ4yasN5>*Y!A;5u}J2?bOcAzpQI6qyU+zC-M6=JHv -iuZ1CNxsHj#8)iMrD+*YOd)rP=x^taR{n(TYUO)7efAs{-qc^8iJ;ZqC^0SMwR;Mc82(eR7k~G-CmQj -{@=HaIq@}AieJo19Af~k>g6D2> -D>xppMWiHkPfU`;*#(<9Ex=_bR`wUM?}7$2lJ#pJw*tNz;q-3K~9lo0Rw(N-oP@NEt-5{FZ_{l`1#$^ -#thZv!&xv07tm0AJPz~?&+i`B``$bVw|eMl=BbOo03r)%W9P(aF2w9as6b>E4yG_?5pTpBZKd92BdOc -#$`aR6LfIo#bQSavb9s77!1dwR3wML_Be=9&TQv|z*(&C-N!|3XdcJ{=K4|@UFfHb!Y43G+f01Jfy%v -A{SU50PL1YT3=>Z+s`f)suSL>f>fP5C%2#3Qz4 -u(EE=Wha{?fCELHVz{wiZd`plgRoPN`4v?ZJsUgCZR?UyZI!t1sDvoQP-7#BiNQ!T_c_~a7tGio_yY# -L~rh!Yvi&s=q(Go#Zcs?wYD<&O*$^#WbZ?K3vf2;muRbxZXHEG>-60w^N_6_INQBDSGv6!vt?V$@XFi -CUBEcm_2yPqzOH`_xhQ56zt8AhaxUFy^`>wfZpme0*DayxEqq#oC=~luP{cu7P;~YG$ml9@U3M{)*4B -8)ukscYEfu`(pZa)qzAuUbzYInGP@7*vk>tC8Xp2OEk5EJwJl -s*7dNCIfUG+!42|JPtuM@bI8vmEbUMm?zH|6omGhwWUGBPSq -+9h`NR=fgL_A|d6Uc=q(?0VU31`3=W5V@lvhXG*SORW8rJKKqJuqtUQDcVjE|a>z`n6uGda*EgtTqzm -MAK=_FA>5#w#UpUCIQj*G)hY9&fYXkus3gG1G|5A%t8>i! -NjSJQ2PR4#DYpC9YkHqbAs2B_kSDJ^d%fzgq*vx?}A7N1A-(>o%VZ^Z&X{xupH$yUvV#(0KFS_sna-Qmw0Axbe6{^@k{y3?h5TP6-~c{+st+LMWs8@;2M&2e$vao}v5My5XZ^;ntO -$^%!9w|+%;we$7VmCYf{wiT`7YqvMYFQ1|`(isJXJ=^)c!6m#M~KYX*6lAA29q2@d<|RI~Jho<_~-fNs -m9{H>$E_M&@D2AA`D<(c&rErtl4-oftW{+DStO_&HC*!mU{AO6fg^3OdC(@N3uk7kggyZ3r*yVO@ccl -2(uK-7tpyyJVfd3Ssj(#+S5RGzmUM`O{kuZAG|kn+cCfM0Ro4@1e8!waQ;U_Yk!0?#L&>D_~)`7iA%I -q+4vqtOpv#Q~@Ff9Li%(zd04*Ou~(P&~IT9vp63fR{6|y?=oG(SAAA{Kxz8Wk){O!JiVKn^DSV2~gl? -rjt0-GY?E9$2YHta)yMXXyQJ>a@4a|5Cme7uJ4dm0$dMlpS*g%UQ;y6!6RI;EAgx@p_dj%zD~mXnV51 -hX!&untAd7e$F}F{A&WG{k(v%Tms3QO#A!kz&wr(UnYGIcty~!o0)?g(g_^slQF)2yW(+)(WTF*``KIo7scrOt*r`0rzf-sXyTlxx8^OcKb7#zwE7J4y9?O)4JGt&)at;^RWRppQE -q(kMj>7YaXhV&8;JOvN#yQ>a%)0>2hujWH+az;Gj2hN$>I3z!`6BifQ?TbRtUX_z}X=3=Sy*K!UUJ}x -l&!_LOc;i^W?xfhYewWp8!35QM36GRlbt~x8$V5G!CL~Om{J;Xt3U&mV@gqAnoW0QAbDboO -%*`RRpHBfx=78bl(y2w2~;9mX%B3uksTM%zg$lXT7LT+m-Z!QTdzZtx_-qSk`D9l-^qK9!VCTyAPo21 -=udTht4Wbwv{UXFHHlNJK^3wfEE=%El{74%rqz7@`=Usu3;7)xy0$73%~R`htkOW5(7;Oz{BnOivIk9 -zswR4}OXv)y(4q**VuM12ut2~V430LHFOvr;_n6)6b6DADjsLSjp!n(x}e8_Pe@=@^wQSo5W)ZBFg|D&^Cq`OW>kNVjv -rvRt3~U4JR7{e0AFOI*{^8lBBtXKE7*Oy+|O1E{FCK=wp!q4%Uw6IpGi$~U$pRqO$%=Ww!@e;D*j|mm -w2rkm{XqZLSzdvp?%+SQ_4LH1_r*F3p*fDS=blYxX33^TqE{W6xK~$g(Y2|tRj#KM=z6BR-+NB6^}a= -*ARRY`5+wQ^j!#Ik^9ypHdZF(Rwr|D4@wfCVizq_z@bl$iM%A$lbH^W616$5x5mqWpNhBQ<+i3FYSf0 -cPsS3o{(UW$1Da>)1vqD8;4NJnfoF+PY7r{12~^UmwC@P57B|n3Wv&!JWrk3axFxI6tn ->C1+}la5~+!fJP0$i&~tu?G*W-B*sC&zb!>?VJiTQIX=l(ql}m0=c}qh%cx~2SKY;m@9b|VckMI&dPg -jyN$1GmLtY8(B -kP)>uXK3hJE~z`Yq)_O0G{xaSh|loxasj-(yo`Eajesx7c3COU~kd7v% -|hHqWhygHL=-ueeYP*U@p{fD`vKJ@NSi*=Q~t{)x{mu0 -6gYRjKsJ~i>@f*H{9;4T?uv=Aa1hezDZ*8(o{Wxh<=EdZ`7WeRNV0x!#vxRSF=Ps-AcBh+-JPVf|!$n -Nb-OYLtbugw2z3kOsG!l(Xa&nv0AcmFz=|MmZ94!<)qJB^1OgSIZhq4@xo4Qmc8`e!8jAGp@HF@V24@ -Ru$BWW1+@k}dzVg2GCvRx%c$8%ayZ4MDcj8oKpuBrDJQT*HdkJ*Mb*!@w0}Hr9phNhf+sG{t-KBC=1C -$Ls66B-IKyF|{(bpRqh-pQMlXEY*I+m9K4f$;6h}qIc&6B-{jTltHEEi{By|<;Gnv^Py_lw|DZy#3wyi+e-IQacd>foU;WDPcxT2tM?4EZvLV1ly-i -wi??&H63@_gBCvezNWhHHYnwxXy-2jVc7t?!O0N#;*d~v+|kchKu_Pap?Ni;+YW{j1K&cK$4lSPBrI9 -0T=HVdYQm4UkF@9d8|N2-l_lbqVf*;lPwWF@r~@WI~phWiZwe{|cm>39W#&#w7BsM{{^X7A`zJ9q`x-W(;RB$2vDiqL>%3GuGhxYk3P|gp=MY2qP?by04lX;;Idw&&2K -7{&4RQF~3F)sVuj#=*LKWbLhI-w68A7YoVi%`Q*5%sare%Toh^e~n4%$n(p -si{@{WN{h(v&YMXXxX)**ay&|Toe9_mZ@f4IhVHIzXa12+qP!Ol -`cga&aDKBVm6+Yg}WI~y!FiswJ4FJL9DL+d8@xv@=+YNdGp}1qS4 -k}zm0`82E3vY0_>pK=wE2o;fH*p%Z{h~V{R;w1ApoQpLky9bw}K!ihbk>tp6yY`!?R~ErBo2S2W+GS5 -_FW;bez7V)?@5&b+m2y9?9TW}Q843K*5J82k;*Ty_>e~?~IY~8g+>uX&K5SISarTx~*1 -fvGx#u~mG@pD90=kX8aWXwK#U3A=njP-q51C3yfP`2-{K5<(gZM^{M74hA8Y{Q0YOt3~K>zn8^!^b?~ -X8){L>!qB}VIKGt=hfO_O?`O2LleC7S1oWs@G!nSfii~cxv0hBR4u4R2&V-|u6M&t9o}G6wG^sJx6?Rt0{BzcDyiR$ -gE(l}E{A(E&vpnplbS<1CA7Mc!-@rQ<>#RGIU3cEDZgK9ki -BFP=@a2hPz9nW97Q&Vm|_4HzCo%IjwOf+%Dig~UN!Nnc9^%JAry<6h2$2_+NAi|VpJ&^l$p!IQ}@W+9 -cHGDbluVoeB>+F0+VfFfdtRGI4suxvquy1&5Or#OCE8xfVNyzD9WX(%adi^EQOEoOIM~-f7zVLDVSd$ -aI@b~Hry+&%~mP-K+PP|ws_@15ZeCUZ~1tbF0|ytfRI1tnSJG~m2Ar-@{;F^9TQ1i!zb2b>*6Td -g}LUhtVfl>WpXo*6Q-AgaotKL~iBjEk|n*GLCQZf2{`;LAaUa%Yw*ze2^nWIvU#gfN2iX7h{4e&uAb5?@X##~AlKQc -~q(6z9doi!S-nH-N-hR=+Du7C%h -{i-bU8RZ9W2}_jZeLC(GDglT7z|Xtc4|l@xELek(HnOx}5A=nT5CU3%}~V92d>O77UbO$2^ShO8Hbqs -=RZ+<%%y+p?p5UN8*z-Fmf+t7n@y+%_)%OKL3c1yJ%^npgJ5$GL_z0jED7=L?q~I$~|lS|fT^| -2qAyb1w3XRs`2=eU!fn4D;NRyJFike7$VK!tsINw2~eHebEtfWwtthLyhGR-pr0;x*`{R^{3|wN_+lv -b0+waHUoP$_5+>y+pKQ_YSjwJA2Wd8zxLho_x_dt&hod_1OJ`nZ>tCXNe}Lmj)bRuziB2^A9a6pRpSk -~&X67IRvB+Oe(2=*!4=Rg@}V4oMS8nDw_l5U=a*(q^gkJ+;n62=vJ4PF>PRk6H$!DTN7b@d3`iZFOJ!HIKIR{Fstmy -BZsBx5g$%7<{FPwJ56;xjT^OnJ^S1muT!@kbIX^C{t$Sf0_vPH%B}<}c!+k3-eNFDgoyAV;#RCzRg#U -7d$hbxK&|`fMYhogCRGCA~bq*WYSHKa?)Z!$gusr+qAUn|p!*OhFELW2}a2!1@uVr{e{EO!@k*T`hoE -BaRpUL=^$#?5(x(9xfheVGAyY5Mn^G|F>q5% -IB(ND7T#xh0{7=lXK*!VjNP92MPvt`^4K^&`u7lJflTRt2ir`4{jJVL?`;J0XVHlYI^xmyv3(Y{%qwq -S}&l7$=NTu$2g)86|YU)TPj6rYUBJd{lV?&q7l3E!u#Yg_~@)FTCLatq7guVqnir>@Ncq)Rc@`t870k@d44TxtBOkIdzx_+VYPFJ-eU -v-BACK$#hoDIMI|k`G4De%G-3vwq#L35_+7Wi=qhRB1dO?zTJ2zIjc`Q|typc}K-uK-C$QRvP#2n1T@%vBFa4ua^uffq}R^*)$<+7IlRV+L9LzJL@su%i=$M;LXj{NwAk7|r`*V0(ZElDUMw4HCJ_G~E61uu1$A*{hV^6>`Wm^qzC#k=qc9lM3IFf9(K=z;#gYPLAMEApuyEU7HP066b-%=y$*NfrQ(` -KodFfUFi*6Shg@hoe}bi`Sn4zzdOEIYmeW~H0sDN=q|=FY6}%o&R>rE}4lQX7N4*OKhec5+PrEfl4Ka -F;N45Euz?)?sE$for%{A0)1~Y??!JA9xSJIGBIE6V$T_i|RTtJ()UCeMPLjAV>kxmYv{(%G(!;tiBSkl5ZGrC -9JVVJqaEg}2F5lKNTu?iX)ljNX-Xu|59VqP6g3vI2tv+h`5#Tn!;?Yz!rkFi{leRTH6bP+61M}Fm&U$aF#@};3Ty -y&@eto!hCt^;0(0iAn%)LNWBE%)e(e+UFwKS^Y4c?{q$i45JdQUa%pgwG~avHP{Y_n@zOkI-q3g%+~5ek1h5sp4&8d6d`dEiPPwsTlvAE*CT_3kfJ -4DdwB{CJ~M8Q!SXG2dGWo&56&SVF}eYtM?#qdi#dk&k3Oi&GEz=v4G~;T`H;yc-yzb>-30mZy<8A;B0 -LS<15x&2e!y&qQ5*>!JXq2k>GLyhdH@X<-5Q?9w+_yuoP*%2Qmja-B-(P`5|2vGJvUVA -{P!4MW2(w#fUTb|ZDNQm-o=E^b!M0cPtIIHZxZep4SeDS4$jKjFD&PK$edI+q4L2f`ix2nC#V4c`sK0 -)Lu_&Gw{)tqa@lKj&-`Y=kWjKcSb5bsM&4YznzFxIB9p-=~HQA4U --cTkHR|tX;U=0W3qX4GeVW6wW=tA?Hqqig)L6FlzS|ppZ>_a-}Vgt^USy!*hiSwr7 -g{lY08sF;VjY@V0(7wzF4ZoCumcpD!}KyZVJ_>OGfEWN}#)osHID}>z%2M|u4L5t$MWSk4Z>LR*7^5F -AsSk`utaBjr?=?!_4)QpTB@bYMoyOOT9+JoS -q{fowFCnQ(tiC=8<)E6<>e~;en%NM%+Ijv{&lFgujrrB1s^|Q?f=8j7(!wg`eVxBAD{ezRX;iLyO!!t -g&WAd>lpp_m;C<9$I0C+c4g=Uv#TsbTfH2|w{OtTO9MEwp#!xm^d)=q*!oX=cWWi+O}%GDrg$HcT`?{ -ucMDo{>uYA1pFj~4Zt08l2$a}z5Y+B66*1dD3xn?>d3%?2oNQ)NTQ!2-?iZ0;1NPP=5O1Kjb%^c#11l -!M={CHA><@_3zf30h+cpay|0oUoh1TwMcJl|+F`Y$7)_uJD=)!WX#v|gRxVe#V?hF$quTLv|SoA8MWS -&jGHbd(otRU%yD>kP>z(S|}8@>Dyf`m=*ZZ;|w*Oz?Mk&iLk?_L`Lr}`d(oEtq!4jX;Uwur(Xce6abH -=TUNw(FuVGPcdR0Dl^EIV6{Qyl!qyg3;}N^YZs_RQ@!t{)0b~kx7?##&OIU17W>jP7V^L&YNE(NRS-ST7WF3LUcL=%J0ItteP&GsX`CTF0UthSx>)AcwCL%C3?2^*0w5}SwBx~R5$hNk`BA`;2m* -!s(Q8;mdvWn)MNN@=D9Sk-H2qB5HFpgSZk}}%iKR6ls9DQtAh>v*y23Ecw=h5#Ry4T{(vsECoYZ0bt#e^3r7aqrP-~Uq400C0p3(?aogL>Ct4ShahCDDQT94V;k`>>Nu}5U -oPE1*EbFb+t?V^4_Wr;@Z(b54|N)xQoJD56T)**Qi3B~J;#^CvYv<|kDO7)X3FK|EIyF9ZUMK$g!2Q6 -`|Nb}Fg+y$i{LcK!Ky0l#Zwoa=Q8W;6T$Uko2ez3y)p5AzJ~#$xS>`8;<;$J+Y>_k8F3xzA?N3^0K+@cM~1{7D_{6Y!@^%Tmpx}Dur5Lu0294Nvz7@>QOAho6 -^h1lYK-RkNj;y^8A^*4Um+g_CpS8g!+n&LM9{>EYNr!Uq8-4Z@DSVNdos=bLBYBZrZ5D*=5$&k7Bab5 -k;b-ftMijU669);J>jYA&%Ags$Jd1QfLRY?Z4d$u3-Y6rIw^@5hl>0&!@38$z0a*jB^bd;2+2=WsGC7 -Jo`{gMd?sJ%`2zs6u8fnK=@#Vprfi`l*qFy@JA6TJsvyWVSJbkI+vH7lo_xD$0uA-8+BlE-aSJjEP~( -8Q98h9LL$oK0NT`ouZ`I(nDMsj3zpmOf;hUQd#qCRxxp^dFh;Gu>nq_qY2Nd9C`=H5OYh54mXbyGAfP -v5rD&mprTPo#Bo};#YAx%y|pxNiOOd;P)%T#Z&o?*8GB-)l;lEC=>9wwc?h9YP+^p{S5QS9rrVDM%Ak -TI5o-zrRgkmFNfUdw}=yE_j*X3YX*aB%(R`NS*`vc$9tk=jB-Gr)ZctSpgGX5GV{YLc#RwLc`9&2!<= -ysA+eo^V5@0HSB;s5~Ah`b?&XmNl3Z_|mD9}7PKu8?M;}KS#jHldQvvUiNA)~3c(*j%(B=k-BjZfI^l|1jSqP5-XXIdm_vR!Tst+qqat)CDLx5NORY+tEpY -k9=?p|dsi+B^%;U5yyu?!9t&Jl+(D*MElTF2xw_?wsfrWkq}U#{W-(rN8j?KLtxwj+o*P!P1x4{?~&g -{XYzr)Ju4Hy1r|g9$k}3QVB=Bc}4V@LkIQ{_MVI`_F3u_`U(Wv95V0LOOw*N-o{d6aQu`+`OCb;n$hD -zdN)H+@Zv68bUeE~L|D6++=ZJTBNJl+U|{jXIhSXmg*^9-OxlG72|5zW;WVo38%~~OQR0c$RSyT!Vo+ -I9Qy$ERGq>-n)-gc8G(4Y+(%pk?hv|8+P75l#C+|X(l)7{7YM+RY*Jw=BrExD%sa(-F^;S8oe;4TK0> -HfTLTaSrPsb&ynlfC3!L-;$G;n-0#~^rIZBjvIu`q6Kmp+YYVe*Ra3ocI>m52cdV;$BUCdM&Hn+ZIS^ -$i=nk4&ULjCyn@QCu9q(`d(%&?zPmW_+aR8)+bY7+v}Ts0F_)dix+DqK!t7q!&J|eX5spl`(wLilERTd2i0=a-5=U$9Ejia>Qz7A;x`skY<%LcNV)aB -14{0j2$T!|LU?Q${9$ha$74Ud8@8^nE_}ZE;Ep1$zM?>NK17&KBs~?zOUaSMBV91eHTqR~^4&wm~pF~ -}ZjxcJs!TZEsp6gCdJMR&j+H!dk8D%KTf|X?e=DIM5LomCFbU$VO@I3qZ2~Zh+LW^bHCo9$Vm3}t3>e -?eYkCd;9Jkng~-5(ttC9Nt1ny8ze#_C!-Rzi2^v=IB}!IF^TO9s^uNa5Wuz5yqv2qik0r{kOdr@<0?U -@O3KT;ZlG?DfvS@ygSY1?=$3wgy#vC+~+ZzRt2SFVCB<&8JhYHcZJ8Q6HhD+pXa10kLh(OqXkPJH0@~ -?7BQVTnH#y^iqAb#47?tMbO6y!4K3xSJy{Q+&u7AGO_y9&lekzk8KAXWKPw=;~=x?D<02JXPL#;keY0 -<^MfSJ3@63Hv6vrva5zjoT_ac{KU{&aP(V_&k+7~9rbhRhvaTMP+9MnuEm+A;xgfd7ISDQpRyJmFug{ -@0*SvVh4uu6GrPPIhN!Xa=ADTW`8r82a{&R5Bn?4@L)8*O~?DN&qfq7ODLUh~ItjbL>M5f~3TbI~Aa -4~=SP|71k*as&DB6)Nja;-QyVu#7&(5dbp<{Spni8#r24M6FFsz=hKIc -+4{MF3LFREJYwgVg1I5&-p&rwWQOxPZ^Cvz{%|)hfh<@zJgPK*G-?u$AT${^Kte^zPZdg2Cuv5Wu{{n -C*rv_#+5Y(C7h`PUCeMmaez_ruzo{aMFgrp&e|G}){|8defwbS@tUp&LVge_lV7<2vc$H0cr^m}yBrG -I!Z9Pg2|mpr~5^;KCq-46b7obiA4PT%S)e{+{#4m-x-p38x^OclO+Co$;OzJlxy=XAOa^2hkzE4s#Lp -DT`T7EI)3H;(PiubTi{yvvkg+eG8$G7fL)CnovYzk(qDPO&X6OOT($Vp*~kKGqm7!FH=9d~4Fl_QDFb -i*LjG4K{TYauZ8|cQ?d@*~RP9t+qm?Tis{9F}2H+ZpD{m_dj3byIk5X_!X{r8Ogdfs{^V~m(_8CEaFPEs-=XW0X!Y -LF>jKZHx1QFo*16M1F!vEg{YeU7>*r)=({a%+!;$(|ot3SLWuK1x{P}+8@qoX3zTbH~;P0OA?;h`Cni -BZcI3;Txm?Suj*HU>aDwU^A*kutGD29*s&|(0zpyec1%3e)I_u5JvYgU>5bc#=ByH84oGmT@>h@4%%N -41q$WC_#6<_kYUz*(D}lYeZT4mRFzHdm0`JWI52e55r(TwUYITlTu;C0Q4Sm^pzu`8?Rm>@pW# -6l@$QUKg~SI|6;_i)S=sT(p>6xN)h7ZH7kmh`!kF;4By(h~)_mGR&8x37n4Ob5X>B0D_e5JiW+a^m;j -glJ4=waD{4A-FWbFvLEBl}LCOt^ -JL<=#(Ii(EX2fp9{A0O4a^@E#$IFu#64X( -}r_v#aXP9TPKAS@B5-b0nd&*4}6DwSHNP@uzOe2L#aP7{0^8CCG0tf!BI^6|DD}xUat>Fgw4oOXR)B{ -uJEaSHO|+sk*_Qgrz4s6lN>Cpk|_nS62_yft}o@dPxBlK{*nDZ7Y#j)S=fvL^8u?&%6&n!h?Tc&0Es- -WVM2>rtr&;Y8|M680e_UawUuZwkpMzU&KkrFdsmB9v -G#Oh(W02A*2#eY!R^kWfjX`GK%$*G9cSud0IsVWelYhVG2aq{YgdVv?h3Pd1G1NoZn$hPbG+&Z9^ev; -)jeV>@2AoPVMP#&JKj;2+45p}?E_^EB! -!IcD$QyyzT$RR665XV{*j2)*5K2l=D$CfzS5%71(4dkN&76!*c4+ -HLD5G8VJ8HK6c2V(DnK6qrm*8O`+0VXa8yQw#{=Ro%St)=0MzL_pz8LO#h#)zYBQs(&(=c`v3dN*Px@ -1o0R3E)z#HZdf;8Fe>$dXo0s4pnxW?u?_Iea2MDSSe|3g5uaZlyqeXGSxjXfIug^Iujd7{SpA=U7u`r -$_~k!Zt{B4O-wQSIf%u9eHxW4EK{V+T)G`Tp0*GfgS!?Wk-36f;_t&B9c(4ixd{h7g?B?;*CHS|yd+IDlGS<;177|HqM3KtVn(0x2;hIpABmAyrzBo>zMg?i4+b*j>UEFPAm-sK -+^0r4-r?<}u(NQv48rltV`gRNe_79DM`=XF?kBz8X75O|St30vKkmr=xZ{QXvg4Qis{g370RAYnc*B@ -NtFOEkM-XzKXMCIp{@$lT@1GDZkbpQPqe!rN!AlSg0V#QnMVHyHHhlQc9PS5oO^N5!+ugB -bR6D?M2H0~hAdMefnyS4^q;eglGikvwJVB+1g|VTj3w -f-5Ce;z)27AN>0$&HituVLi-${V6s*IwJqI10S_R>%PM$?mXhrpK$q~9{UZ6|NC)&?&Uym@R!AZhg`s -?umS%lfTP6GGf91v>yVEx#j!T<5xqg;@75MS2d?DD|0q0EG?7oWAA%g=F!?!p2RA4@!bX@n;?VTtd5E -Ql@>~l324~R^W(Vk}?=m_pF7~h)hd;#}AI&-p{RkIepPml>hq&IS!} -PFgg8m)-jb_XPXP56d%U(Qf`&E6j!ht_wkii3rVa?q9O)Ycbtg~5^V0n0y*{^eAx#e&xk?q0dx|a2+Q9H5(BP_>(YGq3 --d`&agLSbNhh&OkuX@;lv0A($gV(N5;@YSd3Jhb~mEDhm$F`14R?vK2GTP)SNMtwFSO{6`_0M>{0j9x -hS<~=E0WLcDj_syqotL-W*bq9qB5>>mq5&p6<7g2xppu!Ory%zqk2!jID{L8M@PH*1gxqFO_5}4Bc#- -^fiLN5rQ!Vy(U{cF@iQ0)l7E5VhS|Q6+w#`9dORu7#3ABi(U@$B*tO8^1i2o*c4Lsa)DeVILpLN9 --{A^j2GH?9<;(aqD9~@^W7Q}?3^i8R5X7Z*yWzCy|=0ostMe0^h+-c_@%rsWv-&ET*a$$73imkXX(|) -L&3-+_W71!ql+551Y&_&lLuDG?w7kwZm>GOP^?)(#~t{vZPk*@>-^;=vsUG64&vCRtUKG;H!zA;d!fKYmYw({vI}agTIE25F(`M-+M4xq>VV>+s(3~8MMH-h^3Wd4Y*2nlu0c;u_!{n**^IL$(&D~GzZc_UBEj+L?YW}mm>j$7dx$wqbk)1K64<64%_Rcd>S1 -=FT<8-E%0zu-$DJg*udz~Y$??=b(tfLis)T3L$DqYK3$9fYgmS*1H(kKn#C0j^Iy$W -SAV6*$G369OpgMiO?f}J{ktl1MT-Hd4DPXAUXNhh^-%pz5WTY!CxXaPychozLoUz8#Z38zk%3>?fnL| -tyyLLpHSPHfn(#ZhW2+y2K;VlzaQB@@$Qw{C1;I!Do%)UyWHRI%xwf#yrq`Py7ZA`T?^D@CQ&(auOHI -ZcssB>kd{ejKU!}{*=6*bovHrD4=2jUBx@Q;WvSq2cDjX`c8L`bKuittMls)vwj=UfGx=gdbHZWy!FI -+BpA_Bm8KP8(8&tUQot4jiEevK2laD><@qw3aDtxkJ0UM4NaYCr@WD<_IWauVD=0h~|^wp!2Q5uV*2W -X)}C_?6l4?aLuhHC@p2(0OzPyE&+qR@*uuU$^}9L6?iT7owY4wjca-$Qao*ms5HR4Lvaa&X_ddl_$!k -Oag`KZ!TiW6AN6!4gS4N3-@XosG*cPj|hOg>cfjoB9O7AV@?4{0HQI==0Guk^QZeYV~dv)lzWl)0cZqv#?I*U$)rD=?-9G$c0u -J2&z2Pwp67Cpiw}(~S$$)b$Q6{vLracqu5%&4n>i}e87fA7{OVTnMWQ8Nk`di+gm|AG~KpzQ0lHV)+l -&qbqls=-~^9q4(3m3&(GJqJ+4!5xsxty%KzNbjiteyApG;03ZU@$MtnNOU}VJRyQcu{v~_lFA@Ru{I!3p*rf$fM-@Ri8cV1E)l@1%wn8 -0o_n_NIrJ_~F|A$#=yGk{i=dYGOALvn_6lER++wvBb1+kQjEwj%7r5E;`~BpZ$=l9&3uR14sL+O(@=L -Mbx3ZBY`#n=DO0VLpUBX4?AJE@dpQr!D7DJJJ0aF7$Q1|mZ_#ean_*p~#FZTVe1pm{1f68Qo7y%;~h= -VXfAqYak&@b14Vf;u*@3HRzpq~UYM10IAu_I(XoWVZ1WALNg2mV?pa1U&8=*UVZA4R@6IbvJ*(=&&E1 -pN-3BkTxf(NAUG0sO?VYD@fX9XNrH=p79{USsj62oL-yE@2<^hdz?J-~soCARu)#0>(Rc2#;*_5nX?L -k8$K!m<~QUYbyRYB$J2Y1NfI#7<_Pm4fMSxPokyUKKo8{G4SQDLHha~34t%V@T#mB%FKO9UyIz_U805 -u_o-kH7ySH(*KYf3+`hf@S0sOILZl9c@<$j0-n%1U#snOeGkUw -vnt)G^2EpS-4jW)iD9hjF&T93&p+UJ+4^IZ>{orz{ -2%+;0pc$txV0;rL+*e=eT@KLbtER%9IioHh6VYlFn%u!1fF5PCQ0 -OUB_5~z2k4ErSc_SHx42C4{X&LhN~B3Onw)QHzR -k_rQI1r~U1`dC>yVtZl<-$3IYx)KKCN0r`ZDDRO09W>Q^j^(Mkld43W(%RKP^x*~}6DELeW+482lVFl -@yugjRiw_GD-&csYP7wYOn1OSeQdlDsAD4U9$dPd)QpYA2vdz;ypkLinUZIs-drHE=32oe(8y+#fgOO -eibGdqc&3jbeJzjQ3swSr|o2XB#(XobJ_IE%RaJx^>LVbg#8hzYT=advrT75XshPKl~9JFmtwO-EbH* -CB$74f)LHUf-E+LeM}K%{6tp0a@nHK%1wuO62?$2cD2^s7RO!KCLkbi-FQL;9&KaQ5zm?KG+W2>TlqN -PwPtT=jf*HwWtP`PRlRc!_jko9_v=E^XX8mvwIZZ0tFX7}_T9o4~IwPizs#%(7UZIQy-Wlnj##6cU|i -x}s`b%p(J0ug%FzGxuE?w>-@KzCh~UUd|P62)>N5l9k?#0cd6At{F)&l==f|@%6xP#8N-h#EikiP$wpUOdMfS>B`{v^dT`YqZM7mG -@i49Z^PR$)%J2lM&_{s+_jYA?OdNEdGpCE3om-q=XOO^d%H6v)yaJ3D{Z -X{gxKDLRE4w$WUlR$%6d@|Qx7*Xu=G{ZjUUyg&o(%$@TD44xWlHocYQ0wq2+z*!#)5!N+a3&&f9dx_3 -pX_oSuVEY$vta*{50x?K@FJvxU5OGyr&Fhsv;LA`2~*qkHXG^GfLmH)@??z5<{AJpSN;pM3Ea2^3KO}9qgwc04qVvOwQSV~y;W)v*>wa>si-42WU5JH;yI;Zf-ogk9!0RhXjXph8(XRpjx%folv9L{m@)RXhex;;pkF6xtR? -axEA4e7E)sP5v5#tAu#$bA4d>G`BwsaT;-66@k39o?G^ -EY^u!02y5eu1DVbr6g}ok`B45`Gv_@OWTP>WfLcV97J;T&&U=sBV@d^`jMwyr$+MMSD?CFY=ge~hcM* -v_$Y?cZr9`C&k9rjb_$`#TT4N$}_cO+ -M}f@rUAs$-%84>gZkAsn*VWV&Y>O{^`1a;e+Sx1PJ;J8~)+~^wF1!p+oiRXnNR(@|W~T1h>nD3BTtqu -I_M0x=KBFclwvc+nhvtDk$o?O4{K$l|u`i*FNtltm|nHrmRF>YGgjA%OAX3V=wryBfwA~U6Io*p2Mg$5 -e|$#EI%YD_s`OyFL01j03Eo$F;vIVO5O<}@DFOhHHxK1(O{1+!22VR+6H5a8meB_(JGEA@>W%N -06TsoO(g%WKv@aWiQJZe1=qSlTVgnQ`UjOi{0DM+3E}^;?Fy8hvN(9e8`%F&hMn8@i32+#P6S-`<;B) -!R*IpLl}P6SgQGXfWSj}Yl -B14A7&{9^?<`m%0u`PL#q+t -i8YN_O259G48G?U%~(Xt;1a#i5vj1mBP<7x&h`qit!^IT||e5UKh-H2 -(C0~wABMOg-rU2x?L-{mR7RQ?RzZLdK#9MY6K&>)V1$=yTF>l2u|s*|_ml!fpKx;-CQ#UW{ljn`3sf> -=?c7g5q)tUd_hX|%@MqYHq@?W$nhL0VAMeL|Bc4@|3TweshD(~0uoba%mv!#vjeSK|0^!BGo7>ot^hL -DFe8Fj<4E)2C(ZTL`Jn5h~w@`?5zLSL3F`xPMjXF4BA2|HgRs+j%`wmqRqCx_1S>FZt^n7n#gk;eMzk -*yvv*JowT>yvcW!x8KwQ;5&R3I`t%jhtz4_#SOK|KQ4+m#yeW6)pKgxbJQ{}xyeH$P+`c=g@CVDV)9) -5ex(prx9Ec99<0K0V{d=1FEk%HVV1}iwH4&TfIYn!%nX&1LCo~JMY&8s(YylbhtCMI -B~zJou-S{+tJEKk&7KNWphb;_9iad60_JKjDA@CB0@w)mhw7F7=W$!Q9}A2k)%%kcuw;1}AUX#9LXn%i~w4l>hnyF~PI{vc9Um(gD@Uuh4bhMz*p1w29{W&=^6Mdm+E87pegLIP7*>M72KmN}9e -*0gJqXB*1&%}HC8R_S-!JnC$7Es!oj}vk~UeP-KddGFMMxoeL<-6DEOYZO2v4;EQR^~X4-5IXFd=Auw@4vv`73u7-E=3F7o!hgew -vQe4uuCHn*8KFxi>Ah%>V@&G24M)s*o=9g_oZ!hvWq)_B|y%gniEV|9o)VB{?+(UtdNSNLHql9p6Ng} -H1o!HHmOicQQ#SJx}@Ia0fq#bS%9=&I-fJo^5{daW>LNUW_(zx7t(>`=tL#AlE(j(b6M1tJC}$=-lxif9+5jOnUB*V)k7QWw6q8ka?|s)t(yTDTYPLGeZFQIBer~Xepl$F^E -^bqTKz?nnS4$<5mwn4ZS|xW;oL!nix%JT(u4~~1c)TJ4GzBUwBVFW9olQr-L9%TR4O&}G<3b0GcE^TP ->7Rcdto|}$=;a*H5kenGL{2ZeCxW$L*cxO<-BgiWVMeu-i+=9F5F{Hgdm(y+s)^Dud$w4@kCOjH#e~# -mOu;}4dl>5!^3K8kejJdg61*~x)FqDGrtngv~d@B8a-E##&a|KeJ5s;*siam4<+1A3lGG|$&;|>>OT5 -1zY}~Tc<;KP_g_)TN>nnRQo>IoL~l`2=K0)c*ONSN*@#Sq20dXB=rr5Wm%x{`M`iaqI0+oGMv|8?Q&! -_5>3B%TrJ=!sqpfn@t3W;CpZS)3X`A_>n)vTJmHpiV|Kv^f=Y#&Fga+fk?3YeII`Kqu*jpxtdFG+aLL -gsTlqvAw@`rh6dUUr?zgakqjBnUgiw}FxC_dJ5N#Y1G20y-*w|DgYiBK}Yb9DNfOJNjk-n~#rt?AJb&`G=C ->uYpKO!%7*=YI#MKP5m(tSya=)fKMeb&;8^gYV7mXb>_aAh|aaO2PLjxmJ)3)w4W1zF|un -VoZjA3SdoWXD(?V|&v+SHYuqc1;bj(_4DU0fm`gPpN455Sh+K1(Wxip`&Mf9X(wFYlWZ?hV<;YA^X>h -@7S{d3n8L)D(H0kye|UVHHXB09GLeh3^vpy1mP9An;-@<@<=LsG&kqzh!B@Xe7GPK7ZUsZkzQ`$KJ6D -_1fclsSvk*i?s&f7x4Mz@r86vlbr*<>mO19gu~}fl&>-h_V^0(6zgDe_E>IaQ)d&OYZ75(@(Yn+K=x2 -2{F|^1gyoh<_rP)dw7|>9b*TJXh#)CQ7e5t~?QPi-)L+D=$pbq5wM!hcB9D#x#cGE?8-CVr6%lQ3fJ# -)XU(t*4~7bi`iQ5TK3@`5L?P+?ZiLQeyp^toFl`}~F+gK>LJGh8~PP-!PmEVSw2#$9SsE<&Gjyvm%~T -r6zqWds*3>tlImYz(`l6Z5#^>ZvQ8rL9UOp5^pGNb>caHD~!!@!>4>?Q|mF>x*>h>YSH)?M$+d*-j>wE<9*H&RoM*!gR8vMTe -{{B>pYk1BKDs;GhU_WOQlcY84LbaKSlt;e{!c&P5o0iH#?&{E(cs!=8b(3(+&EBdceW$;`N!^_USgyk -Z*cpBJ4rjMrr9D6R6Vz~_2=YF40ol|j*{(5w;p#|i;Q?u~IK_Z>>R(d*HuUI*;>l7LM<-*7&)}WQ-9fpe^czB6-7O -&Iz1NtL!?64i+YM_Oaz@#2H^_wYH$ml_V=j9Ce8n5!fgtWxPkalLHW@2L&rH*H$n3m(#$E)S1Giq$ji -|RHLl2F?kmh9N>3Y>Q{}XvKzUF=0*=<-sCs{z8NLA-%E8WjKt|2Wqf|ctqH{&XTZ~y9z*wPq|Gq7-O -v`CRwwH&Gy0V!_XkgG{(KaF{nkljJS>v9lD?ij{eNX!Ht6BFzJk%NGA5?&wNnHewXPflFcPjHfQmH?@ -@H6}Qdxw1IJ-^)jPs`L41)>mz;{*zU6bOL?g`@i>m?U6`AV{19Aq@Maj{o8O{mEZKpX?@vAIsJ-{*}Q -*@S)Z6wZ$3xH~MQe85B7J9gyXB=wi<=zgRW*2 -_0`WYCgx;$JKxSK*Ru%_VxjE;F3>4b&UN{lkzCE$ZdS5LTA4G@p>^RdvGsH$hajYh&b(G=Ja`?pQFPANi44)Ntla-MI52UE+` -#7E&)C)0$zmmnsDM&^7YxbFJ)M*SRED#^wn>4 -+9nNRY=@?_}C(sxb=^)AX=Q+;kx5l}nf1u5UsW)1vpGw0kD3t$ynd(>9v=UFqHBYtNYW>jrCcE};sgW -eqB^m&2-Ve`==}f67emhh|LRPj!z -1P@K9X8s4rtq~jUP#c$srP}N-8{>;|CBtIz}%C<&=%n~s5E{hsjt@PCC!t=Fp-s8fw%?mv8bM{+Fr0E -f5=lDrC^y+me8^Tnuo(pa~IPuHbTG&-)b2Zd@U?8e8BE{afSO!i=BoiM)7e3{-cf3RyEE?-yRzSgW!< -L(VI?-qPgA5-F-dTL>-o1ALk^Qkh|b*Gq_wGz+vZc0Phv#Qq=@*b=xCjxle?>=^s?sCNiWnHj%uDi}_ -$pN|OITC2#dL#4!r=oetq@vfG4VuNm7&b44Uq<2pBT1^&d%6p^#(TsZ!nub5o;u|Yga{g9);K8z2BM0`|S$l&lT+&LN& -95jufcEb1TmOkiMSU(&P$%7N_^a)RnL=*L?)5oHZigA1t6Yf0fXw3UG&|^E3`<;mLF_QG4gz%?NF#c3 -5?ql1}xNpbeW05`jbQuO80vCaw1_$)WWbNFPL=HcKB=|HYQXe}h?9>rLyL6e -Odxmv_+A!_kj^75)0kcNXUq>(~qII0vZa*yT`%=a}0_4+oukI)7e -Yfj=Zfcip0|NZdaQ@UB_3oe(@3qq8eHsVxo&E;15JEb3yWG -04Y9BnHQ+K+530DWlH@qffzUvS}DRQbdp4*6P^*Z4WNMBe%cW2o#w?texIJ~oB`v!gP3A~_F#?{w3TA -F)#+L;h8vlH0Qcuv}{J6dlyLpU)*K@iGaC!T{Om%PkxmZ;^iFC#2aLFlvF$d>fb1YA3v2~-=7-tFDi= -tja7Te!(m&myS@k(d%BekIvim9|4&sQx<=f%Jmzu?ih&)W}MTbIz+68;~lZpdRE-%Wz`Pg=3s-qPm`@ -0DdY@TdKkE^wQ-b7DEeUZNg%^;?NhepT|Xjn-e?sCOcNKEErAew8m?xR-*586pX6@+jFmrJiCYZyK -r&?;*Qx81zVStvlVM#Yx@P@=UYj;rsg7+MKWR*LWrt#5&1a3-o*!jXNg0ynDApy@>2FyqsALxiPtae{ -~R?-8?+aSo4(i)cpmv#M=tk#(Io)m0K=gkrU!)SYv7>7F(;1Ez-Pz*6&TFE<_0vk_1YNwR3hHkkDkSydaf^JOaC$m -hn3A8%yL)?ifH1om&H1-I0@Q4T=DQP%j -1v61JfT1KoyaM}zOr?AAEc360Ruf;(7T}g0E -^48tWlxtw!;|Lu`DEUb&{YeHJ?fDQ_)|+pUl1GkCvBOvw!6M7pk=X0i(^wGONSv_xLuLBvI -*!!MC>!=Blz#!gak1`!t`@vY4LyqeyTK7p_%%_c^!-041dP+G%d#{w&=gJe;1c!Pkq>C6O37@QEC$j$ -9xk&^mu#oUNR>Iz3Hhq%NB+wHZ3r~MlkI-N`qeuVCCHDe1$p$*9(q#5A?~z4J(ic_ -qo@@7xS5h4QN<`e8h}vjSgH-9j{(U?`x-<)$=8p@1-!Fc`2W8Gi`Sn877u4D@c%Oci`Rc7u=sMRXXu{ -ttxDX$)gA>_r8NoXwntkrK))Va1GSs@e7)5hLb8$UKbUq3yt8!G=KPgKJ`pleFSw$60xzjJlCtr3roN -%)ytn}T)5QIrzAm+1W{IgzR&}N-YEr@Md8g0(dy1ct24XdcJQl1ltXt0+vQnmIE#kIR08oB2-9B3C>d -K#xpcP*lG{3hl8SLTZ@)|yj=v%nF7mC;+Xga0ky$-tvOR^?@4c;%HY;T!{n~B1|-+2YSYI|gjTc-2IR -?~LMH=5WmMPa-OmLDOdv8?-gSp?g;i!_UbJ}_S)GE3DplCbwVf8Al5gqB`J< -!m}pP0zA`Gb$2*d@kZpY3)h>P9sp`>nr!21n@I>!azR>6kFuj-jdh)hrWAI?}iv$O`D{6RtB8NA$ZzW -qnyjo4)>XY$`rs#@z!OCZm4*Xm6?HRao&m+P7Ixh~5g}s}Mc^JDhpA@y2R+pz@sK{o~#K`kvQlJJ3Mh -4PB4S0Rqwh-b#2Dz_Pxpsx|?m|MlqnX345Au{;?IIlNbawMH=1cm)WJ+VUeW%R9=+;4LI1$X~DnPYQ( -I%rJo2^lkhFU5?Z@_CdRm$rNerW9Ler}m5R@8R@GS&1dx8=0mcM@l+y-{lb^GNO-&QJ5-Hg7!I9>(Wa -%u3=9Ccz-|X@S_c|J)(*-*^4qBJr!;{?smkqX2Q?NSOL05 -m?QpkaQy3oAOZ#K&*A+`gy5*BBK|aY6Fgp4bj^@pea^hjDKpZP`D1Kbw*a80-Cr1Bx -qmkK=<+%V>xkW5bXG;;2ur1c`rj?%v^!{76+GpE9On8SkScd|)+ss2->20pr1r?dV^EUVMOFefpzag4 -JZNSkhtpk9Dd~CP!nrL}BLd?Gm=`9wpFUCvw5AzN~m1o$1{2bDKmgP}`5fi2yfC`=GwJNg&6XoXT3Lv -N1naC;cH)$j*yc($RNqCEnt}5K*$Pri!)ywXjGj51{+0J>nSY&)(WQxcyRE@HgmT=jP;w>ywbnx7NLt -4p8?Wr*NB3udzkVfIbOTg1x0aCHG)VtI}uEg%|0HLe#BN&R3ZVBYyRYgu2(?z6UJr{Q3;@E|ai<96LP-;r>JPiu+2V^My+O8OPSw-fO2`Fsb*6Pqb73Vvn?eYIH|wS)IoW`h -7NK2%+twRHSUl*lNoi!qNye$dY%qI#7Mpb|0I0f$^)H<6*O!9ZY8lT8;SrUIsYNqFgE~_(Q6kOcBOmBAZLv_d%Ci^1J -bftA;$F1YOmp`oov@pxM!tM9|FK|ovQ#=j)Bx}&bn;F(zA>1kd=WmbCA4)3?Pt*}TI*0Ow?ts9x9ZvRnA-TyJ<7;#d~}O(60Ym7uV(x1qY@S>=Juy=4)EZk -%V-9#a>B$$-M4S4;9<@iLd%Ry_M9!$Ld2EKoN&9(jU<>hB!SxiFwhCGd%%t%Ss2uT3)D#7oOj_{j)5R -SuU35s-#CPpPUIlKcj4edKAc$cOcj8qAo{`wQ+d$a>ByW6&;Qf+z9ch9Z4>+Cf|l-^)9oe+h@g{rBx( --GYCDrGIePH;DS>A%E`ZBS7@19>HN8$0-;C2?U1;2t)`R#4!xTVH6}t0tP{3pDKR260y(c;m0fyNsj^ -!rg`@eu)>;QhET;=i -jYIpQ$DAlPTVi3sP}G#c9lF19KAZQ!H4GiuTT -9T#@f0qs6BSR-HxzjR%4srP=E32|W)vzMQk}B@isgHujYPOD6$(wVy4rZZ!2V(3u$Q@0fVelF;LNgr4 -)w5d(zEaGed^c_TOc6!{7k-S_GDrSkjF1;9x+on}0muds-s8JasOt_?|#GWUov3U9+SXz*{~`J$N{<# -H0(W^K8Km)kxCKAt&%YBTn#wIFqOEYE85&4WCnobt!>B*)LI`b^8mvKWYi(J+Gwp_YZXRb%B6c=Y+@c -7T<5AWFFPu&RCbEY;(s&Jsi7UpvjDB)aZINjzv%FU^xzfGE2?x!aZgfrUUkE$N|0&ZHG -_Je694MV*@mDiih%l+ed)LZ5GuNIuDS8|06&3xL#OY+NC9RbMTV%22_ZO&d0U+_cmm1-vJr91(@bN~6 -|@#(T^q?4Uq*VY@?fYZgqG>yw$FQl^o+@{c_{MY6%=v%o~R{?qyqo0)oog<=T$KK943V%tT)yrrmGJj -Q-bGa3i_sEvjeT+b!hW-)?GMHGpQbB34(zwP|se;-*8^7g?YqNX6O#}!}k?NT^l02-FM8?mp@}J6tUv0YgS%@id2XRTQ?L`+!#dSPuE~z{gj)@`m_L_v=g$&C! -x~%MyKzEkHH}CgRf88&DVg}bOX^Dk?IFIYVEGWoq(6BMx{++gZY@QHi>>H4EM8!i0S8fxf&ga(^&imY -sVIX1^^E~ldSEz`fJ%jRIP=3^E+S!zNYU>wbqnQgj8U@w)gA$f!V$eqIR?8H8DJ&Iuxx+=gwfY?*<@w -6tnq%f~JQ~d&QWrJrmg4GxiZevn?V{mN{JBTH^(Mv_L1Sa%fdSqn8y&dJ_*dOzg=$dAXu_-zCZ`5zt# -@BAp?0!Cw5Y1NJRu9dv|zkE7lDIXTbSQK2)h`(A;UFU5=wi>Ys1vG$}hfVV%_V`D4VxM>7`0|>fU=wj -+BN}Cb{2B$QsvA7$9>E>`%0`z}zd;(yR?|BCnp$a3!WuY}Ja@*Z~P~DrJUN7xYty>r}U_8<+<3a;^aN -!I)%i?mSpvyG$-5b3ea%9o_b>TQzi96qI_LL`?AX7z!kPvs^ -I@QR`vVCe#@%hpI8+_fe?m+#9@3uVLPiLP!#{90H~d2?b~;{1;RK9qXdloMnoa_`1X*Wl8o?64m&;)1 -3QP>V|)ny*fs{ogM(Q8Ix7HDNAnZ@X&xfO<6j&dnQ9C>VsZjI#0x<9tJrb^9qH&4`*%eC8^M3as?v`H -b9nHv!*wz^3ObGw5#rEG06%Wq;m6zPFr*}oO!t26{k;2ycaj*#NBJ(89EBz5r(f6Tui&@q6AG4~wFPxP&%E(5uvoXD~{v` -KTL@b(-&;5c=f!B*{t;C*$CA4H0(g$8e-fo6_cd6RLLo)B)j_}0C^FrDw<=A2_%UJ&47)4CgUU7gH?a -MWuyq!#W$`U<|_u8&0`xsSQy||KeN^c^Hw?P{4R6tyDDX2%QdJHESn@-f)01+nWUf{9(g{RL%Zt*WfdvU{I)vSphFNrS-@is -%v1qetQPwQ~Vk6^Bn#v!h3o&uGFX`-$RgK2Gg3Eex=ypp`GV8$hOpFs<1q@XjlDsM -eXo(UJkEJk6_m3g4L}6t*4%dpd#)i$J4wr(hU$?aLvtw_Gcs@ry$&17^Ss;K1sWZ|YQ0DPovdc9rmq( -uW>IFaXBYaPLRCbXyp!g6_Vq=+lVOt((<*eAXyL#=KvlAs;7K&@AgV$(@UA=i*3(6ht~J9DO8I-KZ=X^yo -pMioJN>PuwI^BE;>yeU=6y;HC79d7UGN~;EV34!}L2rhn=x -_*v0#)NwGBYl8ZYQbQMBe^xDrP`JCcj>3n>O5&N9gL{Lifa`Tnt^se^M+cDn~ELEEkd)1Ok>Kl*!%oI -D+KCMW0Y^n{b`HLb@%_+TlCJdxZbYC<&udHnFmhpY4RJVZX3lXT(Nt2xTnATx44L*gVJLW;Dcszkax(ojuIKIB9 -dMO$m@hl6E&zL9kQ|dW+f9@^4UGi6icpl&vE7e%}`I!Y_>bK2yFENSX}heJ3U3O}lG3ps?3!4DQ_K-& -@2YZy20d(J;OXZ-cDv)-5(czb$?TZ)b9vHJNVSlAK1R%T-Y7rz#-2`g#OSOjU{3TZN9IqRFX?IB$a!` -LcC{lO%D>i+sr3bA!D?-vRe3GWJZC?IT2iyEVY(1_mXIJc{&^5|Sf@gD`4poe+FJ=twmMqot?!mP5Le -`p;1n^3PD!k6-pfRE2zls&>ExQXqjt5CQIR>PSuD2({xY42CcQfe9FeA%p-)3Pvc5{4T-ZfIZ1kZV8j -4SdV|HOh5-5B0rNOK;$QiIK(?Y?A7o0KamIO`a){m;Z;a}YBwMHY)brufS)NCpEOqb=^c-=Puo(upZQ -0qiaf?N9y1=(L!onj>VEbE5Mjs9`(`ro$fgnS!O1<6WZ7|gDEkO%f8;#D&s?fQr;|F$J_&i`%y8;xfk -OXu;MDI>)%AUk=(6l!WH>{i-V+1JJyg;Pi{Bf<{|l&U{T-@0h6KRhqN-mG{x72{^>3r9ZJkjgK#8Xyr -=40p6t@b_A-{w&IF@O*ycp@-N+D?+c~)~O -neNNBM7j?-I0^N5hNy*@4{287-NN${qrn}8tFmufj>Cn@PigLuzq9pI-&>}LxeNka_f>a{CFoSzWK<= -R1hsvF+j8Ms6=4&0+-niAha5Jw@#33SieK`s@evqKoHSMqD)R>Zx$lH6T|voIU2ZlX;d2Qva|N{pJf8 -A#XHvflvx3^L`_o}@6Ds~cYp>D*w?I}$!Q*56QOrO~pzgW)Ug8j_{eA_#E=HP;3ht!JqwSj*fpI?;;- -Idm7}^)466wFq4A@|=dmnE0E?KW^ewOef_Qfaiwb7S)%S9&oojrQMh2rj>}0oSLjEXn8J4^|^_!NJ=> -TOQ0P#J8>sTA0ceHjM9jCw}g<@3upi|>S<(lQiZ`|#tN6B3v;gdlS`fbX)t(t#sS?nqhu0jlE60(L`)ebsBEC5pfOBYdX_0Ciy+767TSGGbW2wg!?7T9-%*}9hZ_vfo1zs< -XV}>N{RSS3_oUCLUBY$^lA?u6Hen^aVS7!B;{!!W;39UkGbCFYEZS~S+~R%Bg4#=#i!bEB>&*DOm5kY -QdXpNboB5H6>{q}gM$*Dsccr)&7x(R3HgEkCna(;^4MKblEblfx!W#h6)%hj*PBamXd|HR}>e{c!KjS -QifzR@^KcW=q%9H1Ad0fg!DsV>LKX!~PEHmwA0HSdA%MCje%cl(069k=yj#G5Cw`ba(OQol{xg@xjt3 -_RWlU~lS`yH{$UCR}>r~yb-F!_?F}mrA}6ah`2Fa; -CFHYxFVK7u=GIjVv#h7-KyOtiHJ{@%IgJpph{S+C3q%xWT^EOW>>f?Y)?D8ozzjH2HcuQuU%`ZQ1K;5 -%%Bd0dt!-9f)QBy67nw5Cx)rOOrO#krEIH|`qK`UZZ&)vgy{^d`|WzabN>BucPqy>DTF%7JLDK19K?V -teCwCRm22KQL;fkKz`s78q|D2s73e?oer!mS|47^y*mL=!TmJK-QWqbb%XyyvPqH72_hbJjeze~XEBU -vJ{W7}b#|!<2xrrephM**bgCq*>kc&b{97R9`!QmZzp%jRr5cNIubpWQ%sLlh=AV(^QgpVTJ(E>yqB54|Jc#U6h;TgJZ6FK7lQpM)1^6t -?mGOJai1)v#`@%A!D$aMh%+}}1899ua)V=>Z6fccdYsq4!Z6*2mwA -5k&Y+bKTmr3Fg2;xA;a|*2TgosP&6Rb7h)IvjG0$Q2PRd_c;HzDBjOAs -$tRE+yZFO3LTqEju2&>F0|BF-%X>Z)4H;8!Ap|90O4)yXyV!y%W^~3#=rm_cIb$^@bX1GoFxjzU6BR7 -Xm*=Wr9rfm9aAAWJXsW*wW=Op?Wo(`MX%0e+?LHdRJ -UVd!$>LH3~WN~8SDT$lJEWyJ-j%xXl&>uo^KEi&ufy89usYwXLXI~zDSHh+(ydHD@P6JQuypTQ^Ay59 -QIru>aJr}qvbnl0?0KVWFCPuH#Vn*&RV=nTy69KZ7?cTwS0vK#9UsKJ*&9>RGm~aCh -bFo>yp9m=2UNWJ`3|DXJDkS?&k8;luRI5iDwD)bkaqJt=HR}CV^pj%I-4n6T{3@eJpIEMmbCYZ2^a+2 ->JatE^Or4R_lVMW=L{ikBMlX}+2Ot&N7O7-Q`Hvp^J0q}v?0%5{NvHT17yEOki2T+mqS&EIPLU7@k{E -^%2t>goLZTG5<4z2Paf15p3~b`V_uRc80(~kzUy>2YQQSe&W6pH?3H!t3)13Q#`b>r$4F%z67}zm~gg -p9sp4>$iw08P6`1Jag-l8#V-|{PtgdC4`J-x3xZ!>h93naDEgVvxx3crsNEcyl -zsK1CWU`gV6dZN6+xf=4d}Q=^rPvG9BGR`bBe5aIK>$LuT#W@@Khk#hTJe{Dc4GxHUf- -TNAu!M+iu(Mx0g1$X>YQiAY|7!dnS!UK0$sXXF$-Q8J5hE>DAXw4Q#fDHP5*2u~?VV%>XynL$B;YDeL -a?R((#Vlgv%}6MHAh3?dA`wCLO2^9^W^9Z42RwYNMfcKer|1n@mCu{((?c!hg3$OR`9G!0j{G{!a28t -USk8w#Ljt=nN%O;>c&OM*bRqh%p3Xp?z`BHWsI*EEy5dBcR&53rP%<-i?UZdtfa*Bc*@tAK)111zeVR -mB;0&h(7k5;SjQ0P(gy9PA*#0`hE6!j4>zz_C4fq!0vA0v(l`$YL>JwFjzZg(@8y -4&to6nFXl#8{9Mu%hHZ6srg|E;Kkp2c6RQSxhR^sO?ec;s}yBz!j-{V?_`dN-C|$oF3is`JY+_42JUs -B8ab+9N+NzdoBBwd$|Z)1%FcAD!y@c+N*Xn#C$0g26@N==7KLG-&n#+;GRxI*Cul2$qY8{hAn#*F%C_ -`n?d)&$0o=M>c@@$Oi0?^R;D~rY%HBwreP}lht`=b9fYNUTT!tIBWKj0QjuG$m%KA_JU*2@p5V3w}C| --US8McwJ+O_xIggXgbF4k(f850rm?^DqpEG8xU>rZEkt@wvV6rXPQ!^&1T`J;#t|IAS8tu`XH-u5WCi -`zZ}4Cm=sgPZZ`4h4YM+8r19-yxrIXI<>(zpIAgv+cZSJW^E+njq;mc)YS0*=SYF?TgB@lw1C)pyb(K -XV(!tNU|u{vR2Ac4Gv{n$J6bc0mapF69GolH`a&C@M#33jWys*ZNKiFtbxaIux*fyz&g0lX!>VMnu5Z -owun24!{;S1gt+*`_wkl)x#0{D_`Jr|ys(Rr}(bv?cIY^OnUoX-m759f>Jj0DEaKEI;F?p|%La_o}V_ -Zr<`ULi56Oifq2Qx~T9?Oz<}Lf!!NYH}!tCx^w@Y#zCM?vxjJiQc1S%3!U*WDzbJvEnTJexx9@RUey% -qCGqR-wBIP8r2-5mr`8zWqDhyRYzshH7{Z7Kox6Rf$hu3W;w+CdBq|jgT!|@u5uPLIm%xLx3m_!Zqdj -w*syQb$RkT7Ts&X2_ra~becQf+V%#O&2hADU#hoCDQy)3e03o9APy8{Er;i9*p@a74Di8EYM#^T1aj0 ->Gr$4tH4yxGqJbJlt$P7WC1R~b2%tAbfnEt{d80{wN5nKUrUTqUcThAX8@-Ib9W;Yh;8K9Z&2{x^F!$ -qt%{YSk72y5I3@5VZKF*;xaq!{5*(`o6dMH&MhtS?G^_-*2LaPtg)ZcfSWB;O+-u3L@}5jzEqfgd~dK -D1?4DcsS&7k|WuLeH0tB=rax{JsP!kEDk1zucGiHyN2xn!S@@ciBC`R?t)0_a58()vHLze`EbJUL%MP -IRLE!MPC^|64G;b6?}CToe=B(S>wfR3a{ -~Xy?;UOr_&0v0Z>q$r&)>fbDBrOEO?<$ls%8vY!xl?il5@Mx_Rc4) -bt@;`WFex9!#p6!4iFOhlC4|_2|@{aNVD0kD!y8ickEtW_MVfpN%_642fO~LJg-f$QdWp;NfLOp19QG -!Z0~E9SEqoI?rnSI7z3!Tf;hh0q|>QFjAA$-`ZkH%9mD)Du35{zidg1^k+8rrJt{zKi-#+rsu$r7Jyb -@l5FQQUk~Qh?l?AYz4&ZN+GCYu;@y@KWE5diodR@4+R*0CqBoz8pQ1z9OirDM#+bQ&4Sj~U5((laXH>>={Zl -V~3fgpyF6hR;aNDu^t>~`~*P6k3a4xupe{iF-|>GO$?NvDT~e|DtnBlJk}A6-XZgdLC%X#@L_dRmek_ -VyTSo*cRV-8Ahl-Q$EKUF$4A~9}pj!ZuS{b7G{U7#N)#f6CZPVAU2kow?(AmxAUW-vxBhU=1jEp;QMdL)57?%SA -QK4OOQe=BC-zsL)HY-jOnYxYZH@2`?B#@|W0l>b{vm%qN{W5<7oNOHz{W(#*Hj|q@+Du#O`hNX0Mm&j=ak1fgNQt_yc%;vl$;B!7M=KOJ#DWgwa3yvu|m;q_Q1qJN -(f{4*5C3*!lTAB+358x(PfgQ6s-%TnJbh!z_BmH#^V`wqu1I^35p}K4H1o&#>+}QZEsrj3gyD7zxamC -U^7yQ(;)KG{o(7hY5-MIIT~)f7!Q^xUpn!!Fh8L?YuHy0p3O~Zag+Au!qzNuC`K-EAvBn3Ty?Ba1=%y -eYDs8?Hj6#mJfPrOCf35YSa&<6c&nf>2a?|gWa@v3B-g2cJ-CmqsJF;`G~<_&mXIpAbo)XAx^n+D-rV};SX`3M7+3-SJmojTd~gJP^W8^Z8AG(e4wg4MADQWFrbfEfk+2Fjl^k=Fuu&YngXBkG)>d(tGj}E -U-#?ueMOijU+R>iyh!)Sd@$H*-X1Sys+GCN&{k6zi|8z=gC!7dyD6cTyB=-HtX0RiN*}RXiQ^RK{6eN -)eBdhu*FL1hX64eHeeb6diN1j2f~O7t`7%$o?YHvXSh9GakRdp5~PhxOLeYCT_$HfM`aPFR%G=`Q8tv -60_Y1;N@9-APNHxL)dd~C-a*mOPd2EZjr|?!-g9HnPRJ_C*y*Xdx%eaIFV~wsfUN`!XWeR}aKl>u20k -1bgXj=rUT$Z$#Vc5smf&gebv8JVVk5Oy-a5ves($I?LX)2k1f2aQc}s37+E?qrP7V?D-kiK~UL}JGos -S( -_aQ{tgh;u{vXq#|3K^Z=O?lB56HUzc#*GA?avqZO{oloD3IDg8io)U34;`Z9JCP#!4V8b$)j+FK%X(L -zk_X1bil0WQ&8Gr5Asn+Ib^l)gX(ciF!)GpWyw$Jew_S1fh0RJvB^i(BqR@@bj*H*k7`(!9cfr9`!ub -S2N5`m4s>^np^bNV_#@Z`e;VDPJo-$3I>gAxBSgnO^JQV;Gb; -f(U?&}a|oKm)tBK^e0#tgO*wYjt>vzil0H0X@HbwgXZl+p8XZ~_p5Rja0HoBt -=(*g+6@C^IUt`KznbBnZz?65hC}ASpN+3=mXMWz=7w!!FlK*9QIW=?9VO{__J&Lvr7d2>>B^< -5`phs=L;iG+d)3gr?(Yu@Tb7l|s2$2x+(joW-Jo_}*EzX3_)t4XH- -jEQmL0He?1C6{?&nEItLdRuhLnxV*dWstXTE#*-(t)LJ&44FvBl8;%ex3s8)CIzh{j -boiak8C^uPQBy7-MqOVPgbrtu|yCL>r!1N%3HY;iMt5j;*`*)N_8(S@bzr&x0rfA-;{j65;O3;oxzua -^xFA_zi!4=e|HZ9l+rRO`E|K1aP%(9JBwCqaUU2X>FA-0)Ax;=K0NU;<&U)}vi-K1apiesFHe(19~~VC$#7 -yXYzjgl4z3W_hG$bPI)28(C>uoQhs)pSYKf -gTBYuJ}hARZRan&fL2jmG)Ps7C5dq79{r49DB`v^mMMGf#K^n`Zc5pdN5wy%$cM=nBF6H%}H4J`q*v6 -I#8h(~lHn|62|Qep3(r4lw-SLV8#rC*&s_Ghgt!+79o~vZi+Gy8&jwzCGBxPQN>9R3weESpUYT(;$T9 -s0AlJxc1lKnO^&T9V0L>FH50?N;omT6}nFqK$G~?GsELL-@u{e6P_8Ly)@xVh6?>_cS&P)>Yn&bAs$q -lRen4-zS-h!ce6d2(p>mUrCj$IL`qAYm}0xphow>vLIr2J(WVmc%{xC8HT@YOSdkn7Hh)=`RCA$J!tND75}Dth0;sKc -DBCj%EKxOQ-oU)ZgI4f4kOKnE030`EAD+itX@_z)^yPK#U|v0;3?3fcE1!juGVkY4LJhb>TPK{0gGj8f%i3Q36li0<^ -Z%)}$80eMS)cx6w-B7uN|dPVTyz;54SSe|IE)UrbEiaXT*8iXMN#iL&e3rYnC{XZ>4P@k^iBpJ2s5x= -i4&T<0HMCh%9T^N%hQ_@nFmD|iw388Fg(>v&pDaPVAipt5+J7fqX$*|q{1IV_gXlF?WTs@Y`I%iyfu! -fvF-GXo$u(H@h4(AL~kz%10`kkpG7^ze|%0=V))1y0^dudgrjq|0wmpYM`P%eU9{k*Ku~OtR?stsP~! -dLjMX4|}@2UAGf|W<^1K!x(eYA>A~WLg>uAFjv%f+#P(WXY3To+Zhmg(0{uZT?@l57>hNa#v&L*r$us -Zzgcly-Dc#vruGegGl36@P!dk(vwpH+S8jLl66KSojwdKOQ^fvh#OF$1LHfP9ZbCOQ%s2j}J6YN*FzcMy -vGnS6qZQ5)$K5JHyG(%xCz#cO~ -r<-CUJW(8ZN_UK{IB_ik5cLUyr%44`nI$u9zfTyYO|DP||v`XXO3Vo2zR*F46^ZQ??F>hMYZqta*12) -#U!=m5+hg-^&g;BLHoejv%``zUc^G>0Y8TT9v|v-ZS;XrkTo(lul%2njz^6cgx^&YExK3Kuc3U3)Kja -H&Zy5%7(8e9h@4$H$0|+PmiQiZY4Uy13_v`j4f3fw$Vb3eJ7MlQW-fSspLI2fznuG9$Z#UJCTqlX3tJ -c(5M+JZnnI;7rx!tn)VRyeDYHJ?wigYQ4X)!n|8ce`&$ZF8Ifq-r4+2x5ml-{*N}*Ct&=Sw!6qsE9(gRT6tS{g414y3nhVNE57XucRHToRM)0#wz)g$3MQG>p2L(c-^5rB*8HAK*ovW&g+U;y+v -K_jvIS*7;3l5k^1=Az_4oL5QMI654ShhEw~mD2h-Nfe|o-px-6Zga?29kSL-)LXp{lWhCL1*YoXBx1m -Yi{nH^irK5cUle9%hK&!ny|I+n=iQS?JmjgkXo?yuUPgNH|9Ie`x)=kUmC{wa~BI*2sIe~C1n^a>XD= -`4x7xD%n3KBvmRBhq|9QNX`JiwBAV{ta3@P!#YDj1mk`{p*><9W4H7X7SHJG4OBD;&GY4KR}DWxlG_k -*ZGy_{{xzTI0$C=%$f%voe~_f%(p`Z;SM&2WxB&)8fF>k<};YI^ -)7~>3wdFY|8=V47fzv7=G|^kfBlQ|>)#Ih`Bhfs|ND=Leq*rz@giR>^&dRzH})AtZ~{U}m_jKSrf?J` -K@y`t7=}JNcoad96oC@owa_qlSWcKY>~!*FmJ9e3m3#tl{6i89kIpIVOQ4*7*Fx`>c>j;#A6XUf;Pvn -3bvNiCbV#@C@ivtm<)kP)NQ!BCsMCefVK<}bM*|Pj!$qK{yl!d&Ot;!@HdZr89BJ__ -VZvier&2LJUoE2)ep^4x9Lr_jah>ppRN7XodG}E+F#unpbGWTC-7_f;@3aa9&W^(k<J0889q~4p|OgG;B_Q;aPc$4XDuxr$*`k9Oi%q;8Y)GRl=a$Yg6ilN4;`+EW -WSw8zWqt<>st4*-x6o&-hrOR}79+l|*I;mt$K2Y0L>Bog-pBGC-sgErLb6VvcRx-G_eqM4Ok8U)qeg8nhgz~&B@LRd2uUX1vycFc^9=T&!k#%NGFdET0?LFJH6#_9m_4Wv)^Be6@Bsr9!Q2fKBj*f@I@CRlK`jok&Pw{-; -50V^dO)&eE#nZzaBIsfKcDQ>;VPyvuF~dIi6FRz{lFz8t5IeG$8Gf)Pk9s@!>0hPxz5Xe%6pvJ7X#HZ -ge4&w1)_=Vq4`aJjiL*w5FY~wL+J9uWp#OKx*6+6V*Ui>omE9*h{ -!2)G-b6eXEl7e{z%FlV4zlF+v!}q$Ses9U|Cqq68lYg{GOQhiAW^_>fxi5h4v94*|?fJ2J!KA;u@ -`gc!3_YFU5bZ!~O(8PSZdb;-U)`zA0Sv+tJAZMVFu_Vl%W^3^{al*kM1d-3d+H})zbWsJB#?+z*eFXU -wS-k3tS-M6r_+IDUdbL7dNPX%)EcfQ>%9d%jr?UhXiZ@_{U=F>J^bCjHer{f-LDMMr`P1WPx{6d{;P$ -)+QUCzArDDF3_0v*3LUkgkA -%x%9JAzTQ`vFcZWfQu`0OAZ?PmDM6ny&N;XmhBCkIgnTEAL7o|el}|9%f<_zgK(2kc)BIAZhJbr7@gJ -tGe;?s`Oq$M@(Wy!P)e)f#8zXVby4vYlLn0@w{t{b9JY?*3gK{X13%cl5XB@@VMzIv;wsdfKN2B?r~! -WA!BTiz$@0pH1O>|7IqiUH^Iz(nA$o4fO8=za&x;`4?2E?~<^n`ARRI7Hiwh1E)y+KJ{`S5M!_aexP6iH<{KaE>@L+zom^R1@)RXRVQjSUtx5mrEvufcuQreJU<2 -D}b^b<^wVO;hbsr7EJ>6%1jn5|I%~V2zoN7e8ggQ9L)6%sW>TpjHd_#XM|pnapS4eYTy@6}`7X-I}2$ -bPRcOON|wd^BUUPy*^Bec{_zIctXvh;Raw9e%hW!G+QnI7`!XXYOt|NwYbDQbiw20y_^-;4+&{#ppnw -3yDCqMgF)SE#7`Ot;0{41&Q&7Z(&gxYee@fGiR^|T^7~#TbeWVwuVo8MVcaD#l{>qtW!0u{)DlV4Cjc -$qdXTV{h-nxnZwoPEo^SN}js?C@r&&lI+m(XtnugeSB@5k?^j4y&d}JUHY!h!lq}D_ni*9*!o43k6ge -4aF!HvP^nAe2e<_~SwMo)X7@Km1GYIbxHt8b-t#ocoACV<(x@X0`Uw}mM`&}v{RhH&Qsxn_723i96Mo -Uqy`BboJkox%i`6p3>V&SScYi9G?H({9iEa19=Y4Y_NMXw>TvONc#Ba^cgPLz3w0_ -+k24ou9kGwx$OS}r}12ZsEbkdqy=TqT=3rt-og}u``xh0 -M2)s8mcP|zHqI7bKNA#Bs=c7z-#H#4O6M@&R_h;a+-$#LQWB>C}Bvdg7tzJpD|_t3?HV^61Fr;JWB=* -l0a5MJ(-YD9;ci~UqSR#+NEpI*6D_=a5b+EyXtKX;LuhO4P;|PCyD$z!TC(+>$S@oSqmQFRcp7#?p(3 -IB73abTu%-a*}Y`bRgAH@rCc#ebGIjeGQo*orYE!!UiY4-B)T$!<{Y9$Q8bUIlqEH!(lud7Bn;KV+@O -fr(X`#Ucsk#k0OYo1>DhKips7V=mncdl`9kG&Xt9Mm-Hm87Ol5lV1Yur<65%V&AFHH7m>bkE;2AIk5w -gz?PQ;aflTs?0p_`7$$>=V2RFCeoaoKYZ4GO0m#ru%x_pV0027QmHaImle3S|iC9(Q{%|JP&C@1q^w{ -RQy+8|3wumic4c_1`7FMO{1SLcUwXh>uD|_-P?a$)g!8gAS32qp^)VVmso~>b8TXJ(!Dr&<%_qd=w%* -kk1iQMn}B2|Gd9w$2r77mpRf`QF;I`nEI@p98ddUiVXb>eW0KN$D#2-%%QMPH3UDR#zW%b1EF?AwPUX -xa-|;@%pO_7AB8{okODl8P#@w={9(HsP0z`(E$mN=7()C(UFEM)*S-2a>hk|3>Z)gX{))PoKSo`q>;D -&deVsIUOqD#QA=^BrR?X4$y8>$U%fVT#icl54RX4`eUzZLz#{Hc6>xqGH&b%l#-F=-?DGC3DXTL*dd( -i5Zj0Jp^K0X3>>32G6KMP#sAAt+@BXF@h50p$!WmebLHdw$OEJN2zHzIUfqtN9cTNC!8a|)F&cp-V0B -D583tX~dp%Q8by?mbvMYZLrS&QDaw0#50prDET8kZtD?Ja0j1kC5Tq<-mnp?o>SC+DE9kIEOk`rdF_| -*6utOaA)Z;lIfz^^!Y-ZDk_(KGQ@?|JW9+lVI31@+Mv-!M_@zEzfpVtlyP3`HbhVe2?AhO3u+UCw`|j`SWPbeG%@Ktjo(CFnuJ#-AY-5N!A+JMP -kvD2}A8s$90r|RH1q>pJb%E34?;LB`s6T5JU7R1aoJ8GP4D^D4bLrJ4jm{UBCk0)Y(pbNXTm?(D>2WV=pdV|u{Tf}Lc%y^U#WIHCo-(Xz=vj~uRLGuf(|k2b-a -gC}O)d2f!C+4r$y!usaL#8s754#Gq9%nrAfj~v!!f%#@Hmy9-*C~PjY5<#%0#?m4_W{vZ%O=3Q2Ejm* -{H4sUMT)F%D&MM)pW5#lcWMu`|r>45R{0#Uf{>Y_Ma~04m}lzU3iB@tt-xxmOTIMBtFCkElSPDr!Vj0NC$VC7J!w7J)}Vkbv{_7vaXk(Mus$@?G7 -Wt;o@EMlANea7sc0J8dema!_2RoLrW11cENg;}NEAPb4qLtK@OFDhA#iDM32!*`o+_MK)>jlXV>GzKV -ZesM<>U))BdE$y)83!#I3v~4=XrT5{5torBEC}VT1 -xP_(*S&hoS&ZA`}XLS4SX1j(#)ZQ?uK#QTi!LCdf}IazH4QIvTq6uNd{|B>O?0EBojprUy|2{fMlfpQ -0j${Y0Wi=RW?K{dGtlr=QUe@lgmx!k=L5M-6GoQH9*kOGU@HuH?fIA)^Cg9Ys>`lk!iG;sfy+ABKU)e -V89?82DJ18(=`gi9^7;G-EIlcdLoNDDQ==hQTo**m7DBsf&u=YszYqOPX -?GPnu%r)^eP_=ef{xwCuVDf>&fG;Drjog6u0OszlKHU6Du;eps^kVZstYZRxNd9%cvB<9c$_|lYZup#BAPJ+ds?pj3T&sD!6vY{F1n8MqsAaCdqaMp6X -Xux@!!+R898-1xUorz55w^15wozuHY?8to$uLANWRDwh<~fjVZZ@O}wh~jMa%p3|E{X)|boVGbh?WeD -dD!CpW3{v;#XjUoOc=(m9tlcRB+Dy?JJ!SP=y^yn%*T?e^Wqe9xfigB67&S -r778B9_bRCA?zV!fkvMTx`%M=!Ri->7OMBP#7+*Rs8chG0RAZ -P)}M?ZDgD>#lkk6XlHwRCM#f(|E0jSv@V}Yo36s`Bn+#8IE|L=fybbq|V ->mRA~x4PNHguP*BcFx&fk?Lpo493lKbEekl -X!Cq@!coqUhi3ko40St*dew9RxVdzH#c@AgBaUNqV>~wmyFn?{;WR3eBswZC$_G8rP>`2r}67`GW1}& -5_`<7MgVR6wIA38qit@wOI4IQ71`^(>%H7^*5_lWpBHR~bFZ4_Q*i;%G6+o3Nn!6UJ27Y!GF15L|IgfeExT>5+k*Fa3SV -{?dvD~ls`>(%APA5Ek?)WL5r|Ci=?}oEDND9w%dWHgbk*|mG=%UIQ~ba2g)zn$AN;5=J;K8$4Wz4y>< -3i2wPNpP^UF#^NI6u86OsBrZB>_p;xNc+U5}Dh6vO@HBLgMKSE-MQ_GJW@GG&e$Dy396Q+n#M#bIGI7 -&_q=!2l%KJzYMN9>%C(@q(SrSJXWZx-{BKb0LjLda2}WxCgc%a)~(p3t)Af!m5ZiWD|{T{|~X%uU-3R -c=eO({vKh$G`WFWg2GT5MG2bv5yC>rcTEf5+ji-DynuddWAAgZ;oeV#-%j&UywAw~q^7l2Xg4^#Y3WV4vGHCeC;>Y&^t{C1cZQD -T@+UsT%@vdM6Z?DzpKjeFegT{BBS&Y3~kkmewf&8tytLX3Z6AMszM_74$OyC|QQSgZIw!m -^Hb5lU4li(2KO#vB!Yg|Z@8eW~k?vVa|CeRr^AwSTfI;77~))m80C>t~h^e?(e{{4lA9P|So7_uQ7p$ -CJ5Uv6cjqdpoGNPAx<3vAo2-JH|-P1xPQ89IuzXZ5L!R7nJX!Ybzn=PDmeK<0V3ZZ3~lDz+gj&7#$%Q*#b)3^-7C%IzTHSy!9*%2!fE|$IDF{5C16S^&$(9x -Usfe-XOgBx!yS~XFmCD-JW!s;*M>J8ehEA3t0-$G}wSwC+LnH_hSiVU|#nfmM3h3J`+|q8P`wTtLvBw -8&xgoHq3_Qx$Ucs|gBh&!Uk~j){m`{O0kO->}!>l~2Fw=-budynAN;2G^ZeG&0xBB$-{nk75skChSwZ -xuE!Hd*D7V^SE#22*dsrLFNADDI^yP7F<%&$c(~_zzM{o&E2PL&C}xsk~>s(8787~&fRJL&zI -|U{5qE;!ubNkTSM;qV`eoU=1QyxgB&PrR4{fIBbN7%ACpS#SYg5u3M-Ck#mcxn1{VcbMZp)@25COBm@ -U#B{?D0C;b@$*o1Ni?52yEJ6_dK3=udUEM_aJ2|w{C)GXGPwpOlWfoOR<*PU;N3MaVuyg{(E -uoxvUJlBV4R`YVkB@o{|} -X3jsF$;i4sEgF_oP!WvBPy57OkQ*0U>j-ujSP&&gS$sMJl$F4#yA15***2kZGFTpp?nC5XQVOpp9d#- -?NFm1V9JD_N<4Cm!COJgEjI@Mi{9v%ZQO-}OP5R?TVMl#~=K6lZ;@MWI^ ->`W75|H_PDgN@hzUOjb8zQ7p9QhF{#K -OHz7}0NsFJgC3fubEiLCG7Dq5HJhK4%~7?Zy!KAu6QaS0LouBH(Rqf(AQcBZxQOD}J|7lbvF`|#~9lKgk5P`K`>aQ#Z~7jD%>RsN*cIlKw|^B)GcfStP}mW=i3*~(k?6n{XfK^CgXTe0VMv-(p -!_y}v2fBPbW>EICXK|jJL-__?(vbSx18RNY@>Z<#oEc$t&%H^eUV^)=Ca9Q~MA;6cX?9*L!h|1ZP?m~ -e?uYvohe2#@9#L7YhACi3}m;XS9%u{_B+tc@l@4ePfq*q0av4xka^jzZ+B3Pz>y_tc_9Q3%0IubAH6T&pS-Xiy)WROys#g=FW{fNuphlI;ICfT?w0mpdK!6?Y@r3)P`ke*DREv;dO2b;%x8ED??b`42rz3RwG=9G&#TqZIk3eNaXf -(nc!fzuuhqy=2~<{a|c)=#Tvj%UV6Pc97eskr{Id^DJIx@=mh`p;A&jHAYcfyg0IiXl_f -zKu;4>`7_^x@5jQrsPGAhCFeAW$iO~Yp^T(=_EdK-MgxB4mX`QbTnzz|m{d`Es -hKaT;7O0ZE^xnaRihWK25nqHpfvCOa#d&(<<#y5b|R&p?GtH9c;Kn8we20HV2(lWIMu}F@Zou`gwii& -VKj1NX??)Br!NAG%f(_uU2$(Cc!TRQ06Q;73dXQmZi;f03bfbra1N{h(QYSq=;)q@2Sh?<08TYzOO42 -a&x*!b&3e%38IwcbJk&glbl}BV#i)b(D4?z}ClHrbih5SNm?vz0VFu7J)4lQAoC3L!d$AZo9itq&9%k -thtb@xP)#g~H6e(1hjQ1W*9^1j3C%zgm^(xiJEmOYSBT6wrSkQacwwSo2*ibsP?griQ#|fsNmjrvrAv -TKiKWU}?VoVh{_}>S682O(CBLCkl?jItNZDHR+5gf*`H@}C1X%r$b8ip|#CSY_gTK%vqNW485;y2Zs+ -6~$FPT-q5j)r?s-@-ply-7Urf5Pa;@B&*6ZLke-_A_%oz%F -kFa2AeQ|_=+72B^el^UZ2=j3*Om#Qp{GY;mTiRAO^Bj^Hu6?K0l=mLKgb^ki(3hN$p{}|eT1*N>Ui$8 -;I2mDpk{b|s()aNG)2~bV>dEo_EEv=VUwc9}z{XDjzl>OL}h13r`A-qLocE-({Wdw_1^HD}Se|SPn>M -dJN*{7~KZTgOt#T!mJ*I!@m6xJKKI3v%>N5tXm?qg!`OEov}^eKq`Vp?y#XK$6Ig8kD&_KySX>Y4JE^ -2Sm=M|DN`j-G8NRkB1+;qkt+te&5=cIE!{>Aw@Fb{C4k@gE){ZvUnyS@?Q0D0veYY+f~4WUm~u>j(dF -pNM8}6T1b?0$>oCVP)N1V~z+dk;LkkPQZ5RXL4}58e!p7M~p1FG(E1&;H2%<4`FYRB+tKEPj&>@Rd3p -W$6zb+J?lxY549m0T_ur&!=-ph9@$vy;3g)>Q{z5ugYOCt7E(IV3RtO*0Q(|US@|+!^e?!dz~WbAUlpQD0qrk@V-|5zXhPWI_5xj+2{K1UDsy!X -$K#Gc&v77=tQ!Cqb}l>c=844&JyxZbs7R4l#TOxk -E|?BnDpz~#v;eOhhQ%ka~B}aize82w4ixUa{Ofb{-d_>zrD#fZ(%!cSzl?$eZ#L8(P>{FRHL=H(AbRV4P;Yipx}Qd&KN|~ -)-g0qouL$fNpLVY~d^gS8mIq;9?0$9wptlj;o>ITPuD6sFj^5fQ$*zkGy*XIhn)X>-{GC4U{HVWeT9k -VLK)t8_1 -caso~|bR=^i2P?h%;Et9xSjeCLDZ{Ryb$wikaMEdRX3zgr>jcT4=c6$1Mbe_a)rcU@=J1fEJ+yRlgdL -V-aihnkx%qJa{3XmGPad~REbYdOXu4ktUXkc;Rb>AWoAGI6C(dup#zMc>h=%{|V5DL+iB>3OmslK~Z~ -C8^?TvZZ>&6;;aDNq)jz_uM`>czlt{wq2=|{X*sW=v-Xl)ZhT -%%(-pORpv-a@(~0HyZ|#Yy`W8_`MSUgS -#%hNpDxLzF_4m+=CGhXJD0Qa7`>x;9%m9{m`wI8kemm*ftvyu*@|Y2w^1^7#sL5=o6qd~qFADffnH5k{>4Vb*d~neQepVEX`LSpi!7lZ`_v8tbT#%$ -~ADEW^%-qVx=2Agbjr|jDOD-iO(oayN}TNY?HfoxI3?|9f3fhl+3Y+NR`6gf=63zyR$Wk5_w_ph81~d -Oth2*FJuwnjIk7kT;1tbsc)w&sI?3*8&9eQg3bsicI39oM+TjMWUAv{@SMvP&b!!RskN -!>=h;6@&Qs+pA7`wADFG0t8t9e-eqzL!5(E%`=D^2y>=hU2JW$j#3R(K$j5G~iFxsBJUV8QuVtS>xSB ->eS)(fdSO1p>{3TUv_!=q`x{MqbPMSZ;90tA(ZUuNohWK6Sn5dLTd3bVAq;gR>E|t_QQ* -eq}&;d5u=htq&&b%xQ*#XG0U96=0mz)#K}^n<2U$bus5_`x1NS3!yiMY}MdQUhD=UfmhXABl3~6Iu}2Kkz*8PH!Jy6cNvs=Afzk)GiTg%Zy53>*8O*li`g}e|IKF}7YM98Vdz3Z)X8}oi<;s`pv4&FeZ!}RO$Yll -WnTNlGFi1C%n^v&TdSBD@7`3*x+nx<$7{Ui4JS9kadynb-?cMXCc3jbnXJb$Tpm-$7gJtIb`w-oR@k= -^og;w`ib?WTr51YYzT&xGObwiV#J+C~8Fx%!rH@A!v&D|x^>ha5$A{DWd|K038M@F&0v3HCAGopTlKc -iFoG>08#1r+eN0xy>N -HO{$Ym4XSVtnfL5p?pyln?eMBL@&WrS?g2p;__yM7YwAnRQzIQ_y(1pN0SMGuSSAjpifxSW8kWL0{wL -^<9E*amT{X5uA0&FBED1H7x0IJf8v}QmHdtBT5EFm?;i97#1~_K=JovBJWHYT0 -G*A4w)Yhfei+r>(yewf+I;Tr*WpZ-*;>Mu7BrOE`QDf*jsbF_Z2_>T=Bduz@*|7!a+4vIFYQ?pJ2632l7_c7f@5g_PqU)`!ITx4|L{5z*L-mOj;Iem&rfU -_Yg$NlYcp{ihQ|w5Ja)y;0V^FDV<=Q(Pp@}=5%JReVNCDau2s%>Uwgzqwn9juCtI@W0WyJ601xdNoDX -Gn!h0%2JKXcei~X+RU@@-?6%Hvk60x)W3I~xkwpejnllo;^3Ygeh8nj -)zHbv?UoStz(OIdEK}Z9DI9Is -wZQ9mUzZ(_9p~V)R5sck0;fFN*RijOgjw*aNnoO*Yzve>1)3l~>u&@Re7Xbs2V(fEuhaD5uA}el~MkgX6k!&y{JJjwTFXo?(K -@AEtSlOdsd$Y8n+w5IG*kx04b7j-zM(t6(SO8;EVKC5i8{>@R+89(>8Z$7V?u=e}>dF>B -G4XodpmH?^bF?kz5{5Ff9sn=lLsRE!R6@jX14rzfk%FO$c~5FNgg8l4|6xkH`3>mNNYGZ$Ji7aCKI1w -u@HS{oLcH)#M^pb(W-mB9PIFj9YP+cGSBYPo9XyVTOyk1dnP4sq9q(T~0;lxybHons^5dlzoc8eUiXf -t&5Y%aV2Hj7V*X+gVTYPPb)&-oJCvninBTGrU5zT*+<;EBZ@KC195NsafJF4!nUDgXQfCiO`r{O=s?o -JyY*#s39!dpAkJ{3t~%u5(Zl@>iJPLEGyEkK@Vs0dP-kw;NrTS~FHnb9_<~*BYaT1ZRS7c@Ow6 -(dWdq?DEI8X_{Gyl)7q3rmHf)xTZ-d5EC~iNR7ppE?YHPqJS-PJk{}P8)R?rZm8rf0;9;o6_LnBs@La -TCo@<(sW2mPCJLyHy?j&@ypP-dNGY2OEqT8W97Xdw*h^FGcSSqE_Cg$~kzx_?jIc)0;>hUsKsP8#27+J~_N5IkSxc90St@V;z<#3V&je-RE~% -nk?bhTRa!}W(vPK@-0!4^?UPZ_5(?M{@DhjK28?fsfj;oSwa)H{qQHRum5c~{e)?MbHnct8%~l0g>Qf -uCUA$@EsJ<(2lZjc*9gb#C1@*m$N -YF?UPFFEUjIVF?b8>QhSGE1B~09=;U4aiudYV@UD6#Kbrz3-jcidMmOK_&$}qua -Ni;0`D!LJ}qcC}%>qYYK2Z;e%A3WdrspE%Dqx8t^8Wq?uBa9A6k>aybY^StZX`n=GpocG!INIx(5 -dc)g??=|qP@wHz3PJ`FpGfc^d6Aj -V{zi4(j$6i!m4FbnCtv#PB?)P*aQ -WRLVH&>lsZIxahyl`ayfW(DC4z&H4`hw2`yKZTyWye@1&PRcH)rBx7p(%B6Viz2{@C1!{vq%4x;%wRi -b+wuYI_JInQUNj|y&EW$cSJ{p9(_(v)OF`5KJcti(hoF=up( -}$y?Ti!)+kNR}GQmZGX<{Zx`c@TP6y8{y$b7kEi@X?FY2hvPpqF7G6!t|}3PPU~VRi2)Dhyby6+b_Z9 -riMfB(HW~BO%A^TG;JwjhS2_9Mbkp#lMPhov#ly|cd0jI{LpX5f+a-kP?@kl%f+IV$z{$Y>oH9$-2*C -Ocy|JR%or7t*hzkVPQb##V!oL3mkHR9=~wU1JR{&o)32Hi%37@@Sa%%`=2(jnZdlXBs7q*9-a9Fa$Fh -vXX-|s2Mervz>>B0Bt3ng;&5i_mzR^uOVPqU%Yn!)+%&*YQK1evm;_jZB9UMCtn%RFV^ -LyIm0z2SYWik&aF4>6dlw7MQn*u&=S9YW>~^R6r{l>ce^5>gQ)zX1MhU3Cg+6gVb5$nUxWzadw1#2jQ)d=|T%`&=fvvPf3A!$W2irsC))Niv@%{di1) -;3`&Tgi~xxn|@GN)LC-bBV!xc#e+2kw9mK9Il{M)emJN4Y$4ioQXMLyxHAVKas+4*tOkZ{Ne|9Lry+5 -v2l}L@%hl2z&FSGmoKB+8k*OLC?!DvDY$T#!)qkM);xnRbeDs1iW*>u8`k-u=;5Ydd23yp6RYmklnqo -h6`)}sI|0wnHFRuTp@$&t(-|36uB!r<5ijf2fQv?lT2uva*iDDQ|ktjuw7>bf4j#CItAoLFhB4PN=f` -NBV%5E?8b_v=|E8$&&k4)agndGgbmuzA3XC0^A$}-p~DQNmd)&+U%&xi3I;I_z{qI<~Og5nnAw&1n%p -VR-uKXW|Vg+$Svu!FwU^Wk7u{KJVo5aQ%J0;9WTJsj;7lr1=;?*h%Xej3{!iNA$McM<($Cn!VMZe<=P -d)$up$+dfN8#-?4fHVtjz$2!gFiwv&Sg=Z^c(ivlbuiD6&}_C-SSUX!QM=Ww%);`{1X567-!xWKzr#g^~J -se;OD{5W2z|pq0!H(--IoNXX!H#)nfNvflv`%E$q>j*r_o|ZBJXwL$~Fc=escNcv{RpyH2#}+(qeT%N -bzZ>8t%NeEiz*-c^I@s2M9;3CrNUKN;-KD1C -p3TptR|?9?S-7HUk04plk*o;Y!>cS%Glxg3WOlHWmKDuQPlw9a=jd4l?ib1c0Uj9Tr^GvI=Cn9R3>P^@7# -r1LK4v7oVbg4TG=AZib_}GRJ{n2!(ru%|HZ4JPvVy-7=aAVwdZ=8)CbQwyZT~vi^3%$NC0&M-g$x23c -iBTZ$s#b6+!>nHO=-T*>u*)Bsm%nU!C#vMT1k(uDh&BpmQ(O*nlLyGoJH?)i1Kx1C=tT`-Sv;7px!61%zMh*?;f^*mx9~GoaRI{n2$N)Y8tDm-e<8&u)XohJBeT>@c75fT?6YCCdR -*HQCIsva|v*g!2zCPxCs-uSo#8l7w8x`7o}f*k;KzM!izr+8c?d<5F_>_4XhRpr*;s$yZ;u3^>ougL{ -FNn;ftC2`r@Oloq3x9VhKIF8^ToZ!e8c^>1(XWfFfnr|jw59+Rx5cqL=|o0&v;(^hR(B*Qxz?J3=tOM -h{A;(zct-Qj);7=!wG!P80Nxhw(mq^0ufK)BEJy_McnAhM>Fc@ -}7NRy8#QF?0MG~?b07p1@=hwR^ULBJznjF_h@H~Zh2pj?t}VUHn+viEwM!2LT3B<(LU`#BR}&Ec)J9o -?~%MX*l$FV`xxGKCGqzEONqThuw{nvI{>5a)HlWU4?-Y&ZW#u9#<@tw>dCT~kz_DL@Fa- -8!czSIi>vKx)qhb$-HbG8;TKn4c51&?Ydpy@h^FKOV{!YqV -m}bxR@5=T?f^*de>@B!&VH65i*76;#4QqN!3FC+Fs+qOo? -70-0?ah3q&B@o5e(8b$Kb-)%>5Kd|_Z;8vBX*$dgWhWFGlm!6HP9`2J@p@)R{5WJMbihj#PHE!0A9Mq -c|JM56oGQtCb2GVx!)N1*z5EXpMB>a>&ZG-vM`0nVG5$O!c%f+xr}pjyX%^Gd8~;Hvxjjpt=?He&6yOD1um!AIJ`u#Jg_Mi3LuYR&duRnwuQVy(AI)7bP& -xOJ_dzGj~`XdnxgS2dUW4-Xe9vYeJoFMEuBjpRIKN%Si5GqD25`}_#)2uF>aa@fr53WxJ%^g_s77U&& -Xpk4WH`|0&ttb6znf4LDva(%1To4`}pZ~2(^xv=X%fSrxd}M@71|zA8vYfS4e#f7cb%2_665K3!{*9A ->`GAT;o>zYGZL~f;~<{-ZN7Gdv_buo^~K3#R=xg#4M795*T$BAa{k30vMj8&Q^U)Kdx6Bb$mMQB&m+E -fjl^1X-0Dr-|WeG;jT@>kYup&GY*oA&07~7lrIi&@oh4c*}!~i>vN20#eE1miJqKGoTBUN+~_$xt8C6@6Q;r=j5h#!PlwtnpA -SW_!46Tq7Q=0e!o|LRdN>M>-&0!u)PDf}+<>?tt*ztCaLKM1q0HCbIg{{zFcpTk*W}va0sJtuC^L+a -Z>4Qho)mNNua6imj(0N!IJysGHhGRgH9%qWXmw#p_Z7ap{~DC4RKmJ4x -TJac;2C>NC9kI5s``IKr&r3b%9F-fJtoB-{6IBF=#ssMx4J?j{I0JhhN2tAF97T#SdNyk>`aM_jaV6 -7=tp;bDv=-JI47KP7=Jit@BA9K@19!>q+N?or^>D(*+i0-f>!{)V4#2;CxmXtJmt0ifvgf!i3_geQJz -u;8D!l0dOkIr5171jU-J^zSMtSp!(#{wfbSiAE^gOfhLgvns*giWY7L(-^j|*zTZjt%2z~B#igf3yZs2l5X&VNO!oB0Ldq%&z1 -QhljpbhtyMD%0VD(LMH0}*>&CLrF-5qhU@Y&Q2&ntY -P1PEdaKCw>5$j#i@E4z#1mc6fz!-2Rmx}U%hfZYyFs!)w~9v-PbA+M#8@mN(rIj?+ISJ0yxxhl*I#>* -Ppn`(;uHIRwc2}te)5ggE#ZY*B)6eLe5>_u}|bXfR3;vA)fK^}IJmIp3BE>026v9@dDN6wtGNu{^FWqn?uyHZ8%rf}v -_i}q8lri~dJ2n@9*ifvx-2exL_;UdZ1skRl6n)Nr~XXKQuPVI!~L^jvX@-I3(3Z)*CWv%F2xc!njPfn -gx(zQ>MKY(fj(u6MtXzlRjPb1;fA2kIzY<>A*nc8ZEuG&{aoQVip6_+HxMtof;Zmn -kbUhWCOXR9REYiIN&Z(>gqSRr8jXt}Z&UXS@yoA!AgcEleCmJn67&}ur$N4v-MudCtJV3TBc6I3oYXq -!){i!Jk72h1JSr$A$2i@3U -`|semb7{sH%5+DK{DWu_OQwcJ#x52l}9YSJh;(U9Xnogo>elW77sj}dl6!+&qFSj< -NBZq4}3PYI@qcVsF<|a`Q?CDVuYLq#e}BFu2hb&K!kVr&a_T8aa=n%P8~`OH4bosY6hcAJ{CIiTYZiO1eF$E6xC}S)s6Z -r`^=bROE%GGT*ZX{(G`rKD^$<5X;L^pb6z`A|+XyO<6!ny{H#@cp7U8G9idSYu7W+ci0Ja8qF -^GV2vpt?@j4P?0A8)flB(p5rDh52Fg+z`Ksw$@|;(!Kq=SJOa --Dm78npdNGY;Q1^woOk{9(r(MA$4kC% -Zz&-A#NbBwE&B>AD25Md3Q6ONh>FxnqgFZoPA9{Jy6V(3*l>M~)`#%k5|97wB-$2?wtl@8AEd}pAybU -qJ8?@brcA}^HCN1lGv2~|Le;!-1pndl;f!~LD;+v|!xi@Ef@Qh^( -(4(?Pps*-ner{(_kN<|Ut$4A7JOoNY(}o3p3j*OD(_r_=2a>o-d2OZyt1oYiuSzI5jLigGr^*n&a$>q -TUdN2L5CXw-^I0T;s_UgSI$LhD0H1r1w6y*${1^^FVai -PIhi;{9#Iq?!|*7-o;9>cqhQ@TK3RBpn?6kJh5%9Vf>!bpm*n3=s -i@4!h0D3j^APx#6DLUy$c|8{Py&r-#7jlUxp_3jX!zUJdn4L{oX4>_ptCq!8O>sY{*+$BY4kS?wvUFZ -Bq1BSA~O}483jiNwW9pqW1(#obIi^=x@stVzBSy@YnK$!N{`yBKezs(R@R?W)pJZisgsXUJGEp{;U)A -yX8)6?%VTQaH6)M4~bIyL+;^A77l#u;qe-x_VO(qSXiDX3qBq9t#&s;biOLAT8maP&~6Z<@f(KwP_X* -`pi{EfA1JIoR4)3AF#8?`ZGmC}w$wAT5W9@sccl1kqchOc9J|a@G#T?VdhkMJTKDL4n9~E)f5MYd(Dr -n^LL#5OY8>nBHH(0pB%_h0u)F-6t{2~Jk0lyMN&(Jx7tS7Iu4RbUg%k=mbL_puhQQTz3JP0Qyp6VOA>!WXXcb*7NT4LhKOQNOxPKj?n!cGQA&7$(dNM~S$m`H)fJ-G#c{wGit29DpV@?7cEH -|^c<#H`!W@bbAkU(v8Lse0jUlK8~x`00UJ9>MqjoAQYPO;moT3~T}YQ27(h7C1{PkF>-vQ~WBle?l_Y -wmUK=xou$wpDpOI67=9gi9YTKzCfF3ly|Bu9MMY5X3!|2AxGq9@t;5+8rITp4ZzJ1k(`9Z4Tzn`Uyt! -E#P=K%E>@)ku~BC#B+oi%OSy8GGP_cuD>F}_2bt6q`CB!wP4_SGIj=R`%i1Qyqq1#)yF*c{AD -u?RDY0b|SCy=c6ap_w2OZ{VFHnDZ-#9tg)?9O8VQ(dRimn&rgJXm;*}fDpZe`U58eOova`eipk{f$Jg*YK19V<$PPO -Y=uL$+8aH4qjGcUlVlF)R%;{xEK)V(wi=j7YjKc(AitTyas6%YtlbADJ#F27 ->;PPv?r?%4sDk#$3m^PWAMM|vSkH(bw2p~W%fs>niH;7G2Jn1b|LK$3uAet`8Na@Ob=hRrJj)P^)Q){ -%`GN0_q{t5OnV;P&_Anz@F7xgARSP>J-PT$^b_c`C*$wo+6~!lC<}TI0dF -{tAor{`cr%H&e0HB&LUy(a^zQo*@IC^yvy;i4ShFF)@O_hAkN%zG({K6H^zY3UvmH7i(os$wS(#ii@33{YPrPXgzRG?9F3Y0pmYP|2@dP*p`^`!3Y1-woC -z|DbOTMi4bk9CatMbhAoq+C~<(>GvJ^c>}=s$n@{&3*;lm3Z2_2ZcxA8KCXAh5F9xTrpTWH`567gZ() -y}ok~sZWl@wFvFHC-G*w6u5GEtaj`e$51N>)H0&9)3X#{+34;lEqcq#6gL~o22ppptp?*Cw=bg3FJei ->P&$+^9MZ{d&}3M<9Q~&3c{zMBFTgp9(Rj7{aMW4roSA9;R9dJpWVV@Rm3c^#)1Wgsqk5;yNfh|_Y42 ->O=8L1Q`BMZ&mUjbTOBw~9z|qJ}ChuG#c6in5z#1ob_HpU;Li@XJamy)Kpr|Z)35)HwLOh2 -EE#L)vBsV}+q!UIy?T$;G+X2ygZzjCe_Rm2EqfzIoSbTvZ_@3pMsGrhPExX504Ru4i$57~4oMAKn?lgNTHBN^^8I83C)4Pq=iD46IFwHEUc?&HBYWg< -=pCPzZk_pv+U3%=>f60Qlva!8N9zDJl@BHjI&5LmNo;Iv -6yfR%5D2RG!T+K+>maiU>SNWl8m%6)%lBWV^TZ3%GO5pGu%a}ku9Iref(WyL$Xm`JAzAeb4EqdVO?Zy -ztT+waH4amoZxL+tE1xQkURk`4eRJEasGH(epI^-n|k&9WsDndK=rk>7(+P2-eP7;UI{N+q)MS-0o1< -`=h<2)T_i&b_D>qioX6W2<{Ldf2r9`D@99MaftNO-z28gnR|gLe{PzR6mKjbXg3fz-#Fh`I#IyoFpsA -jAs=&7yoM{32ilPB^-_82Fm|n&!(vWGVCcoLJ!!9%7G_pXCD}TGBABK%>n09t<6ESTAS|c0O~f0!M5| -3~a1W$Lc;3C+)nf2WAluwNoOm0nOI)1Axcps)BG#6&xLxONkUEx_t+F$1!bGq}R0Ish3y7cPZAqrUlI -oinq?9IS5QA>O+pb>3H8^@nr5t4d)gvKOQ%8YT!Fr*MKIsh#8mBPdKFCd;C^Ur}x7C4z`ka@&B!J3Z;AT -pGbE7)b#Bo9YuTPYS%MO{saH4$3P|fuuJk@0G94zuGAY^?Fud7UW3|@Uxe945%dvfy?E`)c^$>qgY5I^LsXqah$<}N7!fUW(S{$2Mthit6s`SJ42f}*5wrS!&r~+MgME0 -c$BdxAs=bv}wtqf!Td+4>_x1JIaxsN7@W;y7@53wY-u -W0k_c4d%?*MCig#NjrFFgi5d)L$V_i+0ez!E+Hmc9e5E#{n0Sav)riRP9-6wt>^WTDg{Js8Uo`c$ -miP2rYn^@XadW9vf%Fk1jnPNyoq4uMXsVgWuf7UU8ZJp>bimgX8jS`u-C{<@1dGcozWMn5*h+AhIA>= -vcr!6cg%4;BabX);jHARLm$PD;Q^8zc|R490#FDad3AHdJD -Yv2#ksF&G^Cz{;!5EXMTw*F2r8t~344hWbvx=TbKE|AT*l1@?WNa1nQf**?xjZt{-tK}XAl6`$8dkZ0 -Fr)NB^xA^S*>J!V);5+2uZiHR{AVn0QRXfT4!%$83(%0=EAUfNi)kXg{t+_t)1{5taRQGK{1%}D}m?5eVCS=Ov~m2e9~3eid>TkdT6-p3OmgBJ=p5Pe7IyBn@a5-c -r6GysRK(pb~dy%U9BAf|9t`FN2lZ3;aqy2y#@>y6Kg)1KaJiC<~-p-^=fzKz<9;Z~7ol$ixQXj9Pk&| -T~->;^~2C(O#QOv*e)quh(_UBBFu1DHBUhnH&Thx~N*mF-a_gv!rlehz`c5bMgJh8eY^&KJ01LUhk^xr -K%Jy}l{qH9wqs)N0tNBjMTR@k>t4aYcJ8hy-ID-lxVeR2I20&+tJ}fvqII-8DinOzFW`NZEr8$rUHYz -mZw_p895}pty)C3Ck^Mp-j_3wd6iKouk#BYGuzNe%LRp_LQ7=~`kc^I{(0bhzkl -$CXw|!UlLNW{T#j;Cw}2#)ke8*KX*BBj9_Fh*W=}Uc7VX$SZNiS=6U`0Jc4AIx=Z~07>Ok3vhW%2vK% -$q~1*0Gfov27gd5p?j#fss1sm4vW4S8qE}jWIL}l?QWZYJ?CLWo9GKJF@^F`oXTUm(hkX8FN8ynl@GpM0YV)?9rLhIs -Laa{b>VSwXlPCk*nu(*&&IS9hXrw2$|@PXI=T4VJ|=DV3R}iMLJHR`m;`vC80*m`x8zGX3T3F!0&%Fr5i -M%?_LM>B^|;Rp(t=mX6l7vLBR^YnK|Z|Aac{Z-MpWQP3M~LE8gcKq^vGevWI0mZk~TJ9QfAK1vu+q~( -?4^>P%c_2^!fO+1B!kYpGQ$RO3&9iWMH{hojj0gDWMXzYGZ@?jIz*bfVFFvdB&4GP?yH -un`RP$2yUU6b?ew(ZP@eq-9-N{>E0x3%p=iQPjBz`x6J9g>2L-yRj8h7K1d8K7T;3vLxW&cJ5<9NY?! -z)B+Hl;nsMq;^Ml&?Wgb~QL -Mpo_&zg}4lgkxR3tX|TMOGZJg$_Mx>G+IZfVifD72kg3fR#F4~I80pGHdT4!pam{6LF?+HSOHUSki5c -ZuaHY)o;@w-Vm#3~4FIc -Kr;HuOpGrwLNI6)WqAhkZ*Q0E?d!Vyj}t#iw91ZW798qE6XNe -Bfp7*kl(;T$Y(fc`=LMzByb$2P+|i=$QDj-!8J&2K{mPV#wg^|rjG#Jhl)20vtf#q*nvt+zPt6X9S7~ -9_PY+TtL;Ktbo=>CO1#6IINl)(5`ER--Tq_bJ|=>r`%AyfxWLK2>OQN2>?INWS6m_Q`Imk8Iel|trO; -ap?X5eKAUlW($-RRkdB^=bH!8GGJMTp -Y30vl?~iy1{2fY*PrOnOjN{W|Iuz+otiWLWykILQggiR`+=rQ6WctJibir+5q-(ZIf|TjK2bhOz^~~c -I2>k0X2|0KjqC{Y89c%bW)mcerBYHY6mHb+(XVWi5kB-H9&^p@Y$3z8gFGCV9d2#f^D&3GUbfkGe#@AhN=lO%}EVZbCx5}z{h?fgRTF4`D-YYq{6K(%+yzDL30w;aUw9Q -5738+~5(O!1vFfkgMRXN>RB&GsF}-@@Erv^NuPaoJ{F_Fuw1IR?EWE`0kw|H^o576Oa+hA{L^aI_l+a -Bn@^nfTt!fC#y#?e^G-+8@z(9Js|@(R*kv4fhP)-arQL(`>t4eCsW37ec&A9RA99kh}5liXV*!DG(et -clyEEK3~J|VtVHEv+-E}!^Q*r|IT<^PJhwedO7z+8E+s+y&MPOoPblCfWC4gm;#^*FofrPkz$F)1&yk -Ulps&ldc$avhentHNQ;;U);2=M<5sKRO4O0sbtzlhLYRv+C)gNU1=jxiEqnb*qY_i(}B?E` -j|D`_BAY%k#OK0rnng-daU>z1ZODX3|1y9Yk{|v78<@*NL*r1+ipYUL9IQ#bl`FIJp3He -klPw%3P(ceVpE(g+-2f2SaC<DMo26NxRd^CW%iY*kkpQZ4nh{f>MzwgNwFE -E(Y^3#vL6=c5gDBv?(BB14qIa!Q) -`Ap2HQ19^HQ45omWGMaC9)2!f%(o6b|Z9brI#}XO590Bo;7ZwW@M2*U$r)a$>tdLdFzd`_~nt41e4`g -r#1Pegt&aks^Hq|pX^1hjY1ud{H_6QTN9|^)Hubh)g&)Vu+YvqOp@VYz6L+~~8$n|O;t?Tj}ywh>Mat -jnb&o$&DfuhGHJ@_x&H%W`D9ShCP*X7v;Hw6XOlMzZ!R_M^0GU;ygTYh}0`TelH`;;aouusG=^t8|2z -2=P}v1F;sI>NcPf~kA74^X&O-NA{B;b=jOl~O(W!ee*!pwF0Kw%%wlixb<|zAE#pNrE+bNU5ga=k9_> -B~}9^HoKh5UYoXh`UH^~P)nTTt|>@LSRN?a9?#8F3*FouR#~JAlN_X)cuEIa>cnt!y(ca>251rvuddc -hM+nakyie;}a;S92(3dA621)|cy_?++aNWZqXQ`Us3}{RrZ`A=H?^lD1$)|5p_q8JJDHM)s2#X2d`Tn -hV9QpgpltR~1?wyHwR{XpmvJ0`|sW@3FTml|89+hChgc)O1KQ6oLv<1!fw%62E7T=;~W*j?ncuJ!NAt -!RN3e9J|+_GwY9cmHC`TU!tY!+m57TCY2<9r#s5lx!YHr%3~qRrP&3~-+J3GH@PPV{2~H$9VaJflY}Z -QPPTG{8tyapgt5e2;lXa0P~lj4Ac@^%uW<{ek_DU-Z!a%oKkV*c?9C8Lym$i8P1sOvn~+;6`%ziNE!@ -WNrMcB*uK@{gdm3*YvWFxsodCrzY*oe5}y=yar84#0@#6Um}t4sHT+J+0Yh6)b7aXFz^SwCMo9GR-sF%DxwI^?O8>%@RXp#G!m+VY$qpCK-CIT)i#XlEI8Is^F>QeXfNhynB -NG>bTEO9NICGLcI|Uon*7`0K2q}0rw|Fmun2fO>U+!DHq$)^3qeN~A>%mZR#-!{Np!|*HDNUaE+;3v= -`%UsLx~G0$bEJ$?YPMSfK~Ve8|9>A2SM@ANyJjqBZQZhu>YFJZzRzS8(#-pXGC(0Bhfz57xm7k99d -skLudh<1wX(I&~`I$@pg>_3pBJ=TNiDRk2+M47$T=@I0*#$kkIoForQb;q&K%~}`2nz=k}Svw+SAggUSUJ_SxUlXb0j}C#P;> -D;dY`K#h3j;?O=jw(7t*lW!O5ahsJ78q*yrzP8;u$_qf*r_L(Qjn#gwnZM&(-qM=xpx$-^O*8%}5q~{ -^K0f(;ue#hiNK*oZI`3w|1JodoUD#{MQER`l)_5d{|R|FJ8$XOi>l}kW_y>lRvEFzO((6#r+Su4~DVm ->)?;`{*q~X?Z*)``~UrNkZ&u$wvbd!`g^kO$M|{%KS9X|r|^yeS6beWW&d*DH50jPI$sB-jz_hG)0K?3Ba!J`%RAv!?@hF#A`ql) -LS)6rBD-sEB32pU|hnOAGK%dfmu6fpK+fx@uSNF=48_xy}$+{2u*%gw>cMIer#~wFQ@-$;cmZ78*yI1P86tqrO{V -cZc$5n)=m<1v7Ei}8C3U4-0!xj(&k&g1JA&Qo^8A2ZYuMIz@J&vs{uPjQopZP3E@lbZ#PS|rCF!HQth -vmz1@>O@Tv-sIJpajYK&lKkVLNLGvv@35w0Y&d}Vcvmjlk7cp@DCf{sy6ck8I%z{vd#W(tL%HkbLKl#}XQZiROrndS&5y<@hYLRHWRRm;1A2M611`wT_PHi^Qc8 -D_&*~D32?2IT&=AXH{~$K;rs5hUb!Bst_GD_-vfDKIB$Xj872(7u0$%AM2BGC|m*|>CyuiWRB)14$+6 -jTl*I{M&3x%ly!M^7m6d*>^KQ4`8<>yPUXkCDPFwSht>Rr+fH~YEB^=-rnD-DfMth(pUZkDBQ3u+ -aA%BdzB9&ulYss2C5h9RtAf6#|?4fAkga6CY_593!`g{Q{nVnq&Yx~$-z`J=phLyrewp*BemfoD;EfP -OtGzarAbku+RX>B=KbZs^4i&z5Z!#0=^S2DV2c?s^q}Gh`HHGbu36-z=ZO@FregF<4U!$LN3Xg1@DYm -4V7%`e|1tRe!PkiXF`+=U&L^SoPD>YHh9{u|p5#>t8wo1M*@a)3N=lBR%X(@f566iP@+AbbH -xE1dt{7a;ENnNFGpQ__f|BYf5R0YG27tLOs$2%LiuEhciN)=6sS1=*Z8JJhUret8BW#Qsg>5LAr5TyY -5NWxO&Xok%jk=u5I!+`c{P#OMjsWrfp07!@xc?oduh|2!EWk?cuv6{@9Y@;wZ_r^1mPCm`>#8u=!~NT~e?IKHp99dnl@M1MtBobCy(4NSz~TgMuC^J2t%)}IXa6g&7X0Ky- -QP*l3-w8C)5GrPz%yjKFh_9-E6#tnE+u0!#A#ON=XHTYsru^{XRFpyHc_Kr_R#GCfhDeT*K00Gz$f)1 -jaGo@F&(ZFO#8y@Vl}$s*d|Aro8#~|pLV$_#iBZ#KB>l6CH9>vpYcUwr! -M=N$9lhrWz38Dh1CCRE*=C_i`x_Ld(LXPIA4?Tmb7l$H#dBTG^hRHlz%>B;P0OD&u0w$_9;se`h|rtm;LZ{ezRfpqoU&c`mc5`7v9TE>r9abL-nezM#@52`>SYS8K<_Myj4MA31kYE{?Sm7fchV -6kdPPW-$!+Z%UTry^**^?E9)YB6gm$S -dP}&;a~pVfvGX<(~(QBE^XD(kM(X*>E-cK2tH}AQ^FK^?rAp%6z+t+M+{)K+KeRx -GN^N}Q6Z5CzIJI44EL3exe%1;Udb>W?8v_~3K*Zq4Z(^+f8lF^f=QvM?3;6HLeq5%u+9&&)7*jNBm -5&hd4c+b#e3qgouTs76^yonE_jLflrT6p}aM@J=~=@5J^@CXRB;yaXrv49Big+Ng#?{oS{Ra@C?NPuR -m<&#FJ7Bz!7B@&{Mim277(bYjVF$)ZAu9WgLP#xsW&hpf@_|dul@rJ~>H**IB(+pM|Jo7zY5UQ6V^1C -kJS9D7iQ_i+3l4CXC=XBZdcdaA6JMZ+(gwMz{p`1haVeXc>A1h5bVZJOky{HBH4wUJtjmmW2L!;R -bGCm~Po?g~1A-WS$rY<~qtiM#oj3)2TBbQK{R6Pb?hxHUC6ZpXsZ4ciSUce|R~zQ^$R;ZY=uWmD)$8? -)i~1(=P3AZV7ZO)T%&%Iqd8QbLJo4TrCV5N|HEgf#>0BVXJBvsNl6e=K6}OTjSP1^XnaSB8>HJM4BzRR4 -f$<=5Byc4Cr0;*CKc_k+}7QIUGnBwi=dre2dCacQE#z{fY^ay8vFx8_a~F+&cGI-d&|eJ1@&eT{-R8= -UEr=DwaZxiWuiyj@!ayQUqYrYkB|_>l_qHa)A4XgxPRm+fDcUu-TJOif}RCi;HNFX&s9U8xi1`E;)x# -hn~UY4%Vj$JML`1CB_zI<2E(ti3a1c}G8?JZSa8PZ#aK$g-2Dv{Dff9&&1gH^m)y>Y!E7LEoHgby -rOuVQ<_4-{)370-9Uv-*m-VCn^YsV#m{n%*@W6zhY_=QgWv+MW#@mK^-9c$W7K2&#)}MK5*Twv{Xcbb -pfI;J)kJ$W*4wyJzQ2L`w^Yg{kGB{6plk6XaQ@*Yeql*_^Rew+EZ}dYU4W0g%M-R2C;NKm68dw7uz&#UFwP$Fh+%W`IsiW(BV{;t57(tc=iJ(xg`Zy9BbJJuXS_ALkI2jfP{1=VfFq -cBb|9<5eFEO2Uxh=<||qY#+$1>fvT)Lux45gv}oaX92(C4d9p*30HNeK9JRLeS5W4L2h`OGK*_{m7BN -vzOclX$z3J_W*vaLp?RjbR4ZO@pdup+=RMpaB> -cvQ5A-d)x!~1_+|#%)Zj{}`F4YzxQ+c1pW4G;HAaCeUz7U7A)b^n8n2+M4Kol7}wPSVqNV~x5e6xN`y -Abs#U&ZzaoDywe!{q$hHM|jZwY6v#zmyL*Cz;KBOMiRvXU_$Gn`-X%Cy9nPuPyK;M`Pb0S-5fs{3_<4 -VN>mBuy?;@uwM1C%NBi%S7%{D%ajk2@v_LG0^LBQt4niiF -;&9kxFiKBfA=t8E&!YGLt&vk(4ZJ%>>DWdUBP8Wz-Jn2vJQ;vrY&(K4swAs(Mro?LE26XS6?4uAsD5k -@^>AGxR0?d;T9((vcQb&HvEe{M|Z4h14}k9I1&8Po4qOYTjCuoKxlJg!57yd+>UyDF03w`y0CUg2wRsy7N`iP_bod>d#w|W%x)~ -AvLquNe;ve+MFs#I}v;lMWs$$hKA>^e@>PdZgUv=@EvBZ04k_d7AgK6o~MlYK0A=2U(6^)I!&d{KSer -I6Qsj#`4%wc4er?mzd7{%srtd;p<;6$b$yK>e11ZiTofVav6Jnvk>HOg_FQ4Y -jt|KS)x-v73!Wr_*1Zyk;3Z!C7WaV(@iA702$+(Y$nF(m -}^5$f;vsD2j#)^?n~*>HoERf$+rbEJb;z9YjhdJ#1}tj9ugTNiiM -OOcHmYeT_-(lvq2#gY9}t#L_OCJ1Ys`gH_+`FI9=#qk{UKeD!}zS1+t -T_A({zqBlB(&K$l(aO&tkMw7l31yuWi__XG$p(ly>h?%<0;o8^tpx;^*n~xW0yCM3X|nMrC!pG096{S -lSo@8+s7H1rLy?^5Ad-8-&rg!=rIJcA8=yH@jlobVyc}LOSHIbhEe96YE!YC!pB0s)cRNJp!1?+~6FY -40s?*%{iiUa2@%gR8P+s5<2@%pn;WYR&`CuoF0xj%WNN*3%A6N@k#d#Ko4Ys`Ib+jSO|0L+$2lR6N9Z -*x=I(dC3a_lYK~6~llW8B#I>GH%JUJ?ykafxtpl(PVjE{&J4>8(i99%jty+&PMFukj;v+mVyr@0 -Gm7Koi2IYHp%V5&oTJVE>fK+`P$eYnc~pUhGHrxyPcJmr4QNl_R|!YE9k8y+Qb7^BEfiFIINPujr9UV -a0Ey_tMNf<*M@ea81>6!mT<-x>Xhf8d|D#AD=Jn>5|0XLiCuVt*a}W?)XiJ^KW`$pm+rg77`*6Ygm%V -gs}BuUg`Rol<85o+0#=#UOr*SVh=AQAi>C-u*G!d-ylt9KU5xp~kpGa9+6n9T)XSHmC9IyL`3wA%Ru$T7mJ;^ -0W{Id}HeaB2&iwiRLTK)(jQs)4wI86lVSh=*{l3)s=~^CWWAqPg+=SrlM -`@u@g$oP>m#uRm<*Xu^u|<5Om0RdRAb~oviDu(E!uRG_Ht62MLXMQ|kbKCWkyR&QvM%48An^oq_zM#x -odMcsrGm)nqRYEWYke4$>HaSUJymo?bs95LJ$s7ca%r2D?sSK`hw{M^NOt4R*R4l%oy)Xwc@PIoDAKz -GNQNCZL^-#BNzd%%zGm8t)`RlxiCcK2FbpS)W-<4~yUC^@@yoIqLFL8PfnZ4&P*cFGlg?HUyrpPBIj2ULZ -+pPF~VpQdoz?1hn+BF@U+fnS6HNZ@(MvbkVh8oSpVTm>W} -0j}(KRy>O(FIeq(NKY%Q+!T{7gI2QY?ZbAxE8uj>uKY9cM6Qt|rQYtl!tvJ)|G5P)%100TJGCd%RQ^} -g)?X)IKbIc=!!YU18SmY@n-A^U{=NSv-~Deb^x>y}caiTsI7t#1j)E|?Gv*->2%?{M50m&_quHG!xHs ->l(B6p~y#GgEN=wn6yx9rq_W82U6HCNDf^hHT0pG4X3HHVwg4nZE(B@9TH=|v!7ns8M9|5&@6rt4K=d -+o)Ur^&=dovLp?0G6U*(D{yWUoslZ{hU_+Cc^Ro}k;sB=NmiMI`(7T~adM+ljFBEnXSyC8wRwDBZ_+q -4&rePW@$*5VA8Fk?yy|Qu2C*;1bYkcmFi8l%9TS5_*rnmbCh^B_7-zG6Uw%xBuKv`JbKCt$KpqowA#Ml;`ayf2-$|+@iANhYx -LS=%On1BdV= --8ABtXK~(cfOBA6dRb6@R$6m5h2B>S@k&eDP0^zCG=Nb*$DmVoeX5%mM=sc;ruM60pLn>&2sn2i*{4s -P?NKmm{c^-793ZklASPal6+c;pRL0bv8R*mwU=c742Dfx -EXOQq6YYig-12x0F>^gsW~L(mesk~Y>q()b?_9*$@3^jAh;s`P>2{wq2`2^bDXo|o-;10zz-88{;BoK -n%9P -IVXsp=FPEnzpwLwjZ*IFr$25*WNY}+B#&sP_(nHFzt_fk(hZV>c9AsirIUi7);nb6k{FYP2}+vlXI@M -B8aQhk^50eiggK4n6+R*Wo-shtq^ -F5kJ6mGK5BD=v4vg+i=^;wXB@32~8PJ!?500#JN1e0 -;J#AHUrHiX=Pk(guiEfpLf>Mo0XhT1z+XzGIu2ZTOtH?xl=SHF7sgHmdx^CMz33S(OE=3q17J*}KNAQ -LWTB0vn{8YKjqndg@lgb#sWFqna(h_lLKM7V=*r$w2cuCu^*cG6t!;Puq(BDlsxbIAtanzi|h1=n6V@ -|k~MVwH!Y$UO`xT^gww2gljJVQ~4REkU4%YJxQRL};{q!Fb|s9DxUBpuSvMR8ht`mCwFs5vTrc;dpet -1@~7qtjTnMN{cCohkZg?-k2mQUt*(tB)tv-(L|Rr5=UcqdgO&eKMv%2BBwO#@j|*j;n4&GY&i3Sr(X| -bUeS-urQ2z|d4J|fl|2yP%K@2|Qe9j`nv3g_9WJ`l$K~K+<-y^vNEuF}6zYn2h-~nPN3X`MUvUDuv{Fm6_6X`K -g;-qkSdbT^ZZ_c!Ff<8d3v%mN{kQwGokTAbPi|6yqMp(kqs60vcr=TK?$-8T<6sG>6hwXR#v6r>HJTV -kQLq?93C5g7|AbGv&=^amUS&Sa`tqaY}*qb}Po(Zcft+Za_K1gp?iQj$uj5Dqt>rUfc9;K0Skulc}f& -IPy9Ix=8Lc(WIH*04aiJrt%1RrL4Qib_|1gGVwPmlfMPVb``|`2sHfFLVpVyZj1Z?4N(dsV1$Gam?B^ -ZN8!(tJIPKBkf3`Nk4WDwKIvZO+aTUfW%6zpf{49xhXns1f1&7w?C6V#_BCMiEux6NB_qN&VM4g0G78 -)Kyc77{W|Zt*-5|VSzh6K@nrleUW_Y;@Qk*H)#hTYYFaV@&{PBqe9@{frUFN1pXaZxT8Yg6 -IjUWp!yRm%$CcEUVnszU$z1N4lI0+X#YE~a7Tr}Z^6Pn1+{+8A_IJ*k>Q-_;heaxP~oN`+szLsRUzN6 -)Pk2eqOyusM5c+C_ZnlEQLL(>SA0(b2p^R$QP$vSt=dr8-`f5_^20S)dGiKxL=hnap#&EpRzZe(5liM -D=ez3=>Ueyx*9>5jnmIf#B8Xo~b-RT>@)s*c?x{1j+8l_Y?EU$yx{Jt3NqPC`9R_}$IQqGwlZ^r&t*7 -RqTUME!&BMXHgOQ%&D)|1O0e@~Z{*|EOvB9Cc(Fv#PEo9x~0P+Wuw19iOj##?r!NLnhuSSy26ca(5ut -Rxaum(HnV;q$P_sFDKBwjdskY@QhlHrYU*zSG+G8$YlHz)^OBf8jC%K1KY6?8zKw8#qi2sTR>R>u@`y -XtQnXU_TSh}(dF+eH5x%l&Mqe{ZSp%{30ABn%TMg(4WdJs{YpTztu!tQUdyoHZ2eZ55lT#oop=eH-d6 -oQA&0>BgJQ{nT77B0e}eaa_z_l<;a8XY*@WB&L(RkX+U$1q{&ODMu~dC0e*4HnJGSrTd9-r+*W}*b4k?-fwP$~K)AeoS6=1XZy4x;k&p$WJW^ -um+=39_GUp_h*S!|E?ryER-o7r+d$YS;;M&O?UEl9q9`N5?-|t)=@T)jh^rty4*}l3TVmoy4Zwpufck0CSsu4rqLe)e&Y}(CFaNzhk04 -M8!magj64N6wQ|R1>Cu;8(Gmb?C?er{PG7N36r9jD3ZguyaZKiW+TNGf{nGaAb-iABOY`SLyF#!l=uZ -wsl)jI73J}fod7lRT2|araKVGv7!hqe4bCK@Qo$sV32KQTwXPQGiVv>q!zP|d!d|>c%$(T0-2>kSsht -ajlM&-qwa$9MqVt67atSvC)5L}k)g}j4S@Dhz#oeT283)E)z8@0xFTKBm5e@$iyiHjEK6Y -5POvxtHf9ha0qLZzc^UM?b&7y%qJGt#_=D2U*XO}F->9;n3h?3R8@|J>yf|WjStFwNbi6~0XZG`EB)5<&ejG+^*XF9SjJ~#5{nXFv}xH4F7bYHAgkKjtHahZ&|%pmj{|ePZ;p -P54ogg^GB&<;v;KJWDx3!KXkWanI?%e2jQuIJrGy6ebfR_qx_^#+p<&26QCyCaTw!rr2Z0U7);DZ%Ni -ptTDq4CQ{k<9Ry5@(`?p@U$d(6WPPIPT)Wutxi}y*-5IsQ8OIl9H&vdDti=vv!+BvlcvL>i5DOAOeRd -WQ(k<9Mt&~01*0EoRf;P+092|n@Z@4hTkA^+`9ro1Ug=v2$!2eg*`n%Bar!XIZb~?lD{l*Cl#V`yevC -nWLM(rpOhTr@v$a}yV+M#0v?m_YPXGrbUn+@uv8z=-n#f@mR6SZK_9$v@L-tPgwp(BLufG)!K)(hm_D -6)4@K<~C?d|w;?RS(B@J^{Q}baq5HU@c5ukR|~%@8w#`C=?9Re1Rba_2&$M -cZ_+6y|M+&2(aZG6?XKvLRMa=DmK}b2gU(}qp8&UE0%n2_4 -)?z@%I1LQ=;f<6UvIJCGW{^b)bjuZcqBYUOrgbn%g!mhA$OHD6IeM4+H<1z2je5;2T@V=g;_&C>tUO9LFJoA`lcssa;`cGs++WLO4WW2=S?AUAmjpEhtXVJ>=f)^E( -r}GswP$=XTMdH-qe3_U&`cI&dH2z~2*^;oI^B&_3k>z5C*z_Yq=jPvw%(JL!tNHSV^+ANrM9j`pPOcH -A_1r-H#fuHOvxK7q3Nh%d$++^swkf917>sXdzzy>k)Uscg?d-`pNMvDjN3IEdfLf%JC@^FN6KYeo_fG -^(yM>Qtr{9u4PDEVJq!)>|ho+tBxyaGhOL?}M7vhN~w0r%Onnb)UWX5Cx{^FKn~=0{pPCWK`9pXEFOq^|i!eC{V@CU97;3zcFI(gxHG7n3s~XwoBkXSjWy -kT*9{VV;{Zzyzigoao{iYh-6#D#p~IBHUqDA#Pu3o*sA~<`Y>d@Apy%YhSxKGnz+q)Eap8#j@@}!g+a ->uB@ARR3SP&>(riP|39gR?s289%oh++$mbe;nwyOxIp1Kw^rHDGatIcLgQVxsQS)=Yq!1{sjSAJz;YDXH&!Tw^p|o -^5krisUx;e9l=0LQ^?W3GcFIKtaepWpO{f7J7zxhf-$EXR;5*To|c!MC1wr=dWDIWr(vk8ozTsdtb#z -z~#wHH`(o{vM|=CGt*|95lW(d8z(ZawE$oH+xLL$7rQ1d)S86q*r51_>d;um3=Hxovm(xci*D*8NtyZ -5M(Usx0kyKWT3$J7hX5;dxB0_G#O|{Ijb`ec;fB#vNOs_RnE3;rJ=@*HZ5T;BlQf>r#(=7hf-eJzt~n -P%5wZ2v$Z!-bPeR#w8f6XK;3l8*`0i1Fx>BwZ*#aYmHMtzh!|S>Xdq1UO$w_Ki7Z#OMf2lr4;^y^TQZ -1ep$_@q8qaUo>zZ9u!luVoR0rlK-M0Ce{=FLy^C(kgX0AFlyiqYbD6`z1S-)J-y7E1}C+9R11Bd#fX<&W_7G7#!&k{*g4+2x_09? -j~4!}*qXX?8rX39df~7{KvqaI~3MuZ^i2<{+nhDP@m&jx}wJ~?+WD=dwW(ikSS;3XNrdo_E9Yvl9mPBmy1WK6t2Drm4i$i^XYtIgagl`)C|*SxZ^~RZ)`fftuzTHUR~CZ -A$R9O7MjCTz>|i3ZH3~*PGqZk{6?xn%MPnrbXbYRwmKM06g#K=+1Ripmmmm5AaR9a81gy-b3kG=I_%n -Q?{MszkJzF)pYqmk6+|=c4Yp~$7>tE`f{?+jcxKJm_4>h_ZZUTCyMsJw&(|K`^|#i(>Dx*C=A7L0)Zi -v!Z8ZQh+U%t+796uO29aRmR+A|2 -Qs*GB0c>~4fDddIbUZHL%P@f#D|3*gxv5N|J`zoKw^ZzZ$`#c;fLVj|dHJ>SUNUWSL>VRgEfe3ED%<0 -Z1ab_2g_KgjNyvJ=W(yaV42BqMZJ?%1Mi9N#6`VEPX#`E6t!?gjJ|{Gf1W+3tN_B|~0)GFC)Ax&k7Iz -nGh_&pi?az6(WpoBy){v+*IxgKFpMKI_yu7F$H~LG`ZAc6?VgvlH8(ele7krSX -?BjxO3)<{gW;T6uNRiG9%b&mMqZ+%30AEd}bKbb9^+g}G{5a-r$Ba-Hp?Bd0_*QwT4Eei+fO?#gi|rY -;jd&YI$dk-`@WT4E9d|986(iIefvflt+k4}63xH$9t91J|DYp+p7y9FZZwr3!i}1C8p71;0)umuMGJ* -6ppTRNbKv1#ck>O-MxG_h^tk07koZ`HokdsIZSX%(8doP81^6)q(aSLraEM~WGK^j(&ITCL{wi7>e4gC$$9Y5G9 -kZT;UnR?b$bZ{%>^{sB-}dayd}eBqk`C|)7RVLf-@Bqt0n0KXXUs19Wnt#09FNY23^QHN@}vw&zs0d0 -fRkFgFpFO5rz8!gD4;Kj+gqlytryS4a@*e5O3dnh11qY}VnKtOVAXAzgWcK7UwC1i2{r7`o$NmCq);>2TcHON`|Mk^EC4Ib#I350_Y24 -2d@!!7cTNwQ36+ec)1Wu7KiPPI}1P*P#!5f&;Bu-K=gb;gH5~4qie<@^#oiy8n-vrq~W=}t6d)0UgEo -pM^|ADa`vPk3)>hp5;?u<_FdIKr3ue8O`8~S4Lo+HHY_jS>Gehu0YF?kzN?J+X?M@s!F{te%w9u -2A)xs_Ottxcm^GGno~w=g|NR!U2p7@XQj{Fq5cHQT)$cf{kkG^Eq`-c*|TnYz@)p8&GN -%yg%ZXFx4&p>@7D+dHFH+{c;TWF7}oFlcxc`f1KYv&1cj9z|Z6VU#I_(<5|_D(aaNkAW;o;Pmk2=A%^ -NQgaa?o!gk6`zd{|z4zCU&=eyRYmkygX(0(C9)|xqs%wX(a&=JI``>B7is&cufclZ9nt5nr=&XYq^|s7%Ve`QTSBksxS?iyB#nz=Ra_p0h-!T1Pb3sZ1t6NS^tZ`{qs3Z9}` -Bv*cFmPf?F4Z%Uo8pb^-LKDxt;}bVgG$~D%!*8DXuGNkoq%kK>N`_{^?0K~#d63_Ckk%x>RYp5(p}fu -i{F}K>oxYNuITPjBA2PNPm?w?6Z4FLR~Aac>J1MzKWCV8b9BUp7QWZX*=|B=dD_jY*mr2Ve8J+rqQQ_ -m%4pZds#=^n47hd=DmYXucq!==o>8z3C2(A`;f&+8mqIT)dcilzBIZCHF-&{L7on*A2Slv*${l)OWt& -RhD7E?$YRh1__5LvJ$ho)Z!VgE5#3A$1BTHGLh;qw%z0VF_Ih;%zt3|2B~Vy_xHXtH(3sACrd^9dFdxWI=%U9)?%0Rz3On0==H5JH|7AuszEd6^-}f>;X;DLno~leCPxgVYuMr -Jmg1v4~+RH0QLC?DeJ!uCUyJoc$(0j3*k{SKF9ZF2;RD==(N85vFCdt --%&@l0>$bd5yS#PT`C`|ZdOyPEWs$}JbxSqoXd#y(s+*$gQFS~RNbq9GjD}9sMGZ}}*UweY`0R>73FQ -*S*)Fn|O{ZA}rkpVlVaO~TP95AMdwpFd;tE_&K^9-o7l{t9Z0r!YPbO}@j4(X=VQJPFRAIc9(;$Wjy( -U~QFYAsaNKQA_@iAU4;I;_OoF74o!X>hwI%&Ct2V!pO1cG^ZeaYNh9Ihg9k5|g?7v~n}eGT=L->Q(Aa -43*aPyFClL{(qz)edLj5N_QMq9d@33U&SQR= -Ii%9W6uUt)B?Z>?#hwN)my)`4k1b-z-W_90VT1k0*_Hd|aJ>P1BF_+F1~P7h%(i1Z&4W=4sIubih+K) -gF$$fH3W~r7omoQ3+TTw~8Zxned^|5N9RO|Dzop0dLWpIShgHj7@AX{JNvqZzjwQwzygC~MW94|dn^6 -erwtW_-I%~(3OO^!?2!ydtY}W^%n`AWPk449{lg_1TZ%^YbKR=5x1vgOFNb+#CSh*euwT8NAxD4cl2J -ACUoy>(7IhJ>xzB4|~&|p!%kyAR}oN=LAW9)<_i&_^am%lHA3o#FSEP~r=B+~#K(Nmxtq;ovtu(@byB -j$~Nki-B=JW0FPoFKq`b^H5`gntqm@ni?#SE7*LD!ib|tEq+zSzVMdCd ->k5YSZn#F%$zpCf%`Tt~Z1>A4?R-q!uot7c*5;KbLQ7-h>rNYv;n;o^=e{SS#Hy6hDS^a(VKYR}tzHh -vRoEu}?NY^fE4*h4uslKoH!V9|69YR4{qV@lVILZHC5vR{(lYT**coTgg4G6A-z;9d6bPXe+MMdY5(3 -F^X;lo*-v8qt*1#qwa*=Es{2W-^2x!ta<@C32$VIH)kxw&HkJ{fl6)hylL=!3+jtt1s~}aO|&L;z)r=2qAWDv>VQE)+dY+vKCnK`j=<%`j5+30r9Tn}e=9)H1icKXcL#&wqkCd#e%cyu+s!E7r=d8L;6?eg~F0*j4NrZ< -DYC@^995zf1=Cuja6=9IZ5r{6A5jc(hEu*cRhXw7#gE}$_Q(}}{s7m;BUi&Up4kPSR$t@bgiqxy_HaX -Wj?MzR(>1-Hi)RPCIC)PuxL=~>^kszdUjCJ>1os%HfUowiP>*~tYEmNQCBP5^4As*J)QN#xUs{j?OUB -cf7eC~=E<8A#E*XJQF%yqCI*I=9n17V5o_FO&10~^~;b3|z6`MQjL*4;~B#w}ld(03cfSUHkQ{duUG% -6j_VGojDiO;TQBs-#AB0;5H}LyuXoOpm;RNcx1m!2()G4Mh_5#(J!mc&J0q@DzBxEoGz?qC`rM?7V=O -57K7i7=+y?PJtd=(KE2Ibw>!OR_=a_$wYk4Ry@I{*lg=(9^~SsS@5pX65mnbaHP2S701C)A24?Q_@nE1qEuAdJTEV&$a2ZQ6&IB4 -_?oo)vfJVJ<3nq;Xj8gFJZgCaOBUbEDxhj}^Bxl3D(9m-hlMr8q-+pZM6*Q1I^87D78~+8JB4&)Sjjp74+2{jR@D*YkUGz*YQ_I3 -Y_PFBVgrDc(yELvsF-u9tpJ*Z*VEw6hf8*EB`{Eos`n2L2n;v_B2-_ehgIB_(raZ}Hckfy}Zu_i;O)8 -9=@n1;d;(XEh~#Y1A%o(uIn1|0pU%9VRL?3UdzY3OOH?T38}b&EWe<-R|dF-S`AZbc@T(WzLGj;eHVl -QMLs3D0orvx+^V6R*Y2Ib3@>Q?OW$&hW*8|ROEQXh_GZ32H<%O!ML%78CDixMl<;t-@7qFA8+4bu9~P=H= -(NITbOFf3Zd$*N86C`yxPF`gS6_wVSyWDO$E7aJ59gx`nC{(p}LD2|J?#;X~`MEv$u6Opp6xTh|#YW69`#jbuu6?#}4YG77hmK5CoTl -lgW$A})uiB^pJ$wN*Hd>XtvrJR%Uukh7w@KrG-dv^r|0yy28Pz66HoYa+=F=k+h?q$G?B6;oPu=lzaR9Eb3RGC0H{gcME01+_UIms|QuP1eKk_c?# -!o6So0{bW93ogfebTf#^7l1MU$8C!@7X1WTzdQE>s{VT34~T_eBuNwW#e471ScsRf=Gf -uVTAnD(1d!ceP?gxf_)h~jsGB!eNuqV-o>G}d%K>^Gx?WH)$V4?&_8FYc&9vm7*6fenzHBP{ -TH3W^DM5+^<$vmSnraJtOR`YIasUwWvYPxCMmuTmwxSDWxupIe32CYc1-7?8Tetiv@%TH`a06~o^8mz -sHwk5GV;erXRD9Cf7^2ncJEREzP2ey`q!@9e=`0#r@;e=(DkL<+_uAx71A6uCTp(Ey;`P1l>%3^OzOp -l>>$qW(yNrv3X7bmAd0I&<8*C7164ELx(O+=;qDAXWR?8IOS0-h5413+9zjZ})5%o%xM3lKf*@@0Ppu -svR$)YkWo-aYy1NtCd6eE5TNF$xrgRBSc|I}0YCW#*F$`;MQCzjY8O&Lm!Q8X1$jX4v6cN#b1$f=JaALnJzX8PEBe~vCqcAA$gfCw-5RT|69OpYVjx>?0F$Z5rYSaO#k7pDbs -kK!oK9Djxg^yf*wV3P-27Xf0DL-y;DPR6;~8eA6R(=r|HK-L{Tn2gOs$Mn#ZfQCMv -#`C_tt5F2+$@&5pr)7kG|e7kLgN1#UlX08XupB_YpK5@;D7Plvn -{S1HVHQE{}~S}%RD*gjD@6q_zmIUGJ}chM{gX^DmLnbiP%Zw)l1kw%6Xet;tIW};=s27D18+}G%KL!V -yb*3XSQZd{~Q8Q4<-hO9y>=oV?X8y>U}{p529w+To{td|`Nd@RumD^Fwt8b^DO+r)8S7%K?MUAByFA| -7^&f#l1_G!HmE!)K~!(S=`EL`8{Fd>&>#=$<#(E9&#mYRo0Z$g@G{?nx;;hM9WS8&lhD<_ndTz(P^&H -NaqjOfC!0U(eo%3tH4oH_+9?)NSlk^nysH{H@5O>A=c!JFh -wSuL9#^Ro1W7&$zLS9VNuvpmTF=-o)`2+qq*RahnHLfz9wE>uQ3ST&gU4*gvj^V?F@j_8A20(xZ4+iF -BVAH~9n3lJ3I2H)JGHI8$k$}-D^*0Lz!Fq#EPn%!_P=yH1=X^}JS!a*Z*gf>#j;I@JFaC8A&7F5A0f~ -UNlAm$%(qT~Eb+ayi?<%MF6!OCun*L{5Dv?w=WJlmtA`0dlOt8{FN?k8u_J|l#^<5D= -?5ALxmvKRlhkPpHBac$3`8uwY`7Kn3TQ0`zvFTgg0XnfK;;TXxlNa9P0 -=E+<$A&{1RP#jq}`TV@m6fao+81#`f=Odw=U`fbSpYcTe+AnxcB{9Cyb_-Dm~7{p4_7X!~{8g6YH|I& -jo6MtTf|-)-=My@Wv-RtCO{b6tpVED9rZ5ZfbbEDv%FuOapbj#JYvHk%HDiuW?4<;bazWLbOJz;F^zh -&l__3%p+u4oXn`F0E6zvAE;u98>ujIYKOraIfSp81#az7Ue;>&p0?vgI0xImfJLE61q@P<;Vc6S^K0QB!q9W~GCoX-G-HeC=@w2mtH$B -TwmX$*i{A^T?WkL-f|_O=&8z@oXuIW9S|?DVINV;9l&1P;WH0wbPc=L3r -{LUgvUO0-o+O&yh=Q6qb~G%yI&16$*KoR^Jdn(DBaxAr;}&pta^JHDz!~}17Bou_ -T%SI3na{V&0_mM}Q$r&d02r)aDy^vO^+dG|{kR@LnR1CbbbH&FF84VP4QQ~hP#`}{vV)T>v0SfQ7bZ( -^?aTw&kF~uY8iA3^nZUOwiO*simGF?gQmLUlP|P}itM>u_sdwC$rl`;WYHH>L|J)n+&}c?PK60gm*I|w*_4<_9cKFscx-$<=8svTV?Fd9NPH=wT0$%iBZo?`&6fz~j{2e!(V^q(13RD7e7#E5N -qO9wRmOps81As&%BgZ}^b17|edQya=mjhY4i3TfA$l2p~ -hDuV_d^=;5_2K#ADwp|Gxy -0wk?MzM>eTwU$@c(MxiWE=Txz;c{l6gHiZaA;Wj45R&{n50( -4@C40>f#&*)Q+ugo%K^wz@;Jto`K<^|{y3aaO_J?d{2PW|?*Z>^h4*OCAH;7JFhqYh*E@bwPO}*O(Ti9+duQF~z$+WYP -T7xt8Ml6`r~!WYqa=n^%k%M_V*a88!MRo!`Y;}$Rv)j&SZ6!&s|~F4CGlM_kjWn*qtqvpf9IH1qdZ=9 -HvUK%oxduGwNZ2YrhxG=k^_86OdYq2cMrVe?Sc36F6ho`7wre~X^=T;FK4B8 -igdaX3$91P|^3C9PWz1mXb{n7DsoWaOqQhK(Z@IM(@d^abzZ>fQtvem?U7M95@^vlN%}g|BpYIk|Q9S -BKp9Is6V&0^D4?{1Ax|HV@3{t#Y<|IQZ5fA7bfjtz?@UO+S^^Oig-K^Pkxliz5yKVS@fsc@f(ZGl#=M6 -BIR*^?B@~+$7y6B|3yg-rVcQ1Nkq`%f6xfW)YVAx5-DS`wD40IY7dSNeCo+EcdaCagDXJs$42&>D15?@=#45v?%^2@8c$A9tf<68sXa32#z_*i+=PxH -SXIkfn$vg+g?JhTlXWo*t95;yDr%+%w*xMq9E|IJ$Ub`2dp~?1NJO+QF&UkI*S8(y5w`QT}t=h^yzm% -e=G>%}cZq0<1UX51HQh#tY;}|& -to9Z@Z(QP}4|+X!sv<2c)1QpgxG6V@03cS>K})!kcZ#0iEk1^+HFXy8E*U~4Pq$~Qtiob~EOMz+MK-o -ziy^RSqq*Raw=oOU3=-pGg_joCxWRJe`5MI{I|B2$^$_|Vc0{j2^Ci9X7kM}s7sL=tZ@!vcgy~gM038 -w=q9Vm0aedHkp2v%EEpKZ3Iy!gy*d&x^1)$Hpki4k0B^OZXekr8ArPo0rz3Eg70(!?L=Rr3u5b5z+D?ijG1EwPw)^VtjBA -?Z9<08k^T}$$^by+TjJ?-rB1qm2rC`e0`p@O3-12iP&{Gpkl@MFQ{3cCb&f%5mB6BL}QM9qqx=tpcS* -l$&*JDnt3vk^oT92FyAiQCuvS*hJZyEpX_w-mZ|nmV1ZPi8aQ?OC}FkKpueB|OPimxdBlCBG1bQ;e}w -;X(l~Fsy1Ny7gGSL5&otR-=+~=Gs{9jw{a;w_gUo)i)DL_X#c33#2!fy}6s9*iys=^k`&9auj`t?|eM -p?#({*vQcbbLd-ds<=^>rd*&l@K1p0Dt88$K%B8{KxP^mm(o81EUm_^q=>;yarR-{yYVJE0e6yB^&35 -|#cz#lIl1``N@U_70(Y=UPbbt#i8oQL;Cg;P}o@w|i_4AHP}lcKht@M!lU3y*cl;!rm$O)}`Bsa7^vL -lDE7NLH>@w@^1;ZcKIN%s-9h{;5HAwiTcRr>A?198$QMPPFRPVb@l4QU)6b7&32Bp&gmab81dDG;j5T -0fz7(W)i=7Rp@#@b`s+o%IU87q7i%9j|HgK=9mn}|!5`#)BtZYlWKEuVOR{aG_0P)d`r|QOjDI4swF& -5!J{`Xr`yHpgj=Z-*(ak+R72S3x`D<17IM20n@v2Z#HhyZ=0g{gqGQWT;QrGdq>KjqtcehHnrb+xZWN -!Sq;0O1%nWub==k15j?iE|$(~|A^U9x50CEN3nsi2W0{7@x(ID#G9f!HCPz%(7j^9p2$frXl5XsrOl_ -;8ymsDEkKE|4FneC>V1d#uT0BU#tSp@Oek?^R-V)gd*3d_(d~fa*kO#;@kXsyw%PfG3HCV;y;^#Naih -PTe1-b{}B=kX`Qa>F`|VBU$UXsppX+L(CmWNb_}KjzeT3S51Chou&zfS9&@}%#wVj)CHv}n*q5&8|io~0MwZ6C69N|W+4!QX8tPkh{Q!!tX9rM* -4@God+5HrT`f%QaTT;Fxz9QfVH;X}EOlhj5tfjF+!QG1n0Kz)r`JKi}`i -15?^_tP=?!8iCAAwMaJnEqg>q`)pa+g}uGh`*J|*CA|m9$)oO|{wNMkgIZ+!$ez?uCJsc)1QI}G&$7Z -;<{4iHt~_?@ZOK+rFO7g@OMg8Y=*Vgqm!FTSKqM7brbX^j5c@*f&c8(qV4cS^cqj80jxLWnruvXryqB -$AUA{j!BCDOwIG2=TNTg7oLtcL^(e1`TenD5)n`fXf2x4VHCab!Cy#4J8qu*^b=>NhN_}?!1(>D0?az -AW^6iHDKhCwg{<0K4G1dZV^PJFf%Zd=K=_mRk34kddlrKJ0ofxmZ+l-kQ&5w#Eg6XYM*=W3>3x(~B(m -pI9g_of=Z+lSD-XK~w?wtW?+-hJ5A?iss}#1VV9V*E?Z6=L7`(sxG_MD1JNE~lUDlX+3P=WkGKujj$< -RMYNolI#L6Xu7vaqHn=~y@{K8?~=)$tisI(vDvAB -MYo~9BW0Dw#R%s`5%oi*5-seZ+vjFF2FO%5b -!_pi#k@U2t%-$Diqux8HwMv-i6K@0d+`eQ`Bvo?9LOmB_G&f}`@Qmn;@|%sG$cmhwL -jC%EtVzud*jP^LLtA?FP`O_@7_ch54d}O(I-RD2GK?jFxyysVe(X$Oz-}zQ|4u^O~;#*zZ9B+W_y!}4b?+W~{){_*7 -BoMp1HL+3O_c3uxPF1A)CT`K$_ys%g%Z&j_KICsH4`E&)OKPp%@d|q2u1K7j$D*Y1cJFt&d%(jIW|`+cjuMG+1CDTthMb|DtJ*uAq3g!Bma-S7#b>;(1l?TXVHT%A2zc?K(i`? -u4F~GTU{WM-sLYG)sMlleMd*C&55&^}wHKQ*;Lr-@%Ol~gG}Ia8E3YUbzNsXTTQ!dvtRQ^p%&P!C-_5O++jt>GAUag1kbzjf64zj^q=op|8RwW%kH@!*gZ}m -G)8T-p1=?s+V(C8f-xNWR8etb#5lUQnQi2EBglJMl-$+-Giq1Vir)JMOupfNADjH#t@@pl+8gNJ9#`8 -k+md9m=c>|dr_{TlK(_zdtE>2~w!NpKwvB}N#oiUYr=xbU?P$LMrrw2EYA@ODDqzXpo0q+P2*};o@I7 -Uk>;VDsX7?ff9@Km%)3%ehtDtn>)}UnX=!?+bvU_#kyP|J1PHKvZ$gK{sW4pxnzq0%AXLi3&6a71S{B -3Y(qsQ8J^jL`+eFip=Nk7D}1?1a?w_6STymzhtXz%*DhWy{{U4JTVZ+lnrZSS&Ng9m=fz47`loCCi(3 -7n8R2ys%$nS_Yq0?<`Vq-Aj(TxG7EhJs+Nd=Lkm>SMSnuOi>2UKv%mKQ<&v^Wd_f@kx7n5oVU*>sbJU -EGkUP(zfoY7+4h^rx+FaH7%;{bgR{P%Wnj&ztIW+O+3|QYt?7;;gQ4>q$g-b5-bb5lglwK?Zp^(zs>IXA2k0;U3 -;sx|NnLBhUYg7+TrVmSAGJ$zkk&S(EZ|yAB1EHn1uFzUy7nh7^QHWq7Vw+n^p*fCTSESDH26V7@-h|` -V{|Qc&FPN*^QF777w&Hbx`3hm4jyQ)?jL<%kkS+HTyifv7NH<>IB-;5y;!=Z->C>?X`mLNV@w4yq)^? -0syk3()Q&(vWffx|F+-($#&WQT?{DRll2=C)6kv~*^?-5b;bSq_hi&Y*@^hA|4-~li6%QP?lOt#j@%o -T!|$0bGTYNMyZj^Z+y38m$3HUtz(1E`uUSzoHOcTw1@YOehvP;TWB-2sl&?(DPX;dbarmxVWqT*P`73 -JTn~l)pbv@cUHoVWBbp^1+?cl;{5rVh66-)y2q2~(A`>_ytzkZHT1NsSt-me4SpYS~rZ8-R$E{o{zEQ -gF6{Pja!_S-RFKd6h;PZfY%`)Fm^ef^G8{l1%geD2@Mci&#@06%?yzRsRM@ZNZTd&v8un=8`$+}017k -NtJvhZDH((jVI+{;ths?{WdYb{wyTk=@rDb#oqM1K*4%S+~?wXPN33`EA0$P)|Bvnd0C$D(7jzVb)*B -K`?2mOS$qSJ2isFcJ{)ja);B{;aYS3^p1>M6 -65+WOqq+SyJ?B;|k8oag@+C9$8=r-bjaG1o0=F*Vx`2;sn?*X*$SOG(Z<)3l --eNt^mxoU3L!Xjs`Bk9gs>Sf#-QscQlNc~y*di+Y}aPO!(+h0<#4#kkS*iel^J0o=yms}m8Wk9Rl8B)S>W;(@29vDm(e4v=F(5k>-oIJSWnP-0 -+Ep(l-tqj@}Rey0b+Z8IMONtB0U0?>yt8qCz>8TQZ*xOS(Q`qszT>=hzox0yWaHwQ5j4<|b-c5s+Z#kW4GO4DP$0E#L;7NSqv$L<7tI*R=H?) -#IY!1>a~Pzn@ufU79)Tnzg*vf#v=R$*KDhxkpvQA6rpzG*)v2wvSzyJZ8zQ?q}ZfM2#J3z3&1WFy}s` -`ix!d?qi~!icd0ahq|?Ca(6=CNvQsS%pdrPloEsZDRg0CenjG-X@Er0zR)C7PQERjy -9Ic64pqtBa6`=PQi&3@@(E&yEm!dp|D}fzTFd9g$LuEqq>tvzI&T?88tTguM&gkW;k>QIDEc5aJZdc; -fDb4eBuh{D_V3M3IS5VC-9MSz9T1%?dC2Gk+nXe5#PVa&Zpbg=a)~z{s{_qOG2pYf_js?RqQ%Xb_uY2IQF- -aTUlJNl5(&c0VLP{k6^>580+^bvz|FyR8NvLT=;!*dQJ<`L!+%_X|YK%)p%r2BHZEk1sDTc!Jc4 -cm4Z*nhVWpZ?BW@#^DZ*pZWaCt?I%?iRW5QOjh6iYp{6`QjNzJ>P?l8sr(A4!UM@!9PU)Hw|^!+a;4& -J*fnI6iMUH#=R|1fc6W&{P^*7Wo6;LjVuQ6+<$!CoI(F5-T=G$gwu%y=t5y`lNT0ENZnriA+IkzZ`NZ -4O0aGLl)nT3Jv28aFNCP(uk~@6NXDvfd(lpdy;a5ZL&j;)hlrv>;?Njryt=5P)h>@6aWAK2mmD%m`?D -|4^!j<000*T0018V003}la4%nWWo~3|axY_OVRB?;bT40DX>MtBUtcb8d6iR5bJ{Qvz4I$}!XYr@x*? -fflF7kIOyVgu3^vVh0%5O%T3d1@IfcEHe-qYK+t8Vx01y}xU5W*<9_QS}BtI_!SE4 -+j4cDfL+xrUst6jL?O&rBhLmYI2C3NN6R6(mf6!jx;H_^L7p+yE2lXQ_x^$dqTb-Ks>23d|b8pei)Tt -od^r&R~RE)7dQwR4j){waR%yHnQrH;2=sFcxdV+%0AEw;2 -8*M9C%WkX2;0a-6fTMe;o)!;yUnUKp-Z5=G20S=tG{7^e~rFIdCPlvCwZGaZgSMgOg8#vy%b9ETWzF7 -Wm=K2VX|F)9GYN7T_kbC~e=1QYr(J`Kd!6XYFAnxE&>yQ>vI4%DBbNwg)%uK}*<^vDCZ?ptbncHx!t4L#}c!Jc -4cm4Z*nhVXkl_>WppoMX=gQNa%FKYaCw!TU5_P2lBVzTSA^7BEiEMw{vFZ1GZN6yQ(79>qR^=K1{GCF -lbWKE$toJLzkcm`ENXkDVWeFylB|>Gc=(68*=w)8?&o*E`|ba>k3aqMlP|WGeDY6sf4_V6@YCJn_VE4o_BYy$_kVHs_RWjuKi&Ob&E7w}eiQ$E{ORG*e?-IER}YW*`i -sZA=Wp*`Zr}ZCi~sRa&mU>)r(feyKfK-E`{egqInN`S_|3O}uzmFE)%KM4zS*AMy}5h*``ybN$tMr5- -#*@d_j3&My*I!AL%gzWe|i4+Z`)V*um1LU|Ks-l7Cn5sy?xle`t|J(53jHB$5g$#|L*bmZx7+jAFF$;EjL-l0@bdoqUwP^0*Dqr@^!n}Hi$K1`1AW0cdy^vZO`9qKk?d|AO0~@pV5)8ua0b=Jw)@)?jN_i`}j -N0{`=kIn|NibACz}byIQ>6Vy)kM{+9m7YW~Cre;=Lxb$b=7@%ZkOAN=MN{9~jqxBJ&N`$Noq{1OeuKz -|9d+P=HnetvWJ{m-v%qlI|y_ODN#{mYl%Jlj6{;;-Ake)RO|M_)Yq>mTF2G1KwaSifxP{>Puf1Yd43s ->kQA-~JjMj|Tqo>C;dCB|h=d$4@?g^6anl{<9~~zWDU(ueZ;>e7b$Kef81PXHP!)=JSu9ZeM-#^s6tw -{`7-w`}*$g-4rvKzctDKXNtd%CVza0nS6Qo_WAv*H#zjb#`3<24!(N1{qX$ncd^Vb?(V~)w&$@$e){$ -QYYksLy#AZxjgS0eLjSnkf4{wccze73@^~M%6V~@1RySJt$NJue(ZBfMb{i$$^!)X|y^1CHIzIl{{rA -!IXRjU}9&fjgAKtv>t$+C_KD*aa_V-KM%eH;la~_&% -b*`U&BD3J-`3u`Ro50P9`?O^T+7oSC0=rKG6Tzhd;l5asMjb_}_kb`}U_leE8unzx?vS-OHapc>BvAj -`HD;@sY<5|JnI3_1L!e-~Z=r|De}8OT1LaeD~5=$Ka(=>bsX#&zH(x`}NXswxjdGy&u<0=Nd=z0Z(4u -;XdA3H2r(ZG;ja(uCWi_EAL;w{(k$X`hmXZY4q{o$KUwe>-b=F=fn3#-^=^)+wcEr|Dfz6H`1>^g+Kh -w$36d!T~Nn=!KAWN53ggJzIn@L`tj!%KWsmQQ`3QjyLtMjr#CkrKl$_c_Ss**dh*FfpMU$OCtp8%`sC -wpo;~^Ui*KKP6#vU1j992oet7yhr-qxe?i -L&2rxZyHy+EIFZsI}WxSNs->9sgYMgsu16uwedL;*)2OALUrLrSR7|&f9h_-dyKx>!aM(Ia;>c>P?|r -@rHPM8~bgiA6t(H*ILHy*7)Z*qaQ6ESkB2~wuAoi+c<8c#hrni@z++f-G0P8%oZ>Ew-QfpC3-aN<%)J -|jklKQTRgDc*3Mu1;hUo;BPOlwXW@OF$++5`{U+wf$!iREr{^s`nd3We>vG_2#E0gL9`)$?5pUUIdoy -#f7^OD4Q+d`k566BJ!-$#L2gBW24}RlW@vi7}=`~toMoMM&cV~LBBAx!m)aHyZL6hHT_nbHJ@#xIJ9? -n?j_`!-}6er`GeefgxI(O`$xJL2l)@XdO82JbOd89qW5N=|6;~%vhJa}MiCq@wiI$JEoepc2w`mv&Kr -N=zPYn{g9ExlufGv@1z`HJ-|*=~(>D=S{!&oCWlwb1=NCbS&g@$D@8&LAFH_A^==3_KPtjIA>+%xHwc7CsiwxBF>lv2kun>~xH?N0ZS|tUva{jt+ -37T`O?Oo6dnvoPY5@r9u@COP&Gb{?*EaU6NndV)y@`RIlV3HdH-)#fa-SHIhRKhf-z-ZRhZr#J5Rk -lk^UM0RXRx1V+-O@4J1BCmYokwegw -s`)*OcPM`lUqFhJP9AwaF_e7jT-%Jyi5R&T^eqnIxRXMeW%liI~+LoPLs>G#BZa!FN`o@Jo~keW4z3- -D;^7QteCP9PY6?pPM7c*;d%!>r(Mjn5MM{kNH`>dR;*zBv+=`cUF`-AW0vD_bnB=(9~>SJ?gzeL5}66 -&3wN;&p2c1XQ)Wg^!np1#I<}5%x9@xSb^SFx>M^S^BjSyT|KqKM_=AOFNMS&je|6^UCB}mXiYbk;*7W -NgTr#6uF(3gBz7|Vf%lG>u*6ob$mxC3oE-e-pgXOPyQGo($xz5}dJ#a}h$vhCr1DLZ@F^|QPEtYIzg) -C^(hw2S19XMK7UnQI;m*JM+wqg`hHfuGN&wEzBx4k90xTvg*y5=L!wygxo$k|pOuP~R?5 -_URZs3vv;EXK{h9*?t;S0b!mKYax5YDGthbTepHSE*rSTe$M7r!vzJ>%v8mjE5MQ@23`i^l`afD?r7e -GoJbCKSlWqhlc8@8yg*OuEX34O`511D8}=V?bd<45;ZE7=3g#o-lDk4m>_dEQ=8m?qaF}R$~vlud!<` -Ts^@hF)W}xy&SGCkbw6K{11|niiyY4FmU`sb>?ty%P|JjCYLVu6YPtQuSh|?>}_VYM6E6SqlsHc-n}uRM0`#J7_LV -1CV-#&V)gj4e9Y-KlypTq)^E49=_=S6Z0|cAok1?1>*%;F1j=Q;B$Wxo0&to{ss)_8a5|1j=d3%`~zv -j-~Tqa749c&zcH#s%8L^=+a^g4kY#2>_DU*tGMY6+bn$#Rp8ztzgCp_75x68igntOn5ae*U0Q#!K!!-aeXYMV>uvmMTA*SVIT3W{_+1st -V{TTJkeS8EiX;*(wRx27h+{Zj!uLms??~7U8g@)apv-UdcL-xn$Cm_A%A#h2rCV1@j15`FTO*TNCm^5 -SW!D{Ju81n)XPZqgj*wd$0W-0UI*nBr(NFCgzDHwAkmQHL{!hy&Pt3%u_yKNXj2~eaKWi`_naDC1Gp7 -14Lu_jfq0lb;+Dggunj4{&H2DL;M7L70lqNQY)$v^RRnD5T?4<~%dOn*YWz{hl!F$3iQ&mGMEffa(cm -hPAivJso~4UVJYLc%pAemKD;7;Gc#Rwge#4kYL{$?`DL%EX@o*C04LjWG1GX*Vz|hfzK4EK*q3Z9#X) -cH&Y^cw}BXFQg@hG*- -aG|zX9gT)!#w>7QKvQlF$wN0dVP69?uy84$F1mC!<}4ix0=WHE9lVo-z#r$(MwQRr(7>dir!9eDDM4O -W;Z93t7OUH#*oPoDUp1ux`We#AM*4`kCzpE(xQHg@qX}kTC%X$p6_}tvS==0StGNo^;*+bmh2?sz`FS8G?qDEkS0c9))LyFu7opiu|3x<9Lh~0JXTo2*oy=-d@Z}Z@xX5 -28Mt2f(E*uQAUYdqNx}bCaB5p}fEnlGO%dNVa$z0VArm|$=SU`b>%Pl#`2^+$=sKyLx#q;FtY8ry -&5zKFy=;(P@s61o@2a%DonJ~sN0d!6zRB$GJRSR-%=4wq!Qor#?Z3@h!d1TN{rc_HMyfa~pLP3Rj+$__85 -!!`!NDm@zVkWIRW`IDB6mkwYK`yaTYH6_K!(aqy9e!iS(O~Rkqt~U-9|lt>~&7b8;L`yL3%`LF#&|kQZ&TwWtZ=}M#-!utir^B$Vb)#Kzr~ -HoyX~&Shvn-nkaRT$gpmcM8IbwEQ){flHzd*xaJ8Wh^9HjUClo@ujnb`vN4vV@4 -;KRiGqZshQ=%C)C=m`3+oBx-Xlu@Zbe4f+KI__@kI!liB;)aG?nCnONmpK-h2xrC#j@E~%_rhr$~rHy -!;jECHzxX|jX@Y;Zgfh`E!yH~d2}d$o!;SFT$NTv80|SZx8r4wGtJRQN9GG$KB3NDBVgsci9ADoPy+a -TIMoyOaJmrY7=O0wDZ)hhrQt;sdI>W*xGSEdkXRbS2i+;9W}<0Tw(qWG$6}TCy$@&9iR0S?yQOWhV~+ -%)pma(@IKd#cDxuZ$qb%??%ElX;SPV;k>flNqp;!0FX9LV+maVp|CQ8S&gnzzQaWtBlU44BNa-clFAP -W+>1}8ghRWy>M9H){ljYUljXG2!;Jt^lW3Lr!C4o#iH;5&mHF|J`=WtMU}9q)KxJSi$eYrVlO=VllC^ -YyxbuMCQ({dfukcis#d2KoJFvdtCqY2M?d{Y9V3H)&V6nPfRcp%Rj}ZDDcA#YkyMNW6$wX%y>hdLUL~ -xhUknbYT!RY5s8_UTsGXWSc<{WQlX$YKAMHk{(=o8xwTvEY_BQh0ClB}tT=WHB+g(GLhW4LZ%!vg6&$ -y1rkF99cmz~vu0d`V$^&0>m)qn_A`q$P%`C9$dod!psc-3aS}i8n#}DIJpgA|8CxnEL^uDQ;KrStDc? -fa!3T*Gwj9vg;x-#YtRQc=IeLGs1Dr1ANJF3t8u#T7fyBsSq1%I9v+L6jLZ{1R!(momKO5k_M11NQQR -f73M)NG6~%-R0l9XLBnvAX$;Z5IS{PdWN%7%0Nil2hZWJDb~dQv6jxk=0=AwCMS%#bR#3NM4F)Hnor9 -FDP?Nz_Vn}ln?S|0{r$%ZTc!$&!Pv3SYl=w15?&L#DnvT?hP!WH{pDnq6O~KE)@J!IgU -CSWsO9?_z+wQ@B8$?TTAGHybVx#w_m2}@70%C-?jIIj0cwo2F>?!@zp^zloojdDxIC+rV`ZJQ$3F|80 -hLjI4h7o59O^KtKIgllQ8Fib7oAb>1oz!u=fFEc*N@c1HYo(E3=SQILUh5km&Fw$M -^1}^DHK>BWJQ(^%3w%GSm3&lHAkF7<5oQMRq-}K2q$ruQ=8WP66TV+> -#v*-l(p1<#^yDQ7hWky4R}%>5RY6!@1Ub*25{Cm~}fLk$aP4Q|A0=^)46tep)v5l?8kH$xTSG29#``y^SBUItfk!%ElJ~<=wdCQO!3a1r6F}Ee72;?!2F6kG!*q -E__LXHrx^Wy6PrYJ0`VII7_v2>xMsPtOR74dcnX09m=uZ4AW)7fQajxRSGx;-viJt^251(>w3@N+?2w -bZkby%>cN97eezdDySgZ)!GzLdRIek|RN_l)4r9~_AMX=DdtHW?AOj4<#2SUq246GSCY -3sGHAl0SFt7M_!k3U|wO!>wCnY1lx+ck_V01k;HT;G~pk`6)Ff!V>^8f>|%XMJ;!`+zn -d!jE{@Z0Kwib$W%Y`I$Ymtc#?1n;qtAT-O`%`zVmzp5i8nxSpl5Do_}>AMTS|2wH>+n20VDOuK0d?dT(#=r(s(Gb1!F>%a-zI6X$>8AJR}REdyK -_VI0e52JZGSfp@FkEO@geX%NtBjk5dqNAsTR~Bm?3x-V?S0%MX4*5TL1+CKuaDRX-Tvz8Dhf3R-<;`x -@Ey#B@b?XS-ErnDC_irILqDb2UvzLsr{M -G=XsQF)sU0;=uh!jNL4`<^sU^)F{UJP%eIc$ObcnEcX1jq)+S1$X?oS)XhZ|Zl!Ne0&=mI2l*B3sw?! -s)ULLk6lYK$4#F8UIb=kb1)j9Nt%ew_00)?nCv>_#}@Hq7U75&)cG&Y?V~X4ublL-*RN6d8P&GR(A#?iCqFpYpFwQ^yGc*QRn{$$Kynw9ARauru -g3Yu+2v6;WZp#WiStz!jbTIL)@4D@2e^o48>jq -!arO{70Tx1S{8PY$QU_q!V0s?BmF*jgMC&&%}R<-a+gy}QS2jH=88o;GB3tou^AbfQL(`B~~i6T#L*A -yb*qJ=K*B>t)nq>roJN_=a2EXIN>8T#wx#{q6`YuE|wq04pbdgtZ)nBV*?=9xS#O1s!^#1{+3Xrv1XN -Jn(pQBn@U0U)WtYe)Cl1H&;}4G~OHq&L548IRGu22yeX{E$sDJ{(@n*T_+ZM(kr4xK5aWb{NL>cG%vm -SG$2rhR(QA&BK*-$_^VYs-qApZm=#BfSWas?Q%24jDQ+3^=n;O&H7MP_e%a$@p>IC=)j9L@L82eR=~B -a_#*&TwG2Bp$S{zpwdic&NEg>}VXx1wbzls3-d1T|e`3w8$SLq$v2JgHDUqA_sRI?!WfyMa -pz#iF7Tpjd13FbL^#KU7$_M$iE`Vfe1Z>yu -E3swFP?c&6*~1X`boM<(WRP=9_rMrc&JmO01aNR`(+R4UbklL)gl5h3Xw-+*&E)mH7(gifib{^RA{nV -)PXc8KJZzoQA7U_Fq@-icFS^&-Jc5EDve>aGP_$- -pU=?=5Xem4Nq=|)P5^|%Oh$Hn}>ItrP(Y<@QmFSY?1ve+y4MNZe+y7~()X|8E;q~;Bcf8t?vuJj1 -4P$l}cq6BaV2+7|}H6>q9pMSMG;3rvjRcaPfG*ja@ym?z{1Pu^!?o@Bo!;q~M@`Vb*9!*~3S~qmBBNL -U=USeWoQk0HclPuMNV*ZSQQY-Z|&&k1SbQ6R|$3$=Gf6={`Lt$>wS>a0Ho=hQkYlwtm`Zk*9B;-{9Sg -;-g#co4H*~nGBMEGEk@SNupo3aj0iCt|$dm6>bzID3P_@u_k{;-97d(0xp%Xh -<=(5de5hWtI5lh#A5{;>YiFucu@M|Txf@8j>H32DS6MT?iDt9qqedwC7d3oBu!i>FJ;hA>w3e1um{;N -SX}cs6Y!vVq;6jJi|(~FtAD2lF+q{l^DTpUV^*sp<*A;>>~`NDJ`4H;n?BtBsrO`|A`Z!MrvC##3iqc -9Nk47}eT~?QHd>q7^$%I)HY+DxzIXz3uN^BN0IjN=&`$!P`t(G~?lA-`lwjYi^1z}twkff^rFk~JLE= -7iuXVRRqy6f`o4=8CvRCMIZTgsIYY+(3hse7JWzk`s?ogq5;j=?r0tQHSOHOI1_9xg|CV^0*%2Q?ZND -zj?DJ-rIeE_Sa=zo9LU+Orx?*YfSS-&-b?;g;@7c{xWiDR5DC|S)Am+*-!cChB8eeJRbbg$b?=W5^qG -m&1i03F=b^{_`uGPM!*n+Tgt$Ak{KmSwV+{8>f!I$D}F_8`qrndHtB*p;5$Z#FF -uFm`-d2r~Ki1Xle9L>O$4c4d&htXK|=8-STFS=3%XJ}kU7P_RghtrLTXWhS|du>n;MIO&{*v)kwMm3sQT(y4MnR~R?6j7_1Wl(~4jsCO?wtG8-_vyi2?{lqdNmmt*dlUP$_@~jNbnRD=o8h# ->Q)qT5M*6~rJcbihCf?u1Snc7o$^5nRg$vDIN6dz`WS9;kWds*Svx!gmv6=>vR>HKy(+=rm}Y}3D+HN ->3cFm6k#+N|J~WaFzHJ%=0F`7xm}jht=Ti4<7hD2n8PLK*+J6HxO-c6Deyg7ZeoT9AYEI_qO1r0Uo66 -QM-m|HDJ(M13k|w&8y5$Z$9!a8Kr@NuZQ%Dr~KAt5!Xcio?_|$VXbgz{xsN)|tNh~P^5}?BI-nR7SRE -1O~LVj*&B@6y{GgmyU#vBHyBijX+urCIPZR9BpK%ES)MMGRe^)R5d%#5Yv=PfJLbU#5Qtt5{Ks~vVm& -T1IpR6zGU0|C1nYA8&vJ*ny;ICl9GKz0wPur`N3pm)=sHFU2rQp}o7x2Yemnm?E+ALwfNNwy9&vxgt1 -^JM|p1Y3>Qe)Si=ghaPOrPg7N;9{dOKu^$yNr}EwTm-GyJQPHrJ~D+RH!(rD)(zcj&B}vV)A})LGA4O -65g-{sru?2`ZIT-&^9#hFhPf-qJ)EyxH+8QJs1lwUEOASfk9>(XEdYQRfQcQ{lw*Feb7N^jWJo;gPI; -d~L-#t!k2lY7sF=;n1R&6*&h!}sMdk0%I92C^2EXqf$5SJ&93$_mXy{%Wv$dg+sl^oikkIi&Ac3UH>a -({`qOigx4;hjcj6}!m_fs|{{R6t!Dw~^u-PGbVJ%RpPnkmaJt1st6LnRe?OtOq3=RZ8xVOfcGIVY^b) -{}`aUbUzUJnWm3O!iUz5IK^^y}SA>R`u{i7s3o!ftK~yhVHdMunjd~%JU@R%%W>*>4sz8jc -DFDcdXRYBeN6&g}L-$&7Zbj*>sp<4oA@ng;K9ExmR$gffQ*}z-b`T$ce| -=Hm623%OU6xr_f0L9xmY)MS@!}NuN5!^Wu_dvH_z2!9vovCDEb>^k3Q2fncsKq1}>?R{kA -J|`Z#GFV^2qJ-`6T3Bt96%Aj|IZ*$yYaZubu$d^THiFV@;Q=iG(pxA@oUIYkpq$A}C)y5quA*fh4RbC5s3u%&vQ=wV9CZ6ZX;GyB82v5c3Q3y!}K|P7G&VYT7Pr3vm -QH+f&jLJk=&LPkc&c9seB$%k!7v{K#8+MC(mIAs)?+k|NlKV6eZe!UyxzFfU2D;~>ykUq$DbI^Ebg#` -MW?23(S_y)iOYHbOiRL_@ydQRuQUs6_hIw>dI=;T=`R=CfwRu`b`Mb6atIi>wN@`Jb-$;L(Hz*+yZeD -qF$SNHw+`O&;taQzTx>rS)how-=Bv-uqPw+i41kSRM0oUD7kw;1li!6ZvR)#t6Q{X;G%aaHO3MnL2*~eCdzPoQw*n1>N2z6uXfRw0I#-FU`W2{VXI=a`> -db;w%n=eebiGe5elV3y{OlTOe2zGfOXhaxWR{A?N0A6;e6JvbrED%QbAa9^;w+U!$}Myt{aTnuLXIes -g2yadopq)e@5)RDQeJ%cMM2xnpqdu&3RzwA-;mN=*fS8OEymmq)OTm5@GT@dQ3Rdo6JgqFXK1KfLGpRo`q -KsClkxOY|ptV`n}W}HFd9f+khvUy!pi4gBv;&yJ)`%3R$wzJ)C-Iiuep;qn1f#G~3nRz$G14vYMPpAA -89VD_)Rd*Det0YWb{gzyxFGRtb;1xd==wU;VCKa0ygfrEJx7pJ?N%hw(r(y_hKF7(iLXE3BZ-yoiPU? -%5-&pBIio_u4#52qWDP?~Seu0IZ-&7?@p~GC~l7o7w7eQ{M-E05cB7x8usQ(7kSlLeuI*Nq3XzE>#^6 -P^O=dCRA^_G(J|)iWh2FIXr9Kg6UGsA;%xYq3&H=RxMH@M&%p*&>+k -01{hf{T}8+Dwf=S)OSDulbB^4(Eh_9e^b4Wgt4-TRG(o -yLro!3fI)vt8$AI6xcy1=cW@ingdx3N2^e&*Ig2)_FAm!d(vBe4cV3YJ;M(!7~HNd!o^fe8^dq_%Mu7 --(=^F;lWv*6+Y416SeaxxjcP~L&6~yYhf$fMPI^$8^@Q6I&Vb~BX3FL2)4y1Z-9aGIrL)i1l+PUI2GG -G(}Y~AUpl<5?sd10ZMG}JfgAEb3n-%(lP#~Z;piJVQsvy)CQSz!K8C>2D&>C7FLj*ZiEp@51bvmFK#} -6AE>G2mbFIMcHMl%FYfN?(hVXFa$Xjw>bak(KSZ{6e$O@gQQdiz5cIGhv516X=@6XES9midOD5rK5^blSCFU`R9U?V=B$R((6r=*#Y0T@mHb&p_gay2 -kD-I^+7$cK3H3%-b`6|mDft-RtYzwaSXHm>v5uedqN95qT&^&@=Ywk6P(WoN8kEyz<`pYQS_tGz{&1n -dVCMKFqATmB-TPjLXVMTzkd*X1X1sh>pfWG=*(?a*Pp$tAFIogq4M72oXV4he{HibUD2&+xyT^NHao= -^R{{=@Otm#x#YR`+B0776=wXmu=5K7jb^?7c@j6BOr0;+xU23jhvr`;!B6vv0dhi#?4I=q2Fysi=hBB -xBNAmwVea!;=jcL;DGth};rX$2TIu6oNRodO6F*TK5DCx%hVT6P|(Pvy>ln*uJOQp8&+NjFvYhJ6~+G -3vXJI(au{o?dkc(DT;3yn{fUc{k@L!>?!G;Ln;?PT*m`QEl4PqMk-(v_;BIV2}nhM~96Yq@P2{7exWv -MPH(JOL>!;7G)XB;z;qIP9t8lOY4yWkV~kpIr9=?0$I_j($3Jm)}HSo8+3w8m#u-Z?Ie@sbZYfLFp40m;YsM>eL-Gn>XHyi!LU^8d;@Vv_67b`dX=L<75;AIxr6Gogw^t~ZCV%wCFCa08vf -xnP4Io1^%WIs5BGv$=>MGZ|aZb1h)Mr;z^*L| -1>~Rv!y)tNMK>^-W9EG}TvHl;-7g)W3P8G8t2dL%O5!#XO>-*YT09chrYX`1KqVyQMwZ*#g?G@s0($5 -hb@$~NI*aMtu%q->3BMIK;hndhk!MW_1WuW@e7<-+?QD1+=hPHDW$I=0SdC{uIg|rMI;Oy1o2J-1y;7 -cyc$IybT6NIx<^jG03mvxWwI38+8pX@zT}m?Zkl|HPO0~*uX!Fh(Fs_`tH)mcte$Eiz405U=g$QvtVE -MX50c>?BEO+#t5+P7lkHf*|_T^zN3mbH&WWA7cdpF(h8(3Ka#D2WU^6-K|2m}Iz2zM$=cI)UYar54pO -VU}ry>?{1o3jqlU-BWdM~%pPsYd?hVlzI|IU*=FU3a$$&`_$x^EKo$=&iC{_!3LJ0K*QcS}7VfYJJr! ->pfLYQeP!Cb#J5q-Fte(zh3y3N1uE8b#$+rWCT4LAhn^Sg3~qKGxf^ch7r_j2qZ`-Re~uRcd#^XA37D -p=6N!z?Khjk8r>FmKotP*P|GbtM&-Mz!tsc55w#o&@4P|_gp}X4fit=Aq`KGBjqb5Hm=lRn-0TqGc%2 -^JqkG}c>1CjK5Y_a|xPok#wC}qA4C?i!c`>6Wnn+Lj@-8`WNw>!DJ)D3Omj}ss^E*5aPYRs&iMoil#3 -lbgn#8)<8SjSyi+L6E#gZuDwMUuk1@wp(#O5MuH```flC0R}Ce?n4*lX3J@a0@azK*zmfoG=J$F~v-jI`rVdH$ssm@@*Sh9` -@5e#IFlN3V)mL5~imR@=5;l1AlnSQkxpBX*V|h?g`z1$nH(v1q-D^$3q*#+ojv{?Kjfd0&mPG+?IrK` -D<^%CS6sIkOdp^M{R%hOa*U`N;X*~}Mclp#)`0SYdLKAHSfa82Y)T>?aO2U!cruV&g5B=3He910)@se -7P`?)+80Ay^f=omp$lM8-P&o@TiEY6q3 -l65bIi*>pnGi;2a4Z3pg5>|q>kDoxkR%nr2-|e!01USdo%wu9(s+Z!$lsL=#4n!hJgj^`1P^Uuk&pdH&yGB@d3yVzop2p>NvfVM{eB -Fc)@_=O7lQ2Tk`PvV2aZl7_R=pmn^UIKYat+)dTD9V^4NXd*rj&A=KMtESAi!hfbM{l5z9uFLfMTS%D -nuo;mUSuM#4~80Z(v^%X(-f1;`dtZr)rYDs7vSG)QfxMWB^j+{4$Q4c6jXAsMGvDHv`1(Nr8krH}wOB -VyN8@)ZT<@aiE3GPiH4s2der&w39fMPL^kb1yW=Gt$^@Jc{(%K@i0q{6)C@AT`F&Z}MSRr3g-$t=aSv -9cNr`(fJdSw;>7Kt)yXK!Il)3Q_@SL&4DSQn7dKdVh(tYR>AtW}embz!3E}-Gv0y$}d0T(ak$~z`v(o -zd(}X-6MIA_sIKR-K54L1sYHaL;e*4!Sfo27d6RL;s&5T#&Y&GBSV`9EfPm@WnJ`F<3#1Nyk{Tpzg%q -39pGL}lD)CqTi-pNcse*w4SAl}(n<2E+(Z_*k6-|6)v?QJ`X{+-V&(ma%FJZ#u&KuR(E(!a-kv41n@Z -&5`?#iwbAW!~kNXWHmX7cm54pY5ADEK~khHYRsQjq=R6HOd`%Hhvoj8$i4xi4Hb-!?pB_`WlF1CA{bJ -!)H5S>00hpLItD_HCEbbZzXxCn)FYPv(-m8C^*`|_l$3NvigN0W~kt*y**GH94Qk+rqy%_QrZ2hQU-z -ej#`79@`jTKv2FO&|80fs<#ESdFFYRR=;$$ivvMYb)nyJB -PIeC65l~&+|DXeOKUmk&EXmPw5DoTz)edqRU!FwWg?p_M*=|czZH^g+mSj%aF6l+ -d~H`n`w>~Hg&Fcn13uXiuw)EZAus$834;+_@_{J-OYZ@QvN=U4{Mg -xE~#6Up4>fs%~Y;bDWdO)|NBx#=Cc!Jc4cm4Z*nhVXkl_>WppoMX=gQXa&KZ~ -axQRrl~i4C+c*$>_peyQFAm_kaf<-g3kpTxtV%dXknq!`a! -@Hk+3p>h+(76B-TU{v_#BZ#0d6(3RX~qe+V`)6~k1)Iw2gGA8M0Y<^3n1ip)+)G`&`SW1;-?I}f0r*V -W1we%9mM}A>tc5KPy3 -a;grnViY}D}+5zWlBngCd-+0dwLk*N$BjOvA`E5lX(?FrOr@JQ0>_k?&#suWJx1-P)bj%*`k_RxmGd- -cqCKSj!8J$g_zr(of-ro$w3GW4CrfjABZK+!`&}z9U}Cp(>>mHU~Ch5-4Z_NM>lr?cni@LDRjdgk)4Y -coGZ;p>Y8>7@9_dc6#9y>qBT?LI4@Nj49KOQ!^QXMazWALnSMs|c{Eu(KOh%Q;}redGs$9y5zGixS)q -Le;UF0I=ka$SqTX;cTs#N$gW+P*PZAnT=M>Q_nlFa&aum&Jww%wVNxwssFdr=rW?nM+WN{A4!obOly^ -zZ7OMgat9R#Y3w&I1+=9DESiUfX^nqkf+W0oTT8Y`g^!?FYu$=qb#?YsoHr;oTB -=j$Z79@ZVWDe?qGRC&4XPghI;|SQhPu=d_hwkUQF3~bUV=qD$PbCx2B*@u}-(bI`%tj)~Fx- -3qR4gR9^Nf&oNFD_Otr*fWdZ=dgDAstq|!}YCgi^`XmV_mmx?d&Z)p+{YA2k|{R0-#5ioLwnW!2afSQQwIoK`D|jk8*{9IN~g505Lcds=6vHq{B8Q~vEa6$b -|gR*?4fLd~sz34I5B>%vNea(~12uUDOTf3?L@^a$3`Z|EA7`|4ETp_?l$3VvUuWnWrNH{q(AYXnN@O( -`~4!Evb2@lE3&P)h>@6aWAK2mmD%m`>nXC_Oz1006@z001Wd003}la4%nWWo~3|axY_OVRB?;bT4CQV -RB??b98cPVs&(BZ*DGddF5GcbJ|D}{_bDV7uVInEymzDw{c#!3fth2*x=)(QogN}N=O4tA|zHbgs{JU -pB@R2kidpqYWM1>RBUE?o}TG``enw)$N3++tlu2+b -D&(|r&|<4!1SEnFHb3}RN59WvH*0aas7g{vY}FD_mJB3HajHP53C%PQ&!CBm=5jZShE_&St>8ID;{#a -9?1y0gPCbT7S8C?|A6*r6sJ(EUP>13x}LOy$WzXom~7+AtJ?R4~+YZ0t2Hf*CosPoZ$7ir`@gO}6iz1 -|il@0#^*OqGVM!NAvs1X3( -SobvviFwxjRfGy7bXKk|wZ(`fg0Bm<=KaH)Q(joarWfSF8{u+gIoAa1le#2*13QN8@e2TP&^c&D13@z --hBL1O1jy3IX763Q-=kXVfj-tcom#8+@EWqPG-lzy2uV(+prA`QRcQNqfsF&;uHLzNhZVKU=54e0z`J -iWd#!r6OO1AiYII-g^qN=w+ggY2`8SesR?cWke@03gQq6#6~|Kh;~T`X_NA)p&x5 -QHVV43uWkyBgM3&Z^bQN%eW9O4RRSWZQ@8t?MTymE)tMVHixPEM|_LBPf1j&vEz^>iw(UM+@%iSiQE@ -=+yshwL91KPKlx!IPtb_b({aGmyT%5CzgD;Z(h}It?OpD*J)n%d(C#s>eTR~xYqt9+|>S|vrRi@o~WH -AAJsk@oIS6erPSYC@=&h+c3!eq=BnlK$F&-%9Xg -MW9M4v$B4azeUZx)eLk-1ep`!o-(`WGADMYq49T)2YLI0Wl<(ePN>jbSPaILPU8wAwJf -6`s(y_KA)E-QHxRz!qMq84A{l$RQlRG?fa5zlxGkRPt@1`s?KVoqP>Y8Q>1_wih9b}a< -qf|IH^o3f{%kUc+RcRcd>nAW-iRbFsVKqRh4?6rXS-})S=)FhglkM(GAg3~El>Dqld~Ad!g3c;A^+kB -b02E`ksc?lE{7`^di$2nUZv9BG0hQpzPCU`py5FLp#eHO87wp+YOMhg!_8Tem$A>KO5rU7-y9VABgzB -?Mp`Ef0oT0BU3OAU?mHU&1vW}cXTA9o66(geR-QnrkZx*n1^p(IlhTS}VR(>!*_!5lHUEFguFQ3~+3C -vTY@v1f$qg?(3;jfjqJhmR4E7h_;0?}S=*8@GoMF#!t1DgqA9~p*nwZRZloKj|qstJXhfAl+SiLVs5H -J{Oj&?p_o2)P1aA+aZWsd$PrbT`!OWQA2Y~Q$<{!VHZinZ#DDWNvOz(8BV4`!pW#XQQk -4o%HLgj)ev;2^2-#S6Mttit_@7xI`J+Ve!hE+T+Ntbi0!IGSZc~7~ANO>x -b%iK0A9cNJ{iqb3RHw*4co%AEy)0`A(+eM$0$n&eH;|o!+d}`og;c^JF=lxMKa`>7FQ=l=>QO(M3r$4YpgN!ywB2Xnz((PZXnImO=2XsQa8;KQXeQT{Hw}x#yX>Nq#=eS0)uk6i@!q#JjGxHF#gKCYZu;_4 -P~e_8Mr7{zoN=F=bTPX@N+0qvPyt{?uM*g&5`wks76LLz(;oh7BVBtxXh!6Lzm@@CFq0(ENaa7b!7!$ -Hf0JObCM(TX%gGrtHXz&Q -BQ_l(ek$UI*!hxjz(D^=64=VqAq`s^?oz$0={{pF_mzf{K>h0Kv(R%A+)Gl6Uo~iaA_M^{M2QWLrd@8 -f|AoicY>r$*VhvcOsF_VlhWGP=XxAa01%gofO#eJh8iE%(QT*}dl9}^4PkPnN5Ew7@x;$Y*wbdM-_9u3QR94$R`?;^&2L}K3JOz~vlmo%fD|-cB_ -kFYbV}frR@?pW3|EGanv6ud%!5*Qv`|k(`M4tMbxJDinc`xJexfq&g5_>dR>p(2g3Mu#t1!AT)y{yKy -DKWusQ{OHc8>MMUj_S*oIq?CUL@4BGs#msXs_&<%UO^x}ukLy%T}R#~Wb|`qAaCX(c4yAWpXZXdDT^IYvV=`{_bBf5R -P*=N42jMn&tv^96M*~*v2m$p%k%}M)q>+U9-DNP=Ec+>c#SlRN{Uq6@kdJGtWNr%!{tBsvmghKMlt)8 -ut3*c^@7|linXt<9pS(g2e`5qWPLjCZMN61a9D2{mq47^n1IFB@dWY8Un#lS_sI;YZReF$t|bIM|?%0 -cBnx`U@I`me~i`yY=;N1TuDPe^-k&Z2LZ!W>C7HzWEMkMB`M)*%%@XYjgm~ye!dU6Q^3F5y7a)z7e -rINK^~~lb|u=CW9v-EHD}Vq%_5ERmh{nnPM4II*zqPy)}h~Pva$w&=6C2LW!EPnZ_%@0}3AT0Hr}-26 -oP7Hl@7##8BCY6>15vb0Op8=#7@jAk@pfu1i4kDWQdk=VY1X -;sJw;5vnX-vy -OmPT>O{5%fSPrCaczjCHQhU5agg?sVEWouAtsfaRPlbr1B%kMCS6SB*xb)fPOIG4(Q4&5h1fs}+~)xu -qt`&w~xq2JMbcNS)lTN5(nYX=-dV8i8QO6xJuL;$3#sJaVL&rIDoqMd16KCg1m)21V4Orj=_y;(}WDe -yk+sp6)U6uEaTjZh;HE_V!4J7zgjyB@+32J_{^0fKOS&J+zMxvm^~2{Q1{O*b0sH*D>{opG$EMj%j0` -lBQ*4(|j&qp9Q^>qigY^4)Ta`d7*o#Av622**%&4?Anv#?0&j?p<_IAI^+219y%Av^*h-}7n|(G%e%~ -%Y>THFX7g1Ce4JzIv?icH$%uz213XFd5;XT{w6T^M`4d|WhIg1uUBa$IW48YPCtD;^4nl+&=5xJDEc* -1ZIY{t=CU(^8m{Q7?%aiUripjh9ouS69JZjQBHqBwrzEV>c@P1x7{{7L4^#+sW_|YFO&T;C;D0`_ZT^ -g5OcI1Jgmcw|m@Spp&t75+k227ZDEQ6cFWpF6KspA(~ZRfX^m_u}f -1N`HntmZ*~WdtF8Fx7na#$p+^(zvs|QI_jV>Ts^dVL{!$f4>(lS^Z^eozBdjPvZwrO9KQH0000803{T -dPT-eeTE7PX0QM6A03-ka0B~t=FJE?LZe(wAFJow7a%5$6FJow7a&u*LaB^>AWpXZXd6iddbJ|K0{qA -4U6@M^nKnuBbYj??Gmk@}li?IuErLu`v7Saf2Ek@drWLx*w@97zV1cp>XRZ?cAryr-gPdDf1$3OIO_< -1~~$#^iF&WH4Iay|HiPRO30ozr41=vvE_R9-}bI1nULx{CjlQRLCBl8-{CxbfGXPDMt6$b_H8ntX^lX -Il+pB{K=JPvTKTaUwLuA!SEYLw+i<)b|pBqs=B)()ThMs}x^#5^M7Xis>fS_T1OP%S1rS!f1SH%G0bX -DPU@yQDe}gH=RxwDvpXf)Q=*Xv202+kqZ4N0vpL7R+*N|9Pu^MW)CMsSDt>L8yT&%+)$g~VMbX@H$}F -Nm64dQ3;gqqcsZ<0=uNr>`SbLaCL%>B^jRpOVg4pxM$*UQiS&g^1$ikYe3q^&C`atbymW*{G1MFQ-;$8HXWN{9oX -{JmyR}woY#~-^cp3YTbSM0<38xE+kS@J_=^TZiiZmdpjM_DlgFm1Ufj*)9XelU9MVLn|Xn-tz880rcZ -x_^`ex)z{*{nZZe0>X9qyo1{u+=0tNhF~dQE5+Q1ssQhtKn>Li5LBkmOmAxO07t`Tf>$aO}E -==cYo`2iEigOIrX98^wUq0&-vLIGR6HA#Va(;YWo%5o`o9ixor63LP(p -+SGCv+oT{uk_o&OIY;%**T9VsN`~7nidkzDz#Rd+Ip<_}yLyA|%(9;0M=jq#_Dis9d#jLm8od-%n#Dp -oz*43pj4d#-W8T_pfSCabNp(Acjz_gpJu*iELud8m_Cnjd0y&<(>vTWyZIYp43rsJ`ESc!D2l9Y*qX# -(ad;Ru~S&mxUqDoSBosy%7(Uk5DF2L;4JgHbOQ8GSuwtyP+#-DvH}oXKUSd(gz`_l>^Pm$AitLWMxgJ -5%2R{3y9Tkl%OVqQtfHc^?=-#vGA*1mUpAH(jc?zdJDv9T=f92any)Vq;sssUKo5=M>?e#%h5wc5F)w -nTVjZLh9=v+>YWMdSW{OZMW*F|(tVo36bap?j-gr^6_Ld^+kx(mU@ZCvD-@Nvp{r11_cEWou^!C4+^m -{%|@bLTd-#PTrsCv7>tP{G&OsX;8P*x-&@XojYSSz(ByEi=jrAolR2sA`#^C(+#NO8{N7-WRZf)5o45 -9}swhz1*kAIS|UE2uJ5lwPEc9U5V-eD57DxW`uG+g@RoL_@!Lsah}4z -|K(hP#>LW)Dh-;+JBd8sPEdpcgd&Xc1VM=38kU) -^GUgnuA*&V+y*E|E6R&7AE8FGh)nX-{NjxWD6f@85JH(kYLQzqN(u^rDYwz%@X*-D|*8%GQY?$!Mk8< -pLjJ<`i60K**u4qC9RdCi1)1+vP03e}Jw^ja^TGhU;4que#KQCH4g-1T7!7B(cwvFdfS?j&Mw_AiA@t -nca28(>_wYzsU6*iW!o#YXtR)t%xH`YRmsiwuM-35$Xb~Av(=RYOr{D$U~7ra -RXKgQ>3V$;7}LZEb=t+?D;yz+~nfpA(eY8R3lbRlecV*CNSwQ9~`K`=4u)Q72I_8?l@?dgGTBMLhWwv -ZcoDQD3zciQ$u5orZHbBcn2EhR9^I6qa8uuK59{&y0bzw%py -{L;C*SwwC725Z9*VxGeSHc#BTuN!Df2A&f-QX=bWL1#m-an|Ui-jy%lBYA@2_k=M+9eqo2039xOiL?aT)lu)yG&|h=x`}idUtBex1B -D)IUWeNuZ1{qj_gDqp&AEETyo)#$HwMZU*W6M2b{xx;)4(tuq!hhh-d=eM1>Bk$M`DP}B`~yia+w&2u -UM{XCgoqEDy0XVT`Qb>{oVe7voC={t^dGN2t1?cQy -#D(-se>p4LuKd_kcGqd{~LRVTdsrg{bW^2ZV`%<-4|A!DseMR#^4%kc`6|44s$j9g4xsj|;sDL{ve#o -p`SM0EwC{QJd%NWy32ud4D4S8`2 -fxXUB|&a3F_Ss=GFfJP)h>@6aWAK2mmD%m`+^#H%O!f000IK001cf003}la4%nWWo~3|axY_OVRB?;b -T4CXWNB_^b97;JWo=<&XlZU`E^v93SMP7zHW2;pzv9q*h_kv{++x6*Ai$i|X^kaLU^^&+A~0y_WOJoN -kEEP>fBhaQ$-k3zMuFDHyT`kCcaQGT(cuqWc0c#}bkn=)_J>`%yt%vjlV0#WY8=sM#&l=oROUj_l}?z -XrA+@Ll@gIQQ;K1W8ntULmrla-6E9flIUCX`xdRyR@3XV9m@`aSR^&1kPU_s^tC?#Pz5tl+wJGhfVc| -HT$uc1BUnPvknlEwH%u(~|gxViJ{tk$P?h$pAqJj6dG+@hS!AV)kmCl`!lfr4!v?ph<5Zwy%o$jTY8k -x~MLWYiAb2R)F?SI!Yn;YsbMCoQ}>L-&S|L&ibYO_6KP9$5aCGV$*H2O!9lGxfM!lT)P%M8;RM$^zC&QDC_>VF!XWMqTkwZ68U$977P)7EmJ^WE3Hk7F12;u^|pi9)A#N6>AUua(>Bq=5 -SEud)a`%zNf9|}G|(x(E=o_K0nSBqc7CFa&G3Bm!?HfH6SID9jQbE(_0zUibDJ` -{8z#B*)_ycG_ab(13|QM~i3P?*OqAa#d<{{E7UX2cQP9urfOsbIDT5wcfZF;rWdu?LErgOucxE8F$mb+95!4tEjWwD<@+J&TkO}8brqZi;fV=J1X;pdUiGO6+m -Lr=`C}`mInct`<>j>OL;1$QJJ+QB7nEtO#F(sxlb&Z1L+M|S -7*CT3Qi=$l;x1gBaa7hECKbsk7D?4anPqr_eBHQ6`dNk5KI7uFT7m8CRy$D9+8qoaq+1Q&Aoev*akpC -ce!t~gYZ@qCujjg&L#6Cv<+x|3wvx0p2LVE$=Us)gdSVfT^jQt-=Dk(W)?ojVz)ScLY2{KV$Fs?-KRjjH^zi(hJ`1~<9{(mTLxk6 -U>AyA0vPa)O5K>HU^O9KQH0000803{TdPJD*tWk~`60B!^T0384T0B~t=FJE?LZe(wAFJow7a%5$6FJ -o_QaA9;VaCwzeO>f#j5WVv&p2USnE`>zBl;&WFNvsk;*eK!@t?hBW>avS=*QEaU9rF<)C6U^_*z@t;z -M0wSc0WECNB8j@vv?BClL+J4V)7H80gAU5gJn?XN;vnx+6b9dI(*7HJ0&PQ^>MuU9~RA!dC=OcI#lugKg%Ug(N2-m>Q-RUK%|DNshO7@5ws$;JQCN-*#dQU@UsVxB4y2t_5 -DP=mtu#x-+u>VGAym7LfWtTbUh~RWTtK`XZG=MyMT?wF;PlbMX|X4~un*aK6D)xLSqtbTi^yUm1?lo{ -mg%yHk>hxhgBPZ&)}JJVvX@10%w5Jd4v!t9}}%^C(F$U91pd8LrZJvYv%2EZ3{$B8mDyLUe9%+su!e{ -MzD@DYu3@S&$b}xnt=Y9rgL4E)5+)me9rrc(Ib-jyLb8%Pg1q -28eau5AbcsNkactJc5MbQ&}?gR2gFfjE(bc>SM^*!S!%B_%gg141smRp3e@V`Q1M*RJYUNNg3>GY$x93 -2I82Xm_!gb_+z3MG>)_8IO*m_UQ&dy&@O9KQH0000803{TdPQ5~!F=zt-06zx+03rYY0B~t=FJE?LZe -(wAFJow7a%5$6FJo{yG&yi`Z(?O~E^v93R84Q&I1s)2R}A8d1322ay9G843ap~osS$rcvQgw@&=O@6r -AULM5~#m^A0^pNS{vBqNt&7WIP+#W-R}8A55uSNj3(n~I7^1~FqucsbRo9e>C$q?X>P<;C?+Y=87E<> -&_9KgEYN04DQrRK5IR=E2}C~fS1$FQ8`3$sGaQJYac5Ju=P(sTsYJ@0(8}W1?6s+XKuim58hdIub3CI ->RWts66*Hb|U*W2qqh54PgS)%GL2))bpioMReXOOJTW(%?)>IN{<&4;rPMe;+{sIfpl$js25OQloK{t -d99XU;l%I&mj>xVQ_Yz#A%S1C7~lhwI5@{W$nZ?qh8{vVVk-MX8{i9_iM;ZrQe`N|XYIHt>_ -Nk)*@`CIB2#+eiW^k3C^u5108d29mF2`N?Y+(JPD+h@B1xMFjWpG*!z7{6Jf@HqVZ0nit4SEsVihmu$uJ; -FI6p}2#XKkSQQ{nwg@%$DcT7mzl>UPDS|lhl+Ob!THm6)*qKM&%?5qFPL#frat{0G#p!XzlQrh+D%?Q -j6rti1zg5}iTK88LG`t*5#Af|puv>*X|Byv!Xq}HZS5865(It_un{WKWd-VFY{9T2S&SS}qJ&L02c66 -tn2xzPm$>5iG>K=@%p1N|!+uA=Ao@tq^Yo~SH#M2o|_P+RLTZUswsLh%DKsy&JKOdC%NDK`Ex%iZ4S4 -Ww@4r=@h_p>jNeH{otkdruf^izD^o?ytLbGF?ySkHbl)(@7<>wlO!b-g!2x3v3I_Mo#Osz|vW-dzQ<* -wfkdBte@UHsy@{b!4YtMiiM+9V2$j)o~gO_G1n6oD|Wsderb~S&yh7(Ll-}e(Ea8)#@)>veP~TP$s7K -TtT`A!gyuOnT)E(5p6@Bv%y;o8#Q%D^!@m}4u!bFswe=q~581lvC}`W%wPFSTRaC=WX%t=6#a>-vkW6 -h$w!Mgc#=BUO9KQH0000803{TdPDBK($-n{t0DT4k02}}S0B~t=FJE?LZe(wAFJow7a%5$6FJ -*3ZZF4Sgd99R9Z{jczhVS_mqn_FeDzueWNGml!pe`XnB&^g^Fv$Sf8k>!sc9Htycj7=OtM;&~<^q208 -9(#kxwyD+Tp>WMz-$maS#CA`;|6$vP-@I*Rj6{kQKhj*(hV;%G_d38GhbuNak{)T8&z~+z$Nqqm-Yx; -W?Z(G$L0Nc%X866)%MD{pi3Pm6`4dxf)pdZr>P+<;Z*mPtSWw`uK#kI9%aP@)6&AD -vU0G}3P|ExT3(W-(Ah}Wnq=d9Y$Ytxy>vTTz5;y8I2H)Y@N?z1&l(tnK*ythYJ;fd=od($Fa$Qp3!(1 -3F{u^2x+`!8E(eR2EmhX0A4@LpEo)(MwF{r^Irp4ksmi_|^yvR!;HktZt$h<)n)9>r{*={^@2P|e`;Q -IA;$8JBmQ@7f$wOgx=!werm>K^P?c$FY^#b-G-?_R}7|zlNj_aNa(msLia?qw(7b=j}kzqB?p%z{zV9K&!P3=$SMy%B_QGC6OI2~Rh<#4jSWe_&ht{0uaT-C2C<;MpvkHH0jV -{w9p@SBWx3KYvD%Zc!Jc4cm4Z*nhVXkl_> -WppoPb7OFFZ(?O~E^v9RR&8(MMiBnauNWm#1rp~%s!GkJkxGcU^Br%piB4%%S&Kb}Rn0ElU6OLYzO#P -8IGDTKwf+Lk&OAHw%rk>8FPk5@bKiMW7<)r^8n|#bo((_38Q;s+B`nqmGsRb2uoQ+eM&KGY@-t6U=18 -@Ih-^-)boB%`oILOG2~)X61u_BCfI#yQizx2HL|8^sldfA&5qI2L@>hzV+4Mqek_FabC$#3ZwXPXQXQD&RenoOqlu$<~&^~zJWJD85%GW= -6kc2qNty!N%>MSwYMxK3K6tS%rhl+1ADoHhzU>_bDhHz5eAruf0T;iH!|kQ-kNqIrgCi72GvHF9KM@A -z!)`U3hz*$qH5;5Wy&K89`gu=MqnDY)~44LQzM&5P$U8)N$?rFH-MbZ?cGnPG+E%v>6f<^h+U8h+RWJ -eshe9H*rBBNkWx2P8R;}qP*oZO7a8oDxTh}!NQFL=j9`hd)0phiE+LRFeDW6WXAcV)OdsLX!1o8!#p4 -b664P`_{mYT~W}9*Xrm7SZW>1L|z{K^3?f0OkXK;SC?g10UuO{(Kg=4n -TldQf$d=BKbgZLXaCtOvY#!Pjz1UBehpkf@utE_Jq{t2stSV7>&qw|4ltirC4S4QbIe=p&~KKljOriN8{6K|tXno)GjXl~Q%#PHJOaCj*M@UG@9DH~pV_eSn96Eax6@r}wX1 -BA2aJqT~jgXw8&HvsH3Q)l>KE2o1>?pqXdJ(vb#1th6D0ZCJGC0uSEVNnlSV`AHFiVn=gQc#WA@?br% -OJSBy8!Gf1zRA?TU{VJn%q&H=B`~B}>FbOBKdv{C>2D7W))zxr%YWpy+Y%OSb3crv3!LQS5wW5@14X% -!ArMGLpXy;gfi;IiwGaIX#gPj;n(z>wg7j(474PF4-61h}fCQ(u+MuzGJ6a}Msn$I-yNUH&v=IP!FRj -vg8%$6wv<{O#9^_o-y8vou=xV=kRO=kl~d&0;JipMC7U0NhW67Jz5=a7E(CB_88kkbYZ!?wmW>C*BLt -1!tLbUT#-i;C@|ceI_`FA3^`4eU4voMVKe@0|*V{0l9G)ZSb8`zE -2VMH6yP`|CN>ONsU6c~raGWv>FT2#>NmTjoUBSq6-+MP=Mxgk^VYlU87l-_oxD>c(9uX9)DHUFo8GpF -{6=pBcP9k%MmLnkseskntY>+>?hGi^vwwClNc{@<=-e!tP`BRb9gzmpy+O -@arw~nv*%)abV#1?Z%nT7U9G_8+okMEdIok{^7sEl(z`zistOTklASVFuf1G#TVil)@6aWAK2mmD%m`=e8V4@TT000gt000~S003}la4%nWWo~3|axY -_OVRB?;bT4IdV{>gTaCz;SZByb%5Xay1DZ17dY87x0p4Yk;$fC0HR0-CW`^Fl=L{b|PY7*SyuI{^EHz -W&@j)KVQT?ty~bpLy1dLH^$;pm8e!Fltt)rEGe(d-&cIB)kF*O1_QlsbaJSVB+P_qHn>Xm}$Dwht5UF -WYfM)>HRjVp}#9xwc$8u+j62e2|Vel?pry0wxCfcV*z4Vk)s|GMTxyDFWMbef(EVJ+=4;14G|a%XU*q -5y%k?=ZlD&T?s|8rgQ9S9KcEA6!NuN6+^J@S*SY>=;Z5zE`6yUJY#~v!7=9DE%NeRAZ1wV0MXE66>UEd9U65Y)x?i-c-g&yw)AnNa4B7>a5nwf(6LPvw{26pz69aJl-m69DpMCU5F;E2TzD9Mk=-+pHr -lE02dR8)0WF)4dJ7|_!BcP|0vbQA=9Gk|IOsVzxEd-_X4w?1W;z1fU4$KD?(q){h!g#Z+X#jdX1=s$P -8uViFMMkau6j2EsCRGSTV2=d-NEe{`eLThitD$GWKX7!je&7iO1Qxs2aW+cO}%l2iu!r0-5T7|=r3A> -ZqqQ}qNhV0`gMKKYTUHzI`nV!e$QxT0Sqal6jL&}B>zgWg&`*%W^yD0VLSeE>bJPOJ`T_s!B{*M&?qysxIyxO;j%`;O0dAsH>gxMlqi -w*SaFWWWbFnu74l9QzE>}tAI9ru$7Hi9sE+6UgaU1FKyiOyX#`mX@PUCe2(iM1Jfpi64S0r7L*A+=u< -aH&|m3Uo=bR}L_CS94=l}T6TbrsT8B3%)GOKB~#k*;Fl`o-U5tCFr-;ccX=^12%7YP_ySx*D$&q!YYO -kWTQrA?b#^Zb-TzuQN$!@;Z}rCa)WjZp7BF7--k;Za -Il!E&Od6#Gc(qng3%G}$Ax#6Ob#*gmveMys%Wa0z|!9^9pgDndq!&JCi6e%Eex?~p&*O*%t(JH~#(^V -PZQ^u9FP=<)Zl=?LGy3&hZo$Dd(Y3)9P4u3n*+B}}AJbSrOq_%y8bIL3epGZyO3k#4NN*r+!(u9%SLr ->pOo%kzv@$ZMZAogCrb&%`}B9ycgUzC8XXm1-G1EvIRX?ym~3y{igeI8cQz{tqhrBU@PEwRHTwUg23= -Sm8NaRN+}$Sm8NaRN+}$Sm8NaRN+}$Sm8NaRN+}$Sm8NaRN+}$Sm8NaRN+}$Sm8NaRN-0Ms=}`hWpbh -Cs`@VVXpb9}DfGLL!hxIEBLCYEV|x@?7X4R?yGx3m=Y+!{+up0Y1{tL%$mrm^Y{?bxI8lXMrf@(WfB7 -_`d!$g!6dv7o&jZ>zsjc0U$-ovPoDD8Yz_(hWW1QmFZ|daOkC`rMzKIbc!b4$(l$l0%6Y;hqy|4Y9Ni -V8UuSI$lhV%+d%za6(9CBWjCB0g@^g(*RY#*femZXP=@;^*^Zv}sQklt^6GBOGm&o0 -d3z%L+TV^yzly1NgrwK{n?HOktl3r%AB!6?U+3XtDQ5e4`1paO?+;1wP`(|KetgS#0JLI2bkEG~%Z7) -4+PMF>hYKE!9gD5LL|i*X&yv8h{%uPFo8K%x2?C3AyfX-FOmlk>xYoA=foo4m;SvU<{smA=0|XQR000 -O8B@~!WAUDL&Dg^)lr49f9A^-pYaA|NaUv_0~WN&gWV`yP=WMyR&UoP?pZ`X-`?HI!abh_yy#2kl8=1&|&7%p=aCQ@h3r(SYgCG#1fPi#1&mBD7=`jkk8CWR^dqiNs7Zy>%)rH0Na0!hS -(uH?&nTg-nv>b74|?2w{oI`R_`@ey!$Wv2{zaoFg3Lk^tAjTpO&=>qc|uEn}>c(o|*E#gA%koM8GhmY)vMuq5pUTER@DB>X$N!^(GP^Mpl|hyG7t2 -7<4D?2UxUjd;OmO=%T;t`NOW~(cNf5EgH8bey=_4w&>Ip9lFHWUix%h|bl*{R!LqM!9ZerL>hwnwASO -RYD1is_JFx)uU8Iz*)2%YrK?g0^UcGKMuP&Q!u9`$s4=d*$>JB?UI7BWgm4#MoYH%5&mr*r$bjDiEgj -{+SO$6sGTnWjOw+y|Wg)62Fw;Ld#R%SPdBP(vVmbbC%aXU_SGaJkza2m(5P8oM*?PMq6&wTAnK$CZ=I -{}$NciMhG?i_5iFub+~gDbWBXA?^MwSab0gMYOpAo4I~T>u8&AQ+4~-F~G~2_t4qx}2s`J)I$@5QY$1 -Zb3mHFw26VYIwBB*4<-bOttC(Rh<$v6gHPH4B(a`5TJ#?!0ct&J(qcY)dM -Z%`^tJ#bT~Ty6~e??99I#O3}&RXh5*pZSFE_%s{d=FMHP9##+(~_`ZBUesPW>VsaU?E40Suj|~4#j;F)j9~^vqHm?Q!M$M-mY2@Pb|C0PgL6jmX4&#FoUlmGx*?ihV(JTo%@6bZKce; -MJ?e~WF*X0>gJuUH4*?>zGFINFRomka<;Lgi=rM5{kE4dJJE<+CFUuh)X!)W5Sr+(l+OuBgKcgk~jpW -^q=X!$bOC%V53N>P+#7-tWP(^S&A(3HTzmUjHO=Su2ud8P)h>@6aWAK2mmD%m -`?OT19@Q>008PV001BW003}la4%nWWo~3|axY_OVRB?;bT4IfV{39|a%FKYaCw!QYmXI2l7_$cuSkh6 -MrxSKsH{t_wJQMzPiru+4QS;3f*LrOqiOoEryG0OU%&A@1@=m2q+KMJ`&4B{M#klhOXjUx-~LzbKm76 -RNqKzs;Ng?!56k_>PapiP{FAY_PHvSK?|0?tasSKy>f*9IIK17J{dM{2@ZbB(%ZvQ|;lrn^{hN!M!?C -=%-0!Y#%9|W>_vGu;v#b5hK4<>0`*nAD__#Zk!@F|x4VpRr$?oR*&Be#v|026TTwUkSQtxldcMoot+WVR$zB&AExp#S4&KY}M&Ue?ly3O0;-*|&z5UDKnDajz-tOOh=GCXGx49j-zS$i=Tz{3}k568f$Ghv~wEVcc+8uK -@&py4r+`q}mkN0nOSJ%68aa}(0?)v>7l6nLq&%ZEI9vzar(*3^d_W7N)f88Cg^G%7n_3LV1D4v$o^>- -IH@SocJ$i&;p^yhM!+BklldH0(l_+zJU%l=BT?^E{qM-t49{+4D{Uhm4M>)pFgm#0Y~$CkgJz4+_Xmo -Lh_CqI|J-#b6Q_vFRT-{;trbbd|!ZIt#OKBfu2ExD`X#nsK{WIPG{^zi(_UvtL2`)7~OUi=LAkIr5^d -HDQ!dGz$W+$+!SoxeDH@bdA!^YZNF`Ln0bAKoqH`EK`B#0c|SLjGOE?~>$)LrU`P?&e~DdA)7@=Tz@? -GI;s6yubK$muh~q+owg9i*%8XpZ{MvygXd};(l|=9|HZp?BA8E!_8^=?YK|dN$dNQc9Y5<`aMmfe{=V -=Of?5xT>axRRq#BgKia=b(vL0=hvR9vf4IJ3=uh`@?hv&Ocj`FQQeHmKH~;KkdHCdq|0Af}I!VIMFHl -zQ>fQ11pG?aR`Rnf<`FpDI`|ovT!VvB2i{4vf&d}CBUiGdn&))7X$`4;{7r!`1pygjTO4C^WQogHqz -WlhI@0amzK<+%*%?67be@qCx{KnjqlZP)K{O$bJi=UsJJ-GMy)emRS -U!0%afBE9<>62II_ws*9X}&xBKJMQA#}8jUKl_h|`94<*g!SP4#SxQ9bNSDwNAcz2_2sUdewma`lQW; -bdUXEq-(NjF|KZ_zPX6wslscZ~e?vZEIIUx!PfJ_tXnnp@n4%R$O~)xt`PI`Ul-oYd$7eJx~x^y1vkmRC$yJ?7@qL^KC1nMb -(q6;oPNf09A{xv}JH?aWx9x?L-RR$QfQdSJVF(-j{$+ByrmAXzDO_`>6 -qYJ<%W5EU^D}f=7bw8aI^H_gFlf)XGVvG4(SfTriXRMbX;#_-yObWE=SkYUjBv9U~bKw)FCBRSA2OyQ -tRL&?J%Dse>NVlxqX>=EId}U)%mMK+U=!i+TwBysUif1(D9TNr(bK50c{Ga4;>Rn69xB3EmxOE1i(@mu|CY9flZ -^*?t6EF%)pCk_$L0~L6#ENGYY;FZ*$5cvb1PE+1!6sOV?cs0({?P!8#>QIeD7 -Or{t)N@OQAeaXgd8G)wA!-iF&8eNbJ21EjC?1<*jN+m1_72mVm3sebT~E-p2Py&YiWSpI>{!WqAXVU0 -Qx3P0tpW*TVC;@b@G9APp}F8V#yggKw^Mq6%=R3u?Qg2dDjr`h#&DGx2&0>`pRR#uU0T~o#8Z%xuCiBtej*EpHSMyJ6IARr7jsvjEW1)0SUuoOVrqEhhw&}@j7;ZlCl&KG~OvS^7 -zuh>8$B_;w@Ww^Q=^xfDBV%JcaY-L5_`VdyMBEEtLj9?7lQ|9Ie3=hf86YhweW1IN_a3}>x*k~Ey-~j -^)B3vItOE?rG`JfAp;DU$^eq`1G!PIXm1+OqD7L29N;*Q47R+9fJERyk&{MRZj`*URxwG6DzP} -QM3#zIb!`^II_k!o!L>5d=?5R+?e?v7b*`%W!aSMI2_;{gM4*;Is(S&2$j-Lm=Wa%I$)l_CDU%3N-_S -G3%5k_M&$y{R)oGREFPjSjZPBCa^HAuPQ8N}Q^ZZQRK72@!jin{=NnHUk3m}fT -Gi2Gepg*FC$R6zue2-x^vZW)vk7i#)#SvN*x6D<%7I$8ka^Dndvtv;F^`4y?)^PPmV65}iJwi0|2Of| -*^a^Vo&uTo$#4$+%f2mhFAZ%Ad;Jyv}gwR`l-KXf3on;&)pe+ -M5spx7r37FDYr^26q)Tx2qHa0a5siaKFu0O5uiEl2nnb+NNyFtFe=qAYIKK!|R-*tI8Y6RH)A>}QvGk0XoPCBv{8D|wGhvd^qRiFW-7}L6HB|eRghA%Cx3F=r8UmIA* -PVzxzKsuM60~kReaDxf6+)Qgx%kafUof1u@kbj!Kn{~3=s%;9eGv+W5BP%FXnG*WDQ^*abS=3;;*|JE -6We(jEPWmFA!(kXYC1iG^TWAXpY^<96MkUS~nYL+h0)FlFMAFvhU -U88xNkU4uHxqs;Y0fj%A~QG#o} -)K66|S_|CJPe>3ScmTjDe>VB3uDNbIV{p`ACE)%ez$^1%|W^RthmbBS&mNNeEa?zJqFX0yai6ISPzAU -_f;>^r(RG(>w -AoiTH$fMnp<{(M9LTpeG&{G%#&eT9Jr$y(`0a-j16#@W|Kppn(9b`BO4eE0WdO4fnr{Z8BK)A>&3_}XtB -~L85UM$&3$eJnHNxPY=AET;#C|qy6^BFZ3iQsjgC6`V$g7|Ac)!6o~cx6)`om$dk{Zlju+VC%Kp3svYF88&ZJdX!6`JaAqQ8If6;H`0;+#+ta9miv+ij}8BP$&J3 -q<8nw|YQvTXK?*h_zU^VbgvE>OlrjN)RacsQP;XSgp*75A_F*GPAY*4>ll5$1 -A|%WSBBl>4hYd`t%aHp;or0$hY$8WW|0wsG9p22pi(q%u`L9a8G-<;WlYluz!M -?5ZsjK+ubpeZ)-x-*?Xb{cp(`_z=tfLw$!ApSWstZcIiREx+4BP;o!lsDwGP4}D_BwOwK&bJdqx69)yCPwNhU?Ki$we%NG)86sW -R$^45G12c396G~({-^XA*LAXns{g-?IPG5sX`DuqbeH3FcPE+`k~kkJ%1b^ZJb$|Cr+cDDa;D}3f5_s -i%|&IV=kpw%5atkVZ+hx$My6SV({p4KHz5Lt7+4=W$@7Yn4~>u;0EbRJ|Kwa7r<^@ERNVCLARowfb~K -`+h(VU@idieOCZA>W5*eZ*c8R4&G?(eiYeHvJyGgUE)1K^Mj63>G!n=Q{+C~ -NJs^GR*d9V|3jg6M3ahN*KqXfz9NFT?+FNg{Zs|phMs%~#%*mn>FpQ@|REG*>Y7Ly<$2Z#&eKvdC&G< -M$Ju}4{2ps+w;QHK77knE8eZpps#B_SCO7j4Pp6-N~fC<>#Rk&pg_^lG0AKC~=Suu1^q)`Vg<|AaR -qlFLQKHWg2pk-6=#g#1p2#)}GRSaDtMgbb$EOWWLAR{BsJIN=Wf@Wy^7IM_!1R!F|$iNt*HkmvA5%h+ -G9#&Wm&K6NbXmW7~vH%bi_DyZx5N8@>Xch%cv7qA>w1k32O;GvQwta;(s6;`T1OXoEv!I*`^5QT_}lag;Zn{i)Sa8+lVm+xM20;K@L6GLhC+g_UFSblYmV01l -nr0%JM)0p*%t$0HtUSW*B8Kng@IeU9faVQORkZNf|X3JyV-T3)Sp`yj$@#Ow~0lqU^VBzD8|iJx)=8k -7STqWCTmwdJg2RP4$rFxKZ$9Bq{}{0h9;XM1&0Eu^d9=1J?_JLm?$5{*}!pOh7Cs2?3&IOx91 -}CQ!{q76`IYodWqUTSbpyRF6NJXkfdSDT}=vrVylPQf85c_iU{MHwG>Jo2-*0@uZLu1o0}i<{)4i7Ew -^JhtgEFjcbi|Bg2}21N?{JFg1OdG>XPUgxsutMp3$+?PNWSe2U^RC=WuFm9W6Td?}j94>E(*X~=ESXh -N+WJdXxY@L)Mb$!PKlV2rfFfZrPS`AJkr@yZ6U=1s%q5U#8s(J1g$><*Y$>bII8>L&mdPw#ADyYOnKe -HBMLyTwHCun-yPPX^|kWgg;F_Evah;)6jD6kq&l$$;4y>sTcp3y+lt@WsB9MR?!?2se^sjn*tXk= -rUZqjEfC|G-%!GLi)1_$saRwDTxv3R08O$^7#v5pEN(GJkb=_H0Hr=ve@G1|@Y@Q@}6*>(}8XQE!dlm -~;<@>&UPx3v6c+NmhNCzQ+h2jvjBj6*U -6_VF@uRi>(f_&+H8N0-w0W5!^ONs%TjN;S@eNQ4Efr!jg-=MBze2aQGdzJ~{tO(Wv>x9-YQd1Tt|gAv -hEckD0=9y&6tPGiReJAF5lPd0;1Ir&aaanDHEp5|n0IrA1V|@j_gvfKjDmRBg_KNWpP%o!p5mp*&AqN -lY{JK)-ue#Qvcbw^w1@_m)|kAW(Nv5l>okOSK04ONCf+LC&mbV;K1ZNas{Iioq^FP3_pu-t%@b@U -SyD76Xuzr>9rR#N4-^fD3&j&G>$+w&C#~&vgNMgZAbNQ%$crX3C~FD{h84O4#al>=hyIhy+9V@~oJ1} -Kgd0pw#*!)IiU+GS#!KIt5z4~BDuL3>mg!`f1ORs1!juBsLJKpWnON%00&|qf9&h!~#v4Iipwi;uuyi -^0pnGMsQ=~BSSa|rsf(&Hz@Y~vp(>rTzj?`oFeA$+VU?)lmQ21Zrf>_`5ol#?FoM!=Cqsj!7gmX)4AwBAAkfH9i%gs&4;Lb$QPs#^W! -JH%hAtFo}h*8c=$~SDBen$J-MON=TXo^j#cdil+|bO*TiRmP -1V7CL%-;4LmgEvd*P*ThK9VS-L#*q!49pn8pp0zYhP(?1F#LJ~9+GBxz5!~BpyKWcb#xT;(5!_H6h-i -c(e2G2$Z&!#7@#}Hn;##k(EV1yV+ySmV%F00J~uZe`oq<-r-R85ExSO~_c6stK?GP{x%CP&{Jp!iQ -vLUPD24IMXWGj{9wD6#lyLmxPk}@)5@&L=b$`IuCS}}~y=Zcp6PWI+A#EPAFZvF%oy78|CSm20V -mqR8Y-(ot!CNTozz?3yyzg4Qu~q@|aLeB@VFX3LgLLH+^;;-~CgCbkSySyozR!b_tae(l!S-4B3iZtU -KkSr(piTGczm->(w3!P?fiYU8OB-BR!K=f44QF+8A9DTOJGD -5qiV*_Q68;nQ?UV|HLlPpsLZnt8QSGDGrMW~?2PaI|e~ZgW;@*bqq$L}+LLzf<>tSi;}j{mRzCLZ5=( -@wNkEmyD&3@C|=-bK4}|f^d#6oF!(Z4;CEVoJm7*$!JeGTFOm<;0RD>B0VXgpfHH0+0?#dMG)G@Qj0(mae8qi8t}W12 -7H`79X(L<#dz;zrC%BA+BK09hI+nX?yCxqay`Xs-i7mD5JNGTNN6#6*$66WP}PtB1Rqz`2Q=%F&kcByZiZ$c*_a_>L&diQs|Kks`)%LJBdh -X&Kf|F}fjtyW=8NkO^FHo`jgTWeORAN^|{(WFvd_G`}(yb1gH&U?tgc9DARJVvb)*+yzUrbRnX(s(9& -&oKosr@3op`j9YKM$hr%J4c9hR6DGq6Fuk3U!v1wl1^rigK?|X%9L ->9IN7BZ;q?5emd`D(!%f7OjZgAJ#b9{3RLJ7UD#QJLbGaj4JH?5ygO9KQH0000803{TdPR!d$)iXK(0EK%103 -ZMW0B~t=FJE?LZe(wAFJow7a%5$6FJ*OOba!TQWpOTWd6k{rjwZ#mrqAmtQbMD#r2=RCWklNJEj1XtT -N?w@G_pJ=sOc_D$xRo#x-nv|e%A9uBp%7$(hLVhSACh0krC_nUGIwTz4!k0f7^#2|MBT(+ow-I`uMXi -Ki)q4^z)DYWBV_zeedSI?fG|i+vkt>f4zV6;`R2?!>haP{_XashyQ*5`t^(W{rm5Kd~^Tu#k+^c?d9w -HyEpH)mvPMpH`lFC-`u~uk30Wx_xHQk4?o;JZV%sX@BYP@as6j^@7}(A@x$H!HSGPvo44`n;|~vy{t^ -RkUpzd{zrTFEd-3k>)%MNLj`+`ydhy6uKl~hz`tIHKtB-!YrSlvy#J{}!gYC)d*V{9$eY-uodwciz_q -$i~O+I>f^X~Efn;+vffA#j)zm30a+n-)M{%!l>{`FrU@4w&P-(rUEws#NP7eBxI?%~aP|5&Qm_uo9ec ->I}F`}XnfZhQOi?Yp01V!zvde)w^F`Qpv?c=zi5?HoQ9;@$S*&8y!$JjVUsKfJpC_GkX|?Fat$_Pc+q)F({j%QcbhlZP1 -I)&1RecOReg?7!bVzKy?Z`Ga&lZH;)l#a{pF#XII7yZHk*{yHZ8^Y%J+62&M7 -hgU5;`1**{$Sg_yt})Wn8o~8i~P$He;Y%7{}3zr>h9f(``2&htN$go_iaq@^{ef>7k|HtZGL%o9}=~_ -2o?F^=l`!geEsm|ufA{G@{a}m-FE-&_U7T;?e^2-eaKEo-#_hcjPj5Dy$zv%`N8ehQe5=n&EHj~~4I>9-^O=KHwg@i+g*vr``1_Wt|-w(TF(oR1WL%I&!R)cR=rsil1Vs -n_|ZwCB41G|nZ9}RjYe?KmPUW-|ru!y-f}K`G+u+um9EKUVMXk`DA@zC&XfKl<*)BQh8A_Me|WYM|J}?e-ev$%m -hQ{PmYl|JTRNzx3l8J=F2p*Uvxy`jclL|Ie>KfA)uupTz~gx(S<_ZqwNJ+tl{sHYVO~Q!VK>toFE#Pt -W)_Vk)>N-r&bE9JK28pFkw$FDsevDJDT5?|@m)vldK=ku0l$GgXB<o&N$u1D>A7gK0RC>2G04W^X|ExF|ji?C4O|?J$CzKWslnU5esIWtd%R~zmaoVpS_sM65#jhC<`s`n(t7+F7dM{6i~cg>zTa$Tj2Z9g0>mUjr(&bd!a|RD#f+rI -d&XwPvpcg$yg-X}&!w~Or!p7MDQ!u`7{^U4FIySwnR|?$N-WBDD6Yuy$?WzshHI>L>|Sh0VOP<{7TcJ -5VvTd+1@avD-1AKetw%`X3WdDJt+Cn;5{rTug&kugr92+7m4T$Nyog(@!ia|*@yac)8J}s~ge(@87Yk -84>fd=jYLVD?W^yp_2q{m>W#&#%&{J!YK -m68)WFWvabQzoyJOyK;I`kyyEAZRk8`YXh)TRWDul%gWyIj9TYKTt#1yekad9p!9#(kK&bsHk#O*wen -|PftY#6+_0kuFkQqvr<(4(;Lv4f#7F{ -7%5B(rnF!+;$Z{PO6ZWwI6~fQ*_Rv>f5)Y9Lyyf5`-6fU$Y+cc4`X5oBL+004s6QFUc}$x;*9tYc2KL -)*!bbVac#XR+N!KZ#r?7EiTgXZ#v?)m5SPTQ2lf@e(mvWwFMsv25 -76knMQHU@3ey@4h<-)&*y_hvUJ2BM`h#?`zz)gYP@1>??5UJUWIElr31~uyzefhW^-#S9$FG!DIRgGf%}LV7ypjV6ih;NnS7fA+!+19T>MkCZsHz|ZpA#aqFO@D~SXpEDy<-VuqZ*IKE`(_7cpGz9xzW6sUD4B=yMC(x8h~pna;lT!NV|?A<`_0&b?y0VrG3TsR+vvhMwONexrtN#iGO -wN0_)UhhB^KWVd*!SaJ0LJBfL3Dr{(T!H>p9?Q38HmLt3DjE?5wJYutux#Dic2PeWjupim|MexFS@+s -cS_#u2&sBT>YN5B$eq5?R0OhUXNLK4pj(Ne>CL?}qcZpXhe8xrr{=c0Cu6~kfY@Dy`k0v2plOj`v_I0 -~IU;m{0Im{@gAF`!_WSC>t76hxi4v!QuC79b^DB^#dz)JnZnIuo!&5DEXN5B%7xjjTJVK71?Vm*j4t3h^;-HQ9!Hymsq*pGyN3ab-A9TLT~k8U`!G%vI%R9d -x&ps?!dD-I3gUwDCn2g=09g%~jze4ZgQg~^r?YgBbtzGFF-ROAR)67gtgGm4D!$c3G0I8L107}$9I%k -W3Reh@L?AoqdO&IUFZ@8z0eiy~klq}WcaJt0ZWq$J2JCO={o0*S$`#DhFLUL^)L&SB%L+FZCKL~;!r0 -ZUfFPi9ikYcxO1#Ez|LJc5vwEn}g>be_cFxWHI)k{A-B!QTv}*5(xgmV6Kd4d&S}4w!s?q^wa+W(MPo@?L;SSq>|yQOhJJ`5>z3PdBd8i)|Fg)GGs37mIj?&R5IaShjifFJc*iU?R -D`e0KDDSFk|hNSoEZpRK9L`5nW!=VCLr;IYxVvN@?QO!FP!E4|_s?eM#wu(G}P%wmyaEK|kicxOrD;A -f}8-c3vrOm|1)tA&DVxt9V5NmcvNhj8U1v* -s{h0pGWMMu)?wUXe}le!Heu_8KKznn@}NkJEj;vIy=jf&saF2h&Wh{3(I2~O~kbsL!7&>*Gci%knvs?JgOe$H)9pgof -5XgnkYv2f2LS|7*Vu+T#maK^w;NW3HkBIxnM`S|%kQ5eQMZ$~|fF<#hb}TtQB48=g_NufRa2ExKvhy$ -ne2{xG*${B&&N~{Wu<;4o$0ge@GmeNY487h8SsX-cEq;XWP>)cnjF4oIF~qWB9YHQa8Dj3JN?0O-$AM -UlC2o;O-GtKO3W$}6gkm;WM+}a8+?6koprm}Drh74T(I#Q7i@6Sw|5&c+0Ab1OQBunr`Ditez$+oHjf -FNs*iC}EOF{nAU3}L~jskhQ*D$+#?1--n-_RDI!7z?-hz*8q7jnLE%Bbf --4A-0m`b_ij$bA_%C)9>B}tsX#i%l8b9)>A1zAHi3n@A*HVPhVDpHn$nJz>PQ5fC>)z02LQccOVqm5l -LP$)5CrC%u(++I;0-M5m#OBp0_$Vkj%mKtT=ZOdEr(?2|Cqb@B;rtaZeX>v|dr7i)Tt+B@%!oFtc9M9 -IwQnR1NJ^yPx;9f;&=8~NVkqeAk@0z**$6<{G1eM~3%$ucy2gsdkHimO0MLVIV%z+nuv+Y!sS|)NZWa -6h^XkCF`@bwj1T0-&6ybXecPby4$b^D`1eueGIc}$6?13p&BQhTdWqS$n{*~N>Ns2rVOGt8+#7hRx-& -tA0)0D)24*e~9F#YYxNO%QIF?8suTGax3lJ}?BB&7RC)bz$055fWS_@ -_`=(6`KP`#2E20)`a*xf!}ON=m(EV+F1on+5GJ=(d3emeYUrm_TfQVPsj5bV3sH -fUQnHn$aO}YGVa`^KQgO_8zwtqUX`0V*xN&=xYnj%>c`ta3}$g#=^!s;w3X -dNc;*$b-DjRz_O7ycYSWNsvxQ-^vjPO!xTDPL5(-e`-bOFM0Syx^25l#;3TeSGg7~B|1&-(cr6CWCLI -`hB$|be_aOjdOc358@=C5#$@$~WOd3w?_L7Pb0ZTQtKh+H#FK}`P{9~iLu?BE*=nH8lm3BiE>81P#RT*5=c6nyRas%snjLMCjmgYA -M!II)s4C3JRKSOQLyQiTyMfDski=3beFwAiU##cBx`|=nsjQ8RRaFSPR&O#MFdisEtW+Vc7E{>mv#S> -5y;%$uf4!4akqD4(*J2i!g!Y#`J|kd>K?n+ywpaKANjDH7bsHATHcTXu1Bpb;!qxT#I&Or}0}M4UTM< -V1z*aaMc?}BE@k)S{u`=$=U_*hJNyy17I)P&NbwC`#p-Ng$&fe>)j)hInH#yBs@e0?I=}hyCq*7#P$W -of3#q6eR<9Lh^NKVXvkA-c9V+hTw#%_SaT{{b)*DXUPVK}jKe0w%Qz@{K`)URrpcQ{#Art~#%1T0~?c -spaNhN=~=CC*B^<)n?*%%F6GMafhU2#iRByZ)L=R8GGvMQ8Iu%c>iVInDUoGFJ>dK4YlCgpxIfq?(f; -)LAwojc&#yiq$pafzPWxl`u&>ZTKro?t3=8yyUBi50j8rX-Xtj1lZriX>?_979!!?W=JXS| -9F)Uo+yS!J%BhNHfyKew>%MB?A`10?J$)vIxk>=paE&nRSh^8kA7b|1z~1EDgV&iC;Q<89$bSBuYZWd -3mAm*iPXBixk;Kbz<5dV9DZ3fufVe&6t@8l1dT@=^EI8d -jTW3b*I}a0=}f~NRI(-$6djs*BIy_|_yqK<;ERAO8`8UJ$*N`huIV79V8%s-?Q8RL1T5vWPG^h?YSb9 -BsoW&L%(GD6D5SSpjJ|=?8MpSN#l$y*V%1*Oz?6il<&wj{<1$dt38^FzYivbxWd%~$H)5xA7|~;=bgM -(a_8K?>maxKXxj`w*YZxo2zJ?>qn4glU5}O<4ckyg=fVppG?{)dSu>WixuXtM4A@GNakjc+8#gI({3f -5ANnRI~vW|F;ZIh)Nh4NfMSOO7)L3xc1BMk-a7UZ<8~lr1V!6Fb!x7A50CPplxj+JU!{I3l4`y%-^2+ -BcP|X0fi_jAhL|fpjSe)ufY}kP1tYeIn(kjME)R-;grkuWbz+0ZTpv^xQ3mBfw8cWvnMEKoQGY_aGE& -x^J^hH18a81XNgKwHXm-8GK+am1~Ek6mZZ-i`vRMS6(-a#6dBTaS+_#Kf?JO%N@~Eh5f650I;TOldvr30=3Pt1AbQ -k8d=Otkf)7n)4opd?PdP^L$zi6?H9f6X3(02%IIO~1eZVVaSrzQ+p=CY^moMuUY1++3m8gK)WZ`{s`3 -+UsPL~(JX19FI&M-)}YIKNV6WW3^W%J|x^3pYHHhD!f-`oN!LluWCCJm%Ct)Y2D-wjxx>S+$Kg~Ga%P -nw3-wG@?rr5|nz;kM?Gbpn}7RCx+scEg->YGRpUY$iB}T!mQ_Ow0+!u4v?I#snezwphinLNAr7`7 -8_#-a2O;fi4^{tH;Ko8~xh1S}o%5z|IU4`t4jo7}UK+43p`O9>IIAQDCT3dmM(mb0^@H!SnQ-6DKa^C -awm$Ga6+VZ^=5aU#ZytpslnU?9^rJ3B$F0Q4g!V*nIU_|kzX30c=_7P5KZd5Rf=+*%t}qY&3_QEt{UL -Du7vZoLJUo+z!Jx0P?AT>spADEJuMI^;x) -Bq=E?eBHGl)i1we!O+h|MzFFuj;EQ!DqK8eyiue}EFEZ?K^EJ)ITXK9*5>oKfHcg-mS9^NLQt6P?o17<6irrRtEE+RKD#xi?DJ675TmjVh!8__pP$c+7UBh%-YkYvPpr -G++h|^cqiFC7FY=De -Z{6CQKi*WF;CFx5Mksn;~MHUa0D!A5-Q|k5e1smHlc>14RFilZK`Ul2V@YyjgqF>B#YzXbY-THZZl-G -0ynMj?j19e@dq&pl2T0qD%}P7c0@@3(p7VUrQLK0R_K+ELAp&ydMy)qCFMTQK_m^NpyGEZKg1h@u|Y@ -9v&ayZsG9CqP^Fj#U3OGRf#5Bh5lBM%|ynRah36bYEI;De%!8sL0HmMI&e3uc#@(R9 -h4$b(~8$dT*!+6p)+7&nRInPhoUJx#0HkQLAtG!WfDcbL{L~@?q=caJ~=E#k)T+x9g-fI#CxVm*+)+)I)ME+gy%KL%k*#5$$PrsJ`2R%UpfYqV`*+p!8W@BHdk&8b=LN#j3^ct9(`Ac>Gzdhn7< -S3vgeOEvr-R89bTHRNKx&X~3*5<4+yLnX8gN`rrfde1T>yLvx?U-zC8E*}^{xZC^=2>+%+c~S@S)~u* -su#yjIh{JGwANI}5MRiXB|gYQQokngRf}OV3n#ts9!qT1a*&h%i=?-Xz^7p?KYkF~A^ -gY{E$tk^tJe04IvrMS>2wc345$Sb)b1$!Dk3G6&B1yi@DQvU8aX(oF6t?kAUB07|z=IF!5I3xktS`vT -BQ*Ju@38l>9<2Pb7+F#l?b42D1g6R=aIf?299!h)Ws|*K%t5?F=87RJ>%qggq&MR^yL6yIO_bDGa7i!M=FufYc -@dkB2!*kTDvjoLxKRBN3dc(i3}QrD+d8d#Z)x?>S)0J|=Su%;Eru66Q#&?Z~f+O@_JuvBSBRDKfPw?iE1z_(r2%x -QQC1PQQ{uqlN?W2IRuv=qJ0*dJiYwy@0x={6sBz{vg}ic5Na0R~?-i|XMKg*EY>r%0bjGLkl{&Q%i4Q -fWxHanpew0IwZpL&PfG0Fu9&97DQIG`eMQ)J*GDp;szbs|qL+Al(* -Hs(wszu>m!LmxMZi-3?f%8yK4>s~5%m3G-|@TSd@GTnYl|HUWjj&fqBl^(T7`JZtu{NRgh|2#(8)4VC -VS0fL8<>N0#U@V`O2?T7V%>a>wGj3otycoo;(P6l<5m`J=8n__PeDcVMpOeH)l>5>Xaw`qvsDwP<^WG --%NPBw~DeOYa=r_*Gy+Qq>vNK}h)Na^Q7bGR --xGd6qAV9gD9=_S_-;^j%jT5MOd<8PlYdl5h2VWX-PC96&znVDfF4g0}ynP@s6=OSL0uUblYt(INdyX -=h+un0`LAovG!@D-k>O6?3xmK0LEb*S1RLj3O1i2K%Nf~Y2><=FPYvFDU(rq1b22 ->uwk4yHAytu2d7r1o4yp+Hl7{WVtF+l9-KtTl^l6b(7Q&o1hLPw>mda`JEHRPXz(@#qjQQ~^;o0heY> -;mIVG)a+vAVW6Bidf_Cp-uY<07j{dbi+4)5$gU1pz1isH;7{LAvd>FgJxv1K!0Ui8hlIGUz}A^VO`YY -o0N{2(Hz-UAt|lf4P51w~5d?lL;1cS2VBNzSuQFHXK+NvTz}6)ct_G*FIw8c(!h?l2C(mTdSo+J8 -v&{^&IP13E*f65qTHZ2jq04*kKRat1yLk6biaVu2;2|!~SOH(u=@&%eUNVkQa<9--l3s|#dhwMZM&doQVfykmCAUpel -ez7w@ZkQwIp$bLUwj}ZOoEYK7Zvc@D{s?Rg?Hmd5&-fMp-GMcbDc#y0x$A&k}AYi -=>CKIdNJt9TOh2(X~3j(mY7FRm`AUbq5o&Um6#jIFO)_zEt;3Ru)-ghIo;sQVzFfI5RIC^~N+T3m2T`CRfwon7gIP*+dCe1D1@g>c>kO}}w3Q2WtC>E1 -n(`-l)FExkg*T9`T??43%!hq*@qY*{Wgo)VxFv(A{lXCM5Ibj36C|w*UffPFo6QEHw~HUGX -GcCW`lHFq{ZQ1v%ITmgis+Hob5uDE(&+LLVw#d#YrMAaRFwc*aCB2cm<@}Omvp%p{&s2x`2x_o+v394 -l^!QhA``Hzap-o&TPUWr}^=!{kPM$W+VXkq+ly@60<}b;n3A;7D{F*dCDGu-2}l%#;C<^eVuz>h91&w -A|Q`B`2(nSJ^~4t8g7UrnnA<1;Uzh4(h{Khc83#2_I??9NVggAF709)VuoU0zzVcgcRJC#P1jKJdRGx -;R`NtD4Y}F}>|QR6{(y8_SeSx)=!DkE0^TfaAui-;8{k_tM;(TDM0>FQ5=*{GLdH7PtEJ$8bX%)M8$D -__>{E`-j0wB=mry#GP_i0rOC)Zn?7C$MneOT`^v7;VNLxc14YRUSPD^0#c_x)oBT$g;;Wl$USWg>?gv -=~;bT8>^;0RbUab6d0Jglu?fQ?#!ZaRoWC*3Y~dN`7p}51UC9$xJNZD8pN^7VVOO?)`4l!U}dV?L+S)~8WIiG8dobhHwk~Bh+Pq6<6$M# -)pK(|y3J4wvghi^lEb$a$iW?6aEED8=r1k;q*MAlDa8W5;!k2G1bMY>9FT4ksd=Fg6?=pSBcBC6sgk; --XHxkslesSf$AJ?X;KLq7qMOxFvX%nUZOM}CQ4kV@JehODjb_R1gRZvM+BM}A2|2+wIYg&-^HzJE_G@ -5DLZ-=`L0IpPtnzKQ%SYR1z-~;NP2aTwz1kYo}@#wI1Tnx2mvv -fJMDi{cBo#vTME^0Fo`D$Q2Al()!m>Xs)c_fZ}J2lO%OB*um61mjurMWWKj426a^ -@y~yn>1*Ih-R%`3`Sn=@z={8#$HJd@)%aBir3p{Pd^282#<4LJw{6;|tAL#ph4NSx_$sG$aw-+Y<4V?XDF>w6-X#m1HicN0@vt#+GSe}X!3 -e`n;oXy(U_skXKI6{Qa)mp!))>-lvDjC2jmUzrBN$2sz{-}7Y{eI7^VBU2P9D>jSo{O*<^YYcV1=W24 -vP`n3?lof6@3=Ov7_cBl!oL( -rdpD%8EK9Pe%uGLs%pOWPS@|UF&Et}Uz5U=C_(bzG+X9#D!a2JpDC$k5z{jC+tXcIPJu$W@6Z{>hd598g -+X*sp7#W=vJ){8z{un^(8BTJRse6FxV=lEwjmk0$gK^OBqsp@cbmty&IS4vkXX0Zn`-U+5alW9(4vRE -Rj5Z59|^&MLx6P!|=Eh|HYO8JI!-8a7ffvd!LQJ=)k#RH%PZhow3D3d;sEE6~E3hfk5FWjJJEdne#OD -qISkR&IV&!kbhZY&tVZRu&Ylrm|xSJ35l|y3r<@zVFNq?#|9ZbopKTMAa+fz!$%HCw*}Ze3(0z901-; -|EP}~h!q`g0tMi9$RWJdLl#y!pUcJxSJV>{cy)hr+X#hT?6*LI+t^`nq1h^~{pgdhDN`3;%E)+F7;J& -mknD>BmyR~`ZAws6AXzk})==s4*CBEBwuG6>n=Fx6AxoS;ZR@GwY9guD}d|vWcJCVwHj?3vIj2skFq~ -eqo>uZy{32Ah@tH@gP1^rrM4~|2QwP{2+H5=!h1{XAoof-^3AaAx*B0tn-9Lc@*WoPARd1*+uoY2P}d -8irThoo#7=-{%$>MbweF%zcD*`7P=Y4d_3(1YWc?l16ezL1POf^mY<2ucZ&xYCQc?QHXY8hF^8isp9kqS$&nDxw=7d86sA- -uOPDT_8=~)SKnnPlc0q&P)6$#|pI+j2$YH_$=zJut$nUUUKt{gM4RKZ{0IT@7I+GKRG4V7!-3?kY)+t -j5q}x8k;|}?@CJlrSQ!422cDIPlg5fUTop61ZxC?VU!-g#m-e2!-@us?lV?jO=^MWAY)X -H$9J1MZf<>a?28LfdJ4THTl6AqEOuCt#zbPzuXqK{p4a+eC7cU?JsZZxHc9x6}(nmBe&(#;z9VcJ{S- -wlNW{0~t)ZTqnmIkZ!Ya3D`uRO-sChOn2DCeaM{EbOEzir>Fh8kkMDeE~>$_J>V*rt$=i!?TnL8HRd6 -2o+?QQKF@+9)X%P#oiZK+iA|f+c3>g|IwaeE4Gf3HaxLZbgp*62Pe7!dLF+RZS(O#x(GyLfAJ+5fo*{ -|SHxfeUdd0_(ZZ~<75;{a~?R5ZZO$M*Z+j|WKrZrx4#^ZtDuyK?LYnN6q`T3#rUQ-x)*wl08a^BFuK0SI*TGw$$Wra)h -FmExq}#&wB-J0xGVM0ccnImK?PN?1BV|b0JyTMqiPCmajIaT99ba`wx}{cDvwb4!ro?xTS8I;cn3%O{ -H;VOW9?K%m?B8(dT}8SE?!sfNZ1tUxepbvw&8lbFvRn3vfwp(4knoht5Xb6Wv-`H;K -7dTn+;J?Uh3-7!oa_y;~%r|sm>JdX$?!=cPvWTUiol*i#ox6OBwbxdVY@@LUMX$d8SRRaMJAK}eBCB_ -~^G4gEa;RkCePB|=!CWSF*X+;i9u@Aa<=z|BF5(;viMM2NO6mBHZEgo|-IVAZS7=)!s?U;+job2=yk? -;%|-klJ-h)9Y}4o{mVl3{-`1fV3~I@TF_2c+BW)CK#pvsz&7ZD%;vQ*Q(P#I|O;U~LeBvR$%uA$!-sN -?N-Hrc20*@UEoKR$7bB1_Hdr;RlX{KzJ-S9$)WvCfAPs@BQ+bgRg`JZagl)k7wcO+7N;E+uI^97cdURyx)p-Ddk -ghmE?vyFVlhq5|1ZhqD7RGq|ufQ4CheAO64|FK5~%-HH%5T>&X3QF#Z|tMe=Z#Q^_A;gm*be)VF39m` -DYesjsn8rXy5@S~F`PQiP+He;2!vgYibfrm%6NGb$LFg?rx++S7YNNeDOBO5*C!G>{S5D)zF_=lp9>D -%q(EY4WB459%3;=v{EfMuG?2z5xe8L3FrrIMuy&;H=-u?&J&ce$Xfv7J<&4hUk^JxEVpKY&`b*IH{z}ld>g*!`a&9ajn3+L%QvjfNjtodJ8TCim&rfka@HL -%(;1#A?r3n4^+iwb1HMQQFej&5B)Eu%LCkq#x;@oWwHqIHV=cYr -t?H)s5QI8h0gj7@yBF=`PyYZ7ziy#gXP30CEXpuW~YW9%BbH4^AV37m_q+3KONTa*G;-n2s}@dkKAR_rQqCrAg(fi=%l0} -~&D2{{Oc$%ElxVHfc54pg~O0?CA&Ww%q0b_h>+xTq!_(rxt&<4K#Yl8D%{(}T!yZ62A_eGYgj_55Ty1 -@(p|(C!hIyTZIqj_HtYi${3lyov`JfS2~ut{NJDNQo-t_D1bRfP=kx -R0Gp#@+i%UsB41+4WP##=>QH2zch1~pRi+#DKF6p+bN1jj6Jc=GJgr|Yd56CBxV~D&PU{S(BR}z6V^= -+<<7heO@)_l(U+4AC}*>ZTn)Svq4q0ma2eQRBWm87G%WttwlXH=x6d5~_aXq$(0%L>b;bHhA9sKIilr -!Rr4D!86WI;GsBzBL#`T#LBD8OAYV;$Dwyu@TZT1Qmo#t72V0coh8#jme~3kKTZj~lH+1YNV1~`X^{hwuOz=)fP}t!F2(NI3?d%{F&=W#Jw&v5{+2>dF1)&gIQ%UX1V`ba4J1 -cd=B}7B@K^^P%T|+!k1Lse86G4&`)1*%?~=KQ=T=7{=R-xRU_+iv_gU~}xWjnCkqn$Y5dneVSK~Q}*2 -DS&kKK0GwzxY92u(WGXu;iiPGzXNf?bM^O -gJl)GIfx>hDZTslHGqDW*~A4VC2PmVFxWK3z7vqOsyA1nJ*RY@RJ%L+8W_@TCdSNjvASD<{ZSFcCjB- -T!kK0#g$x_p3N5ut0;b0ADRt)}ZqOGVw!+qNzx;z*q|_|B@+zE-?!i$u%X^TX=QMkA1ElH%@jY`YK&R -;1FMb7WykRRmj>Cvi^*2;t-zCnQvI62{zo3AFj;i1PpbHi5la1>E9Az;==#32bKhHQqn)x8?I>{iAPx^DG>h6mBG1d_g5zt4RAMQ_d8rLVs?j}qQRbx>GzmWbe12c8)~+Wqq!bVV|$4j1|>J`= -~@a%x0I^86$e}lbjNS_EdeBunb5S@@6+owV>m3 -`vhqAI-Sb!rk3ff;4^zRIECHNnty^`n(+_UP5Q`Hn-;ZnH2v`Q$ZjoU_HdF1LwS3(~1Z-O+JDlgIhs+ -F;uu|sNw0Iq9-|5#ZEL#ETHk-tGT!QBwWvPd8*_a0=OTe}ma!6{zV&Px`-w54VSt?nlueUT0(rvbn(H -bF|Vb0h+$ -aC5X2iD>dBAE`Y?qk?N4D2Mll?Ak~pj%G_1e!14tuBh}Qx=NC2N>B9L!~r1_I%B_uzA9rpebHq*R>a45EH5UV5;-66m^Pe#24wj{KB{vgp=a}bx@N8s~3-K$EF1)~?q0Z5g|4<0o<+zQK -F^8)m!?Z%8f=L6?aJpIzqi$7TR!{nRic#5lV3`VHBTgKs@iSGGGS7r+7wn}&RfEWw6Ku6ir4{Yf^bf% -33^rRI`DTThV+fXM+sKv6K^D>)|Zi|Pyp6bRxctjP45=5bK-s(3hnHr0>yWLn9Nl9ixBHOFhMBRd=Km -yF~J)0A9-vk-8lLrs0W+=$Etaib74Xx*g>TawwtfNPPsi~RTHzTjuh6zuO!C+L!6gBp-zA@W45X^Ur2sOD=!^z;~89tPrF -;VO?^J4e2OwIAYUl=7++vLO}7CWyt`?4EQB^gKMMT5|F1%LH$w$WbNj4-aM+x!;ujAsTLI~|W_bpN^`~uCY<|-I__D0xVM`{8c>2 -9|tOv&k*qQH1`!cvW@M( -5MP+8x~L#5$kiRmh)en?GzTH05O7x?*jVeGN>&VkjwEXWm<7Wm(wwTx0i0`I-lAVJ1#TXB)L?*)O}ID -!J%9#EE=87+nT(dJMcfTRu@2&oy?&Y^|F-cnekEL)blsDf=yeesHZZZOz1F6{w?5NhRX5as%``JW1W7 -yR8oRyqaA)4f!{m*(MALZ!h -RK?MhNqCwfe63ZswMvj)HmcUY+=1;yER%ebBV^XE%gcSaj*1&w15UDxGSVJ5Ehp@#peCDvoAodODFg! -KX!)ZK49>Pqi^Q?3;*v=)_jA?5=rokaGY@Va*;iN=T*d#K};VGSY-s%rWXKRMvUR3!TkolhbMt=yP)h>@6aWAK2mmD%m`#xjbHVe`%Pte^}Q(fJ3yM6gX{lU{{O5;&9n8pL@k7v=pbfvc4YE!ahnpwG#S}2N4#v~mT=7&^D1jc -SCMJ#9?OGjFIiONTQWo1gXWODKsI8Z-j?^01RLPb$&nF=qBcKB&aV|PD5Omk!R@zk>LoYA`8G5-3Lun -kvPELxesBz2j>K#x5C49pM}Om}c1 -kZy~xSg=yF$GPr2LxzmiK-qCL1J-&btjlN-xXw6hP&MVag18V7clzf{l6AGs<^c*f0;WT-9KrNg`7W3 -OP$)Z#e#OTTj?P~}J!DO(Az5x;TN8?fQ(x@MflIb9hX*gR@Nb_)!jH2Z@T+n>En9t%tKom0{EpE)bWb -(=49F&EDlNoyCR2gl>D`U(lOKcPg{6)(8w`Qn}-t77X13r{FsE5iJ+ois7zA2rAz}|oA_3rO_f8O_qmN6pNJ~Ws<{?8-QZnbi23JQvK -x)s*3FRfXlf6TA>6HO}RWxw_uAse%w@3IFBu8Y(g=do&qNVih+5f<$-ag&+sGe-z$PJ7qv^Z_tfM#=N -zyF`d{R6CralRW2&pQ=~!WHp&R4#urks)Td<=w4vwvTj@p91E;QPOFu~%~`EFj#Yk$Hy>Bw`gGn=b!k -@-oB+4yS|ko8tRU{og|<6COZ|X-@5D+p9shv!U#`3H@o|gG=n>pSzhZO{@9R^Ohmo$dDEMQemVIS4-Q -cae@6aWAK2mmD%m`)i*($`}r008Sy001EX003}la4%nWWo~3|a -xY_OVRB?;bT4OOGBYtUW^!e5E^v93oNaGqRd%hv`&TRpT?r&Z@Ab0ZZYz-rC_1IkK&lEw+%L#fnJz1) -Ol;Gw%CEoUc~%i3HIWiN6t>SfYp<6%#~gFaxy}b4{QiIC)2DxW_Eq`v*=J9`dhxV;`sLT3{d4(m-uuD -D2j%6P>+<#e&0lWbUfq_@?p|M)n}_n}yZ^Yky}iosKmGK}+nZNck9YUw)$Pso+sE=M@A>57*N;AXd-H -gcPkw&=*X!H6pRe!B-H+w*cgD>7zq)>Wcy;yj^?w=m=I-r7e!c(s?%rQAaQWu$e*XQ{{q@!3_3QG(J4 -gKcM_t`B*3a+qs5g)0!_Ph{^*oOZ@w;#Tq&&I3Ezf!HLwSDvaDD&R>(_H7pWVHEyubP3mn`$chmZbm{ -!+@HukQb?d~f{Uw^jh_U4ECtNVBC+K>0w*X7~v$H%{AVt*{}?tUq+ -uHKgW>(@6AbNFn;W4U_!`VV*a`TS3JuWx>Q$De+A`#Q^E){ocsKRx`qhkyF&+w$f0LuOk3bp7`FKCAi -Wmmh9#Ugg7I-n_bg`*2;Z9?H-B?cvRDJM{$E@@OV}h?sR&{^%_VHaNo&o;+^!aE1lutbQ^x2osU -Vg{yzj*fYtEVqslrO%1UY?Y1o;-i~?6YsbeDb_}^X>C*zJBralTuz>U;nzrZ07H6@_%mej~Vi(yX@ra ->&L5`+lRUI?{d5knc(f~^5*KV*E!}_*Eg}KaupZ(`Q88O3~%q={>Am?Bfo9vAIr^;8I -D_jjk8QGPq$%NYHuPcF+^^QNn}|8|=rc#)5Par0w_{^IuT?*6iTdiU_iTmSqdpIut5%g41ZwUlpP+-*QgzE -&>t>ARoGoB!DMtuyeNQOn04|6^G`*-w7*hrCdiHr~H*w)Zd8o)_9Oj$dCm-oLPHc_Bm27wRX=^6LxD= -{$RV4Rri!&3MXlwz&L*kE?zC!-w_b_dkA=zxFwa=W*^#_wPUWHt%8Te<&aJeO&`6`RyZztLr{}>D|wP -#NU1D)eksATmKJMHRpEsHlF(Mh(G=G%d0o#O>j*NiK9LL{Q1SjJb~|De)r9@&z^kw{pZhKynO!b({Eo -s`}(WzpFhd}eE9j>8=rjo<-qODzyAJ<=THCT`>&sW{`7g?@!>_?_Ig?NabD -Ij`ep0exa?=kKgY7?*S_#;y{!9^zl|+#+0OjBR{vRJr+d5XHGgYuSuZa#LI!LZp{?t2S;n5B_q@BD`E -ajW%iqRwIhJj?tY<#b&TY#-W54X{v1ELHIx|W?M$3RX`pa@`=jCXbQaN|tvmcl1*8E(abgo9U$&!VC1W`+FG?G{kyrM-Qja~0TJq4k?}LwIWk>CoCDXaAc@JY{u1iL(Yvwf$p4mpm --!hr(Vc)W{nw1?#R@;s((_Aycnt8R}vL094GEA={d$BQoJ=RQV&x8Axg&k{NWttb+uWZX`2b<9{!jc* -8J^Q@m!z~Nvg(LII&h?W;^sK4$tf?<&KDKa1JxGVda#!%P|{ri^Sx!4Mxz6V9no -XwN8~==axbnQrCR^NUwhx<#4Gb(MvssQjZYD&vrH` -Zk4^qYz~IebTf2aax#M{<#;v>FHh!J+k3~%o2!P`Fl@FayOhu7NipmkN=|{(>v?=-zqXUj*zo|ob<4K -&Ge7mM#Tt5Eh(~1+2itIF`(m4UTx~c-&47*b$u42UCrjC!Toy3S>_x$d2T$^VcYezG^S+f~GS-SeEHR -+6IYUe`kdQg-Z1!>TtNxAOZXC)U>xe~SN_cwX1ecbn3u=N6v6ANYKpKC)>!lp`<42mlpNAsbYB4q#;1%XPuT*}e`q1UECUZDR`9Ie@e-0L>adi -p61v_2fKaOED^T?!cQexl+K$g{|6R6LpDq#+UHP%qEzEwE?gNi#+j}CDs;S#=&zSIQ`BH^UuJmS4^t| -rgit^vkhIytXPrb17rti!w$Dq_!^bn`W!p@nGl#1;fE5^t+u$+Xp1`Z4WHqRSJOsfM%jga4V{T86~jZ2O!=9InOfVs|-@<;4sBkuD)B4&k -(^c@J@Rt|tOBf7+kiTfZDI~>1a$s8u`A4mg9*w+QBb3$H#tDpwH4DBf3W7*?5)$@lyHNr`6IK<(31FM -yX;D3!ZjWbqSi7wR;u({-B{J=>D^8!`_;Kc6J{mL6%Sp%^Nf{79Xdp-u9Pr={dTt!gdC1y01r`O0$MX&_KTqQ1; -~zi{xJEF(Nazz1h{1U4NnG3XYE1kP6c5-D8;L_?=Kwq)GiHjNSXIwT1~vlQclBfCQ`w$IGxlM^AaJdM+WVS$;HGtx6J>du-b};1yf`y1~Pz*+0@fL#7@LD@oFEnpL;3@__|%1-3n2-po|DIK3|SU0<}=>Yfx#IZN%=%F!U*kOenT=0Eh;t6SD#X=M(G6 -GO7V+Bw_h}AbYM(BiA+_tjU2Ye^5#tyNiHI|U$*hx5801GAbb)6pUYh854N|S$J=X@-G%SQ53)|6AkY -&gQgRwW`ZLnDM)$1Y`M!Y4#~WAQP!e3pf7+8DHw@S%&sIxo6j4t5mQU8`)B!-U#aHYD>0LS<37?72Yu -Fb-0nIslfuCw6F_vI1-?INiXZc|5q|f;Y(kww!Wdz-E-#WW!L3;lAe3N0TmO!!IiTChlYRhanC2V%Ef -5H|#4Q01yy0Fq_=~As}JCV0Wg)sQ7XNLK_J|;f>)+gzc((0<|uRQ_#9M0=?nn*nlQN*h!|g5I!)I#AO -T*3KK`#G3*@h(J^O2xk!J?&32PV=1P!SSJn;FHGVH9LyKrbcG}rk*>>ds&cIjVAAxcKA#xNUd!&brjA -Atv!0Ymf#AO)eDs+I@!sRy15sBxJWm((FK`kBt|6tBJ88YB}Vr;CjLhcW?l#t)S$iP=M){$?5A{8FfP -5n+16MT&XCQg`N1r@zQnz3Mq`|i*_u9En$?ZAB_3ut_#>{8tYbB2!2aDtUC=IHEj0s;9GCc!kzCYj6( -2TU%g(cm%UXFC8+pqF#yM>xv@<6v@&N8JgBkOq12Cif#QH>2K3+Nv<15l@zYn}NxpitrdhGMTM*ZqC! -lK?q@;cofFU$wQVpn-&ko1c9ot8DQlGm3@_&2t#D84HH>CdD#T}Pv|?@3)o%okc_(%x%z~?mBa-5Juo -fF2CjYJYq0bNVUC$2U9cx>Lz+y- -|<9@{Djq_QX8%Yi)ybzx%6d%gh7sCnRc96nnJ)}+xY-J-K#~laOeE?ruB^nbF2-cMyh}|mk;|PU*Mpvp11LW`Zj3C&rX^kgK6-}q!9Wiq=(urjGWSLIN8ALCyB10OSXFSq -tGbv?6QKu6qA)aRMm%Ml3TIj${BW?^jaVd+KM}hYYYkDyJV0R -!v}tBFGe_W8M__Ak@}k8YT~-b*009Vi5YB~^4r|wH-L!e$;31-@DKGBQlzb=Tu=P9p+NQ>f0TEN$F5O -}&9S*Szg(z{IH~^c>$tz-jHazKAWvAKK6L*&q;ctb^BZf_y*GUg?je^~`Da@h%Er(*1JFo*<1OvQc?f -4dp*BGnh8*pfd)P?xbcR8d|6%+%kNa{VHfkqrQq?-VkdGtIEVz-&8A=vH%Rb1WUVvVw^-<}eJ13ctO$R4oyuHH=w8eayi -t5gKLUjXaF36ssO#G)NxnIJXLtSkIE@P2?hDpy8m;{f2mSWQ<%`mXS|I@L4TFp?=cSIC8FD!@#Gxp#e5_JkdSgI!$naN<+7nZnmp|Lbp_*DO(+CU52`WVO!!+MFMx -Sc*8VEPw?4zBc|F=Ktj+gv0->d=tISWe-KVK^AvbYN6%mJlmRvDXf$&e0{W4a4r4^;!i7ve8C_Xo@nu$-@CoJbz`t9pQvzzAyT -u3Y0KssfKbI4$we|i-z$uSV<-MN?fB@vMExtT1;t0J14siT9U^>A<0#PZHgoi+HOipfreO7DL^E2AiZ -(^`=*Z~1o=1I#o7;%q}Ex$B-}P-2@4_FIKo2mWrgt_hl8H7*|n)pZsxNHu~Y4Zyy6g~Evu%~XMztdVD ->{*WJMfoRM8Y_s025HbBs}$p2Y(`U{TjeK$}L*pcFt6avUHAGC`ZVm`vbin~{++7Ozxv%{Vln9Ip_sj -5vt+V`!xa$-4zhAZG4iwbIGa54NR{XRp?JmHQe_Z`FEM*LLv3BAQ`A{Sb~-Dely{WM`<9FFK?CLe4hT --ig!r2cd6+aa38tVnSv;Ry_|TpSaxRhciXxBg%LPtid^y@Qga}g(Q4rkf)UofdF4tlx`}H)_(M56c7S -gYcfogjAj`en`U|BXR&EGD)bi@O;n(L0WESCLJlh(47gyha^Q1HLhyWbD3g_@ITIu0pGy2NU2DRKJRP -^{C^519nFXv&gy4J{<26%LachJ`LIO6`iXr1bN9h)^o56;{!D@l2lc%tA35 -@B>ghNVY(iq7YPlnHoryfRI}T+Cd=H0sAOqT7!s#G}*?~#7#dkc(W{MODG-o0DNwnt`I55fx!ePp}t8JRiEfx;mSb{5 -h%QzFR>!N79_stBzG>eh}!bC$@neabA9VMvBTmQ?5$YfT9D6U*^iPM#F2cFV!6jLg7Nynl -;*ORmZlwfsiS1>Xc+UZXdbO^AXC)&}C;m -#VR}wZAZ|qHiZ*5vjxn?EE&7o7sdW&TLQrc<~}=PSlMwXRgt@r^Wce9!2)G0>5kzL^rr;2C|pt|Sti; -H+ZpH`uzx}2$|eKL?g+7DQU$fNAzU}OQ!$~W{FpqBMAstS0Uqv1SC&pIpjZyANL2(+X*N@!>cL6r9Vk -dP?Nq^mQ94c1r$KnS7~O(wA)X7NaMWs>2r|VWd&lgnRWpR9Cdnnc8qkN3iG?J}h||;$A$sJvo02>SN3 -;yZv*Q6(2V=K*f&DgJ50S5{ZCj9`BcyKf!_{5|9GZMNp2_EwGY-iBXJo~yYK(Slke8BW?EDSoHGpdG1 -MG`-gUS{UhUtJ&M;FTSWWMmXW^QCgPl)Mux!G-J4q{LuQMXNtE~`q8+xN-jA&HC9n5cn7j_yPwK&AU` -rJ<@pj@x2A%b;}HIJOF3c1z*giKVO6RZ1j<@@B7=N?~oQi3$3MKuIPTdgAJ0HpqLOXdiy4iA<~IFbz^ -8v3quJpSN>(^8;5~NPK2i+R*5ta61QR4?3l$b37V;J^#kPq}`MaE=KuqL -LU`Joc?Ii$UV{AsnAM5Ef~L-4vosO_eCR(UP;b8ZT8fB_7@9xkIo -@ldCwQ7xI1Iemj>*#`1v+{@^Ef%nvO;7|a9hHxWCq$BV%qB#M3)qAdW?j#k(NH-CZAexMGESpO^I}*` -BoJqOR5ANW5KUmd!xAV2q$nUEO%^o2bxe6oUDN(B^U|4CFcD9|q|?fQNjg1IHb)+o=1%i$%o0MVyV$C -CS_9c7J(NEvF;p_v0f+2Eb1+h!Hu=~|YkkX_6!3D|)u?5G*z??gWKy$ksbAWR8c{a8i)@O)5)}00%A2 -iWa1R=Ps?|FS8tP7`Jy8d)cUb$gqQBcGAmbn@pxQRf-cbSuhPT>=V);~7h@z$#NH1G8j8@2N4Bc|Aq7 -rHffw-G$9#;A7*Q75bZyweq?f(^@XmP0S3NeKC7}$#qbjDIcj6FG<#z>?B%I$$uG%o0-6d~$9D?aSC{ --3MpO2(sku|nrYu94XfzKuva3Rkq97_%4`oqaVi7iRomOuZYIK9yOgh_wpct?m8$k%IW48y+ -4#{E@6sgRj%B>owdV*n3hG|8EXfw;AQw=h7@B&FE!ay;5r*_gbaR_0RNLaL4(O{dY4L;O~T*G1|KXvp -M?%F`A5hKXQyGpns3}U%r2O?5Gm7Py}MJQ;U7P=SZ4cRu)m~|iaBo4c^PaF>JM@BSGYrA{?W(Q3(Gq> -n3D>QwBm#y}45UW?wKu_VQtu2W*(hLhUkc5VKR=WxQCb!uvs>wnjRHWvl8c8rrxr}fe3cPYChq}WwvY -0d(hskL}-wC6qR;4-)4y}{5$<-*l?3So(afeFJb}oabWodS9*mi5^w&-thZ)zfu_JeFPiC<4GYUm00da9_E -6iwWvit*HA@_T4L3X7^S8Ci@HthIckTt)z@^&Z^#x1nwxZeoK^4>aFUk@Y5@ckg750@it5_T!T~!SR* -iJ7t;MIn0Y^Ncxmea;QrJmK!R%!^sm)%9PgOs&}X-2owNWCe=~8|HwC?>3Mhisj74)`-o9 -7oct>vR6V=p`2Q+SRxLM&2pW6a$u{{E#aeESDl9>(7++cH?Fy&}71SAcU7ouNoxve9CAW}E$6=7~f{cxsh>(WF%DO&OCuu!ml00pc)`ddz|uHb= -ZL{@E-i`S!lWv;p~{9locoL02m#U%OsGVF&N&c4jMs@Zkn49EyF3X>T%b|qRA=s9j#Kop>D1dSJY-i$21M-i -==N7B{775D!#4SqnJ1P!i^oifJ+udoMwxrcKPV|4?FtFl134Gp#h~h8F|!UZ}D -y)?A6|4w1Iok~6gfDKO;^l5#{{cmTTTFu(#OUS!Z6n>uh;P{7g%TnJQ!zRSX8$iCP^rdDgmI3=rk+NG -%u1yT|wnw>sgzTHZ$4cM`%J|t0pk?**2;g7qx1?Mt0JXVzVlI2d>;`)NZ!!d -F!RkRs#0W1nIPpN||AiR?@T7r&fVn);ttTxF%^xEU^6U^CZ)(p$wM;RclovSXHP6A_55goYg! -%(+^cn=S5Gk&QCW5H?&7TSgb}*qMlW!G*R2tgj&v6@=MhUkh}uEjHF_JEsfv2AFn&6;->tpfS@GWGmj -}vOa_=jWi>@_?k!$KM6j9(GJCBy4GEoFnGyeKc#$)p8v@egf9F>NefQRGG;tFR+T=4*M=H1 -e3`E^|HXY4!=*1_qn}28VYGhh6uxtI8$@)oTO2i&99jt&Q-j25VK^N)-F*EhNmhql#2`*hM23FZKd@` -{PuXhwrZ5go4m|4VviKU_ND?o$OvKB<|b8Nruf1XNE$Yva>yX<_xpkg(ax8dvRrUZbCD5+q3m3aLs}x -g3i7y1}W(2VYd`{gqKcDxtgMkHAu*xrT10&81S^NV?#}&r?$C>)2k3($FMswMqd54W;UX$EyO93GyXHr&#lvSS5^&{J?M%aFOecVfp4X64K4Whl|o7ht#MJ_wHEMalIyIn=+XQ%5gWzp(I(~i!e;sdWzEht} -5NUGq1u8Y|9tywcq6)+%nyzEDF$GM^h|^eNm7*CbP0<$wrXfR$$U%4ED4it(u_%%vR1xnrSy4i=ATLz -Ovf@%e7&IURADavm?9B+}`n0w;`UR+br|Sorx~tkaOF-@M2%&@V*Et*es`2sfZdQ5NcrY=Jzav8=4dl -uyZcYEOwG`00=?t@Y3ES?cNX|NO4=LfD5hKU2ExDHN}+CW*SHdqjpT9?eprgh7B}%_sVlHrs$B}J%BVMEc%}|lRn%-uWQJZhhK0->&{O=%fx{ct^J@+WLsrf=g&L^sYC93>pwfs+`01@6ub2 ->ht)6eYjT03i6Ac1@vH}229{k!6vZ}a4<*poFt5;xyjFrtBC#ncosU71qtyC_o7h4-ChIVsFuV-Vr#a -o%D1ghW#1U$cp!M+2_<-5&(YG07vu9&*n!Lix*C;n1`p_2h^xNh_QFX!!5`$d#RqMN#wcO8H)8;iIVQ -4xabEVlX$2UG7M5_D60D-a_J`u!}aeVaV7dAiKS*EU$Wz3@AJVKw3Mxc@Q-a -c%3wkC@;pCWG==rI})hyP-@z|8n -$|;mgK9>qJ&+VmUHZau?mZTu-p3U&2L!kqQ}BIZP~V`adWx1XO~JzXyHI&q -&LLpWiJa3P;P4h!=`yiihYq@Q#O&K)ut~tmDozqL?E(cV3pLVR_~x1j{r&(V6HWRSK!H*G0gr}uku(d -feo8H3gA;}L#y4q5#nC^br@b>@LM}hos0Oi+fiyhi$k01nI3vk4T~gs>;$f2^d<2e>%98O{JGXt#N=5 -V8{QZPuUyn-f4_M!L3h}F?gb0)xGJtx>LS3`N=j|>iJ3H|v{Jo1yxFG34$!yZt>tbJO3o;~=D{HEm>0 -*iS5iypV(1(}o!UtOhYILcEMT7AHc)G65_GYTXzWdbX1$R_6yj^PfLC+jg<+~0F%3M;cbhI)ufea_FB -`9ly5lgV#vkC8XbipDrRO(J5S>f2$zVoyn~2y$%Dh(ocl)0dPphJpH;241&g7KG4jZBuuPB-=(m^iuR -GhFwdEQXvrY@*qr#v*X5t8dUdmkug``t2VcW4@90T#6AnXo2h*NETo0Hl#s_V*YDfV&9raCSU&i4d!s -v4ON=e#wJ1HWr}lRqa;ucxY{;*QxLGt}2P5{ZBagBGJZ0XG`a4<#FPP6=c6d#12M_5`K9N>oM}e57E0 -D*QJ}q(B>X`znj}u_Ow@9hZMnQ^_JDrm@~Y!<*m%aZ}K?gBi;ZrRl>x*`(-)MYDG5$*a6|!PH^L^L;r -$1yW`~`$HbMfmLrH#K?WfLTFT7C#hBc{ -L|Cbo=FSyozR!b_tae%h_EyB{E?sj>TbW?6X7X;tqS|9nc=z_qRM)W%aQxu(viPai>Xu{@$!DVl{^M> -BS8pE%!lk{Io+TvguKmb?Cp2+>H`A2gL}ZDmRC2ns!UL(|%Cj6U=aYm{7BVe8;hVVTL9!aqaU9o43yO -lY#4OSh+o5uSw3|1lQ$(&VzJL#Wa@+6k&X+tM99d>Aii$PP;Bfi+unGp$xiW&jUm#@aCnN81o{o3m5> -AS68qp}qnA&fPm=iF|nbiLFC~ZlliewF6_DjHQ;ZUI&3Hr;T`Gj5 -%Y8jUs`+$hQ7pGgL;ecl`o#HuR2ULE88>JzI(0!S?+zU9g)}9k&Q})wc -_JF~4k$UYsR;?7-MruC7l3gYZnbAITgn;I>cVVXwfQRnw`_AqCi%g7rR6E?FlRoFl-^-WjXgQkP_lAu -|ri62c@Lpr!0xd%U>*c{k+9}^a$>v|6+j9@9R^ahruqjDEW1-mVIS4UF{#cdW%8{y{^RiO?VRebbQtL1yD-^1Q -Y-O00;mj6qrs8Dbuo<5&!@WHUI!40001RX>c!Jc4cm4Z*nhVXkl_>WppoSWnyw=cW`oVVr6nJaCyC3? -{nL@(f;ng0<}L_o=U2nYuanB=~Z#;M02+6v7Kfzc{3h}ge2A!sUt`$>R;bycL5TVXeW2mc|FsfO#+Mk -z0WR~gM;oL_2%r|c%m-Gr)QJfGxg@;>hu@&#M*Z(ZQNv2bEn#V>ZR$b=*NzzoS4_WeP3X3< -jaY36{Mzk0#Amrcn7zl^vw9zW%vgZ16vw=1V-i&Wke1GpnM)=+eY$x?u -vllyzZ1ZM6aAMX7qHN9x7#@k@~CTs~BzG*vgW)~Xw0P4Q@AVf-}D$|9Lo5T|F4UNLKzx_D66Njfi*r5 -dOexKd@Vt~cc(&z!hWP?}5&U2I5Kv%(l<^I5qDV?U`)Ua3fDsxWb4g*@agmCoWntHBFNUn=g{cWY#Ec)ry|kMWd;6V&v8_qRw-W*QC;)lu7WO&L(5x -iFz?S@uxY8eFdBLbV>Zfcq`g?1g1ACg*6JlbJ(eZM$%X%8IxT=_xJ?_A?O;;q^3qy*37E34+>bTK929 -+Uwyb!qsb@raddMtn%sT*32UKgyoLRQQnFm72?#@~LTBX$jDx`C+0E&D>=?ZnUyScQ5%=fgyUE$@tvb -KDQ6qIdy15&lez+LjsOt|m*H^b^LwKAqUd5!$E+yA0o`K{thbH0jI!UdF{t4!_U@(o<;9jpp+Bi)rn0>3t96mUci??H)&-TuzI`}-H0-OFCs?GjhZH8b#rE@L2GZwgo)>-fC -buOmy&Pfh@r#p_4ub^&$Hw|&>`G2n^$^n$OE)bQ?Qj9m*kpSElf&T!_gwEk~-m -v-d69;v@mOmOOv`~c8_#Yn=Xlswp+`6LUg>4Arxm+u?>7j!wznhRpu*Vgn~o1Q?l6~-(C%V{PE@A20! -j2)%+{5kj}lQ*XtyU^R*qEymBxpWRAc7csw}%`nPjRpEh3_wM=Y;M4FLfu?3e%|CU~_4N{h0CaN0P -m5GuW$8enJ2+^5DmZb}hKm3&754$)-JkNDmK~QLKhaE5z5i{{$$X7$<)H2y*nWVaC$<`=>Qz$17-Dr` -@i(ah|NRq8aC{ILzxKv121qF&Td}+Qq0$Co)gP@7>EHXuA;y#j8ikPXWc+`GD#%o-GNfd^Z!=b*E%els%~>P^YszXU|52wEv;oTW{>5MYKBrYs>m^x~RxzD3W31s`9X0qQ&X;%tH} -k5B3<^@YHd18B$GmiqA5RjbodmHhiciW7nQ32QbbsrWT0%-IGDmP~WLESW4+^dP60j(jxJVB -(F3VYlM=(|Hb)ES5u-px$bYvCT2?K61xGuPs$t&aA1Ku_YKF$!=k(v?iTVoMts|8M!DY -RWOY3C2CV0J%Ftk_8Y;?NMXcbD?zEb-*pD4e1`UD9j(CT7Jn8Q9B<{-a5z+^j1JX4ogK4N?Iei4Lg}J1!Q7o?a{^ -+bW2pU6^yIvN>|E<^eTG>}=;a -%~8~rs#lopudok5bY -pCseK#C40a(?mKRH%_JauY!P0or7K&obXsfA1I4!h6+VfyEGvd`#r$P@7B$sk^oF&|8Zet%hf$~7Jhy -h1%5XF&q`*5$iqCJSv+ridF90W^F2rq$;-Z0P(`o>BAb@&H0DTCglQAHWQ -0#?3wu8=#EtP9yVVzg7vO2y#9{NZfb)AcYfe-xYba66&tlcd_EUZLNSb1iKrPRBj3mWosR0Pxj3QJ8JwtPWtXCtqfgm?!;YFNITz72T6Q4diC8QElO)?lkyQ1mFSF9}3%H8D!6+t~mx$-5d37Wcu^#P04gVF8jc-)H3aH(CPA -bO0G5u_#D&vh9FuQ)?z8{}(*A2}#tl`0C4V^pjt&Qc@fhE7rk+h&rajK((ayHW*76>3hp2%LIF?TX7h -AhbYaiwvG@r{a69*7*pDgWEd~;Oh>Zmr?Edm}HdZF6nPiSrFV7ZNd(MP~-^7=LDogHMyH>ZEvF_-DgB -qPYS~P+DA2pEhGTB1PS>ycdyebNgZr<&~TePp{6`#%`WwWh`Q2AG011mgF%L1F_i1n-Bv;fu{oDw)rx -GIz|7_=eu0eW|0){3v4?n6*&0?zh9&Z?GL^RL;?k+vDY_McRNc{q_*A{w;!}pF2xC$xEheETOekZ70b -9c+Tg~TGD;!@w$H)Y7n=^!)hy`-*eIZEfzo~gN4jVVdcmCD)h_y<~t)Yw?FCFk`%}8pM1~fGms&0v{) -3x4E`~w;QQ6CSFkIAiI@R`U0I#5f*)7uP~q-ZL(ZAML$#iX%9;AXZ2vK9`x1s3ouxq4giD{UPz-jR|0 -+fT0cClp1pZ=b^D4y4ux-G`(Z?zN1l>Bwu>MUZ^29@KYIAS!g6dh{{!3nup1-KCp -@`mDC`mMJfn+P&4`_K;cywsI$TEfkOK}GPa;AtPukG;oe?^p4GMl?zNKA(W^Z|IS1`j@F&$!X-$v76T -2s3mG_;GC!>q|UqF21G-*-MM@)IfBur2KAk5M<2K4}Q>M -OW%iL2u-n*J~FDiVkCMX?Gua2G{qoEb)2K_f8@wrTIwKAF=9xS@yw+jazuQi0|n7M0%oTdbrS> -pq?)ddf?RPAxpwc)t^MbCIJgM#7)PB<5T$~PTmp%MCgoj?ao4Mb=KY^RBaZhFag42ReG>aed4(M0Oy> -W~jTysV~3H4kAd5~4*bMYBbanRDAnig0&k%^BBxcMQJKAmnQT`T`{zQd5(eSyH-eVH=qN)3n54wYOcL1#vYqCU)^O-IV4Yp4tklR?KM -pzOjk)4KCFTT#H(x^kDOa>l>R!u^vO!Ur@M_#Z%p4K&|c@eb>0n%W)Oq*~CiFf#Pun6|!(fxV&n<4 -I@&!E2#9Ui>B*cLQ&nwfS<1)ei^7fkPsQqrSQ{%f6aaS>FX0=iz>vlKYB=(m)-S?PS(8QglD#7&`kJ8 -U8wHOZVK{Q8!klzVpv$8TE5?*+M~-SP*C0y`$QMuv(kacbPC4;5ZYwNk&`78a~UTAHHD?0PLcC(&w1- -_5pPh+bFZi{5w!b3c&xLPBe_*r>7Itmr~@Fa^uXCr65Y -;-eY?;GR6jy9Rhch!>F%0l3>Vlm)V}?7Fil#>yH^;wdBssnx%z3S$q4$0Zc})SNUk~MFUyLJ`__|q#q -$U2KG8`xL-qM`bnQw9`^`+silwi&)a%!+uenfc?ogm!wd#}m;Am^SqG^sRQ0AcMq5OU -xym&<{Fn3=*4^Cc%5%=XYRQpQaJxT2wee54!tCP;X=m{I{+YQBcOYovgg6$gmk|4dK&uJ*w@G%C6=h#eCyfFpo2LsAsD`(YBbD -mMZ>+WLDFyz?`W>Xf;npVGw7Nt?QA^?l~f=6kH!e?aq{ohe@*)Df%?Cf_Vb#*RhcIvPMnCWPd@qe|H>E7|M23Q^7V@^pMUe}dHLe&Z@>H>{a&vceTfV%1dtGiG%b)K5{pR-eDnI}7%lo^VH&;*h59Q76&Gp?=d6U2S{NiKR7k4*LH`(*|*M -Ggfy?=N8Q0{*!Prou|{{EZmr^h!}@2>x^VQ=p59`obFyZZ-y$brju_YeE~HxJiWPuFkDj~_JRKVItUf -wA6w$V>hFRDSd2r^VKqImEC2{PXhc_O`s_w~yuJ_2c!!U$5WpC;9UJ?&;y?$M^Y|zj^%hzvefk{ORi9 -U(0tlw|{xK`K5eT@(!QM(|!5w!_&|AcjxoxRNdbE_;B^`fm!?M;rhBf-v9LUx4g06l@Ist%bTma@^Jn -3=5Y_76Y*58?%w{>{X_Qu<^Ju>PapW|{oUJq9Paw*`r((yk8}8kZ@w>IUq9xZmOotIT|ea0eE0sx+nY -Dp`RkiE*LRQC+=5b`lt7|mpMZIw*1SB*Z=(O_ -pi&dZ~k2V<=M-Z&%Sy6=ilXTbEflObN%*6H^00~2)-@(R1a5oPapEebAUfRfBEGpye% -U%hz!>2U%2(gMEYHe!&tATM@#XhlKYLle`~Ky3-@bbOc`2{1uRl&Pllg0t{C}qSryTN^`<%(Q*H2e -Bw~zbL|D4PFm^XO)w)}kc*Xvy7H`h0bsB)ECyUOMBh -KGZjSQz^}S5czxn*KG|L}d-TmurF2Sqp{?*M-IrLYz_xBH%<%|2rCw}^;XW92~v*R<1!%F%7RetlI{a -2oU^ZWltqw>i`4*cqh#mcAp>EZsDa`ht%>BpZE-~aom`~r}2Z$2hQ-rT-V`*54jmloiCPI7LKoWNh+y -$5Vh*KdBlyT85v%LmQ*AFtkB-CeUJ57+py?@;>%}W|M2@4uU@}=@x}MAUwr$`4=yn6A!o@b95eeQvCo4)+v^|wEK_44`u{NdY|zkmKR|M@o;r -PSjx4X)Aj%VN{BX*4tc!B@L<^O1kec3EQDW$;~%qh7|*=Vk3jzYOc`GMZ%%the=x{9up5=Te$Z5!Mxz-SH1jf7Onv!SQc)9DGEL18xZaC!tif*wH+aKpGg*Uf^SLC>IP&@<> -6^sMx(^sMx(T&vQf(xcL&(gPS7@MPT4bKFMHM$cTRTr#>hx;MHvx;MHvx;MHvF4*bT>Bh#gPLE#qxGU -FeVOKwhB=p$75|1j(r$;TlpP#$<8xP_tHQ$=L<7i63)S7q&aX -*4i?b2UH3UJ0{f8WFs%X`vXn++vfR1bOU_^pf$fyj$aTmc%cV5FtNevMWnAWqanqMvV1@H*4Q~1iBb@ -jxu{3UAw7Ho=6I>9OcJ8e>-E#k=hma%NI14{6uo4W(*G+$MM}^VkeS%vpa)BB$|7wmO1Q~26!@L!+mr -rz#8)+w-ZZ(&^u*Vbc4QG@+Bk)_AH{+Sry=$s8mzoT&l`~?P`4YDA8_h2Y7AybM405Z^7^X?)AG8~m# -x?vgyMbBFTcI1<1lwt{aVH+&0Qn(%IyTg?p`JE0o1m#QjfR=lB+CU3#?1|uyM!6xE-_MtD`?!A>*ly= -S)#&n;^zyduZ+%JRt?EavzDFt%74iTVsNZ^J|K6l8JQbr^NyX|OY%zGQ4_#5nw~z{02HcVZ5#`mwyURo+Ph(b+W -Z)7`lDhGMqOk~eJfhDeRv+3?S*;wB8^im0+c<0R5^wwz2kbath+zX1+3;v -MVAsmvfLZ${X6u-K@ASa&I*!--dB5-yjB7UZ!~we=4F~KvV8;Ptr?R0ZZq#w3j^O~K+0bLsWA1fp@Dg -ZogFt3OPn?%S*RZ+`dYKJ9HLExcD0L$kXwcBc5;WKRuFXptyd*F=fyoIb4-(o49vUpU!7&@YzllKN0v -n6hnEl3_XG0G_5w`bRgO>!1Ex=`f%K(=FE^z_b&=aN>;4#2sfX4uj0UiT926&9qK4d(Sg!Fts>w){~dy2YOa|f|Y=&1sDl15@002NPv+5BLPMNj9}EVp$8a= -zSpfMFKL*_Z0HGA0+JSBB)~|3kpLqBMgoik7=iOQ*nGp;XG4#%*R40!4XhCF6;v}jkRk9fnor~0Ez(=11JVi#HeM%BdzT>GYZ -N31(E?I14zOevY{uC3^r*6iWMkUpjd$-TritP(`g3HwmTzvNq(RwkgPxw#+nU1fn>#I;2yJ~Cs3?BP3 -1u_)0>$c^?~LRn`GKB5vI5BpBrA}tK$3{I5!f{mJ!Ul_)0>ugxVbj^r11MIYSljmVBY8=FpeK;5K(YeK3M4C#teC9|6f01yK(PYF3KT0)tU!_A -wAGWZ4|quhk`+iop|YVTkgPzmVzw$!teCBe*{X2u3PvgzsbHjnkvh+Ho2(mHsbB>{pA9|1NChJmj8rg -E!AJ!oQ2N%uNCP7cj5ILPPQE^qm*j`WH=SnCOd5KE5mb+c644;?O}h@{;^OPq5O!O2ce5Fw($C10xNL5UpgxwZKRNBM_%-=mADr-|IHvB@L`Ju+qRv!)!G$( -!fXqBMpo+Fw($C10%>B+0X-wG%(W6_+r9K8dzyyg&-;$dV-M#Mqu;V&=ZU_Fw($C10xNLh&ssG_v2hQ -cu5B<9jtV)(y=EUjG&7(=x{^lYDhp$f(~j*Q+!T%))bG4WkFpSccGWSOB(c}$vVm~b}-VxNCzVwj1c) -{!?nOj2O}MfbTHDvNRPd43trN}N(U<)taR*22O}MfbTHDvNCzWW{cPv~MmiYjV5EZ)v@DGaFX>>VgOv -_eI`*W4kq$0qT}PdXUsV5EbQ4n{f{>0qRTkq$;W80 -lc7gOPs57Ykm}!Ab`!1SJh|E*pA+5ovI!TaD1X5j{5|-zHMo!AJ)q9gOrd9$N5{4pur?>0kvJG8?0Dn -xLsPji%EKnn^t@;SQ*%p0Y(NG8DM09kpV^q7(qSE%}5V0GQh|HBcs+mF1%!bl>t@;SQ*$8^pf1c^aLXVj0`X`z{mh -21B?tXGQh|HBcmUCTzJUfRO=41{fJ&WQ@MYO$7XhhjGno -cul_PQCoWP+6mRwh`P*pmrHCK#DuWP*_iMkW}UU<4s98+w3|2}b7TB^lu7x*-*3Lr<_Wu_ve*X;JA3M -kW}UU}S=k2}ULunP6mskqJiT<|StEk_lEOSeamDVoxR*A;!*zo?v8xkqJg77@1&Xf{_VECK#EUmzcpz -CRjm2%!Z!WlL6I9e}=m|#1OEi?i2Gega{075sV)zS;ps -cpFd5Jl^WPz0hRu))U*pmfD2pO`WCm2~^WPyb`%EF#3FtWhN0wW8IEHJXb$O0qeof;{phU(i8z>=1n>z2GEKN#OQP0&=DM$>5q&7`4cVx$wbWkV0 -6htb36v3ZGQIG*DgJ&m45Pp7BT)9LB-bb2~HoohKgoE}b(phwVS^AgK&JjV@s20eqGLC>IP&@<>+=~? -MnxmKk|rAMVlrAMX5<|UTlc#d1?+34Bm+34Bm+34Bm+34Bm*|=7tN2f=pN2f=p$L1wz&W;?n)3ejF)3 -ejF({s>s&~wmp&~tFDL61R?L61R?L66N#EW_~}chYmxbJBCtbJBCtbJBCtbJBBhtwoPTk429~k42Alu -G?bW7Cjd|!3r{DN9XEjS{*s7BWHE8XdR8SlSS)f(K?!RN2Kgz(Yl?yB;(|ZP9m+7NOP9LnYRj0Eju5I -L`#TgrrZPSH|8Y}96G7DPU@{7J(!*TE#u^iitOW%MTdg~R-}_X2^?R6wg&29AvQ2@7O=7)NOrblAUrv -GRJEOVvW$~23U0(PK2FS9kPV!;!3p3CF%t3aC7UxZow#wr&!W7kG9-$&p=(B{qH&X#6nLr=Od6!e(8` -QRF0?C2sTl!6!PA)(Cn7UrmI@(kA(Awn!BG)3Zt@btccR*=_NVUMj4Kh`5zy%i{aNUCPSojBrBREo+o%wESO9BJp>;XezHXMYbRCe-T!B(s2gN{UOXrYEZ -4W;ymOABeqLL^r(xf(ZArvMak3?~9Nw4A_B6#~Y>eHaeSu$YGRFkG7vDs~VvRI=D3AdBaB+9FIW=9re -9HWu4%~pe}_Fz}AVgk2aU)v^*d{sJMsAQQ0(1()Jr@?VETuijucCT5#F243c^pD+S9 -TT6&TvMCqclR(PDb6)jqFhNh)YAuD-o?L2^V^r4sK4nlbE`2GQ^HGHRQrV6yhX|4Ry=NMw@2Um2f+hg -VF9)o{qiBP9o^^y7OdtN91wHeUc}$s#*tB%tP6xybo{68STq-Y9g3q>;u7Uf&G^zMbni|-u5A%3f&X< -8~7#lg=peR2@^0HZq$%BttkP^;t}K+L7Yi?Et`tH< -?2U0<@V0yNSZR*DW{6g)5V*Y(JF52<^h9I9sjx8t6n59F`5P`gI{AQed;pmw#V -YW9pV73)Wt%7!HkO(&k?`)VMurCr)A-4p?a{oAjKq1+oag&!gKs4B_5e647;}jtn?#@|fCu9mlEQd7& -T+ETGYu_?Hh8EjB>p2g}OC0&DA|9E12}vzuu?=y<5xIlMb>fhaQDfa4R#u@CM!0Txn2P$Oag&!=m#xE -WAypXab0HonL}*SP(n$L{0YX86G%~(M%xtRcB7`-#euPx7+@ur(mO&IopSlBTGQROf8<^WjaehI?^#!-gKF;o$`pl!1)%r}m@khn2Yt4`w6(ZMT8mqJR!@Ek!tAdX$9klvkjV^(o3gG_x48fxyJ -rpGEGG&m+{2(|xbtp#GuOLckTzCngv>_}RbwSp}igvxmWPY*rO&b?_SLM!Ca3O1#JVX9!qi}40k#Ta` -btW4TqK52=O7=(u;`R#{0F#=_081SKSN|AuQjzfRU{SKQ|GwUm#B -sTJ<32*L6S3!Wg(|v+SXW#A`+omO$5deVL^H}0ySeXx}Eq{CDXq#M@|4z&_o^e&UT=p@2b`f28L%u -h%-_xmF%(;@0O6AW<}<%Q%HV796*();vuTkDz@1V`6iJsH3ycB#}xpp`0RjuDmECx9<*Z}dtB;XN$Lc -QA{14GiqIet6!uV(#2w)jMOHyF=?^EqDM&^I@8?}%-_CbaDShGEv+@n9c2d!t9I#j?TCqDbVoEX}IYsqZ)f$>RyRO1EcK-1I9ItoRJfGI!cdK)$UfD1_gbj>z%w_S49;BwjjxQ^mBfbm-zX642 ->YhGZR7@F>^uZH)N;a3JxI)w9q0dOF5+@Q55`@`*F^1@{*VeREQ`M!%e{s1jDJ$WHWK-L*a1K(tA>$HRs$#=jRv3`&^ -H@1W;%0#{>M8HP=!l_(y%1sPyq-b1XRl}4PY7ENU{=%ty4R&u)L?<7~HJv&`3zb@G_kz_X^Ib7zEFKB -Uvee+WhpMOMIc~>J4wZVckEcA%!8Ecp4ZgmE3@j|@>N_%mLa}EHB?nZb7=6vRzi{ea3tF!!OhPZQv7? -&`Ny5C)PzGSa6j?W?!lNL$Qjh=#!#CnhR29a!$xA#`Ud7`ozM%TUT@jC_k>D)060krm-Um40-Hob3Cl -y>o6voz-U3IUdoE&H5RPA_^XaX;o3f&GdyN(eg7$7{M3a55mA5uWsf~iGFv*&z}!ennp$Kk{SeGB(N22Jee+2c0Di`jRrw3<9D}FIz_qD^K#UZI;4nAKGMG4`NfQGl6vOI|)9z -6B>NrtTxiNwu#TM*Yb`)EJl(Z3DIRvY+VVwHz&RT}b+@^FZOas|OjSDXk352!<$sc1Hy(vF^g8GZ -_%4XbSXINT-4~$svcht2ofc8FjA(IQf$NB}p!%n(1VN&R-}Dmc@dI5Jph3P>|&-7QQGL5j@-JH+S7DP -fs#3P;guZ!9_Z-Y=@#;HYxgg846h-5tx2I6o4V`QlDzR&x_zUsMEy~5naKdom^&68B?fOC|v{{771DG -Qu*XksCqLd)S)_MZmz%gF?FxbzHk}R*p;|QOl((7stxUXZbmBDP+p|MOL8x8aH`KDEuRo4wn;Wf07n75;sW1JdM;J{Y0{i3Z#kima6yV!6jau_nW-Ls6{HUvN --glOQf>WG}s;${S?gWWC2;fAghUSVfLXZiv6nOvAy4@dv(f?3O_ZduaiRep?$A7YiRZn0c1V!bnt3N2 -XZFf5o?W%Z_zC>uJjT`6-&-YE(WXCq -$&f%V-4)x?grpkDEh0D)gCzP<{y(=0w(qxXy#$JQh{{#QAe_?HM8raPw=I@R^?;6UjZ@Hd!2>ddXFhf -u;MBdEtA3pcrOw7pELkU%2*A*3U8Ud{A4*49GPL|Ey<{<(E+a~``3`ljPOW;OPS;dsKvteg4xW!Gn^M -h0!xRup>SKZob=DQ*Ytq=Y>m0We2WU%F$Snr1>R^~jDi(9cX+ZfXS~FE^*M06xivJ6fYzFQl@N%f>f+NB*~h(Z{3J3$rB^e9-FELU5bwz#0{XxYy&a5XUb*WPCQWeYE%mv ->a$hFr@BkXj3NROj|In5mc$rW;414Z`5Nb~b80f6TSvqdUQiT+A_61lwj{4s9fjE;H*qY~0lVYM2Vj+ -)ooAsuk87y?$wy68awDi|0UL!07QvcpqH37uI?AoW!juN2~k51-4)bVyMH1#5useWX-iD1mcY|>Rx>bVj-162m0X9Q&|@1CAURIsngg{9!Yk3X~_m`L} -w`>X(z9y?zOn&*gdN}i|CSxF>*)PhpD42MAl6@Ee2l)C`g1jt6sr;g-Sf`?vV -%E@v50e(m_?ARyl&UH&((m5Vjpq^#t4N_uFHxKm@;(Kpv6RRoRA5$(=*R2M7dm -yXCWQfu97AbL>2fmP2Xcf&6GbK%P^CDkcppdKNPgLrL28IRr>;TWt4r>nBCaaHL?kqool}Ql)U7xgiX -GaGl6fVuZ3hfcL~jwL;>5$$Ibr#Wrc@n|hN5TMU>j^ajZ`RZhByn|4Mz!k+TI6<3zYj@hg0`js!lF5G -ohWzDLti}rWBm6?T3?L3D`QO$jD`S>7j$s+E`>RHE!qp+m1!yC9r>~hldtQ(RP=Klx&KP!&{$QLf%q} -ffR0{=QDnz?lrnXoK3z60nk#W4r8m{zDn?gDPfTILMh4=*XC9!t~0bZJ5Jq*y4O(MKZev?QRb4|A`XP -z(HT1CoD^A=TR;Id?S`q61BCRg`J8bqb+05Nu~S+Ze!68Rj%$H9Q9fbhP|Tr2VnjMaDMdMN=r}~I_&$ -&B)V-RrNXlh$e#bDbu8;+)jAn)7L5^ieSy-~sWhxXSh*S1vla03RFLkdbmI19WS5E5CEx;t0TIoi3Rp -Ypn6A|#3NKrf&aSNArl`5Zgj!xaH4XIY9L@=oiQ8@*I5J;sqDSahoE)XRMG-J2#Lh%NJQ?*81*^23A9Ctm3w32Cf6QM_g;|%Fxbs;u^N3O$9yFM+ -cLl^de~tacBk4S3-EnMC_v&58*-fF4cnm*43YtoUP=17h?^LsKVvdcV0Fy9=Op4T>v5zGldtCGq@}{N -(%AvEU;D_okCt9(-$Av%+2-c3a@zy|$)3c$J0m%lJRbpK95@JTv67QqDnun%x1WdKEAxZ|a5g`5n4GT -z`P01me>84ofykGJ-6zY|>a}atUrdDMvhZ0g!BJdKZKV1p=seBsbQ*jm#tY;l|jteg#g%apC$hJ62Rz -~T4PWNQ@sNjONMs>M}LML`RdduVlfcZ2Fc*uv~QW$Gyq(YTxwb}>u>Hq4goL#LRA -P@(|a6?z&uYMD}Q6}_bB7`gIJII_?oWX2_rgV8q1VGV~yjD+7pYiM#69VD@ZyUZIY4lys4DY2>)P8s? -`)s|#j^pdgPNP&xQ%Jw6-Xn8Q?vh^}Ka!@;?ZW0G+y4VH$MH=?5M~goJG&E$AG-tg2ap!-vcp#TbS?3BB$Dj~{Ra)8HXdOwsdH*}|S*>R -wG8nl~GC8b?ELlOhgk&a4pWPFG;1O{8%#e)vJ^Zo`#%spq)L<8*0(XcJN(LrS-*cF;Yi=sxa_XCPbZ% -GpR?ni9?TJm70~T*xW8#Dnal;`GhKWpKrWm8+KAqGXN^isSh78jr3Wg74P~PHB33eyMx)u5E?%AW>d5 -n?ox@EUr!x0$q5Nu8eYh$bCRI>MkI2NW^)+@Dk1l7I7g;`<$Gv@yy0S12b_29jUHj`Y`OF_bzA!p{QL -2Dq88-<0dcZ%HQGzgIc=6%DCVxqm9}coJn)ssB2rp#mptaRLwa~mYMd=t9cs=aksPyX-bPuT5;K0F;R -^0RyI}KMnU1Ok&*Le;`et1K06K|xX-wID#tHUsoewAUGAI%#8R9j-Zv#4RfGn6k_!T7Ook~GQ^gJAQe -VQ!4G*RF8_|_Ax$sop(cuvPD&I?8M-7RK`}Bpb?7eF-MSb{r7Yy%rq1t7p?ubS0tzqD%u<@U8;Ls>vWE#KM!VDs|_8NFnj|nzrAI!b@ei -Un$Mrbzf#r7lztHfS5FcEF0v|T$oj( -jWDD2MS?MJvo0m}cTG($!y|7U;RB>K@Y$;wD6*jIiKm-|~pjWvl(JG=>Qk#Ze9lm)~Q1@!|G#FSY;!z -c=UTUB^IOc(Kp82F~E8@o@Jq&UkZ5tm_{*naS+~ZRBsx$ge5Ejjj>W?XeV7$LaL~CL -(1?1QPwm$xEnvjky^G09WL>Bv3BmI}Q>^0n@F&jWR@HKbS$l~FICi`A9xN&Xm -R-VvOgEJR18t~^|Y=6A$b$F7Gw;@t0J0wx!3dK=ZyibGr&w~HhRQyag46O&GAHI_=g5VrL0C$u`(Td4 -Z!->7@F?brvgB?=C5L{PJDW0NnKu-mBq&XdW5lA3w6Zc}*D+u!QDBqC&~CuOR+axuftY}t%6rwMNyT-Q=n8fx9 -#r=#;ak*RGNg1Hs@X!X?2ziq$tQ1mF;CZg@kqP;Nx{FARg$vjexvTyI2Phl0j9Dy$`W=NTx|U=uvg_J -9A4!GdQVPMa!(~!YyekE{2Z4&&eBF7nj@ei0VtIGXWf7f;!$7~LcuATRxHWf9LLa$+&B?v?cB%Iz1mU -*pUjI0uL2vnI}9$~x+13q^s=DI8h+6CI!OJI?N;^oan5h@l9-$NYPHz2a&7W2lXnxjL<=n8P(?jzGGH -Hi<5ZQM)+?!`32&UK?$ssXiR1A`74YsVAEtDsswP6^eo{SjI)kvbh9ov^b?F2u5Ip@cb+4sqA48l(&? -y%1wkx9L*d=(#G_hAgqoMb?Buq@da-*8QGrmyW>ynIv*+M;Z1yK|eku3lU%DYRTrX-U?7{W9;=nBqFW -xGn~uAP4i)xB1|1F*>!fD8%hQ&9!G0S=^MPTMJb9Y`QZR>E540=kUSmvj3!>Rt^cHkRs91R_;-0d;tF -AZ1o=wG7q1xN7i;eY(I#fFKQrA=|Du3hG|VRB;(44SJs!L9(OKJNk~J!<41SNM*3%f=ydOmS| -;c0Ei`_iCi8V;d#~@W_=aRDqyZ)qzx*Qq7=5o}DVx8-BD+xojk%&Mo$Hom*U@Fn1Fh*qyT8F)lr}UDkQd$u`ZgnZGEwB-LVIN?uF4c|z-goW5l2y= -_Bv2C*-*pv1-K!s}qUGO|ciO2?<#eYCVlh5Viy|MbGX`S906_VcrMN|JfZY3diI<4ltALtVt_kp+(s=(FzuG-E!aYO@FjvvGj -z~!NR23oyY0IDl$yAxL{h})syw3ZDm!S6<%6!NVDSDK)r;tTQ5yb*Re#oTXsiIX3ltc^_SnRGYLFp4p -4>?DL5mddAYB0NkdZnmPC6&ITvY;SJ8RW!t)=gx2DG}q!rAn!cJubY2F)kZ)BVymdkO;?qiG9Ne -|l|x`Df(W&C%{fehc(b&1j+?y1b%;D<%~k0kpRQ7S`8=UOOdsWh15WM|mjydjRo_FNgI9zRl97+KU1}sYuY{DgNmUv_$F)?C4m>vBsnori=AIJLp!Too$d?K)NZh-Qv?+tC@>*ABR^ -uX)nv%W5$5bOlY@MJ|_iB{n7%^2>b(pf(h{i={Z(Q1!wERQJhqX*mU&$P*#S+9sv)3MXp({&GaAjpwp -QQ1P!ACm;yh1QO?jN1{J{da9J^j$DR3e -ZR$UOcpxSfP>?+-!Y)XEfXfU?@)9D0k0jH-_mtK}uOGXX;tteNe4BVJWsjTPyqL=6mzq{aI$gxTyg`KK4q>DC6n? -VRv^(g8rG}M|3Wwv5~>ayz}Ds``+v=#5`F?nI7C3SKREwm~WL5FtTs_>v1Z5^)=uh%XUMfQGwA5`glY^_)4 ->h#8I(I2fj^CgzG&T-)-obz!)P2UG2hDsU)0Pw>a4ar`3znwb4QId=d(>Wt0BXy2y*Tq-8?-fg52;i& -A`&BzjMU!!+$MHTs6q2ee5AmKvf2aai>|Z;{ww$-^j^6i5$w=sEloaWyFh)}Rj?+mzDm^RP)m72NtHG -sUDJYWW6xyqMTL70;}#sC($&7>C) -Gkp4uILIz|*yiBv_Q?aZMV*|E`~x@UMm6IMe%HsmU_LQdb2mfoq5jh@vVz%lRRL#deci*mXh3#?DPDh -*Lm*&I9!&_|!nl;q{KV1-TnVH&h@6aWAK2mmD%m`(hWqtfZ%<{Gq{jBmOvH`b4c$_`WMw -}2WL8Sz*|X_?;)mlGr)T2T>Cy4o)v@^D)%np+VoTd+JI}=RsubsKbz9ZNS{yZtQdFII-TZI0UKi^7-Q -A|H=0)GMV!p1*x)*cR=3ob1PwT3$RL|$-$8z1=m#t`)qMsO3wLdHSZeHA%Y}l%)JN31_Z(8$34JkB -3D@F98s26{2TGjuqSyanMeP~lJ)N-`cec9f1(BX@-H{w;&)j}T>ti(+zHeI>gtRppoYAb#|y?%NA=2{${y%j$nUS1xaUBCTKwN;u{XO;czNY&lFg -5W}^RkcOkKPti10I!cPk6x-Chd-RYI=z0Yr9U~nK0Cg;5+~=E;!s>1US6Lby?J$bDK6ezUYuVY9|&<( -mQb-)=9H4XikE80yGChpQT9c(?(EXvD)V+q!1Y3`ijSo-^SrDSqC}xw+dpx9_WUzR<=M^-kfHvssOv&@^HtG`uKd@gtmkSq#m!oQO|Pil+}$YsC~3=Lz7q3Nfut?(Tj -is*^3|$0zGeD7DwpcZ+opZo`Q<)2QX^{LEr0FB_hNTvH;(ixiQ?boC4XbT>Hcyr+SyH_Onubv)c?-RO -P@*2w^V($pX~3{oRjXnjB@h{@7#=(nxl#NB+bv%|CHuP#*So8S-O{fS*dK#Obhy3^zd8t__?pd3aVw# --P^7sHyX9N$&JRKFK7+AL%ZDT0^c(CTN?daJH<}N`llT=G3`mCcEsGg?NR;HYxMv9%L+=^#OK^;ZLB% -cY35!z({%21ksJKx429BTG4n@qH$xtAA0eArj7pBt-}?HaF&Yy_Nt?0PP-2jjm^DeSVY^=Gbb*!YpRf -bz-6BmI^x2<@`y8A0b_UEZy+&b+1nltpWAqQwEn$>APkIiO?l<@}jR?7tajNYh%`0;(8@pcC->to*Uk -2=um@z^gC)C>`dhrIM(l?|I+-YD?aweR^0zmkQCl(?ZJ6_@z6?@nueo+=4*3dC?NJwKKWi`qt`2F(Fguq=V-DWs^3t&%iK<|Na -S(Nl-5)Zq)ERJ!(w8$a_$o-%#TOz#OlVM5wfCyv3$OX)5BI!ViEl(KWFa{~BzsMj7$FiO>k2os;aj}O7(LR7fOXP%)bOu1lxJF4wvFAr%1lmj@q890fNIcFUE? -7hQ@g&124+-F2u2q5U-F$Mh6i4tMKU?^Q9Ge@N2L=GHsJaN?SS@aN5QiI$|EFo9EZ}F)WSMvgHTQctcDxo#NnJG6K(EN|2g%od1Okw*T-C=VQxfJ&fQCT -|Hax9W=iBoVa5sz@C{!QeCD)8BN2}PcxhPD;XImq9wk0a7#AQ)5kDYi(fQm(`_%u$Qizz~;bc{m$lx` -ScyyRJgLo4sob;n~&_laTM1D9B(iGxPzN?~ikC$ -|0gusE`DWf&a4At4$2l*&v;lntc_@g1_2!o`#*kemZ+t5j^60aKGb107_9vw1V>>^Sa4#J(4bZ~&kcH -2F4IL@TBH;_)Z)34DPDnRfez_0+pt80AA$Bj#lgt)>Zxb#%S>sUy6xHIuBIV8%4k%`tr8l?nQMq{GEo -{Fbw1P}_FTu%fkVpDDd3ag9;Q7MrFim>`Y1v8$|F5fy6=|CHtx)6v-pOn(%5i*0YN|XC>t;*7{q%+K5 -cz(l6HZ%!f%(6mzJ+LBI(Gr41y-`T^nd8h##VFCPe+c`b7yqT)gBkWT!{5lUN^kTH{BR5-5 -*0wLk&QS1%Fv-;SPejJhUct#Z_&QvnYqbwr)h8aGE%QT|>W*kvC$vl1?kA|DOaR{Y%!n6!sV4Fk#c@EG{UliKROhB8>8#V0d|p#7dayrPm#_$1w`ZLOp=e91uLu@G&AjQ)uv!jp%8dWy1(Otw -p9EN2pMN!V$YLA#y3&i-EQ{0FZ%()KOK@}$ppa0JmgXIX -X#*Q`rLb7?xTk7gluY976+OLZFHR}^&p_sgr|8jn&Q!%wLqGe4|$X*g5#628jeBmEYFt^NNJIL5fngN2PNOUX0`=a=Pvj77aNnxeL+WiT|YfN)pTzvn6w4V^{9N4HzPHGB`F&2!UAgRK79 -!zug0nddo7D!kNhPKpw+P2Q)=j^FZ{xuEH}Wq9nen<=G|-%efZY7Pw);ohjU04GX!%d-%!AlC=LOQ1E -IB_j3NWg7O$A+05kkZuD)J7%4LyA0K|FX-J6eDe+S#kC}!C=Qxk@B4cQJ4go6M%0P#33?h8EV9Z7iVP -N})#ZAi8$e9Ad=dKghN2%hBgpI06-0Ni|JurA;H`H$!tCCi^zwE{5P -Di5*oQZ1r8nni72!k>>7C|D8^^GV88+t=~HbH+TD5nTOeu&($pAJbHTA!k&&xZ -%bVxot8Cdv!LYZUxK81^)YH#EPD!*3|yyM7+ic>@$LCn2L~I$t^)up)Gu<9baM$rx>PtR5gvAs -Z)P0iD+ArM^vAlDvjf|%<+XxDs<2eE9H0TgnK5QY*5VMcRku^=s4ZWgWET78606Dyi0^OBvV@vr~~`@ -!F^9WjPYVt7;8W&Fx>bm2bCRY=Sf_UGELF_P+%Nhb|+#R?3u6~fjfjXd(te{p7@18ceJGgR1koPYe}! -Pi6rP@!-yCHA-f3crg+(>^H-ufsPWUMTA9)U1=1GmU^ -48pb|!=d^81`6N19k(oHagusA|}{;6FkPiKZ2Pev_RhL6YuoPcmBakCnhf&OucJC6|SfojTX?Raz`Q9JbrVuXq?d@sAYqN0_ -`*x1-32}Jm5w9PCGb!l++w!^yZh51MaqjDS6zl1Ve(aXR?_2@w!isawlalZXbLLmeYZv5XyzoOCKcaB -!JXypa!9aXR9#0o^!l=mWuZh#^pYeeKzFn5gq|yb)@EUUN)=miu-(r)?QRy6klr|`Fgu5W2J0$IP1}Z -?vPv71i#u>WuOSvWPjo^Wlwt!C;9(fK-Jev7&+1%5DPFGE)&ZWUbw9$q3;6U5dkPcK4vr+gf8D~%2CF -nlR@g+vOKOdAI2h5O0oF!yL{5!mtd3Y@}>)H9q?C9|N_{I6qgc -{Oo%6)7kmY>d3w{hmOzA-@JG^yF7k1yMB3jeD(7D)pK=L#<4m5`tX0I&bgDPXQ!{#RL>8u4}%ujjyb< -5mtr=n>Z+g3cDr)DbmHlM`s=~0Z~9_AYsx#Skbvb>$F3W`)W7d7B?q~XW!dbn!n{K -L<*V`sdtDml&Y_w2^CeP?+5BuFcT9!TV$u-47JQL;sJ?V%iLw&br{vk#&Z#K%TZ5P=`A1n3cRtakkcQ -iy*o2MZCvyV?`?Ops{{HHxJKn0t>S_-Wnar4-l!RMQ{)em>yY?e#?Bxa|dJ2lT{QnO~MA8l0%E#^w%h ->iA83T+tufa-_3c@Qi0zSB<(>wcX+tnH=esr8eZc9PGuZ2U>H?n^C$ei+>zQF7k5<;SYobVghz=;_iv -V7puww|bGvq*}V`c2h?B>0aef`k`q3AhQNWQ7@Dw>iK$Oo|Rq|9UJSWENivO#TH1N6zi@e_$<}(40mx=r7T0^&|&?rE&EMd?=TtkqMgZ<4Q`dml<3x2t$tX)TtsFO%x+5LN6{%t(dIBuHTN -s^g*(7AH)eMrP8BqYt|TPr#Wk(y9~zGxix3VR4)jLDvRCSTFpi*16vD$G$6^O8UY(XEaKS&`+y(l|EDOMfy(W`F8C(c -g2TN+-;OgFDk7W?Zw*ks<#^J(X8UWs&CmS2APAQTxzyXxCY{Fg}H?*;wUvG0BF@XS)3{KvL=$&TO{FtzXoXhA;LB>E9dI}@{g -r}WHjdjK6gz4vD%SIj{(BdKdMh^U#Y5A6=qz=ZKMTPK8;PVFC%4TmzQ4sczQL=Nw?&xZlou(!;NCI-H9c_$E -!hdIH!?Fv-&*r(vBjTguT9r{{l-geyu7;A7dIa#c!Jc4cm4Z*nhVXkl_>WppoWVQyz) -b!=y0a%o|1ZEs{{Y%Xwl?OI(=<46{L_pc~TYt`M7n{kzskkGpiGz&9mX+S`0)KADH1z2P3tnG9UyW0Q -0=h`XPEq{d2u+lyZmPuSy_ug~Q{ip)@&71xo@#*lF<5O{Rd~kSrc_==eoE`i_46J?Qy%AUUTAbzaU7S -XVILH=S#D(~r{VPtA2+t1>t2CZRWtNM166>@SbFA6%jOcM1moX&&uD|IdTk2e7x1#LPiS?(tEauTtGq -rJ+7I@5;SzbLru{h82dVHSisMHH_^H^!@nu>DLwS0uB`%=6+crWB^Hie4bEuum!X{@-nOdS!B%QX;jltF#P?nj|x%#-bJIxjFH)Q&XP)*5|*Sig%(!jEV!N$@>DKZ*p=$c^MqF9p -`qg^1Hi?LD~17bt|I-;q}0MvGOUZ&!&A4OlCFJHGn$?8}wdKm96x+rPNjKfU_;5o^ITW)Z(yQ~a<*3N -8e^%A>S=1aK($e0Xv2D_Y5|^Zkpf8JHms%T&i -OfEd8;WnC@*xA03tdKWQq-=0MR*GUOcvrk`lb=)xsH)hB0`BQAD -s8xM-rc)VAaRhEePeUwLYBu`N%!m3zBN%ANbnJ&mdq5nYMP{L4}mHLme(lCMsggTDy^v@T%T;*vs9PW -wY@!=72PCyuWB9$K}k=P(N&RB*4 -;#i6e{L>oJuv8pH|6T1Z*j3y2{RSR4`QeXaLZWrEo7@J>0;+Une6{RIHFe-=ZX5c-{#hr{n7Z9pZ1|o -d*K_?e0i~9dJG`mnkR-mR=47@0Cp@2vMi3;FYFu}cxdy0EjshP -qlaD(1}8_R)0Nh~KGfKo{;msk$2l)^fNbqebg)+wx0b>7SZkJwiVA_^i3A_^iQXeY}d=0b>t5DOs|(i -nId(I?i2(@ISQHCQUJRA7l1!BM$iKh)@Clg(TmB6iy3phvLBvwSvU)DeFirNDV9rQUei6J4H9X -D-wrFa3&OqP@Z6%3WFRPk=h!KhMEZt(+wIcPC)aBa)>@b{fL~P@1TB6xg)D=H+4p8ZUgVV=WXt6e|Du -myV4JLrFNHTw--rmWJ8NFU5UzK7rab}G7^(jo=dq~x0F^FYPX)ID^05|#5<6rs+&@zCQdhMI#Jb?W_3 -SUccoqUH$}80AsAJ~$t$s{LR4p6k=;scy3)&=+x(f$jpnJjA**?FTf9zl(?8hU2q|lBbyva(AAdn6?0 -lA$I7AovpDUftb+HE&!Cx?b8|OGgj-}#rv&qgZoGCkxsvEHd;Z87-Q<}~-X1OT+1UqV0OQ-q{hc=w^` -HEmC2o#JrE%PKw?`pWzEdxJ%;!+z&yr;y?6*R(X{aaSQp+FAUX^VD8k=Q<5=w7nAWzS4^UkXW$E2qg+}e~rXGS&ZmH%u6TXMkbUojk}jYt-Sbt3iorkK~Vv9)y`gzN -aXtF(SH2;?RX!XBGjaL~>H`^oWaRSSLoZk-1Pja+jtebW&XbFG6wI+lJg6YZ8!dumXGYZPkjy>y!HYu -1AGG;AzOHme#`wiX6CNI_g~E?!8VPY&s#xrXJnCu(2y|$N$=eb{FFPS2Fwd(B*!Rs3Dy=Et>5p=D; -0tc)bt=EeEHeJAW0^5zAtc7Rffk6=ZHvd#(i$|r0#O)(K5Cwkz;dO4TnT{~z#tRWN9N6=aWFGUH9NOq -#qZUlG`}SewATc`=-vD18g?1hU&7Q1$d+c<(5O?%-&j)7Lv8SZKH#@V_u%4}`6nb>0lKg@K?**tk6%PgCP%D3bOe!C|rX3Dd6Ia -%%^+sybMU276;9R_~DEL!qxf94dcwHZ$_YrKdJ4$g?18Om^APod^yraHFxi1cl2SQHeq*%ya)OKqaya -uBj4H5@30$xW;^2izVH9Z%Z6|0gtgV0*GT{kXf739YNLLD0=ace(ldNix9>2c{eJm5XwgTlfwK?bfN9 -1>H!<79!`AW*G?BGM)#agN)^Y+JJ!Dc9r)aaEWsJ!9X6k`EL*ezMFsTmfFe#Qwwgl<50s60<(j#Jm6i -~ZuLA096@hKvi-=Y44JidTd6-ievDFVncE|HP+M)?4w(H|b%gn|Vq*+}azumHA{Rps0vdCM*-3PgE?B##8 -@iVc@IEUSzi9wwQ_U!9Y)y?}2dBDq;Z>t_ok~OMJl;I}TPv?oR*y -~KW<=(5x~mK;S%p?!n1(B*X+J!nk)bbNXCVLBbpK8$~=<`dXlMRzp!wgM98QTo>R{^NPSwO(m^(*Gyk -?)|^;9~c+e_u>Nq9bkZ@6aWAK2mmD%m`=#?R+|D00010D001Ze003}la4%nWWo~3|axY_ -OVRB?;bT4dSZf9e8a%pUAX=80~WMynFaCz-qZBN`f7XF@JVO_LpE2XUMka=mfA1D`kQF#+kRsDp*On| -6EGMj|?Zm?{Wv(u&AaY5ZBffphke-nxPQbB_IGxV&UV>{gX5h~Y=P{Cx5 -3VDVs@M-*GU@9*iJT$SyHgW>_5qD7UBB#_AX5(QJLjzGE3sLWE042dTQu?nv@Af{vLmiXW2Z?S$4%rh -fc^J#bq&x=CPqR$<33n*qMSzh-~@;EBvDZ9L{H1?;8a?&-w$5b~Zd%g39iSc*@6;AO@wmqA% -Q<5#%XI@ -!amEf?q)tTK$d;kKmX(S^Eul-`pUj+pPp_Xo -qv4~SwtFlk-u6~aythErwm@@QCi-^a40z3J>B^OBep;6AMBrhCF}S0&yRM`&e-1ZDcfcz+o$LIJD(4> -Pua=m)05+~-A%^M;#h^4g6Rr!8{#Xdyv-2FXp2P_d#Uhl*{C=ez&a(8 -n@)tvNK;N_EiltfUvmbc^>;Qee>_UsquMf~qHhmTf2u10)8B%bD;d{vyRPW8QEce-mtSCwJa2sQ}6oS -7M0T+yYK10u9ZkZX!sCvh!LsT;+_cU62n3a3o$IjumOe*Fl+$z1E?Qh=pbBZO;}sQh8Qx$OarJJ;u=E) -W@SUVMi@y=bv{HNHK-qs&_Ax!47kSzuwsZy>V^t2f+Zt?b67Qk_=x(TX0+IvA)Fe+k}<@`5FbN)3`@q -Cc?|VqI5{5sl5;eHhEQ`1=fDkzT0W@MjNlX>;&OxraRG4waRG4waRG4waWO!HoPeBwoP?Z&oRpQCG1N -$iONdK~0mLMRNDPs5jv)bt1Q-%PbpY7_vH?^FkPC*Dnh0tFhzAhgg7_B1k$j2dOC(<+`4Y*ONWMh!C6 -X_Ze2L^MERmW^gjkYBT*62O3z(o=Fczw@jG~YHN7i69gTsuG3^_xEASyKzsDbZHkSHaORN`FFFf_!9A -tnql0pigh8_;i34^<8PrceX8G4c^kFu;$&F$M=184QOQmERU&3d0c(wng%|k9e`5Rue-_Kw>n6W`a0k -#0d02HVX)f5FgMreup$28jua>0$aRNbH%+kp7$e31)}ysNH2u+j0ow;RAiCRssu#L<1M3}irF5ZAFnO -*pegOP)CYB4K2+wg#_Jb%Q1b)v1{HGH6g3qz6+0C@6*_Uu7FnQZui~e%ras~<;;DydPml#&vI`o%Bpx -MVBcdacBRCWJ5eZhrH>}8#2nL(!Bn@Bq<%M5f_{HRx7ka2Uw&u~F+2Vy2zuZQXo%9J#NWzNie&ab9FD@5P0S0w{FR#+g8V8K?oo-aQsLFQ8#YJ>=hU@DEJyW4Oh+XVH -lL9Y+fkhn<59_w;Z%QAv<+2wCRZq`sA{Xi<5oqHUFxWcb-*hM@fLANRm~NTXfAP4iC2|8kuQ}!5ipfL -kuYnBnEdbXP4(#s#bk^2Ve~NyQ3R1S(F74TQ3a7U(M8yB4Y59P5UmCj%z>y#%OlpRc!L<62#J;k;*_x -A5t@n!)pL;8HhqqV?g!(t0$6Or{;pd-2{b -c-^D`gL0%R*%7=8CJ4DJS7XJ);c4?H<73E#M}Gz{3~X`6&tVbvpJ(QyshCY3^1>ZMAzL%7L&AMply1z -1>$iQD1^&i40IOMnW&ESRbw~${k*8Cn^)`PgMJN2M^B9djS5E$9Ff4eC_f89JzlEh;?T^$Hx(*EmYsi9ZR{`a}Fj!9`QM7eot -`qCpshSZ`tREQB*Xx2t)?jMI$xgXh;)Z^2Xf!E%X)g(wkR}eMCzTXS(zOR`kv -bXvm;={Ky{kCWNFRGTWl!X)NpB9zzs`Gi)2s2%!DTl{MExWBGlg4#)0rnJa{%?nejD4=E7kc1N(`$>^_M-;3WxQnHmcO4y5jn`kBO -`LT>ZijijPb?;#NMnXN2HoW8kT*CmtGtWMMcy|^6b2G`iv~Ljrh>rN(J-=LW6c~QI|{l?;VHJU*-%$M -x9n2*(=K{$4%EKe+lf9pJiGc`u;RWe#H|J0dUrv_j86BrCt6n4-fCYJGWulFX2D*l>@0Mxaj7vF$xfn -*ir$@?bL%M$B`)Ep%6FZe6vt&|QyAgJn;F<|1|9)3bCp_a-NGBVyn{uZcF>s2LU~uyMik%}iJ~+I -=-b;Xtp5N|g<58~+Xq`j~SgvOlzV?gG~(G8f_W{@Uk4#lukY`cEXQ9LBS=8wKu&m_6R=o7~pR#0>t8XOy*JJEe@0(h$-mwL5_R?2CUd`#P=_! -5T0bOOD{0aH)w;d|M@_wF7qS?hfD-!ym#6|W01wfi_j)(Luj7sWT9M3P}^qO9WznH~k8Rrn$i)KaaEA -xuDyhx+l7&m^a-%|dqx~E=MM*pkEgjc@zKhOJ8zY3_nO~2INg|7}i2ajRgH2YD!B@37MeNerj^k}yiz -0mX=yxu=Memfe4@6aWAK2mmD%m`?t?uPJH?0059N001Qb003}la4%nWWo~3|axY_OVRB?;bT4dSZf9q5Wo2t -^Z)9a`E^vA6T5WIJI1>J@UoqHX(H2m%B4x*Riu;gelWwqS5+o^#ehL(uNrWnrPm-JZ4)@>hq2Bl+$#o -hn?gfp&NG3VY%sew3(uQ8V=>DU3hwqP1>E!s}@bvPK-kqEs{7F4?UpO!5>R!-U8s3F*5Ya)h5EN$gA^ -ArbMFBoPJgnky9^^?%^C%Q?PIJuJaca@yILt#x{w}_XC|Qb>l3U6t}3Jo?);tU_tWs(*j0 -8HmeTK3OV5#(Y)H|qkittv<*)^ZJ1_c^^fcuj0Jn*yS9`VQ?!5naf+8C{4>q+i9N^yDCk^EA9!!Od6M ->pk=keF)MobRI@`Y4|{I2o~m)Cv?8f?~}OlA5=x*O&X+Y$=Yoy1ZBx>{s_a~(mGkuJcub3i!dwUK}1e -Ly!b6iA^(sp!rQg%TEz>vBdyLw`jFKezCZm)CnAHT^j^dwg*WG`n<$(^_#~W*I1?0Pw3L0>y<+M}8gf -|~LPrVU3wGa<2r({oe-&wl9^yN!)>a|9gjl}{a%n%Jxs-yhVf30JL?f*wcRDFho-Qbi3)p*bj|Tw4(M -O~e-3VG`;&v6eK)_u3bbR&4*~cr|KmAOf_Af5>Pp>||#au9rQN*uA3Lln8!3DvqG>G#x3>xnO!6|6yE~!Apw&Mkq2Rv -m9BqAcrzFnE$BY@DiG$m2$4|~V2Lc(Pl{ob#CL_i5K)A_rSO*GBzNgC4Us#@zE*UBqT=f!>E}BxjTt5 -d@s|i8xP^UbuiznC8^6R0kM7X(+z+oY#)?7{&}eKMT^&g7p7ikWe{>E=cv1p9N{4f`k({zR^YXc?n;(k{pNHO#FQ% -;41W#<2=V+61;U@w{R<6&Te;<)63X`Qw=!j>R2LYB+c6Gce3X(_fw -UI3j;J3F5obR9PuK_j%Va07yJszICzc?lq%c)p+s0>~Z`GiEF5QE8UF+N~hQS=hjoHM%myuN}Q)?>$1 -)93LRY>c-j-UdX!y_1<&As8<_1&&R~}A`oES314O~I^tSu-v6_{F1GcpVY?B2gYCTYEVm%f$09{dd%G -Jt5`!la{#53Z=8!LubjlO}b=cLX-J5#us2ZLC^D;DY~=sG>Oj=pC^YZwbWOOMi`#ynTm18zsb&aWS?N -Zj=d&)e0CyZTBTjsqRptU`6Q(lysCaJ3rk>xmqgvDfq5H^#Wp!>cw#MS3=gPuJQJg-tb4@uO!YtE1p| -pgt=T^}X60W3FD0d9?tBIv?0IuPYCf{`zz8`JjuJABaMCCMpXytc539P}W}igrL_XorBt0UPukI8qJ! -h*PgE2)T^@Z4qcUX0(GD5sQ9k013cRTyCRv^aBXa3Mbh_%A6|`mr1i`*vycB}9N2qtZ4GO*b8Y|Tm7~ -MvfnNFjM*m-*2kPX#X*KfdILb8+de2BdxHs~KiMsOp2AJ>ahhkP-L!Z)^tFH_5yrQB|de0QV02XxBgL -=LBjZWTh!Zl`w4JUJG7jhaQc77Mz-SZq*t+jJofg`$AVe=x4tp54e$uwa) -fF)GjAOtp)vL*v|e<;>_lNHFPmo&ka31=O -ph;bSshkX3>~yP~G+O%W%J?@g~FCWxdS?v-&z}q6wukfoq>TqF_^Gp96F|bcQ;1XI8&2Bs~57hcFD$@6~Y#O!dfn9yRe+`$)n=~`)Nq4$sL0>BM?HvCVUwQuL0bV=RtEI)e3H5sk|8$ -66wqEUexkr7kp}JCFDc?0-$d?|_m8ao12$-)t6w~tcGMop|^)ksq`KrWq@s2&_dONeJd<&zP^+kx~wT -SQJE9BRa$a9fm%25zy!mX{#M1CCy4*~<|5EC2u|0001RX>c!Jc4cm4Z*nhVXkl_> -WppoWVQyz=Wnyw=cWrNEWo#~RdDU85Pvb}ye)q39n$`$fax<=S5)xXYRiHyRT5bv;)K8H~3b5MP8QW< -(JDUH#-?8Jke9H~?VJTH?SDiZNJJ%{BfA~=UN5_M&XP0z-b~3oU8PM_h)yco9f%b#(fo`7_U4`zG>pL -Eu1QSJWL>Iw-T+egp&Ub&RFv86E*$E>R(?rE;90wtdL3&_h9L{_(Z{0%-GvkWpljEA3f&j_L{p%mIH2o!{2cfR#m(~^-SGmR50)AxHdzn^(X-?G&NH0`;e(2* -bhQ7kj|=m`;GX*sI^mpc{}?JoQScbQLd(xI4`wuWdWH`4iZNO%SW -_CCXgz_41C+RRp!^tMXL{2-mX*&mCj&xjR;Vq{xYA%45-UZuV0Ka|fq~{|s8V4YLS_l#}~1^;|H9R-xm^a{vc}i^1^Z8&>p>&(6NY{76>#Li=0sO2~W@0vGospL&egw;x0G31wIj$F_s(*)jBLMU!^z8gpaPwFp=O*MJN~ZIz -eCP%KQ=%`HKRmeL2Fp*~N3cHif*>^MIEZ2|Fw#0>`whgqzC#R- -QNIKb7e^Q8V5s(2Rq$*_Gy(fs8BeD|j_e;m)8G(;2DOO_8RF)D2K8ibQ%p*$iB>D*&{_pUz)UZYO}Ko -Qvf(+pBLBbCR+B?F9-GM&2MbL%{K>d3f1yW|xkMBH$6do{Wmei;l$7yWDcllBeFn49%h?L84ZVr{{uz -B3!aY;5x_o!LlcBhAfvGaEZaL!F*UJz>%zu3ZcF5?3BOM8|WdYYHLIc^v%^YkE+qn<~|^3_1jf1dDD5 -)3|mHO<_rNu;{k16y36MZ8xH6FVM6h@vsFJEE%j?ERosrGsZz9EJ*G#Eyg>zhqtKJOW1UPrqh8Wi!%< -xAZsx@T)V6!E7ird4L03IG>4WUBw_$cNC1}>-$PQ1*tROQvGz|fmf)^)?pf -$&$#H4LuA>i8Fc^-^ywiIY=7_tr3ARGu-UktR^xjYFX8xm|t!eRn5vcVLcI#3Hjq|HKs8gz!Vc@cVxi -69vUlwc;|Rtet-z?AThSQ4BHD-+ZsVkAJo1}7fJGl3Rr8^mD? -LlG=ZY#_nRpaRD$j7Wse(Lx-XBFP%Tw(50~XfQr-RlaT4;7~MspQW(u)2pl?W-r0Rcvbo3QSv~{k!pPa6BB`kIws-Uq=^LUk2 -w%`Lj&BrpemTbR7DlBSO&O0o!C2>4Qk7`I?f*q=`k7%d54RV@ji5()uPB%@7MnIcICx#1g1JQheGOfn -7vkC)()<#0Chg-4LW~_+A -P@2cfu#*JNqYB4WLsD|0^JKzlTwXDxhaCCdXUZu%^z=wgT_dd8=w$oX8ei`^hjvV#vJX2UXZ0|%nO`h -Eo+`goRdqGYhq%FK&)(5;nynsCIzKz+j31@*LKPUy)AMfuSnapwQ(S{YM^@~+jc~KHm-_;qIK3F5DTx -DqaahaAsfpGsxsFisLu(x#FL`4&HtSjiXPXkpV#BODz2=F8|K0){e@TSDJ;SAM1hQBYSIH}$pz>B52UZ~tYz;+z6sT0B>d -Bxf_SVEfIR~*V3uYJYWzwCW8dGXA{LYK1M8c7`F -5x1)8i1ZgwQMJLg%~&O|+KMk_nip1Qz#0U0qr7HxX+8=)4t7RRUy(Ak^lYdXv6UCf<5l+jd~3pS|kNxI2&qgE|q)ahCmkNLk!iXJg^ZadjPm`#zd%gi${Kaiysd3z*Ur87 -t!iefd&D$;u)$d8y+SFT>V+#BC~T3;ov=~PfK;@g^0uKVSkx-7dk7mB8_%yQzCH(g76S{^j@S1)Pmhd -(_AswwpzHds%zDk3VUH2uVs*MTgo_5U|6wzloVX9F)3rL8(_z88YB4WwBNCSm5eQbACz!4T9?Kv%}6*m0sSN%4wcI8F_`@B>T6p!Ny+LeN$^dP!1`*tmGN0*`TiW -HNPEffj}0P<_Pk7P(bj`HYjGJzR9kLgI$li4Ut&fDXUveZmsvXK@~x^wdA(RMk{gfZeA$HK~Z{*7jlS -oX`8dHN7|5$o2&HxJ5&9>kk{=>F1$N}{|^ST$UrOyi>F}AET>L!WO2}ZvkKLkxLtN^m@)} -jBBFNe5hvAxvq@PsvtZdqwH`<-wq{7w=>ITavruuVYddHtn+`B%1pY=^Wgz7c@lHyPL+aTKGZ_q|@Fb -cwn3P&%_bnl27zvkkPLH4HnMc;(KeE@kJy1%fZ^5H{58PBKg*zrcwAaePmiBZU(q=DQz=ymynjD+fkQ -qz(0pZHtNk*DHVg&;X~yhxcD!brs<-+57(`0Z8uMD4ePBKuAavwNwEd#3S^@n29&0|XQR000O8B@~!W -!@*U6)d~OrFfjlCDF6TfaA|NaUv_0~WN&gWV`yP=WMybDEbsAHj@Zfk-U=J)VtXKzK515k`nDWw_fZnur*Xm;&6E8%$X -4#=+!I#Kl*U=@#Kt7PY#dHu8!!#>G|PbX^rix;1yjzNIK8s`#6mfI?QI0;(|VBe~*(S!u8|hB8{g}nd -LN1VwsjSh0R`|r=Fy78Dr+}^1Dp3xy&iMqtfFO_GhvzrqNtlZsRO1aGB4ue02fGbdlxN{b??vQqJghx -$@XuD$13w`4US#l=SBCE%C`@3>RMWJvvAdx>U9WUCKh{-{q`|AS|iO=wewuWN95gs7m77Jj$1fwYywODzdxs3BcadGF#9zN-3AKxTxHNh?1go_FI-?{$nC9Y~*_8o|gg>>5SrZ<@N#G;{*;7=o4f`w~`ixyjvtacz -`W^J-PmL{^gnu&c4ytgUicS58I3q-rM`^hPa5(sUbb0s*GY&qSoSs~NQ|OORu -FsCHuITvuk`CzN;PU$9@XP7JC0%^Eyg0u)+9SG>Qd6wR^pV_9dTL54(qlf6b -M4G2EhN37!iOiQT%3+eF_p5j@#Sr?Q;yX&SvPVyO4DCRDo$SJk$!`y$pYHW&z+n`ne;BQv+3#C6l~(~Ai@{*ODyuA^=|hx9Q;4Uigs>~jc%0nL>km@+Pm%m-ga*?O2+u=SH%g0;zeKTLA({d425?#4&T;9qRso?A>%V(>JVx -Jf)d7|(gYDlQ_`8?f|*B|u)>f`1JH~Y#!9U~ay -=wsp#hC_U-=+|JW5D-@6FcfgcF`3{{;G5&V01^TMfpb!0%0|tBa~cDIz{OA*D?`Pz3JDH4CJk{tRL<2 -T?nl4}lO7*392|$h5#s3M7~mM<7~vS>fZYgo2$zpwH-g=$4+kR{j$k-~;RuE!7>;2$hT#~7V;GL%a16 -UK?8dMg!)^?_34?D03&k|T5Fl0vOcI!+GSgS*m?+ekA{VwH76~~VKr{mR7fKuh7 -$|{&JOa4_!V%DgP+|hnG*pw7Eyf@`0Z|1sR%yayFe>^A0Sw1#5a|Tl0;?0?(^y@Dm$6bIY(PAL*g!zK -0%{bHCAtR&V5l6a5THf@ISVE0P=$&~LS6HwN`kjR@D!&UHvjJ?|IuzD{-?XipX?&Ki3IH~qDoP95>+) -j=qAH0x`}E6yXhuj)lF0#|J%BWY82gW(yzP8pzbCLji|dxXmu0SD6l$+th$NnEF)hx>A$#}V6%%KQ;F -WH;CD_|Vn12Pzb#}smBl_p#(u^9yEw;wYQTj(HtFw;!r|DAb0+$h!C+4eMW}{ziBWs1`p5Rh<4Io)r} -7?~By4$Y3%17?oBSFyt?o2R?<=^f%duX#@xz}P4}3R;=Z>h|@zr_tQRjgf^iAg0wQ-@o+3E}uV7)*85 -ja)|_!uer?a2val6`uvS^MCb#(4=e*`%jS}0dJcGcE*j7Jx>O^PaMYXUA%bHq -fcL&}Y)7Px7mls##MkV?+;j52ls&SJN#U=#yYIZjeP6onScA>4r?GZeqL?4E(N~&rUKi>~51SZOMzN@ -%-&-5Z)3mXt@(x0a%@*eL**{uarkIbqC_H)mLEfDB@n;uk!!J9yLfuLK7qRC2Cb#?~A`mw&tEcoIV&N -IO1(yj%kD{o$96S}~xZQ{1OvQ{FuaA^d)t%XW;+*;q93u|1|->g2{#dE=|V^(F>lS%jA&|0^0wKfYce -lm4yK{U+pMuoiYMBKu#%Uzn$fnmC;1(Sc#bCsyBc9jKJ@nNs6344EL_rzW3pt@nQps#fIVND&fx(~P; -qTTdF-wwrS-dx$y?_{^$WI;cP+N{x5!k$M%7UjBTn@VJ%*9Y=K?_Ik1nnKU*^Rl>87x2Fm4y> -^n*);tv%0B?It$&NXyWv9U`s17eoYnFPh#dwHA!tku-P|NAe{BwmeS!MbU4s}yOZ4A$%d}%dwdu?9Ua -)ak9IAD-YmF}x4>5e>pQd^SW^oIYP*rK&YE3rws<pIfLYGj^Og@Zu%LSbEbbii8wx7(WM*{Gw}ePOIo&`yo}cVl< -Gu2uqHtjsy<%6csVdj;R0MSb^zHhdd_?RqVOZd6?@ZWNOHr15jG5y85j63jWXv*F&~)n71t?Spx*HfE -u%1H(yM-j;*6LH%ZD^L~PUH{l-v(QEaF>P?y5Wa`bVo5yJWdY?AG3EETB=IW*2nR*2RbILsafoa_rAX -cX3avo2kV58;M3$w@VRD@>WKY8^WOw@dQgQqI)&=y20_f7yL5_zP8>(dp7*dude-9gb#?b?5TLCa6U)CzW`860|XQR000O8B@~!W -A`j9(@(KU|8Y}<+Bme*aaA|NaUv_0~WN&gWV`yP=WMy#li>`sCfgAee`_)hoV?Z$7LBE!3P{r| -+L4`iIys_MP`m+&*b>na7WD8YSW=n`sdj;yn9ToFoyR=ksM6Popx+#Waa^T8 -b&g3_LUSG>yv`Gk??HbdoJ}F0uzv_Q=He3tbk|XrY>q6(>^sKhzC`-#czF)%3onrR@Ekc|}`Jdt{P9F1kE;3_~Fe3P22_Ol}O-?+{_&GQeZ8ei8!sqK7o7OKp+hLj<6EF -w{AUv9#NI~8QlB~om(*+ -qQ^bf=h1q_8*sehD}gdrrr)p7Kwf4$b_GEb}K@IVx+`90+BESBlCTt;<>R-#*x_qrk#oPE#oSv64|hy -W{j;x)PJAxo0%dyG-JE|y7IIT})8L>RIUdi9h7`618d@M;pzV|pwi#Gw{D@_ctdqK=GpNEwR-iMx&N6 -Mf*_p5Ba9K;5_5WsVh&e(`s)Nn#|43H_frNsJ;f%HQtXEGDec$bIF@V1#pw -Gr%*o4RP+_S^8o^_vqiJ{(YPiA90LRR$_*MC->33kLF3>3tYtnQzgVoh?+>8xS!Dda3h+%8jTnYeKA% -zFEMu8_LBMiYKG>b9NkTC(B@WOmni9{Tpiz9)ugAd4vehPVQvs0LvIkvqgdfp#KOks|bsN -FbQQ5`X~Gghok7&@n;>*-it&i5Sv}K1pbZZW;%{BV0!z1b_&HJsQzT<|xvJbBH!@AVShc+<+6bsUdiP -PzAJVNC+s(K$IBL61Qzo8p`62vRIJYn8;wERXzZ4a_OR8x5 -rJX|q=UxQ&9ADt^Xw$q4v`f}vLRKr_p+luupESb7m4c8sTvbyE4C7#m`2%h&Y71?XZP^9KG(vqb*I(O -{ZeD_EU2(WVZ3i6ljGK-*Je~sHSONQqk)56yV52}y}@%q -@cIVx;5+2@WI6w}QoyXkd3E1P@Im20BG0+mecdPWLtKImpe*^uk{-K=>E3((~E-o)*nhgJZE%I#4y<@f`P -qousvNmO*Zp=FQfM*7qWVvvAZTAHeAchCK3hi#8p26TmqD}EUN7+aSI#{Ym3>hdlE3e1mIxEiJsC>IO -TeFN~-L{aMAbp$6`L6t&9D2L(rgaT47OXhT{JK2Z%9_eSFptFGe(yGXiT*eVW -eCNhMYD6A>vrH5mJ%{6_zzs!TjtIoi;<*toEj;^~qtNu!rbMX9{lmgk&_MME!rfkL6qiigCW@*@F*Dsr6q@LqhdwE8(??-mO -Sl{xheZkdcmXF=9`rcgD;=qk|UMq86l+$mF*m5n%cEW}@;B}%&t@bt44(~4dz}AVI--=$01Ea-eCc6u -|3EybvNzUunD%*)$Auub!_||H%FMu}b^B8H~T>G?JPM+t%vvTdbvDMAXaBCD#yx#K~w)O&l0k*}SEqd -J|oWGuS-dL>Gm!qQD+N@T$*fu^_Y@&@yJAx(Ew;e2ycqOzwojsBGN(5$WRXz5ZiiDRs%IDj=?9T`5e% -SQB(EbHO`L5=m!@iBf?#po#iK^Af-_pAov6lnOdl#}|PxUYNPzQl=B$wTdjs93^-&|{*-Kxw+y~}}Vl -l7Y`m;TzA^kh%$t>@mZ<@T8^rnl8fp8Y$XmCCaL7yV3$6F388CmOnD@D|V3KC;!uYXxh!Wj?T*M}a8uEzxB%0^E7ez-u%1% -+O5lGlSucY^UMv44B(BGVBjAmZ$O{|Aer3lifzLy&tqt)b? -bgpXR{*?~!$|E}{*uJpUsEZxry_3AWhyectasV{h8i`Tx_>F -W`&>op%`(WeRKvxI+pLcFI>)b7gcE~D?X?&i_r{ekHFe#@u93;Nb?MxQ%iWSPf5XfXfSp&C`L7V$Jn? -iN`Q(>D@#)hDhP8Vn|iKEJ3&{i*fhPN$Fb1?OF&%TnhUauOwl_6@K?mv?D2*XZ~KpgsWAFI8s(h0ExX -I^Gk2_rCWZ@4rw>0|XQR000O8B@~!WwKBtG$O-@eUMm0qCjbBdaA|NaUv_0~WN&gWV`yP=WMy(|8Z)9a`E^v9>TFq|TND{vDDGHNAk_GKyH!WFmum{IuXN+-d!*(#p$)KgSO@t-|l1idk>}% -|M?0s*u54K-ZY<4w&6vdg-hM+|@tE;QN`l`C9=mqWkZHH#rJWd}DXj$IxO!SENV&EUWJ$`q3PG_e_$L -H6_^!DuH=rO!mT5eT$}Fc@605Y-rl?)dOg&BGGRDkb) -Mu4s3zbuLPi2oz$e*jSm_-Z4)W%s_;5J`md36KDbeZMr@ma2-QqAdZRcY)l73EsjVuht1OL}$mn#6QE -fr?)7T{=t>y3(=*U8zFlpVfTr$x)V;d3?8oo3D!32N)rGALXCuGEN@y_=$E17M4_Ibh#=Yv$T@<^Iv~ -F{P~}p-bTfz|Nc9L(9JUc6c>+l7Nrl%=s^LPHy^e2C#N^($Jf_%a&bk6ba{Anb9(gQ?C^>%KU`g2Tp#ZeT`OfE)?oI5+(3K}l}{O -voU1a5lVa`qM})V4fyta6qt6Oqo~ao0qX_x5SbbLvlPrCx{KXUt=o^afDa}fszT`2u1FCkS3oSOjJ~C -vs>(fX;C`vyi2*EX`pTzf2eUfBZ?$g_>D7EPOL(C1N5W$WJ13~oR`f#uWy`basU$(43FFYugqtU@S2e -X7`k5L}YK%Qbvgk`ael4M2mOcmNeQeVLvO&CqHQhhBe4SUdlP{+u+pRZK8%+qQ(JfLFrbO*h!7Rz*2E -~7O?E7gt4J5_-S%)Vs#yqYKvC_qL}wS7m%Bou|k0)?1vqPs*LcxTX-j&AF;*J3x>MUM1@9Q~bMdGO5t -k@NpW0m;y(aNnmroZ%GrI7brKV~pYX2+zlXPeR}8=eXX}*V6ZBZ-R#y+}pzh2!}$`7N2??O2!!5gM!g -`g9U^MQlFS4Fo|#qTuWFa^>ZkYSU_N9!o9#f>3b+32~)L&?4-nC1(vg^tv|@4fcCx>)EIq3RB*IuZKP5357epZ0(=_2~La$$AZAIz*r@Fo=Klu>9yB%4^fW?bx -dUScWuF1nYZ>y_#D}`-+aY@Va6Z8z3^wi$LB2`36R2GX%$t`&K82xUI5Op3J3vB374}yji+u`71(20V{d2WGO&7`tyvZPWF^kVR>iqOH -pGSOgQ>w#$MfvJ$Paa*j@d3zSPk@)7mU}}-w7pw(MRqoG(O%}P&JUM8Ap_r-4CMK4nVzULpVVpU7_C{ -WhIi%KG0~s%-=DJ~`U@N$kG07yD48uUMy~fQ(YqY7#qWLsYsIu{UBG5e=3{2!r{)>8L(YVA(#ByQNPS -|IS@LldY7KqMg(BvL(gd~IWuiBZ+T0H7ugEc3XvB8kcGcegax4n^Qg!@=2xCOih@rq!}jg1X&y#_1Nw -~yYcY%8L<=iE2>V0$FNdC=$Irqvq@M3aebJ&?`%(&yFE9A=mF3`y(*i@Po0CQhomkYf;l5}F -hEpVrqe#MMAyYqAK@LYf0Udb{*`nKq}IpGD3h%Mlvfy(AWw>M#LZT4Nkpe>u7C}iUH(<<_QEE59r-Wd -3HTjjg6snfQ_w>7e^NVX3!B}6u=B%8>ayB;RmE?H7*5g? -`VzBML!-xb2GgTag9X*kXIvdUxjDJ(CAv!*-*ecg5Co6C?Y#;(6c^A&R1}7ec=s1=&)-$<*QjXQCTaw^j@=vHdlS%|_X=z>> -VNfUnklwXvHEZ|-_A;1M?ak8sLOy8t&#?9$cE{2>-L7KChV?y>C?-6+@%ml28k+s;H@7Y8h`K-sBbuL -Xv1or>hLkvG&lN8Ai;Ss+`CkR5KezdvBf)P}JA9=S0J{JR3Kh<|UlF&Fyx0?S1XUeHnG12YA%Tj(}iXhosj;J9A9 -bY33~5BNHwg@Mb69wu7E-H_R6^fR$`!F_jq_TFf_Kkn<$bXHW|w;{eWxg)_42GUvAU3Iuevd_G>p>0o -x*LEy$1Ibs}te!D(+oNrX*KVM?#d9dI-(`VYE%>-+ymdEG_l+g+-3^$Je>Vngn>^|BUD<`Jy`62Ka{s -Qg&Ec78T^_bg?pOV63>pPC7rG?wW55qHQM9gp+=ahHK|j9R{YT=DTkzVef6G+=I>G!h;U6B+OZ|(i+c -LY&^e>xkpQ6Rf1KRY0o!dAIND?N -qtgkajVh?{oBRcM3tq=wZeRKuaa&KZ~axQRrl~`? -W+DH)o?q4w~Ur0+Rh9o4-opj*f79GJHhE`EjS&ms?731aBOCs*q-;CdR4Itszv-8X|Z)aSd!0p;QC;Q2?HL&qxg^ez6;}kzcCr&iZ^#<$P`SNVxAHbJXEb}sf -BL96-TuP_Qrg%WD>*_)E?8Q-)AcH+$BTNVzCOi=PE9O5Fh1I$mjtL!$8Pb?n&k`oW`l8Q5Q>rt61RJ5??HRj)pNR=>}?zj-!Fc&d~UQh*rDX>yDntd$T+0cWfI>YX~hEw -1%UuG48d7Fc=R9mffjhaT!ZfOv&7r4*C@nO`6L7IZmg}=> -=!;+$#fy+Uq4&V25C~O)cgeALuswIGi&pabR&ZB%)e2nesN@E(K9;~nxXGtz+Vq8x6=;i4k?La$v9-F -c*Dm!&O$Qj;C^__jPXFP=mrqI4rV=+zHF>uzrFg;Uv3j(}3>4Z-4I*Kp$buC%eWE}sJeb)EyG_%~Vdo -#mXpNly_!0huD@_|en0QkIC`H?5$^$mhtkDk?>Le6Vhqr741$7d*p~pGy#3fgle4i;5t=qWX$k)S#>* -uS+Pa=y}J*<(+;BVrc`M7T3`t_dml%4Q5h4t8cg0>0W+*ysWMh|^U!o4LOCCISnyVyjbruDGYf$mTqN -5UW}DwZ{TVF6~La>|9Q)@t}xt2NKZ-4f0`8>bVWemgd^&sQhD`uThf;%l7G*C4(|fe$

-qI{}j8i0{fg8+T27*L(Sn#&=D8*BkNKA6*D{Lwq+W--nPKM|?Nt*|;Y0HTUuzjju_3%|d+ -meyXIAT8DAB#CN;hFZg09-bJ?Zy9h^ow=rK%^>Lrw5#QYoU*=+T7xU3wL>l3U@9zBl&?3Ip`TLQ@G>OkNwF`}oGw==Ygvn;Ek54*2;c0b^=LDa>GJlP-I?4he7 -m-3ERY;cOpVsI%^$`#Ge)PjyqFq6L(#wus2$X8dFS$g1L@w7V$G?%4OtW$1TOzI#HPNHJntJjrYT5@i ->xI81itbc)!`jf)x7hUp`_H4AML#Vnr4}7`ATCIJRxEFv9C3;xgLwV}$Kf~&I!-xc{xp%(CtTrFST35 -VK%`R55Er>JE>s;PRSq3n9WOap^+mw8lyJ=Z*YWVsP1Ddm4T;02Lfe^#v0&T11B_|)4-!7te#2)d9*i -^njTBW2w6QOL;ZYoOqSl#b$r0TN+y&cqP%^cW0etG(*5&Q(_1&fZ>5v)U4Q4BMcF@G9JQq{OCXreNr& -YxqoEHm#RD@whu}`^=K|3@WIV_mbnCrx6^st=4Gc*lq9?hNUQf`<&8)@D>Mn8MMH`FQZnPUD@crNd++ --Jy6?iU+&4t>599NJ{Yu`edaIp^Dst(ZQf`3T)Bj!V_PHF6$1JBSy_+*fVaMzOJ;>ESng!6|Bw=5Cwj -588IQBS;v}ZzQI&&#=in5ls1n1>R1dV8A(u!rl|rW+D=*TD7L<{PCoOt+QH`cO$$g(#5KOL>_*N4KxXLP99*zT2FLHi$2O9KQH0000803{TdPBwKIP2B_l09 -6eD044wc0B~t=FJE?LZe(wAFJow7a%5$6FKuFDXkl`5Wpr?IZ(?O~E^v9RR_|}(MiBkZUopCa)?=|SU-R=OQ(!5 -38I3~y1CggC!`jx{Slb(`Bi$w~4^`!9`Cqz%a{zg*~FSS_HCqjmXjH2n*tdz_wW~(iJ{aD$1mGjLM$_ -%Djsc55wG)<%v98`nOu~=wdZ>{8!W~M|%<~!)z&{m}s_>we-BH1Mc`3(6o{7q^2uT?0btvyO*2oWq-! -+M<@lz$k{X~YTm(F04?$Z47`ViCZ3Bm$NRlb_JWo+Yb7-+@hJwoilx3h-G?Ziof$ZEV{UIHBuS=MZg= -*n|L7_l?aTJ+QHk4J5s#7&X)f&uR$@rXdNL!LCp-d;lPben(Hzf+mLC#Cj780E3nGrP(5J06g`b-XlD^cf--peYV*ThVHmOo6%t6P?x4%#~t?Oqpm~Kxig -*2`YlwP`5>_svr6P#;s}sy1tl>#zKD|@^=FhfL4t8eEB}>I=72G3A^B*V&Gub2jFntweBn|EdP5>2sn -BxYwLtHnXG_%uN>SfkZ#LW(1Tbh-K0B}7;E~}g>U=1(`kR|{NC;m&1X2d^iY3%| -C1Z(s#c3MCaJYwI2)}NV2|qA!Rz60#%7uw?hRR{X!^Z@y%BObGw3#C=?5zzIeV+sYC-HL*llTS#NF2L -30VE)4YQBAr4JuIWPht&a+B;s$Psy-z_#(cdctwkM9a&i7l{~+e>+x^_o((sQf#7nHExrvd!v=39pfB -*ZWL&+Z{^d2T6#WK(Dny}yCoa>)Dnvc8hOdO^45b&#x)i~AaAh?|uusd^0m(SSO&I@6aWAK2mmD%m`<(J5vXzl007(v001Tc003}la4%nWW -o~3|axY_OVRB?;bT4gUV{>P6Z*_2Ra&KZ~axQRrl~rAj+Bg(_=T}^5UO=K0=vHcX)CWj`(lQVwpwVcx -LMCy*9b-qfGo$p^?=c?(0V;JPAtm>odwlOXwz<2z{ZM}}8c%654hGYBK>f)q_(8wH-qr4CzTq@8Vl5P -t6zG(bu=JpR2`L#Zlz8FBB9m;GvD{J09Z#G#lmObQ9T~<-I04vK{=%isxgnjAyFm^7lslWSoFlZ|7D^ -<{39T$XO|H%E1H=?+vyUf+Gsja}l{?1krI_(td5NVqj_N^!y6tuc6gS~5>PbnF$6AWG<>rN_`$+<=oD -r)6^VMzRZ$yY5n0cm9$h8q$dPnHck<%2GZll!>5pPQTnAAS6-{##Zv;%}j>nztoxhC34j;cXtDOQG=( -o3Eh&dKV`y<(huDs@2#Q)GB5?7k_;=ZLBFy*8-d>QrQ<4;3nf2!2+_&DI{3A59lD;TH4Jh%0W;Q&_B| -NKiZx30IaAvy}Uo-JJ9t`bOeIBQ(^Y-+6LRTp;h)_Im;m>b5$^)eekJ2tak_eE--3xi4&>>5?QoG{?% -@5}YPYNvIv|29Dtcgc$S{dy-b13d^%XHo*WaJ&xz!W{WxXrcd_zi&u$c5B3Kvm0iw7+@&iPSdFXkyc2rrVK7b^}H!S}ENTCchvI^8O2)c3JVu4i+_^&_f -)lKk^upD#uX5vqVzV*Rm-=_7Kvn0viiZ2ouv)oO`k7I%9;h|jdEU(1P`54RRJY(~qa!2P*g)-9J=6Ng -x>mzj__%3r2h@dMI7w!qz5zaVdtuWPj4XwC`F-Ww+x;9L74EPbJW-V**f*;#KiE18pvmzgu~E>q`*-6 -%WSbeTFc=Q4Hj{{v7<0|XQR000O8B@~!WY4+g{j33(07+>%wKAk=!sne6z`54=oPMpj0gOj8F*{IJB2j@rMm}1{*rOL)PoSg^ -Gwc}YXJMyQTIU&3C|LeG}RriByWuv#ux{28PqYupJ^-Rcu+`Y~YT$c^Sz9Ad(kO%jCDr -<7&dr{y_=8+$~4?p|?DU6+3!C&mcajygCmT3%17_rD_7mMh|_mcWU)40wgu!4nXrCGo^3;kL200sNV7 -XF;smd64C<%qOm619{-s -+zUCgLUt$8!kbk~9gBjDl7g^fAF_{I_aoyD;NsZ#JP09$HR?usv?RwG^8@zYibVP0Y~Bgt2PpJ{xo|d -ulvyX6U{%v8bG$g)8)$p@12Tk)K0r5O6VB!#pUvGGF)Tn93SS_PIDEui3#!D)YZ^d~S54o?Or;~%2*$0y^n{%FLG&xh=QT^tO@Cr6iqgCV=P9A2D{`g -O)eoTp7J8k1_|WfRXJ%Ud5>a>^siaYI@4A8>j@D4;uKH`YCe(`<7GdK9zZ61iJ!bq-zMyN>G%lvRU%W -X_CvepF)*fdhR9dSBt}LN2TGTZ2w-*K4e8z)qI;mkXz01oUHP23a4wz8}=sp&v$K*V6;w>J7utHKVB; -j9rc(MfJn_XP-+BBGpP|7WlWU&b>MGWjJf%(mA#48^`0L2s%*(j(m9XrCq6r|F4b)Bld~CufRpej9T` -?7!*>6>rd|rxN5ns|G@O0kOn>9<=4=j_m(^71-1^Km~9I7OqshOayPmN*R#0b8)|+-@EctKzbW -`lHNPqNP04T6vLAuB1i#f)oR`c6}-&XTGg5Oc|JA&U)^SgrIrTDV`UBT~4eyf)K2;3BWv# -Z7h-&FH^g5Oi~dxGCf`OVBn;FjQ9lHa6o!MA2gd?NT0HGd-b6E)u!d|S=81>aWlr-DCK^QVG8Rr9&vb -2Xm}K3DT+fKsDa;(5ZO1(cEo)2r8q|q2gekzH{V{PJZlT_7pP4AW}7Ljx^9$lUG -pEoTnr>P}_;m*zXyh&9dNZsZ625lc+4f*N!b(j*B5oFYgqN(tS}hpqlJTY5#6j)?e((76kj0lj`?ST7DG#@C&|fc4ExBn^ -*~p^Tpp-@St`f9IN%?xksl|G|glIlfTE2!ddDl}{PF#0BDci`o80nw48ZVM0^k<(vQu%7MU%VR6(y2P -D!Cqwug&Rc9P=0N!G(v3YkF>8Bl?rUXUSuLEl&M -N0DFr;WL^xJL@o}sqWoB>`E1~!}Rzl(^Rzl%8Rzl(^R-!hQYCevYP&kg2kT{B!P&kg2kT{B!P&kg2kT -{B!P?i_RN-$<5_u@EKLh*5|gv3#-q)k{o94n!$AdZz#IF6N&IEs}}IF6N&xVgsc=3*rzj$$QxE&IvGN -=O{VN+=x1O0sA>7b}tD0ScDLpJv8fHc5~9Nbi6mA{3vf_ykjV5gJn{KEcBZ^KH0NnDO_xa^vrrTTrTlVu8tYPeNcQJ{FjinZc33P<$*fB#s1z!m+@R_ -;35TzVRr5={$?TGz+)LSYWb`c#ML;Py&hthQyJ;h_q(>?>Bi|Ul14=5VjDQO`1b&T2KEl{)O&SRZrqy -ZZ1H%J4JK{`jP?S?QW8@H>2c3vuC?|R@OSX87hvRU4+(Ko=|NUvv~x7dOtUOM9)6k!E1Ck?EE -(GVwrC(#RC*vBt>!)cD-iq6cYZz8p51Mx#=Z+p-fA{}DIK)L4$aOfyz0_096{XVFNE~??3ddfC#F3YwaO`DB9C;ZE$6h9j7Q9R{B0R*z+T*odtO> -%{AJU^ls3hBd^Zl9pJTbU2Tfu{fbvm%%)4^Dq=kUm{;DeX#@Q*6|=);6@KTS+){A_$+ihTddWP+(%UJT7k}Dh>1o6Z_Yf{zg5wcKO>tgP+>&tqc?OV4{rWV+Gf@9C8&|=A9o|DVm$QKS`0^Z*=3#qN} -ebqe^82|Nm0vkHX*9ov6%T@kz1q_PpJBOhQhM;&@kW1Tm5Qy=}53Zei?$wp8_B+ksC?7ssg -%@`VpT*(J57=@hgU~Oz+T}H-c)Y^Hp|a*=x!y&}&ieH(@;Q?18)`XD1+1WcnTDZW21!SiUFp4XoPKwPqJ}{x!20b@>OnP}HtqC9b7z(#eU8d4I6HJWJlBlQmj@lYTiq){M?!A6bP#V -ig8&R^iPmyjg`etFW{RgMM+*Lw2n0X1=|-gRC&ObDKvz7sy+M5?OCR)UF|WQq9b!#Bo)wp>#8BdI*zj -3U1<2ZL*7-7_4;@jf|TZY;+R?m76HzB?u=mP&f(NM-=L^?&TWNMGR6G0pCoh<@nev|N5!i%crd0?)6g -?{yQz0NCU;0FhBAa)RN4neEk%)wSXgkLE+e6ka*5tyyhH`^vx$GdIJjf7b~QwUSiRQTM8d^h}LCd= -ZIi^2S~kb?KdUv0m9t$rCB9(_Z(rrl~a_dBr}ag<87S+Vd7_nObY>e$%BlB@fxwwf3I3O54=hPe0P{) -LI=~>+E@Jbxf_Zbsy@{o05m@>RNZtTcvAi-4}5S+qImjYv!J}oM~$2w*5&Oz2c_iA$z*k+w)fGnOg6~ -`cwIqvvkec^Omzr&3bfy+WqhoU7PHA3r$RIvUA^hk@urjZC$hXx)oW~HZ^;7^Q)Sxq@!Q?rWN@czv`9 -6Z&wvJpq=GS^qMGR5}_**V>HSH8Rb2Dxe#NqikkwA=DWWu{|8V@0|XQR000O8B@~!W9(C^?p9cT{85R -HlCIA2caA|NaUv_0~WN&gWV`yP=WMy$RT#i -UYRF0EFiIy@)jF5 -dYBZWKQ7T@iw&&4E$x0eA$%0qr#*uV{9|n9LA-}|-A@`O6U(PDkR%?KZpSOYvJ<6PAx^gi+EL7Aq -&gch2-E57(}33lpoC*MUpKd&wvHU(jVQ)!(ck0cK?a~ -Xpcti{^aQ!WRVK&BEhjGzTS8oh7na@`{53b!@#3C>O4TBebeoACr`@zyY8fKj>mL27*U&s?a`#$nfBT -v8cs*U!Pu-Lxs0U{D=^DI-b1{A$+ZBIXcC)yG7kL->6LKMb7^J2GNjpI=qi_NRLExcQ#tg6ztr(UZN!RrGQ@nU%nf<}^{=piVJ!|qX -GRF^t-Yo>0jn*e3@Is^Bx}smQ>i=wMT~tJ~Z=VxuTvfE3%NAr=95iQ -HHOah%p$LO{1}aVUAak$pY)|#8Z?BmZqkP>LK1%{r9~preYbRhaNSVE??@zfr=wYL7>GR-}{&&BJt{+ -WJRhwHzK10Q$FcY6tvw{gWHV@MNkBy-AUZTyB{WK69k^Y%EWuU1C{bEOda*r#9NlHmIqzW1sIb4y^k= -+a+FrE2!B!`*_EfKg{Od)r)FWC>vL3g1TWw}HsLfcbvXZKYjl<(up_;GqWz%3RcEBktg7j)KsGRLW@1 -HAgwICxN%f+0$}OwWy(>W@N~)|V`_(CL;FH#TRoP;ogt8|T1m9EGC&mhnZiuyM| -ZFOsaUO|YY>nknZ6$RnY)ISSXp?2z{pmtQ{e7sfUgL#1Qhu{;(c=ha!>fz%RGs#O=IUdb}C*tWJAk4Mw--D6wwD^N>xiwihu)QLU?n -q5Ld!zc4h^W3vh(tVbY(9SnTb2yONJNu5D|G8**C%pv@>{i3IJ#}jIHOJ=YAGeDJ-AJ+9FN%%01QGNk -%!FXi`RjezfW^Xm0suF_}nlque|2h4( ->t+@eKYsv9*ISU%jx<$_s*!_niI1#>Gtox9@l@N=zdFZEPp%{iwu3f;2NXUQ#BeLRx@K!=Gcr@a^RU4 -$C-BV#Bzzd+-37IV3efKM(%hVA{X6x|4z)X2~2 -92~nJRRQ*>-%$X;)c;qZGH~^698*!-06`rz=zEg2)u2urq@jF>H@(8^Z)xB45)%Z`C{B%D0gNgNM9=f -eK3hjrwqf$N^K7;s;+blF;zMmRLlb7PGTC?6rDJ#z!C2x(iHD;Iep%`r8#1DDG2zMLqU=Q~ySBbaue_ -vK-mj$o(B$~P9J`}FeV+IN6H!xhiQLN1vpD$mIkq#>V22e`_1QY-O00;mj6qrtm{!gHV1ONcq4FCWp0 -001RX>c!Jc4cm4Z*nhVXkl_>WppodVqa&L8TaB^>AWpXZXd8JovZ{j!*{?4x$sb4^%IbcPvx7B_C -3N2dRL_k%wS|O7-VAa^jcHnZq{>Dit1OkOSOO?pXJdfwqcJJ=;7c|>1-2wEvt@gleL$fz*{e&~NcZEB -cEGY~XTQEU5w4_ggY3R#;80Q40f^DeMsPUFWX==cyhI&RS@X*vL>=?R&8HQ%hbVIpZQw1^rlS7U618T -HK))YmnRVbK843k3Rr&>!De;_f8q)OzTqQp=i=26Uex)o8DYaQWMO9RDL32K!}6)AGf9cXY4V{5BnOf -^*->L-!3q%exjLyWJeOW#of&?o8xMvN~MTfse`hX#ypzxzZGk0pIs%U6Qahx -Rn}U6$J}?o}F0nZH0|_zEEw&%bDTJB^Aul5X+QM6R@;aPOpfPxdx5jwf7);)u&=yO9S}btF#8zw0kQk -#8Yewl7D|Te -wUTp80hZ7XS_?HUH7`~(iZv-j&r?v=-eqFJX)`i3MP@*ph=qrz1jnr6Oi{jr72lYs*6P((s_a{38GcI -ksFL3W_+s@iv7&xN&?jD2@+D1ozIuFkNa6OQUXMRY2O%u5t{)ly66Ez95Pbamr -C|?sOTRYF3Q>uxDF_;v8G;b*Ia)RkGp(&v5!#hGx=rA8M5eijPf~bgt+&W1O(pUt`UoePWyKl*HdXY>c6h0L6?8uaR|0Zo;Y#H3z+4GCn3@|9yV1HKsDl~15_U3(H{~!pcQ-~->FM($bMPDtHJ1x~2=m#o`Q>;I54*1~mvgH_xP8uLw%&WTVLJ -SOj=@BQ^gp|I#;uIl!I!`+ZnjjQi@6Cc=SGu%v^w-}Lxo@bb;OWQd^x(jU4NGf*?krMFJiDI{smA=0| -XQR000O8B@~!W){$p2AO!#bz77BYApigXaA|NaUv_0~WN&gWV`yP=WMyAWpXZXd97A|Z -`w!@{hv=UYIG{-2p3YFbZykr5g-XYehC{@Q59LnUSO|g7wxXo(ocVHZDSiSxl}roZKX{Gty9Dtxm9H$;c864JL-lTh+V9{00f< -WX7ImVCX4Y5JjA^ExS(q~EN?{aV#73&RZhU}+XymJ}H09As@eN%PDl}vyO?PH3MaCb}M0}xqwX-TM6= -S63(tJZA~LatMI2w}(<;crqQej`J^+*wmBLeQ~Q8>TjTui^c8PD7?qDcv){6xdATMZ^OH4 -|%|ZX5?$yTAN-MO5NE)oU9PKlYmduy&=YNZgW2~rD37#R(qcP0<`m^o>B09H&;lO>g)!z-=ao=(1ZZe||O*=Dp(47xEGn&q4(}~k>5jl+QCAMN#iJVKk1ms3S$&e -YJM>?hci1um}7=^U7sAQmhib2q^@;A-*IbO_RPUj@iNVopcu{MSq(Z`k>XM-` -jBV#n%Wea1egSmw>*Dq*P71mD*U>Q3tVC*X{PzW&7P#n`rL9a_*u2xcAB>a#5=-mE2Hkvk2C{(#&j?T -!26NXD`txjtsxu8P>(A!^|`}&0?@!xL9d}QQP>znhUlM>n10TJsG7Z`w+n7b7yBd3vfOSoLFR;V#|kCu2eght%i4Or73T+<`SGm2r>PTJk3) -~tK8{jY&<4g_iPZ2)8TQdH7IK*5FH9-G%r4KEO|K{X4LeS(n2D7*gIf+f2Ojxi75l4mz;8bJTVJ5QH- -!RA#=^wCiA8Ui2kA?Jc1v-)baC?m8!=JOy-IHO*$;!A0CeMUKw83bNzQVBFZ`)-fPlqx2=eh@)LZ@8Y -%)7cnztd6s})2F*&<%m-~OTr|FR9S#w&s;1txf1*yK2S+dP3eeNqY~*_&CeOywr=Ms+p03gwI28c$qr -)IW(>;EUwzft5x7CB?vX0Ch%->g;!u`MBo|-2WxN*D3kp?}Ev_B?O6@ -XJYk2pwWb>y0dU~nm*GNz*@sip}UG1N5L-G`b9Ioq9x33PS=d%4&xMB_y?|k?VZc?xB_Pg$2eE;Eieb -uY=UrFOJA>-BB!#9;*w_m>DF|9NZ=1QY-O00;mj6qrtRfJZ%W -4FCYeFaQ830001RX>c!Jc4cm4Z*nhVXkl_>WppofZfSO9a&uv9WMy<^V{~tFE^v9xT5WS0$r1jpUoo- -j0;<3UknQuy<*U*Q$mArX5~v)xp|FNQ^jhJCHnN6CQFW^a -JLA)Y?lVbUhIYke%^+?)pm}Fn`KIgJ{tAcqkov$?5k_*09lI{OAzI09xa7e-pXi;O`d%1_afJO<<-rl&Fm`DNckEiYvp_6Z -oneI`3w?II3g^D3DEjji{s&+{0$8j%-@c@fnF&D=bB%GE}1=&s~On6G{9EXEHAP^gUfc -dd8XOZO7$gM#FXxWGE;QiI@fF1WfvJb~MH^;rf$G4!xQD77YtR;!X(iISlT?MumuCQmPBv -5({)EY;NCk9J9mWRTE~zLYAv1ouTV{Gqqo^WD0%D#FTk{SYr=?fbGCM*G?Bwvh%IMD;%rFUNu2vdv`9 -5pbz$rm_l^N_5Gm6PJ9^>>E$ta8?9!uQEwhLnvC7{@n+M*+P$+!g3tcmix)5UF8xX5a;UIjOBuhE88ab9OSO9<%TROhd%ibQ$n3h4Z9hv-c{TU{mB|mYnd -(!}`v0{Lp1%9+#2L2cdh-pqS(&ynhja;jdn1y>0FeIkxddn#6hj85*yRf}kWY2g7YnsO*x-brN7|A@d`UC4?C_ed5 -KA@22l471Ob?1%i-YtO}qd8>f#Kf4Xf2qgYUcN?}sNJ2kqfmd(b`|0Hxo-;w{HtE -QQOfuEb@g-O@bF*%{{0}P{m|__PW(@)_-_AdNNktK*C77ABBWn`^XAo0 -^=9RWRXzxB;y=iGv-PS~sTEWaKN&--#L(Eq@T$bn+{N&^#PE6-!;d9~!(9w-N(`@dG5l0wc)5$Ad068 -3vGPq@&V*0da7chX99AWFr#0jq-fTEknDwp*Vb<}*MeOeM5Va#o(uJ^Ivjd7e0_LOns;u?;e -+rr2pH#vHh2gmNRLUspt0N;B(O^lW#Qq5xKAJ#gC}8KatLGFxr-AWk!>o8-%4-NVmj}{KL;Xo-a8s4R -x=vakcBJ6^gVaQJOCU-roxCv=UEehq%8yq@}w~jA29NKt8J6Q+!)oA_8=G=W^v!5s9ov;#EX*`qK1mZz(G0U3!9s@I9v=5kyWK5zIj&T)qnU1WyQ2aIY@$l --Dj}pKD#-vmv#%BOE^a&GMneae!yLRk8& -ilFJttl=XgqfOZG=$el#MnWUWbXcjla|A42bKH{!_*$QNJ?qfsiy4wG^co+42V;1EbgZ0Rbm5FP~31a -az}GMjTDUEjc{RQV^!DN)u)wy;s&+t>@IoF&PE=&8o_-Dso@A41Y~9ppBR|kS%;AgJQ-zjAu8?d+sMkSWSb9`qn(B(c0nwa03gq0~u=Ud34_m{F_Rg8&XN~oweP -GmGr^7mJ)@aZ_rM|-!k}45~F0XTMB5cp7$^DoGyq!+QI2N;QT)Xst*!sgLe_TO@(WWZn^Vdd${;Qbvr -xcLr@3dckSwqzr$p{&Vk2)v>WK#bQ>R{Ewm(A9}leF^pI;xL)v+?@n>$;L&CmDYzEotp&O?BF4Eyc#7 -Y;C8OTFsY-->W5(@rTh;-jU(LdFR~jmddZ1uM>x4TOBgzio^m}+(y646`QaBAL=tCfw=^hqH;M#bSgPcn%9KVQ;y3jl6l0S(k!GMNOnSp+US(>J@Cps*98P+SSlr^vSMl@ZmW2klSGksE|3 -@MoSXQ$z6+83pAjift|!ce9DG9(eq_|mdIQChND`d+rko^G{l>&UmAP*3k6*6Z`DderC?WYSPO{{3dG -Qxhvi`_TkbGUdY^z>k@t^9=qc0_U(5Eh`5G)^Hjatkq^(nVREE2bHd*LL#dVEuhnR^(mr7>!}H?|k5;ElHl7Tw3U3v+v;51_Rfag!G`4-k#iUNZCp$8le#ZYL)~XjIm4fspz6U>p!?aACL+E)9-+& -gmqXI3u((x=EnMaNsxp>rrY?`^&J@9~+4?cJxqYfal2Ul$>(Z8*zb;)#30F|fcBZad?9)dsdbSwrMFIv%KX8)2-q_Xt%Nw$>OP`%cEN)jDEq6;}P53yPRV$vaduqvdB!8+D8h -vMcYLg!!O6XKu_h^N_g3d)xU86h=zBd&dTO7DzOGgOvJzw%Xt$5s6IL276KeJJLBqUeMttBT!RyF1_) -S-F7!}TlZ|4KyDNRdOE@>Ll<3;XNPMA)zz8|X|@o{QXMdz>Ui*{likvNkDg -?cEOUl%*Sr6^>5dO;)nL`+OTM{X)RhV~iyjg5u_KrKD!XoBP -;<^i^G7(qmijyXSmTlk@pCV*Xp9r!?qtmXjqvIpDqUb%hlBO*V_vNQ3CN9c$CfS;so4yFHz9Bog=hg1 -+3Xs+=d71lxTY75h3nwJbOW0zjn -=m<+l)F953#=JF0^Hy@$&RwUdXgnfbo?=Heljm**dNvY#goOeaIz@ojjTy2C%=li17FB?M~(SFsfn5r?5n5SWHc{>?a#EU8uylg -(=FLMMV5Mv)_YM=m$0K&D{Ma8SI1M#s?x$&_WeU~y!a6q;VuMym3Kh+!^OWsem`1`}9rOUBbwkt(=0T -S~Py&>nW6e|L9F6lcRN7;p|=5v##Njp`kfs*<4;MzLjXq-yKVJy`%|k$QtU<1587xCT;az(|;H&031O -ergS8OBJbY(WO)&f|jZIAYl)%l{v(b0EG$D6+Jb=KqQi%r6PPL6P9iZQ!WxJr%-KBWqQ}cXJ-LZ)T9) -iQJ|t~=J}Gdn7~sOqtFPEhD~A9>qDo;g%H0M0%J+^Wp^I{8TpIc@2E6c;Ku6jvek@TkP6z7DfH7cHwC -amqPM_l8fu5M&bHuCX#z}?v}@`;{Xv9O=m)J4ED>^zY0kUEK(X+361=#J00z!0d>we+zzJR-D3&@+UY -cLU#Ig-%L`+qwNSG}NCxV&n4POW`c$!Qn!E2#@JP91z_hIaMFo5~M3ns(Gbl|~!;muv&wg7y@U5krmo -@?^H#VJu{k~*27i5S;a>8~_iO#*oW>*yV6%rP?BD2V72*=&DkhFpqOSua5j4SfKXf{>;QABxfL(Dt27 -msk$-?b6c6Ru{hXDJT+eoJQaie9Tg!9&;&G7oMaxMd)lm*xpUQ-@ESr((3~(e6oD@fbERF^N3uwTB(v -5Sn)bi8qG$@B~?$;D?Xti8GSVK(pU$g$Z6^8fWpJX$~Uxaq%w-vOknx8qovPAtaM??D({}V^pvqRu7+ -gGSnF&Twg|?zp+5^}?#Q0D=!toxb!o0-wHqSo9?&@e*RexdG%uWc?h`yh&-&6T9SNoohK$Zl7`8R?v< -4K9>956oRC1FU^~=MYMcy0(zCKAx$j-B5l64XKG?whYUz6Wozhej`HB%`=p7uevgPr{o>_yx#NfV -@&OAcZDZ0xoisUf*7P#=s-7%A?h%=!-+yDPmHFb?IOl4C!Qj11P@sxHw)r --@#QpyNZjkP(?>w5crp=eC@c?z|p7Ngg!QQ+p;~+^_r;;ZQN!1_S>)=Hwb6;31UgVnr{s&@_$P{34Eg -Zq3mOK;f%sb@W15u1G>?t=?Qk!-xcjhoGXRGluN}?v^((oBix*#4+S)~@TW)Uw_3+3_PQEHj_kl51{3 -G`{&x!~*#%WHLacT#k-F~7mDO_ -??Ls^0SE0ld08!_k1(qWe~l{(Y*r_I~6V@6ScoasL2NO9KQH0000803{TdPDjU(*SP=y0P+9;03HAU0 -B~t=FJE?LZe(wAFJow7a%5$6FLq^eb7^mGE^v8Gk3CBSK@ddq`4z<^cb5!;MhAk37nmrhm@d7$y*rKb -vCQ7JL#i1EhkM -vtcjNA?`8>V7Kfk_g&A;8%?S<}lZg()hP)h>@6aWAK2mmD%m`;-h*D?bD00031001KZ003}la4%nWWo -~3|axY_OVRB?;bT4CUX)j-2X>MtBUtcb8dE){AP)h>@6aWAK2mmD%m`?X5w4a~^007ns001Qb003}la -4%nWWo~3|axY_OVRB?;bT4CUX)j}FVRB?;bY)|7E^v8`R!wi?HW0n*S4>`Rj)}Ztl1jf`Ey} -|iv4$=)FON>dXu6Ixy-GX%(3X42Jksm3Fx_7-1MFFxU4uCJMZh9w*@I6OZsT`WA(n+o6&?||Qh@z2B7 -~UW;<4UvYxUpjVwmUoQ(#eh$8-dXqHjp-MSKzp@2wW5=ZCR;X40Bv^{q^d!DSAhMya|cHd=IPs9Vb2v -6HydZqQ*>HUn=B+u9HS8VdtQDEArU$6{nd`43S3vUj!1SfFqm8%xVBw(krHovasY!tc0<0K-XyOivu? -$ghpCNqXEFOP)`|>$6N3YWN?E}{uP{t74k*c2aqhRal1~8OFmLQXlI08?wqiPuoO@RpYfNb2XC;Xnnw -7%(x}Hdzzu8A%cJ;v$X}9~q<*eOOhUn;8@%$vA!r=Vy<^-MzVl3{({#^jA*yGCXJFTuyAtbH_ntChq0 -zb{RxIBL>|E{{se40B0}E^j<7C-4+%!Art*HA3WDVP3i>dhK@4wiz1!fP~uU{UT7h&Z&NKUN9qmIRxDVH$~ee08E7bD5-bh~-M5D#huD7O-#Q(I~##gPTx)@#Do) -29K9dFT~;T>M3TJiI%&BT$sNCH$RH@yPpwgzgv74oED80CwxSa3hR!%N{9Yyxl{>C$0q-bS$NiKf1)@ -eVHjQ8l1}>~LgOCkb3wY1RP2#8H4>I8=3Z3C4Mo@)d>VRgT0BQ-C8}*FN?A)$4dOrUwV=J&OPWx1$MV%g8b{I#D+CN~e%ET7$c@3 -D7$=E1kui(@(pXX$}gj8|1Lx|_uQw24ob*IG1P9{)~$Y}eRVdriXz-Riy}0v-hQH~C{)%EBp+rYFHl; -#gr>IO5Vb9H4yU6OZJ`4UQzSS;i^pzFFBk{_zcfVXOR>((kt$`rr2eOrvbs*R?QrZ;-WE42NHg)#zn7 -kEfB74h$A~{4T-6W|dmNHk*3u;6P2o))W%f&ftOnBOk2qx-^=EyC&793FecS9cpCFq~*@-lJr<7{pBE -;ebv3cf|y<@%H_e$2@8dA%dSLne!YzV -N=4=MWbK$zM^#fmN@CY4kr(O9KQH0000803{TdPHjq{)3N{n0Pg?*03ZMW0B~t=FJE?LZe(wAFJo_PZ -*pO6VJ}}_X>MtBUtcb8c}D{=+|B@#>8)HEjqj`u)P$}SRaN`-!zH-+nW4vtfp_}V?cZPexfY%{!W@$qW3U|eBx -%V%(DkjO9KQH0000803{TdPCgZO+YcCG!^= -8E`Peh_SvDDolWR3(&?dn!~42hwxgewU1vW77ZKPw7qqNm&G3LWf8IGM)IrY#ER>OQCDowr#BvCdoF7 -cPWq!a1d01B*WQqLZXBU8YvJY%3=(vjO2oG#rOszX(mhv@h#&tm0fEIa7z-U^4sfc;N3m@&T@zu?Pg+ -gtykAtHv}2c96~K>O0axPHX!y_r{Di#Tl1y=vifFQqhMOBoEzL}#jrNjgenVleX^xj?OTiBB|z;2CtB -_|B9$mG{B3XTf+|6Uis4bU%x9ga6XV|AA2xm&9KSJtnKcC}LKz7F-ogWeL9Z$8_9g8H`;?n94nNEMsB -bn(sl;Az$$Z^_R`&cCM5^R!-7sXFsW5CwNY`atUspsWK;-V(C}8Viz+VDLp-7by?0Kgfy-!$_5DoF&_ -8A0ru@ZUAGfo(niel5LVz}CaPK-BF#v?dU>zv4$0_YY_;=uyD`d}9Vs;q^7EZyg{k;QB -b<|pCf^ZbaB1p`{`R(hAtqISR+115Dg_2sjWrz0JMt%K5(;cAAHlTD}Mz3SI?TfwgVo&GHkw&fEt~YQ -eWF{^<`1t8XXyBd{c3})|Trsqd#PR%T_8RJ_qQ0Lmo`#F@YuJ9p9u57Euc3}B>Zkd#Wd0bq9dh`8`oY -l6FzV$Gv%Ig*#rsS^>o_2#+GvU;o^)(L`i=n>!MN5+1Y85$ErMWH2YLqh989P4ry9^Nb36uTQl0@GhI -heiH9Q607{LELoSiY=8sO=EvI^?JOp@#nCei~AW}4!}=XoX+#2qtKdH`~?K -FQX_JmSE{RK&%MPbYWxD|1$1@TZY~=TrcmRS`CTTLI>*j*MOf6lY}+1p22r9)nT~0j~nev(gv>Zz@2a -RmFH)0p_fZ$!}_27}4naPk6y=@`Bgo1+U2qUXvHRCNFqRUhtZ{;5B){`?X$hohCE5PLms4r^ybk)8q% -&X)=WCG&#a`nk?Zubx$nSA^ndB#6lBGEfX0}9*zfF+{0|Xco@6aWAK2mmD%m`)?`Y;$P~007=7001KZ003}la4%nWWo~3|ax -Y_VY;SU5ZDB8AZgXjLZ+B^KGcqo4d97OebKAHP{@s5Cdj3IFD#@=-A5Jx{EbC$?j(uZ0eb0!(+1Pq3!AS#LSdCBC0Pf2H$hLU;R4*0tWVI**8$|5$Wl1+)^g -lDP38uR!YOTjS`#zN9KfJt=Cp0XM7{V)!t?|XtpGXPX>PJ1M>W+#0)F1TtnjK7I+3s-q>-J(i1U{$A5dEmkcsLVBZ_b4m6Zums57ChR0ld0GZCqy0!DQ4Gi -6rctaktY>2X56C(oU^6bxL=bVoroVS4YEG609ca++@J&V1)(k9icl;hpRCC3+SSAr$!h*nxkQ2Hk2Sw -{Wq(*?4@|D2K26YQ;3==ZCy1gL5f~HVam}YvxVC4h93tcFXP%&+LDrF#W3|b;^)_5@-{=&g1_6!O7$P(b41MgXf(bKR!pjr^z -eoLlJ#|6i@TAivNI6iWWXdCQYdjzqct6boUmk`OdTAg~`s#UA+V5N4;TvV@iZarD>EP_; -FM413)LYE|Pdchf*MVMJLto^D&6GLW|5poY;jQrXiB>>Bz7r}(my^68~!w5}=Nh{-D8985u<@PC$s#> -+hNIdpeI@Li1SP=^?84gJ&mL12Od(3MgF{RNYSRJFEE(q2$SR&6XP%SLBASeN$!HQL^A_oZGE$JFmNG -4QgMzH^b?lA&jDv7F?9dIp6RD)TJ=74x?FdvZddJd+OJEPwnKnjCAkZ?f3noxEGfl3b(qnD)?bE_^d4 -WpMgpE6OjKRO2mtVQ35snopaErdqRcOI8h1Xs$670X)_(n%QJZ4lHjvn?dzey*s3&dgG)6N`yjWijjDZ<3 -<5V+B9LgMJeQ0n4(R0XtF|`vluE2zI`rQ990*Pfnpx_4GWPZq7t@zOQ5VQj&P616P!@s9y_-*3ZdbO! -j}T7py~xhyCDK-2CQ|6za}x=>|&;1C36za4Yu1k+Z@CqR4g}pS1AZMq16MX?`iRjmD`Ztra&D!v?P4~miWOB7xTfJ`6|2nz6yuRNIpx?K9|7FtV{Fh0a_UF-u$<^ -IxGk_6j!x(=ZwS)lQwrSs=U);4g01^D!K6$VJYU*tomzdNlDg4Pl-$3I(u5-w8)ltm`!g4?aO3KER$HRa7JcJM9j2SI270tOJ(I-^YFD53=eW^-1MwYcemmurC;WziuPu1Q -o2=cs%W=ylhUtoQw5-vn~e7*ZmK!Ik(-ouotr8E?cAg=D%?~7XyGQMUFD{F1UGS$nY=PLY4tXZP2AL! -Hg6|iGdIyzLH -tZQELIe@zox+4JgM4?y|Q+}g8Zb4F~1>Ia+dW~p?nyisTtWn$s9@Ycq>DQ_4cZ;#d2E9-diw7pwz0K_ -I=_xoOF+368)zt?r$1O#^v48hyHEq*f~mA2n?p&szYd33iq_o$-wi1QH7gHY6b8>^hlnKM1L-=pzbog -g^d-j;(^yKRF#pRr3Fu-cPUz0oYraEe3Js{`RvM2KpWlDNDXS%YCOa6-svIcDbEt&9`lsk2WzS) -pshnkEY`l&lf}^~a;4|EU0DeDoctYMY_)P9l)^EHKW(vy3*$;b(T1rL98AG@j)%?aRC?Q0s&#FifL-` -az}HVbgH;-#X`YHjUeRz3uV8D_8%HRaZX_^0JLj{`2J2;(M9hOV<0W0x!g+V7vKIdHr2(o4NQS@eX=z6yNO38)jFWEqh_#85f2i@cVqI#Q)=`Wv -4DwvK&)!7BXjN;ne(NrWBKI0IsyUhPyFk?y6=>8cg54O9T&8+T+UyS=$ocA2ZCKNIP -*_hJ^*|+8f7ox9Gthyu}Vsecl;Z)?;0u@YL_im{Xm=8GU@c~*j3_?hx8 -V`@WuY8@g9WA;A|fLx>A?Aq#*a1pAHnSDZ^1&=bx8co1vNvrr)#n|#)hUm4j!H|?iR6=`FG9=DPrpD@OhXyz|0EJZfME;8^p^=9V}t6*G~pZ+IJx$em -p_4qqDk|xV!=k%#e7!r*gxD*J=`^@uq+E4I9-;hB{*3-{{>J>0|XQR000O8B@~!W8*fE&g8~2mdj|jj -A^-pYaA|NaUv_0~WN&gWV{dG4a$#*@FKKRRbZKF1X>(;RaCwbXO^?$s5WVMDjMT%Xs}R8!38_*fpcJt -P?PXVR093inq%}BpHFhZZ_t?&tlkL)tRMnmtkKdbl;~A{fu_nGh82GFtGY2N&6C)$AhMSkK7Ad^H{{V -{@E5Ry_AovcY#soAXe7Rk%@9x)7aDi#W%cCL#%-~;cy4_AmyElSwJBzM$6cwaONSV~!s1uiq8)&`ntm -#30bEYVYlm)iYCRde#4DOV~-h@P*DLN559xu>eAiX2XPt=gSD}$BPgTa -1Bx!pJwUYGq}~dLYTdIy#%%Wg*&66^rhV5PL=3GZ9%|S1lli183zRCX>fmwh)Zr_RvG18nFpJ=n*KpD -nage)VTd2wwWFLpP=%I2$G|~$c3?8MzdHWjC+t(TS$?*>-A9buc7J7}!Znei_{t~u5ZtlCD#6k{adU8 -4L74**Fxvb3ujbADd!e>Wz_>vPj9U{%1_enV=yj8BtOu*4wAqZDO|x5Pf7DiDhAwHv83dON&yX}c_$WP2nJcBh0QR`w&?Xg{2=;Q3#s|)%d0wd|^WLBf)zc!Jc4cm4Z*nhVZ)|UJVQpbAcWG`jGA?j=%~xA*qec{d_pcZw+8VY5(ovQQ~DBND}*yaJ_2LzvZy`fAHU+gx(b4sp6z3)$_@rrqDH>F+xEN4O^L6V@h+L58e?1wnLoleazbttUN -!HW+YL5yo5SiH&vj2WZMB9ojie=#rX_GUDNoZ^5O(Uj8!mhd7<4akys>s8>9kM3o~jq=_mb_Hj{Y&l*Ga>>zrzPLr*dvLa!Q`DiKc$_24%$ZNet}|MU$20fl%iZ -00;ZA0EbEDK=;FZtO(GkzdBu=GTpQd(XBempk!x)l)yJ+^$k|-bJDA+pjcQ~??U#8VK9%YPEc29XMVw -!d`Zp+AW+20bP%JvGnj{vy9~Dk;ATFb7Vx{f4&sa?>J#>`4zv3RT~O^iafS^2HItvOr>dFjrmBQr@z8HsS`Ys_kV -jM~&Q)P`?bq(R1A-!wHhdXVBq1>V|?gR4Sar$xTCz+}^-VS1@@8Rt+*2z5j>#k>B7%xJ=7eT~(2y`MeL~j)N>VDKIDN89u{b -OR?62gvD{@LO7faG(PHNk_HN)4r(|HoBeUT44VP9%;_?+2f1?UhtJ&`w9jKwy>t1Y>nITH!sOp)!n)V -WRIWdpvDlE#a*Gi!2qYv#n*SubWKrveLs+lZwG|Ad@bI(B?F^++it^=Q=KKgY0@H^?C;+-DT8uN!^aD -64^?^`1H?in3hfYr+jA==iT!s8ik*Ug3N!IOP>W3+V!QwgyZNw)W6vMrEyHZ2yxoIY|4mP7a;ZYNmT3 -(5pt>$P-APM1=Pi;W6>PK8AXbPc1lx{ILOV-T@d|!%=4RS(T4vL(wa~G+Vn{77GDsllfFH*BQkvMMR# -!AIx<8L(9R5G#uo~l;^VX%u!1KCiX#`7Is@l?b)B&TWU+>_I+0Kzu9iJL;KlFGU)kao$a^#lMRQ%K0P -EV4y?TI>(^-PZCgB)_f$Njlm)7$Eb@ylgTWt)Phz5tcch3{Un{Ha&X6ZRahB}Mu_vsp8BzlNp)_fmz; -eekg#2x;K#g6nU>y7dP)h>@6aWAK2mmD%m`X7001T#0018V003}la4%nWWo~3|axY_VY;SU5Z -DB8WX>N37a&0bfdF>e6ZW>4Qov%0&QVa>+f}N&OB_i3FI8Gg?z)|8Sw3oqbvdo~_*2@GClH4UI6qxfp)D -X?n{uA$S~Qf}}3Xl!%FscWJ|s(5x0bnKDjLx;~V^7CdQkfhU12c&Q9&fvBJYvkq4j7>@`C!GO%O#1}H -vrRV#fA*Rv^5nHA$SP}>r=WGdLM)J@qZl1+%%<$S5YZjr*{1ki|IW!P4piDrRupmI`#1Ch{kTY*t+)$ -?A(oDRVqX7$_qkhQ>D-tu;Rx}0njqoLpg&-7y6}&~q{c>)5rEV*+NuV+x)s0B%l{}fK6qAKoQ`^<|i51$XAmt>Jpw|al6+hOB(wA%^P^xtiZ~1Buni}S)QR|r%+J~rLQaAw)ml24pD(h(4y^x&${sUHp-0vto>A -cS>cz-W*jX)4|cRl)=Eb^&Cc$C)#)C%g}=+u_JsLypIh9%-~Clg4vd5H4Elfng4dJ>muzmtt3FXj)@n)1 -5F2mc}Ax)c8Q7TIS~W`z$Ml*o&6EjHitMX=tr7IVYjodq3%!kHZjGgBbT@f&&~ISo=8eQxe$|T8`ARe -J+0>_X}LWQs`)EZ$o?UGrY*RUg!MQJvXB@zb<8q5?c0H4(^jUg)=L22REgoxn5Z^&IuLCO7A8yy;B=e -PLA~^cOari24!H1#VfJ1Vprs2p?%Xq)`tJfS?WfyNYh+JD^rc@{pd@U3gh_u7OZyp`)O?0=~Ghx1+vz -cL=%guVdtK-z|K*)ZyxHc4H@~7amd<i{i>7MsAD3RdI= -G%QZ`keT7tc@clKftkh_>tne1B`ow$s&U=i~ix23wp9QSUEccatlJaq#O(;z;eMOr3d0x3IaHkYpyG( -DW*8zdA6gd|B)`9w0#l1%{u#ceHF;^1@B1QwN$x?m3;$A1ybspk%STavt8YCzORnM*b9T$Ee77O#;_h -up4$o5HF9s&78q0g*`xU0kDJOzv9b_7SQlKw5 -rbi0lyTgoY|JBcchqf~7?`u`>1hoM?E?vmAGdTee^<#ld9rM5>8XLBa(7PwT?oDvd|$idum3Sf_ePII -H#Cov^Y+3F?#pU~*bY__*~7xTZ>%b&1SIqmfL(Wd#m&1y@Veyp7wqRjzq?1!|`zWTql{p8l>JcvXrip -R71wwlSti&WuitlB?NO9KQH0000803{TdP8*_L`CI`207U`-03QGV0B~t=FJE?LZe(wAFJx(RbZlv2F -JE72ZfSI1UoLQYg;Bw7!Y~ZI=PN96pq)m=xC~X|GS+EG2qwyQtwQUz+1jLX%?5uzx0H$7a!Bl#=jZ2S -1e3c7q%JeI2;s>2WZofaq(-oG&6!M5GI&cLX48k+M7BrxFjk)-)}N*cgtj&*+7>fl2V5e&ow;-tVwdx -eCWIGvw3%ijm;^|mrJrRoha)@53PP;Wa;Fs|!g{rgHgOd2i9y>8mfOvKw|aWtZ+CGA3Qw83al}x$q7d -UsCCN8ZD=m@)7BHR$vtT|}Dy?+e!n0|)GKc7tV$<31{vtnAAgd9UQcUMdnv<)q(lB(|9INV8+*C*k`* -K+IHxZGe5Ju3DE@~Zubuyl~>7_0PZi>A@HyHB4LANr@q3ltw#VWrC!qidbhZldhG^`E(OG*hf}L4myPF)vB1t}#jcffVR0yAE+XkngKsP)h>@6aWAK2mmD%m`-Ne(&;ZN -006w90012T003}la4%nWWo~3|axY|Qb98KJVlQKFZE#_9E^vA6ed~JMHkROjJq4!Jo?!r26U$@CNp=)2Ig^8~w1Wion6aIS1#418`p)JUk -F_nPkPyk!YL6!RPqP-u~XcI4)P~D!aLDL~uM2PaYpWJ%E2c6W?V;v=-;l&)F)3X5VCSTGVMGno=~ksd -%++Zp%WPmy6~;s#5WyY>OmnGWZQXq?L$ZyrQYH>$WN3+f9|G%d}_^)_IzWZ%&U-UY?(X&AUcKMIw&RU -S7OD{p!ud+3R!s5!&r7s&Xmj^F`aVRXU%GY`H2cXntLndE2CO{=T;-e=lqGsY=zSdR_1BHP!lPPr#r0 -vCj9>cX7IE#3}u9QdMPjB*ea0Rng5dIub<*=)X-X>IUt_OuQ_M6vkR0%n%;cFxPojEXvErSK^Q2>2QC -V$2riVxH&yjNT}~T0)3e`>s4CAP}fnN@=sHG+@$XsdI-SfM-KEH -0WyvYinC$y1YYO~34SuC=fS5Z|X8*Ahvd|%P`ZrE^s9mRLlL6P;gZL+*;(N;NiQqR@*DSm2;?(@%OR? -vrfm1m87OrI@ad3LQp1@N^>fkNq90P#y(HZHAYHo{PQL*`y(r7`T -O}J)LFgbcCwl}ZNf$hBP*09DWRQ-m268r05yO+I;+D~b*bRKF!?eIh!I;+Lc%oat#M-KmlL7F1CUck$ -Ph7%0(Uf_e{?dZ*(A>*a3WR<0`WrckuP-iM@y9`0P@Au!I*XsR&F$B)H1kyUd==I8eOV>n-fZh{b$gv -AS(V0(`f<1`3S%-yq|=JYfvc^~JL36fjANWj;3lPRn+AAxZT|FbnOCdW`SIV{v?b~J1wV9z{rckDZ{# -A-BdK5Pah5sAOV+GGCU_xL(LHE}Roeic_2&+9)}&QambqTF87$R?7aM=t-gXh?b=q~HuPi9@77$!j<& -Dx=N?b{V@nLXV){P;OqtU2)HpYK1k5%Oas2j%j+obFf!Lkh -h|n2p7s*yG`ab!Ikzee<8rwIB^QkU8iWrgf5Lx$H#~{w6Z?^O0J4^ew!p%61hT -PQ{bn(nNHp0-@~fr9k*Csy{1tQTp(;ukGPSADjzla(ecC6|GiUZ2G$1r`&tWd{}wIIteWW9&FLzT8N} -d-mui^&s5Vr)o-a>7p;nwoQW9gI?FDYs&EH0p#Cg#u(kDX)t3gCk5rrT?}N0bOTnHJHQT0WGR&6JoOF -i8XER-09D?G7HYlwg)$E`JjZ8~t>2Cv&SD`z49Q8BH@eYbSBu$>df+RFIYW8hf-PFv~ik19K>G;ksrT -*w;%ATZv=BQstV#P5)2E89gP0FP8d9MQ+D9%9)dk})}qP*pgh9N+mzSsFT^Q5Q|fjMi66TM!7h8^oXb!W@)ns%j)J4 -vf)v+h_UOw?0LXFjUkOmG^kE5uS^ABl#NIV+r&s^{-QIT+`XdyNfD9)3dW(~o8{@ES(d0%s&pA;6zR; -k4}<|z`RVZJsspHr1PxVpuv~2cpdXGcGt@Qx(x$JC_`W!;Yw%h24?p|j^T$UbdRt}*aIDB+Dx!o{pH^ -=nUK7`AKy%U7NdIN&*wTH7z76(9;Ms-;L^i;&RB_JN!e2Ox#K|KlXDZ~-T4Unx^8+6PH5qBNM^ -OxrW#rH^z#3wNBssgE=7#_nuSe+DbZC9{_mM|j`Lo6olAC(hvdi|*1%#jC{ -2YhX>LAfl&VQ93zfFN8d!t<}s-hA_1yga)QQ3DNEL}+$?BG3wH4Xuy?32L)NhKjHd_qSPmYXHQkUJF8 -e8&y$^>I!|V3K#$yQRLBenu`)zRxCW&2W9#Ig_<9SCV7;+Xc2iZV -m)HXQCD-~L^+AY^QjrAX%fE(KpBRfS%?&I=5OG+(_gQlrjNcUp2jKC7;nO_pKX -xaym4#13r^jz%qXX+6_>vCs5lEaauhS#}2sj0h0AS#=1Ibet)*JO;fz2`)xGHElM|t))0Fjia{%A1`l -N((0w2q@y8YmJ^Ow!k>OTRM|t@{kUN)!vt`a-i@dd*XjhBu+OzrTO@A)|wTvC1O|&8zW`4>5E>c>pDB -t-~luh={D=QFkiAf`C4|DL|15OUrZ)R>|rUmzTB=M>`;holGR4l^x*#zR$*}vc^A#;}G5L03l8Ir+*) -#Jql0%{POJe$?>!ElU~FEjg8m`xi&Ejz3p!Vs4+WJZ(H{7(kff5arHOiAvSy{0+?-*VlE>=3IH&4o_J -vR>3XgEgK;=7K2=BQDVDY(Jl7r -jCz!h)&gV^q`Nih$3=IGTfWRCi4bt{E~u30O(7h_bu|DvPrMmNNjWK^zd_MO)BXcW7SYsOSWRCjDIFf -fR7;2AR9gKMO{z^8g=o>^dB$4&OupmJ9Xd$b#4V8=;M^i4O=AzhSBtLP}B$BF#v_Z-a7t^7>+a_UhvF -?B%m>5D@+F`sClnbOo~PE?rN>TOMge3=LR$$JEFMjzdepyn=4=gSgpyq-LcSGXa~p>{YE?MTcr%&KRYvEb=wz>J)gApc*I33UZsF5Q* -gFInqRc2CCK$AS8uFIqNyn4IV2u$f7ipxIbqPt=nrqY4*hrKm5@5@o~ZO(jeOp9#xDY3sE9@R6Q&^aL -X3jgNN9{nhU*c3^ucaM$+O(PqzOkuB*QR?yJA;QUDQTpju79uRrvy_MUS)(u?|mZzYbBGOdfTbdJ=D1 -zY`~?l*oQf-Y=BqsR7R8La~JfTwyAlgXs#8JWlf(f=OUKd83gtT2EGYoq@#gbgeqU{6(oAB#aiCpW0I -Jm}dA3c~d?2fccqlAURbWQ4ZU4&JRzm~#q%uy4HrX9KMvCP=^?Nd2Mvme^hO4NAhxHpu$(GjW5dA6RF -x>OgCm)XB2Vn+%ZRMO~ArkkObj)Lx*J2AG2v)Xe7ryW|fa-rYylP3`V!z{7ApPqG-AhV3c=QU|hSk6f -H>RP^FVT)`=-)yC-!!9`%`RM1u`0GpyHA`+-FOx+KjMh6SCyoSH>6 -GHh3=NSQeX@uVVLh%zKWw&DQwuY}77U+%=x1`=?Rauao7$IJx31Jq4u?A5=`d1l*5CwY*Kpjxn$j>yY -3_Ni}15Z<+_Qf%pId&i;Ne!Hr8Y3dlN(L!}DOeXwgc8ln2>4l&WE_zw<5Mdm%K&G>GC%HF>6@nv^VU{J%+a -#5Q!nReK!@_)bS~QokV5}Jz;3efypwN^t?Ws6MCt8?7CzJH1TnX_xBCJL -_hE56g`>w7t9oY1_{A7J$Dd)^ooeys58LR)Hw$!2~nr3iG?DTB0xafpoT&7Ji5<{r%y&cZ?i{t(L{GB -?(j8*6&(gwxm{!A3+VOG=_);*qfJq)ZFBP7+y4;QpZQ)FL+2$gaf4N27^{X!ht>fWms#R6u67q2#COJMdjGW+axt&}o5XA9X*A0~5K=@?1n1hl2l#lc{fM$1SVkHfz`p^Kh -dTSt`&6>Bt2I%NQD?hr|d?IXGx=SA^6X?LC$%Q37jT+(vSt^`Zl6*5@Y75EqI{LINohPHVvo)sGW$9+ -29S+wjpBEo3=Ib^!0ndfNBT-1g!Vg5Mvf1LRE-6*2{>B)=BxvIUZ%OUbmru)7v{c9&{NL;9q^AZXf4n -?(&vK;14D**lpt0OrIk=DdO2bt!(v(1dJ5Nh$ZU2ix-|%@9nuc2r2=M!4`*5h;xCwr -4rnzw{KVC%x?sEp=dBy5U^+lkhXn3?ZfH`=@(cUiP}(gW9^2_34b{#dB|QkH-y -gy!yJC{^5sgcH{iKKmt3sd(HSoGKN!IDr<6cyXsaOM(Ct( -$FJ6})?-q*T}7x@9=N6B*|H9uiSf_T+i2|X_pgM9)zcWu+K@U0Ux?9mx1|&?qlK$T$H(eHzgTu%bIs6 -)@L{MzRKx0qiNRx{t>2mcs7AsJib@1*94RjIocG&w4(3?F(sH4oV;04rkfeZ7wh7Oty1$*fsJUj7O`r -NEAMqB5dc@zldj%l>RT|}-6Vi}Mv4FV?h{n -dVxI@JFm5`#=Bde^Y1zu_uNm5}uW5?vfbjtrz(`kBS@AsloBt^ON(Fi;0_5kx+b1X?G`0LSEo=$yyv~ -wvo0lfUMu$lk3y!3#)s19oNR{#>XfF=q8R)`@{`*wLM+C87TG=6*=z~jysuFA{ZcYPBz=FMOF>K%C8} -o@T&;b$W8)#q39yT&5%@)vq6<THG5Sb%td}Hz?m;~g4+h;w{6joD5`pVN+X3^5Nl0 -F>A413-Nw5PkcVI~<@%yhzNGBa$-lawMH|@A4X#+#f73LpoN^t72*6m-NeLH`1@#1q%W3?;OTvf`QgC -|)!uTp0peZ&}C9?h_BIjFN6s;^Vqd?uYSbJXFL8T6q -{4zpZt93icxtJ6(U!}P5nZ4%UkZoi?~GdoiN{<9a-{WA{Z?By*OZz|mcU`0R`4Qrpx5tR -_11Cz&kaOlfJdD0cJ#?UYB1TL0L=zOEhR(%4MtITVOh3#;YX`SIx~`QBK)DJwc?WDhW`I93c$2=psI5 -X-rY)o1ig`9ro7r>*bhSX1=vNkYu0d{b9Rn-2)taE-s6d2I)fk8lT_E`2EltgR65Q)3R)bp1lFf7;DE}rDtAydh -f3lv;0L%*Rm1Duq*FxTmA^fm)~3XEK4ac$*uFmngWym3lrB_T{kZe!x8E$)i)zFRe1Qr@#YdIsLzkPY -y(h#ZOczmAlc=$K)no9-tf{_P@1*`iaT-ZDC38RxJ5Nh{5v3bEhB6gl8-jOmCu)pHb6Ak!=POb`L{p@=-)$0jrIu)O(xvu|7u~=4>^*UIY!I$;i-k`g{xr7P5v5Y^rC8=vO+lw{eSuN$ -lmyK?Wv8wR5;Yte_(>UPqA3kXS+=sNKo9UhnM3ff&pymY3W2NHFM^B}@izwdR6w1<~&^Z(&CFwv{OdFypn)x2tpLgry<|Gd|V%KZ2wv~NpJ{ZZAh$P#WdrK}BY`vilV)!2nja&%~H- -KN$w^Q(UY6z#>s5dPu4zETIKW(8|ekZ0!Y1ZoGXbeCT)&4!OW0-v>R_xfcE26qj4Yi4pLIaTfk6@jW9U -(xe*9A*$5>nz^?E?$t}RFmg6b7g&zNoIU~W_tkK4yw-U`AaHS#xTfZ5r3f8xHrrQa+C!y{tjIk`B76E -7suF_dDfO-Pz1}0~g7-GQ}*jv23MPST@6%|}#Ks$nOv-I9bS71ht?iR{vpH{)83=LT8inBVLc?z+4)N -mFGyv9{~oo6v+c48yzqKi!dTOK$Od|Z}JBEb;#Lp+SfSqK8!mFDvFYD@wfSaOU~%aT}v<3n1WAOdBYu -b}}}Lr1J|WFn^vf=>&+N-081eqUuxS}QWuoS;k6JZ0NNwPNK86AQY&n0x>YO=4hRJa)4TZoxN_p>I=8 -p-o1o0ReL@4cBYb)8tx6^4WFIa{hLR&xt6Dq2Ok}1@)XvwP*-=^fM!o#d<-RgAMn3=EwX_H5G^oWe(~ -lpy?pTFW>)q)wSCfQGOq-VR#UmG^(l64v}(+BNGIgKBy*rTP}Y|*X-hx9(91gO27l58-SqAl_cS!E;) -_95+Ae``aTnaatUKxSQqg^E%A47Vd8W~AAh6BQ1y2i2vOd~8lapiWg7Bf(KtWU44h2l1go^gN -lD#x8`Zb!cm`Gir5(9gt^23UecD-#Pt^!tHQbr9!xU>LK!R7CpFQ)4w -gR`yS8P+74rl^(77R!;Z|I();@ZUU#9mRVtkg6y#$G50nf2B`f*4gyb6 -zZj21OV7c06A!;7X=0g_LhEC7&@Faj^VlU)R3ppBxtT9e0wAME)6TJ!ie%cZk_Mna=44GV!!kYy*4NeyR}mKT*IVYdVTM+6q -d!5CG)4BECNRh;UbJ=J-pLcDz7j|&2CS54+|GpvPR|w#>a~l|tv`k@**t959P>VgPn^@Dd|76AUCNps -*~xxH)u9kD1ZU%2g|E|P`8GATVk1)XOAv#sGI#|GN4&O>Lmx>kOu7LATquW~n>MkmHK|barsj92*2@x -ERd1kHIPMe26dSK1l|*_7Ego7VG3k~;WJ1E!r_(}ql@;P@(jQN&z`*tYy?n*s(t7hF<70fH<~v2#_pO -XnXeDEQJ_1`Z;8c^cCfL0qAWnJVtzPC~&p3*2(>XSn%c=)F4#ZmlU(UqS@b@2d611OjgK-AO8p^H>g4 -g78A>s8Kx9D76w>NWnE;9A`nCQ4xeDbS1XEP30>v3-*&IUHT+2ORCkut=e=9?jU&VjlgyDY -t*@UE-AM*gIO8*%XUBc~;!joK8#1_By8;F1(zCl4}lNI^jse_nHdcX(ZyH -_S4Y~p0_B#6-)EfzOqZ+jp959R~uG8(zoVp7r+l1+*+>jkOtN)@uqT=-;}_?+vUUrc>?O2(4rzIj<>0 -1O;xD@M{nr3d6nXstjkxgPrjRqmnT15OvPVL{^wP=IYZW+g-Nz#%A}-931iZSLY!weMTFO!BZ3Zh9Zl -QkG#_mP*5PfVx>~Ti`3MwZxrCn*=juL{gop9y;GngZs3@qq&YB7_+?-;QH-(U^)4$?`&~}QD$NFS#)b -K4ahaKWmaf8*!$yhw-;OUmD)?Wt= -T}1m<9eKl_rLZXt@&J@yt4&u_ZVwR@}e5dC^=xXcSW{L%%?#%73+!k<81b&D3i729GvJs$MoxN3B_DIB;=!vSw|1+Sy0~%gnvLF#<<~$v@)FOAL~FN1*SdPc3s;9*Jf -C56Kk%9iod$QlP56=KPG=6x$2(f<-o_HCHiOo -~`L!vj<{6f?^_?{!v`%y(SAsjxwv%a>c}t{r0?QT{y4Yi8UcoQyh3U&MfiK^jzBp4Z)`D#a`h0*4X4q -d?PwDdT?amihrg^QHlS;A;C#3_OJj51mOO*Q~kxt)W43(~vdT(Q!&T9H4&C#CbbARH(MDB24;DT?KA> -=%5WZyyEZoy#;dlO(&LL)qJYbJBoH?W?wCo^Lqx6+~BgZG_WnnB>f0cQ?rv%-u>laep1OjqQP71G;M; -UdUpOtHzqfxW0`Z)rfW(KA{>D#oJN5*9$2c#}u8H}6@wQgICoqtu!?klI8Y9O|;$@s+n-DuwB&Zc@NQ -L-Rvx$t}P!+vZSTatZf>|w6Zw1+)$w!BOx4@tK -1h#L%|WwDH#ek_V;DkPc?0lndy&-BQKC)ntP=@q=82Y{E%=z$)1q;_@137MrAj-fbRzyrDwhmu+9-0_ -qymooPZ_2f>D(96F=-F1Sr?m@eyq={PFtUg?L9W>c)1JECfsG4AsB+&Rwo -jeJhIj3t7;ps;q%B4_Uc18q`)yVcxR53H7fn4LhFTTYxV|)WsrHkI~Q}_)_pzC(I;%xyw5F -WW$Rt}yyF!6mCk)osO$6^^9BP0+x#l)g>}yS0W(6WRS>2(!DI_e0ig_CS0G*J;;2lm33eG(cO(;hpKh ->uw^`MXseVHtLvVLFO|D31zn!WWp*wJlTyzdo)5WIssx0Vm2=7a~I#-s2>g`{^$2`r8B225%yb{pd{F -kSYw`w%Q?eOhz%X)LotzHx5!1|xs1>?@p>by{9bE@RLsqC|Dn0-K05ib@}!xhd9ffK*?EZZoc_EhN=O?gD}=ZtKX%9h}1mXo>4 -*Hl)EL9=I|G=H3^Qq>a;ooSeKfjrQ3^R&c2a-MtN(W|hTvIhGCEoFjL7CN3{K&-lvrr5%F|wwUe}Bx_ -Jfw_a8Q`Wh;DvMVYpPIxO7+hQ^fRyP-BjC^ -xal{nti8T>w+w^8_*DKxB4*n$Z+_u|sk0u5m^n55J2o*X|38FQbFM&9Cs^#|K}`uO9wRzQW6VEtfH<^_KA^0P7&j_ -j(ycrs_@)-=QSqy;9?s^m+uo_(WaCpx-TbBpy`gix_YvN$ENO#*&M5j`eYJd>xPq&2ZVsbBOqbYFAO2 -B=}xBIh?-CvR2nm%Dw(Iy~C1jHJ69g=^`mCtmC7BI+@6UlmvtCBT&~oaz8wDu0Yg$r7ay$oKnt~3zM3 -5h4*&zLA9)sSgT7c@g^=9jtf)h6?>6-3tcTYvDG{Jj3L#F(5h68t^peFqRH1B@a@Y-RHr0~rmoeY8_g -s6;%1h|?nt7zE%QX}jz@6=_OhFP*BC4;~T7j*_s=~zpl>(O7!6S%y86@PmoAbZfeMJ8vN^1ukI1>4?BNnvESeAzxn?U!~YGrGl%!X -yO|!oe>l%~Vb$M*2ixht6YU4-?xDG>yb;j=E!zg=O`Dab+ExueRBKZ$@PBLVf9zF@fA-4Fl6SL%!%aN -5+Wu$odRI367w5qa3zXmojWde7MCti|${Hm|f4@cg{|V!qhC44F=B^tqZhlYW1?#lVIj5jR9;;SKF1j -$6ZvO|rebMGR@nv7Ns=pkcz5EVezx(Rh#l^|%m(Hcv -c6+MUtm7Q;)woN?Z&nYj^o7*HG%&}K`*<+}Kr4H2ku`qx|QRZ(`iGW+%Vv0Zhz2??BipCdL(vqp=?K?V -8AQLilBeRNmZ7k_3#c<*c+jb}Y74f4j`~qi|8Tr(qlG;if}`y3JHH*MeWvpuP -K(Fnklejx>QSvuXuoIubQ{uV0ljZh`z-Q6+AVCyEyozsiHW=m!;5M6og8Dc9eQ^%KQyQBbSZuIs}mA= -W>5sYcKVpHUt4`9Mhsr8JBtJ3ck4yq*kc!k{Kp - -Z`Bl*BJjsB?=nc8;=Ot#CdkU*ZLBtdqP6@-6x5k8%)@af{j-SOW+>ssHX=caZ*Xs_6My*d|Y -R9`DMi?69bOeB|R|v(q^wwxk1K;0C?=o?GM)j_(wXtvE?uno?XYPyWE=jrBk&`Rh*p`+YvE5nTYwoui -sO(gsvf~qbOoVRjb%@PYy6$!pt{CPH;p*h@hH<5g-`^is4zCf}AN{MR-`P!a49|g+BENkSeH=K#ptp3 -nK?(k8d*#H>(n1ViG_1*z&Ojwpi{x#^fjDW)F@GNWRbA(1Ni^LsmNrcogs-N_Kv?(L;M}X*T>vfqJb; -#qn)2{<^vO?#jgpc8-8A6wyd@x>%fFN`04dtKDVLk#UeF;bHo6&pDYs -|P}B#iOlIB;v<Ln2bHL7AqzyPdv6^pa!p@pTXc9cr1dPp|G!X60|XQR000O8B@~!Wyd7{y`Y!+gRmT7T9{>O -VaA|NaUv_0~WN&gWWNCABY-wUIWMOn+VqtS-E^vA6eQR^u$hF{i{R+e`7f6Mo=be;xmA#6snd`cKt?k -LoEscwU$fkr52yg&U5|h3Eeb1xc50LUqvPtblC1VljKHYu#^m+B^(~q;G!=r58EXw-oINS8gqd(%CgU -1JtvuDkE+m=_?eKvYF&c68U^DmCzKYz$RT#M}Ow!d!b?0vKB?}}Dr-!_|iQS@a~Pod^}A+nb*o}ImZe ->Uy!`>d!J*|RsVKfHVK=kGtfdG{V)Lb-!Sj~=}}dz*dvhi|fSwXVcU)I9@%F9!$9wpnGf*>clwS}~hp -nWpWtOB{?c(O;_ -<-By45Yq{pXWM`+UkI%~v+d8|Si!}~tlC`31Htk$=vgEv30Z>)`ecwXkFW$(Hx1#N!mil@n`dK%>2K- -F2@9S=}#$X{ow%<-NE>jmPF#{Tz$zey^Z$+_~iF<_IO -|rWdCg1#g_Wm#L;Jaw)&mZt(J3cr#n9Yi+0?Ikb&U2iSw!GZnbmWsP|1(g_i@NKfgjl#A?e_CTnJhoM -x_VJBn}MqKr?)^s`A6sz5}IhCOOoQIFuO15-Dt+Bm_gUieti4p-G}!Y#ZW$9Zx;aYNRE2?a|aC`JbUx -%)#>Z!(UL%8E5NHNdhq1T>PBNDTE{O -pyx$-z&SUZrT;l$2Mzfku94x6VSiRpZaMOIJP^*5dcE|_FwL697E*wm8gO1!Rm)^-vaj&2YNX3N)+wT -Se{{ltiP5xoB+hWM9eS>a46_F50e^!6C -|O0lAn$0V-&I?!BvY~_;5GV<#N_;YPWb?nf-etoWMe1w7FkFXq}3$P7iEjCp@qAE86Sm61`@f1i|)C+ -n!)@#A1p!lkIC)OZYfV;vP!0F7IrAzcovdF)HK%oqcY}9Yp<(#M%q#5;nJRM#h6RLUg8mN2%Fz3|0Z5@RK#{TGxGSp)BtdgS -tOMCt3uA0+iG`FTrpKLU7|)#mVDK;KX27mc9imB>I#!b6)gW+gT^g4>NR2egpu!I`HE`@8l)!N(N&sr -0fc5LZE6B|LL`jBm?6ZV2T%;~8E8;wn-mq>3-;AO)%H>i;(M8C{1%clkcs{q4lNV{(g3?8yOtRae+Sn -^8-hV2^(ELwIu^NRPokW@)d!mEC?i3&$vD^~$=@yo*&wB$&!BFE8!OWljZsBQLifS=)sC=k%|B1zIEd -W;2Q&?0}06(HPNlsydd7S+qvRVK_fm1;5<~O)T?nHhopwj{-w*gww>U>sIsG0&NzZCNV_yDXp3lYGE5XeuDhdngZlFy!MkqZduj~QdaeNr~GOLm1kIfM8dW0*bI#6dBa=6jX@ru7nw}HSKY{5in}I5_rH2NrzQvu#xt+1S8KwjmgN9vM)bIVc--gdsmMGaT -^XUjs$!(042?owLks2DQlk7N!Uy{&FW#(%Oee^m2_Q{#Z*1rUwkfs;oL+^2vEh+bv0#0OCaf3ZW3U~f -QtHR#66l8-3(Z#C|0BK7j}wevqg=$ywLQUQ;wGh6<5<0akxUD``e*x2#~M{6zin073>9d_saMs3NLh6{GSJS;V6pmbbF^NO1$bI83}D@?Hx=3)+B78M)-YH-?yrj;MJxb;QO9)w=$BGr$s( -}y8Ewoug;^7gPp}7pw4M+O(1&gnMkj%KQdtgL3+||@6q#}WUUtg%AOmZXMg3a|aK|s1?bZq5hO5S_=KGSC7T=^Wowi+DS?heH!s#u28aPzX*m^BfV#~tF7l)N;sP{R06Nz&Td}T+ -xkYEh?xFAu3$q#tD}vV+da{7D;H&Y`K`HFC{A?+f*m-gy;U^NoWa8s5<;Jczt4rWAW|EKfh^fXgDvD; -*=%7IdRJ|zLh3mT^_?KHb9Q4=6$c!FDM!Nx)(4YcVAA!cah5>F?qAlk(dI%HHAV8}^txG==v6hwJZ`V -Thza#&BY{kp)7f@D|V0b>IVh(&|$Z=4ud!g3mMu!*q_f*c9jtst0V-9XV@3v{?6k` -y{uU>BF`A!NbBHF3-fQFnUGgk}2ZV^U+vM}J&SHK8nagqVq8@?rtc -KEbO~7|$8N?-Ea~_n%C%u3w?WCsHpPYZ -KXt}qjf)=U7D#AiuT+U!-D4=SqYu#SfH3y!Ov*tONKW=&{6<2NH5JEi8%i*S=;`5Y;`4hQII|4%6nv|+13swUOqjH{?xF)56uCijM -<1P4r(b3(VJ_6}-CGA;u8016VS@T5WWZYKUDpwO?kXK#%YlWUV^0 -`Uq5rmTw;|~pc=ndcRK6bNPr7XMq#NhilWgSLO0NAVb*x58Rc~oIusVb9athDdvf -7R8BH{dT~WPfgt$m>(Z*p~VlhL$}DR@mYR?V7TKyFUJ#M -%13GLg9vz)-O|1FDM8^kzR3fwXx3k00$}J<(6RYu-i-{x6z29R16&kg=Abja5zj*Adw5niWzFzorjxQ -_lh*mN-A|%Y)SE3ZMvSt5^ZYh4HNiDM3Hwy#PUzvT9;b4h(1p#MV~15|>5t1z36@G<0*hY=jF1x -be5+%}>~Xyp6u^d_Tk>&ZJ2!Q6N5Ni~f{C?YfJX>0vjC3JcS>Mz=DB-WvFr^VC?^#@-r -a0X(~a!R7W>d*u|xMaiL=>!4%b-WylkO1__i5?1KK)(zAEhvXiv7J$+o)^;#xfra$QS6BNOi21OEWtZ;<8w$q&}& -t~kP;&dG}eJ}o@N;T2*7k?m$BE^Rk7{No(n34+H$K=CxAJ-1_qLda#B8T+b+{&K5-~^oEnPK>4%392} --qswq+Z}m4Li!VD98*z_9`Rh{iusoqZ&&-o&`qm8Dzi3D?$%CRmJ6-wQXY2D*?`#4t7DMN(E2M8Sc+U -7%mmXD`suIy#}0M|d?uTh2oEYT=JYe{!w4?_{jE4VGoQ=96F~1Djt=`vyc7tY5pEztGBsevvJ?T3DS4 -7gG-frok8p$RuMSr$1nWPa*oIp<-3TZ -q{in9!)J-?B5VxP&f?d^)#AW-pvrC&Lk_sIuwzx{&_-hF$8!a~#C|^}KCKFXd4fGfI#;S`|2(?TCWb- -L<#ZhTsNFo0+x~l5KgzN&=B~ziP@2o~wFdiBGDA!bW#BLGnPsK4VO=riD(sI9JJ$wzy7CUPDYlR2XPv -c^-QH;nnJTekB?a5JkX=((XL(6OE`U^2GQ#We>Nbg|c44m(I`|-ygrA$6rH4DL3VokxAqF5wdwUTXuN -Ut&eEuS}=ilcX^nv$|lT0r-vQ)iIK#u$#&a66bBw8BXxd5;=QcK)RMi293H-YlqaGfr2|17-1l+8%~Xsz*<{KMi -R}6A94{_nU#{psY%=Y*QRt2+gq_{jp@twBu6(LmG|W&18nmzwl0g*45}7y3h;Uxo -BT}BdR7&vC*lBY-vfqyHd~0h+(r|5<_~rFp^fW@x{*%n9bP1 -9GP5s<=Pxa#9jlX3Nc-CQlrOFFOFT|f>Yk>k79M%r(R1+C(g%nbaY7316N@~Da_dCy06<|Kl8JGf7+0 -d>#4p0Y6Kh;*2b`TFB4uB54`7nG1Dc970IZ3l**Em;ZrP0~Ap;AS4)wCdwFr0U3dZ+eW!c86HM -tdWpXNs=;Vku^q-+U!%O -s6yA660x$#JnC|0_p*dpl^B6&C4(Y?7?rQ*$`SfJHus$i)v664S^*?Qmuf -2*J{ukqxN$FWBJcC8GtnI&Zq*_$+xk4il_gpsIm-L9cf3c$tHefU#&3WQec|JL3H0djSYaO)>Iu1Z9? -+isUrHV?oqzkJ?S0u^*#@b%W~{*K|@T%Oy`tDrVj}H_q%3(azYX(=0X>pA!A(e$hvSAADAL$2nn+-Y} -71qg?glbSS4(SdoVLnHZ=?B -b8J4+3*46+pB{G~geug{ZR6reA!iB(m>n83=RoTTh(Z-PH$~rQ_GPpR1?a+Q^_1d=Da4i?W*Sb&1*HMyfaRoo7sXzjooU2L7fr-pNn -@X;LZdfqqdStV{og_-1XXVt6X;vSIEjnMC(cb!#2}a^o1zMV$#x~b;-kMeV#|Z05VZkr8BpySBd_0lI6LNThtsz&ILhT3rL0!AC?B-7#4WZDvazYq51Tk|V!T9G(2ZJ -m$e0}N8D$;xWA)qQk~9Otri`*PQO+mT_70nqbmU&N&R(L~{td>Zwopt1w9iNW;DIfa-P)x}<@*m*Fr} -*~seO^2Cb2xh#R9#S+Gf2+b$pQ7sd+j%@g_4lHR|M#Y0)5(oDcsYw#M}kp)%bj%^8?hO-0W&$HqHg;lTj}XnTRE8ATI~g~-x=QAu}rj?MJf(j?Hjo66^R-<^CE=~>}8sfnXn;`uLh6 -rrZ5>GA}FmHe@H^t=7!q`X`!ifv~jT(TE{Yy4~vZQIqnl6>N&ref#@D4WTNoZTVe%{Z%VN?PBuTX;ZZ -7HdL8CsP+n)6nrPMqW9R{@+0e^mMJGGldOOENHt=tgOz-wMTQp=nt~WiKoVeI|A!;YZ(U*VtCR&@qWj -L+Ii85I8kckbX`;v8@5K~hFgPFq*k;I`6ZrMr4{yy!eTc`Q8+gn8L-48BUv-ENwJ6IRc4Ic9A1aaeO(Fe2# -<8vto`2l_@DOUL0(rMV-q~bq#Jr5Jb)TCn21iye%dg=usviVEHFP9#7OcX3Ec@0r9d``Q?f^#m3Uhxb -!k;as8+J%c@V5D2j!L3ry=QQ60@&ClB%Ir5tiGKb%VDPFk)W;GU7zUZ>OsO1xJVVY<#fLsgvap0z7KW -rQQ=2-k^rm=0}&~8j1ilrouN3(bsvH|_>WG_tNlb%K5ZtmK(+6V=UfwaRp-Cct -OSZE*ljw6w-qlxS4T@*Ygj%Rmn#FnGuB(ulkjybCj)-jWOy#di$ULqG?gV8AeM3>T< -fiIi0}7G?P~B6lI2JS}>{BO-4b!Wl$ -#nB9%Rqx9KAVhv8Q_8}>%{CBQ7< -%j}u!8A?JNk$bsbtqq^M|NrC6BUt9rpn#~1$S!nk{7{M(oHkUA0r -_ZOj&9C&?b_k}>^$V+fT=_z{3kBN0dI)CB0tF+qE?%wi{rAwMF7(?(sC=yrGT=ek|nE1KzTgD+RE;Tr -hTO~beM3tSbj6?rdn4RF)O3QXvz5jUN``{KTG=2K!+Jw%XyNGd^6q!uZzl7>dvykcW}D9JvrTyP32Mk -Q!SGhQy)T2#sVKEdUf{!%%Zo3rz{JZ;lSJ^7>n6V=jJ0AoF~=@Bc%G{w0GQo@+U2aMR7oJp)M1c`g6B -C7BylN?iG+44(@x3l0(i02&HXDf?+~aqxL6FiybNF`T9e1G&(V1{6nX1c_U5-{E9qSgTc_2Pr|SnN~2 -*;s48c7bcc-cWb)=%frl%e<`)-7GB>=C({AsT4W7YDhHTRfX|6u@Khj`;iOW#%vJ2|j2^KSQYNY|`J; -QV?ITB(TK;ayivWbVY5EsrFGCr`w$aGT&3?FTH%pNRrQZyK|JQI(XR7ro_gx!Fcm&ae~Oq4QSDEre%_ -L+aap3-djjr=dCkbhai#EDE|B}z7Ne)Pq0z}x-$WWKA_Ia -tq8O?^zZqu-#@*VgtonGhYPY$xubJGnYwB8?_Ne#wavFD~7kRkP1}ifQ@Fl@R>ecH5FPeDf(Eq -c?Rq8^M#eX7Tt#&N37t`iXT1M%j4R!6ELS?TvVP__Fkl{std%4J#~>PQuVQ&;mo@JN+5gLp4$qK=@KO -Dk-L@Ow>)wu*ZxOn)XWc*^r{xkd;aHF0tA_CLNm!h1bnI7&;R%?_m(MYBCpJ_edhx^tC}go8ndsR95~ -n0ONS2JW!Jf)g_9B0=#@P%9T+@_<(4L>74*Vc~|ku&W(37cWQvdGfA -+o5DmN-B5;ERc0m8FKGKsYV=MZ5Z9xLwGQ=&aOQ*W-XJ_1&`*v!Qu2F>e~=Y09a^RwWi+%MrtB)ilej -!yclT%2^qH|pG!-?bRd&tuu-380ru>-$=5{t}Sm3`QU1CCs{cL3#W4yZI0S#rKioN!R1K&Einh?XCNb -?lmO|n>SZ=*{SrpRvSE|f&LEN{o2Z8iTm}0%DTB8DPGbdHr!jo5j$Tgh`NmCZ~Aj|tiH<5g -mgN%~}J;bp+XOT%^Poyd8v*mM^TQo+y7pY?^zt~# -+zT;%K3K8?fd!D6C$*a9!6>X_WDaXgoa*e%&yj7cZrwq*9U7jO2-)|Q;RzEVmE{3V66e-{b|La3lSd6 -jAq$`Og!i*zb+l=bX8)<7f6iqeF}3?w|dsx;R`J^xHGRzA@H_qcjj&19@?o1!9B4Q7Lyse`*#t4fX!t -}B-wq7374_U(%wU!8$=UN0(j7i_2U5B;@VtNj~fT{@va00s*}Z{VL255V_R{g-GHA&m0;Hq?4gKGYX) -;{GNC%~3}_br|L!r@(Y1|_1fA;W4mu#vdTphEcqCyD8Cge)XC%l(D|bG -eh@9EMM!bd`-as)v5$?curG6rdNG>_aP=~SoNlOQxfhGr-OlpxAg9r5SNwTLMoGFrtFyZ8+j*$md)Y6 -%uCkLGs_+zrC?sL^BFQ;dwQD7`%IBx8rMHD2!rt)S?kLmJHjwNZgbyi6q{QvAdzxSa -j2hzbmJvO0hsjo)_sSi$w_21cAviyW_yjy4L|1sf8`IM_I!KXTVtMNJt2#nEWel1bKNIWLe+;r~Lw!U -uH)Zhlq{)PnyHwzoVl6|BH%_N8|?qBbq3VXmWO@RoC%d*CptH^m#I-)8@QS05x%r}w -^jHlP)UZ=uy2V~;QqY+TJ@!S_Zmw-R1{K0R#>~tiiwVofc6eAY8eW2zc5tX+4Fd_B#aUbGi8^f4bmNe -89hR9u(%2@Jf`t%XsM9Y_Dk;_e9Rdgx(J5JQ=AOA1npVgp<=z{Tie=ZbH(v8OE8l6!GpAN2D&1nUNxhgNbUimP_DXh;D2*!IAqMJ3 -u%*VXQGKzguz6Iu?z;d{yGk=!w-xuYlR^^Ed0P?^T}P=y`m3H0GGl51;8GvUlc!eae=}Q)67zjbt+fc --2s~G+oJ9;{+D{r8C75)l^ZrR&E9Cb8w?Huqwh{?M&vC`q2IaPU5}MQtIROvMST$wxL+j3KU}lwZpyX -Xf&Ld@^Kz$%;^3!G69Mqnu-uym{AZALNe+a7(#`x -%p`%f7PQ;R!d^fL~LIf+N{95mI!EfyJ{xnfn{mHAy;tgqv@tiDqrv+nJh*%emNT8VS>g5<}P%H34p;6 -M0$U9R~om`OWWpru_belF%%bcSLLxE`75t76UU%Dvn{C$mDH2DX8m&Z@W+71{+d%_959p#XiCInT>Z1 -`2BThB8aV;)?8C0;58QE-vUN0Hw=SgR7QQhVPbKTHOXD3MLa*@k8Tjc3O4Kgm}>k;~vCvS-O&A;vQv{886HTFh|jKO-t7q+@R~Xn@sS=z;z1})`|D1h5oN7wsL!N=HH}w}6vLX)AB%PG~(T8L-Eez3tvqMZZ?r{2nml8 -PpRz~bG-$Uz>uA+U5u~>0TekN&`X1z0JoIcJ>M&z?e#b}34p|91sCS2au5Qe$Q-k!?z2Zwf%Llw0~OV -w7A_!0%H=&_FJ#B1h*5R%XBj(?2g@OJ2bpzvdR24V%B`M~uf= -iz>mZ6<T$+J%Q6$&f;XO@@`)+&arSj774yl#HVDj!iWyZ25a{It1PZM`!`_Ix5Lew#^6DXoCli|d; -dlT0EM{SX*`5oK48!NEAN_4y8+%jJ)_~r(>9sCmaWLr#kZ)?N%D!4tQ&8-*WA1k4HWM4UkSO`L14^}pb4jWO;rpNS4z#lpG)A -W~m>YkXil`_2qBHY|t2aD3&YHT&YO1)DOZ88RKb^}B6LBd0%sVf9W5(%`%oeDfa9Z-d@^6Ze&mHnQQc -F;(@BjTyO&719+FB!JI@igd%cs;|ys|5WGEeu?{@E?tId=bs;c3@<3rXD7LWMF)K|TQrKU;D2ad -B4)u9t!c031TArwAY{t8B76SkgPMEIAjkrcI)>J*$hmX4v{?oEUxLQS5re_N0KoWTXd4MVb&gi1A(2j -3uu7+u%swLxKBmvHt_e-A-5aNfIV_LSg^umZa6sq>_Wt7Hs48y+y7}9}ZJ#R!V?o}6-j@V(v5Q)o1wQ -J?>!U@<=yWvazx`A{a?igo*}@X)66y6QV{fsOgGGFX^QLO}wDE$91=CFYw5+pXvT@LbNYXfp1esYUzZ3oX -FXxl@+Tw9*=>1hW$Bag>q=)t=--;GJxwzA4YGqhUZK6xVNma12Zr`cw7<{+bsX_EGa)kRiBv+47}+u1Qa~yk-)8^Xckb2BLKqZ2pW4puHjZtCua}3={^2*ypT#{-`vE`e%i+2GWK#km&3ly!S;KTw?f8ZO|E3u?S& -oeP9$?4PM`JFM-x<>`-2~REH#qWe6o!-ZtbR-30qFoYwMS6zuv1a*v1jboAX1+DSt9fb!0qaBAWqR=5 -DHO*dcm>)GZ(lJ*^TuXc@SHo5_zR_=n@e)3KW_8UEkdd9=~9U;!HG>#m~3k_-s9pPSgG$KcXmt07gzg -T4gVAM5m(9f6lPDoPAj$tIJOn=k{R`vDt0F3Qkr17acIAylwA=wwx&cjdSl*fYiE(#u>(s&Wz|^6P|( -kv{{TlxG)3z}jbf9ZpZg|LFIb5j+>HS5N>4=xjMt3ra-8vx5&y%J#i%?9wiU*%^A(vmc~j7tOKD|rSs -{)n{BER!2Z;`(BVX;Z$iTD9O<650BZT(zON;^qBE4gV<(%L3)E4_h4-5Ig<;ohaL+oo+dn#dj$}KN)b -BL59mxI%cUNnTuXvmY>=*}abnaKa=6SoD4AqSYMXS*P{lI42vP^`DGYLLaaob*;mw+nYxm^Q1xAP#k? -cJ_Z5S#(gtyo^gIEJ(8&R9}eOSr}`~`PF~1&w+VSw6QoWj%lN-1Bh^^@&$ThqQ`Q+uk}%}zcA7g@%5Z -vfQ}aTM|`p6QYl1!W03jg46GPhY#0R2*$=x4h&egp{&Mt%lHW05Z_jEQ_^vm2-puvGo4cYYVMcrjTG)wP6~87Rij)x#FINE* -)3-%sV?&kp!ZgQX>}!P3S~+OWtQ;d%TVq78Q^ -WL8wZFhxo$C2?iWAf>7L%r|jhB-CM$bEvansyjOmjO0=m#8F4gcO~t8{Y$Hz7@xx4T}s`ru^eKrZx#) -z6+|q-?j2QEs7D2n(o}TU#3O;TV4OL($wnMPv$9Lz(Fk}mT{m`M4|GSnvRt9kZRT|HHrAVufme-6tLY -JuXdP->>A6tYpoe<&*%(JBEk>Ga-ZB*H2?Y`Kd^rv(1ke*smx|lb7(ds@zzBV}%i3B&QYbF|0Sibqh1 -=@?y?%b9^@F+%T3bvW62Uu`PHbo8H(WfnhJcDgeEqCtTt~c1;R>Sia)JQr@Cw4h8bRt9v~38|MvPb@^LGU+Bxr0%;8O=;w^^+)R^=q)1_^Dse2YQN -Z}IBN>!wl(71bxk;A&wXBGkQ>-*nm=_(#36^3_c!Jc4cm4Z*nhWX>)XJX<{#FZe(S6E^vA6JZq2Kwzc2)SMb_3q)B -GwN7|rw+r5D6Y?=ie$5^lXfNRWXB+d-88cCO;c0Il5fA4va67`y$*v3T~L@>M>i99?!?{i4%p*a2GR3 -t^J^39p3&HD8B_~hi_$wTp?DEC@zwnl_6X5!hCr(cP`s65__H}Q|EjG)C!mB_r3sW62wTPa@e&9=zJn -__M5VlBnDMV+UyQSc0Iq!uv@l^d;AwJG4&MoYPqxj|TOq!ceNUtGL;a}k*jM#On4Ui|Rt`s(seZ?Av2 -dV>$4-HFvNYn79$si&Xs=UR?{@peRM!(~6S=3~sLH?uE(jn{$i7aBT^SqKDE#jF`t_gUN+r*0v;7 -Wel1V)mSMq;rS(&-O*RSKMx+`@0{YK9Tm%&x*tc-Of=VDc>EL{|(%n?iloX9r|voB>ev*RPR+~`T1Y- -PFtij`8E{apN0m5WqC&o@%vO8r_FAND6FNPFPzxnn}Kk>({m3m1z#-pR#cc5?E~#kbGjzPw&szWV0kZ -_qf{8dFwhj~|!&Qbi?6PE_a({SKPuR~OG;evi%h@kx@wbj9m9xrsOO5`^kQSgd}OiJ37Y9z1wJf3LTy -65LqJQp*a&tOEHfxu;OrRWP;HDwE<)nJozL>&v+($^^;|CTO&%8HH|EB;k4w7_NfT=DOZqRtxxNzLP* -OV)TMWTtJ6cX?*qf#cu+Jkjk}Kz)NKoi?EW}dXD@$e^untPRXAZUYF2T#hI!kC<#oYGI5^B=%i_I2Hc -K!2<8mvAjR9Om!eqHvkk{2wM&%>{_Q23cI|c*8@HY=>_67K~ckK8OqT!W-%be|Zohg -UUrn;uy@WSOy;H@zOC;yRWigpz>Q_M2aF-R0?d`{!Bco0`W);(V-`$Ro2Cpbs1)WobEQNs%!!3g`630 -uqiiF&llSQX4QL1vW;3F7FCqW+q}*)nCe|H6LBRfmEUxy`%t`v>EbA>Jql=CX9j2hGNM6HK^FL14@A@M6q&n?+O;ash9--3^{->`wYOVvC#cXCotjGv`4_%w5ZKFPI|&zPG8VhYE6A-qkTc-5SerFWE@ih(sFQI#qe5zg4_(=TJQ728_)CfFQl?(S-=)A&~ -)kq)NQu|sUuC9FfD(UhAaWvEc67Gu$_oaDmPNc2{E)Wm!hM^Rcjm0v^2HO&j_FeGj2K9dAcFN1w!cHc -}WTvlqXz+_K1M%fjC{gc){Z}T~eU756iPQjAplAn9f=nj@YULB)o#w)`I|X;shnKOC!>`x&+1C6-ID%^Lmfayf@zPTk;F18%v5$z;3blEN$Kp)0?1Y&}-|a1sz(q(1=$R-^$~~>kYI%EMAfLdr^yBU15+6jVoZ1FB`(w3t -vopIatXxY9ZQC)OLfSwv!MNrCyxzd=smD?nwYNs%<(jBCyj@gEiP%rVyn;Xj6HN{oGQvsDKsH2~bCD= -3U9~cr--t0E=E=WAu|lx_9YK>{&^fBai0vo&$}zwRO@38|YggSQ)1xyz43eZ~`L$3UoTsZeJW1-ZbD4 -wFU%<)`|qn6a5kuq?eC)gkQAb+@kq+IDRX4QJjLRTX#IjBG -k32i)S`?)pb8L8)NATY9-MP0ErNeqo{RSLS|Kn~+~_vTDI7iW~poGrh%&z4Qxk7z>n0ANAhG8qGJVu9 -3{4sMW}HX;&vy;}jo=-!>YHE(tC&2zj<$pR3*lL`z|=ca0dfNOhG9o-v?ggKzKRJBlDz4<-$G<(?}V)15D=P- -FrXWu=KFKATdpwKKAc43PddP$tY07b71&3enfBEh`&`b0}nw5A&g$tQ$~=B9zxf7ZpF)0MZlqeg8^2P -9K>GWjsa!?PXOv#>Y+m5@GMzbu~Fcg=!r{h87&c#2f_huIRdmV+s~ptFmBG^Y*!eZkVeF8cy*_;Oc?M -L=n3~&KTzeQN`M>AWn$WT7*MFJjROyO`m-Hi#PqZi1kFMyaS2%)$CHE_6VDXmx^TBunH1N$?%DSW<%5 -u*#2bNx-2_J2g1|7R7-k{_4bn&yHSiHwGYn>tM#E9|!19zLo<&%7Uvk|D0Iljx7(A+6>Ks}zn|TJDkx -#OsLd+ZSL|fNOItHuc903CgrZZH&O090eq$1r!qj;7C -gOMF^+o_X?gVO=uKyg0^aI&QuF+`RXA%dNzk)SbEF1TEh*Z_F6yfqEPxzYfWC|5)A== -&;o44oP+R_+=Zco4|k{=9e{5u#LI{}9Q57+#Cr$*P2N5lnLH^iq0brqXr%X4d`*UtG#;EiCAK(5Lk?Q -T-M_Y=o8yf3N<#WDJ^Php2O1r8oe%6vi{%-ren;&wZ?*Xf1QvTE?W%_}GJdgT$(K`gKI7IHj_Cg565sl@0{}~|EeOC5hP} -!W6;fpVLG`}|SS4f#4HaF-VNKES-y$}Q`VhfoO$W0RCt2-%n@gCAvvhuy+Mv_VJUtCfh)L6ahX=~G-0 -+JkIhXzoR=A3IE9Ib;K0Gj8a;|r)?#J8^e?O6o#6yC+!&wI?XqroFTEqJ({TZ;PNpAEnt$yx%c^5{-O -5)-yPW}~e-p&`Gxi&bY=CO?UhIP{;9n8%u+@a$_yL@ESc~o%u2DzNfyn -;Ep*nclB1n^&b_|bB#D5J|=cdY^2)51bVjxe-Hd*5Gn+T4y$b2 ->-!m)rkZTig%rfuOxD!nK;+PRCO?&9G$qX-KuDokLxT;Y!em_wQQ -@u{6iBgs4yCl4?gyD5#4;6fV9Ed0fV(*xu*MI^q3!AXbvdxbEMVc0g$xGU-`Jpc_v2&P18hOv5q+bQn -Q@<0|qeX#{n1e$#nJsX+iFW3qGJk|&tEk3r8B73 -_+TwT{zaE9ewTSS1w2HB6uH)SkP*bPcud<(9Rs#m8BjDpLc8;8rRl0)eIn4=AuKVz^l3^dyPPVF#(Uh -#IPbr(%+!I{Xp;C*TS+EMzuMXENu!eY0aM({9fdd;G({J>3oE^Xsyzx#UFm7m|&JB{j+grb*byOp3b5 -fB8n%e_KU0BkcwQqUH%$~J%6Z{+MgymYsHF#EQDbKh&zk_Q^KKl*9EPYlfd{oh{h-x2^(!ZO3VFhElV -dKw%m$<13P&ffPlf~2j>@m4zA`)TPQWeDX_3^pm%H7;;zzFV7IzLG4ktSxeumNH0KY@4%CB=BSdB~GbM_fK$Hb| -?sE~4my#o%iaP$zC!E}8UOv%^hdqeS>ma^?!6NgWOakp?>8%DwOk9J)q_?trugEAKBN*d}0ES}F$j1{ -(QCgcyVo^gJrKU|;Cu+Y2=KMcb8IH2rAjKifci2%w=P77}2j+8+i2$1JrL+<7e^1$MDcYt;C`#Biq`Z -!`d-6b8-*H8^_)e$-3wJRG`S>%*3i5&jf2h~*UCAkte%X?($=4Mq^R_UEBk=hGLY8L2}{(nAan6d2oe -lf#Ru?bU!EnnIrppKDAGPX+I(>J9iyUx99U{p%X^(QDAXwsx1-5sLfS)?!;LVl7BB^k=Xk$5@cR(6DG -hni?~jj$aMNFWO+}TA~JZ*B0);V%Wn+fCQ%X;#-KTD({30y5lVlF0Bk#BdmgN -vCu&NYYTzy`nNlrWekghKD<$5p4({GSAA -w8UaGn;$H${PBMCkc{+_K!A(jNO>`BxbKTQZ1Z6lgnB)N-Se*rdc3Ju!6V>=%nT1#0ju~ru>mos|`g+ ->K`VPW-o*PBtR%66k8oe8N(H^xM_C$VFc>k09scd=4D8Xoey;Tc)Hx&hg%!U1YH;<<}q?HaeJRL;kSw -o)lVjHBnwliA1tRmak%?8`St)X6Pp yuOidDe8T$9oR+Hzp+pJfQ>`wig-n`wS1jF_BG9hQz1sV@d -AW~8RP$vaaVK={dY>vFHf0b@)6CTb|#@gU`FRFsA$Q|2Ewnnle9uFPCe4_x;1zk4YM)$UC+d7=!&X#S -{b=g0{9H-zj)&-u%vwMvA>k|;_gWbww{AK~z#AnfmUPnOrPV(U_oH00GqxX;3Do6LyEyu3Q(PJF;`wS -r-XX^51^bGTswpG!#`gIv0(&5k`tg<4xsnkC)8T$Rx|9&=7rlxnNPe;mVF~&nr#$o35ZuBMSzyn)XIR -*A_%=Q5)wncXQ@Ug`~VZ3A*?}t;v5U8~}TlAQ|s4aCXg- -6%)YYWjfp_}Oiq1u){va{=V!p~i;+VYa*84m4_PV}Hr71Ie~<3rYvzHL?Ks4MoU~cpsa1l0TJIR<%Y} -UVspTjeQSofac7~rr;RmZd+v1?kfOP+2HuDgoN{dK-Br9CGz5r^zf*7dw^VE4PgxSB}coKNdv(JqJt- -n#G@3Czo1cjl+w=QY8a3|5+UMYiQ*e$o&g!5SU3j+hLs`+3cDhIZsVe0Pv4%maxk{s*a3mtqqy6U9aE -XeqbAtgsfuu;$N*3DG=arY=^T;u5gvmFBHF`1jZ<|-|5!l%%Mp=hH#@>-x-{69ah%6&GNO*n=Y$A;O> -OLyv^TpS_%y{f>ob<t4?A$n+JYtypDl4> -pPd0MKgHC;M;&~dE#w{iCx14}Fb6bVOyaRcJHLTcc=>fpc`UOZ_c -h+Tu-20nni73pItWTVK2y;JCegZ-M(BL#ppRj}b>Va+C`Pg1p=BNeEnwP)N_<@IPnczqGJ|N}2FYkF+8?} -@8RjaR}C*JXvey-^%yAE7rC)Jw{Znq7<3wafi(FnbP69yEd2Uv*sH&9Ch1QY-O00;mj6qrs-lC)GsGX -MZ|$^ZZ#0001RX>c!Jc4cm4Z*nhWX>)XJX<{#IZ)0I}Z*p@kaCz;0Yj@j5vfy|93Pc(&z=VQr<*_rG$ -hjWJnfRW>@!HPZ?2#1;BtQxy5?}yOGBeJ9-+FbUyU_qCJF_=?&f+8%33gY%s_Wg=N5S#O$HA;j^I~xt -Y?}G;pYhGX(ZNyhq+D;Sd~wwT(UVbd^5EggG5qs+@Q=Jmw!y39pZPk5V&CPntf;dzXv(0u%7Pc$=Bg} -$SLM99O{y&TrrZ>1(&X?CK4evpKzl_~<zB -{|_T%dxUcSPYQ10L$U#-ik2^PQR>w|e!u7bP_BP?Rvho2)V`r<>JkJJBG5q&DD5n -O~Rr^ngbbt9oDObpx-TQj0K!^7E`*L2p%|Xj3i!S?0w!fDh}Wsx$huDca8`IJhEN!8i5k1YVD+kDce2 -O}2rOzii3|s~1^4OV;qIhE*#TlV-cl>TxjLupnG7w%%EF!GbW%k>*L_Zm*3H+k<1I=SuzFS=JXMw!PJedZ!cgL#=$DN&L%0mminu#Nf3sr|Gj -)4>rc;$n`D`%)T&ehcuTz$vt)LarIU39^HMcioNicy$*js!!0|j;!oHf3I68Rp?ce)`ShAHRD&dG`G4r$0 -gE@TzIn_38cl>+L#^*F+HGvRcsh@ZccL<}{CfTe;Q?=eW>XabR0_;W0a -XgFi}JPzrdyzyK@N2GZA_I;0SA&5l7Q3THBe{RF+n*eLT#3+2=;04I9LK`EP>51%x+_`)vtVx;9-#i? -DVNdM0|M`SaU_2X{9r^yH4Vmx`zY08?B`^i%&wCKOc@uS17}(;jVfF= -3TMl*&cYECJD9<)s{@DnL>`Ld%>LtmYXX85Bl!4E~2SNUud2hU*5g6~Sk&fp4oi?E<0nYlV32=| -le47OwgP3Frwm}awNgA}s~>SS9}XLzRvVJP)sX{Y641EdRfH(=nb+2A}=ovU)QOap{~H7h34VJ$Tg-E -cH5)R>sOOjKUin=Ckb_~{pa`GThjw+8N>Nrp6K^67(#EQoXlBr&wdp!+YfO9bnSd|)!)08xaO(P$jFpauL@QYTGQMKW}l!zx=ZlUX -+5H|})eBV}W|WCXM3ZzfyTSuYftZ0I{zbP1G)mc;v_v|scYeAFg5pt@E=4-r4i7oWN>{-^umL{UiE9A -y=iQxrQo#E|F}mqg57a_KrahOG`P9qCBY@axRtAPzaK%S{E#0UQ>jBK#RT6oqkR?-Lg4+bR8?cF0(#)=6;<`Z95}-N)3nWOOdH@RdAQuDLk}Q(Es2d`c)J7{Z1-E%~#q@Pk6sR& -VAf}>3`a2B=C6uqYE!ZL;{%{{B1RIE6q83dNd1yQ-W*I_A+R<)+QUW1eZ*NdYPo_EiQ_ZeMGVbnx37p -ZC&_Sl|AWtky5Ts#H_Jnuw;1gT~Tqm^%$QmY-ya3U7B0Grb%ULM%Yi@jnVE8gw=mJ$zKvUCtQn&yMJuRyypTrt37SGI0h(N|vspgRv$_u&0 -+?-pp+WmEp1wGSu9Pbf{{ep$z+>XYmzUu(TO_k>czM|eEN84yJrtoHHUum^BDS?_5o2C#Up$Mw6O5}7 -Pe}KHwfxs__792+NEZz@t7aMy4P>EO%TXesUNQBg#?ALY!W&qQRXsLf-DWg$z@q@AR@O^{Dxqxv)Tjv -lxq;Q&)HpUE+gKpBJ1TX~EY&u0WyR6RX!Y6L)Xt(2vep?0M=+1KqW`-T-yZyhnakg4F+i0{~q_K1g^$>O%&|qNEH=wL%q -fSxoQVgmf?7PS*Af_P`)KlzOw?(vp<;5nmelY7bNqs#@VM(HqF M+=X@-W}s+Pdo08gEZ1F!RkG!^ -m}Vf|lXl*-97n-_;vRz8AsiJbXr*heDkgBNAh}JpHX0ddGID!OM8oa0K~G{TX4adu#t65b%nw%=YSY% -M?RsNoj-6&TxuT!BzJ8|+JJG~6i5Q^Wjw;H)Es}}Fzc}BZF*I1@H?Rg$i7Y?x5@Zb|!XVhdTCLY)K)e -C%4cVyXL%6+73s)b@ePf%R+~&(A!bYlwB8 -3K|3MjqMq;$xKK<26EAeNH=bDOhns-Pi_>LC>g7JXhe&)UI|VJZq=kRslWQYqbPoS{R~JT{p<$QyJJf -%e*F$UdIeO04*|kKzxEd5B20wLcI>TIxwe6U&$g3o&gyX0)0hS-_4glPzFTi4(i_PbNq>retyltyj1X -*ET1UZKSGTwnUv8%>#L1Hg!4#j!K+ktqTK?t8P+Ri?EO0ua6p-*)Ul+Yo(GfJTGghXJwUCZ8uPcKy=kKiNhxe+796h>_Wk^vi+o)mn)UvHdWN?pEiz6Y)tv1#XC1 -4s1BMsTDQ9*VL*CElGxX2nHUR@)FGv=}G_t@y`SWkpOrx*!r{Cdb9t3DZqu?ID0)CO)#LLXE(0pF&;G -Xiuv0?MU%3har^6RD3np&AQlR<{O9#1*BVp$Xikuo~1QH^81#iZ>f9=*lzKcp27lg$@8zjDDU0+!h*-i`iswO{Q=FK*U0HIngOeIDlyJgHtq(!1 -=JLGX(A;;wR&>>(C6>(~52$pgv(}}m#Nyq31;2uHgt{`o8>7iRoe*B0#+^x*6s5s3){ft6jy8#;rk-y -xl*zR%_z$S|`x>_1C#g8uLfL48{O>ug&Ghd7+Wad0S8d)U&HLp61Wv;>DR3x|Jg -<>4_K4h^vWWg*N#cd98EJY-SuWaP>yw1l=Zm@ABsHF$nF869-#f^9<(^+@;zg&vUaI$6~iUXWEF=FdS -A>t*4vrucijEN{{B5`#QhHNtqa#o{d7L*chKHrNSjY-WA@q00t*qj<84n@Fb2bA&1z -6&mx0l&>}gMyi*gLOvH<-F0IcFgRc_X%tk)$lP92=_u|4l)l`n9vQSiZ_7NdQ7jYx$b&W|5n5Z}Ka?w -&>i;Q1+3bfI=cBD>dKvx^d|SZuN7F#|l>dTcpIqzhNN>9&B6jR4dZfo$Qy!lT&Z?|`4gtC1Th(RG1$D -iq{wa0Sf$TC)LI8=Iye_7U5jZVR0LhV+L1SO0c^C&X3&d5jJWmzS-ltEiZi;aZ9w>S~&|4A%o%0#({r -s3>wtlG-YF_PjY%EDT4Z9i3ru`na6|@8%^hW=66ZY%&k+Fsy@YQmWJp&Yn!&3;JIw>ILS#L1B+@5`nbq{Dj6dK -PlT*P&lZa#NjY(T=rtiq0zGqL;iH{pWRvO`q;o%_NwxlsgcF}T6Hk1OL -J9Z6AW<|hJomwEhDdTZd{z%H^tnse(YQuXy#P8PIf5=Ilc8kiGaa6T)H-2-FAVNcF>Hk2 -?9v@4Y|+M|qEw-N)n~*Lt1roxV&^wBndz2%;baDGSd9^vEV^Sgln{HUI&A1iFC`8w2~LhFupo#`VRl5 -~K8DqeX`{2TKX}3>lx6Ew!akr=7?d+4BCo!EeDe7hW42>_|MllPOc$N7EbIfvWz|;+KtjH}N6tfk3p5pI?1t8$sv)J4!QE%V%BnI%Q*ZPKilLhwX|FSN-@+3-w@ogWW`e`AyJx -?D$0gWKs>%Ar|AZEZ`H(;?DoRqWNqo@g`sxfHh9@+zfWTsJ!Kd_e6JcsgV~a=4wu!Wa=3qkS8rw_2gp -A6n0XkPpHnU5n%Q2!V-TTsT|pJmhM1cySKDdngv_!)Yv`KM3w43*M>If3u|Y&afX_zq6ylOG@Df=uuo -}jYJJa?G$EBG#bT8n%Y(fnjdl7Nz3k7)%waDw;NQvq&nhH2kfKmTZIUpajZd)doE`itrdM_S*Dd6p99 -ITDEUu}KI&!-YAjJt#*Y~PZF*x3+75z5Sq9O=_`xW|Ex69At7P39s6-D}d2|*)t#R;WaDsn6!mpo>Lb -n^nY@DJY?eY>;rIJHC!YQ^4t{8@XLkmL9)*Hz!>+l_2%JA9C+z8^=?T5mE ->IMhU`)t+E-zW`4C>A7s@tx$vNPqOSL3(?YpX~raL$QD#%GI~Rd;ZYl8@Rwn#5XH60jm@Vb#3~d8M~y -9a!N6b#zFW6RXsIlCW}l5mm9b9a{&H!l-Tp(Y<;UjupT$@}?}3Z=<+9kfI=IulHFS+@f@aDz0 -QNy+*dCTJq|r*DNv-IR$}9(fS_c$Q$m2kJm0JP2iqW-DP{~^?>f>+IeAW(-s8#T=XhmzmI-N_C8Ifa7 -QC}oLA^roY#}~*I^ZrR!D`A^>k%-ce;bFuX7I4FiBiE2*7%jpo9AYh(9Ug*Lv1szhS^NBkiwDxmF|!b -l}#=TUHz1vRx~OF_O4X24+@vBNf4|_^>;*YU|W=yp4;Fac`apnSqa8*CdwO;%S}T82 -fpgQ;t{zSB)eh~-ms+#z94)Eh>}^veo?R`Wjr=ppuJX|%M`=^mgeY0t6AGPFRN-I0jp(~0VcBx69WhL -+kahqn@)QZlu6yC0RX_u6*)BSNZRWfYNpS*J-v>ar>KE7phXj`X~lNadWfBE8xI)EX6of8Ez+6_`g;`P{{ZgShwAX41R0vi%hjvDEjDs|7enom1QFCOk_E`>3fI -f-hAAfueTikNb>=T{uN{H4OMvj}O#g~D1!uh$;)8K`Up5|yd5M6nqVH7Yyn^|u#9+i#k^afpTN9R;A?9mWm0hp+u9H!@M}vFT!~BCm!>C*AB#eaYD2pg -+C$=(WrTQ{U -5qKE?Z5MyyIbb_4Y&`+>F`xCIb{X*hY&Ggy3fkAORLw*eR(^w~}NEhatyyR1PDH*A^Vf4=(R`CYjo)( -h(ZtHP`_Sv609rvMLxm#`_eAc(DU33s1w3btEfm>j{Q010*c7kMOLH!w#!JM`W>ujMAjfZl_hnCT;U* -8eb!qCa?@Yy&!STuwQ)@WOu|_ppx{Ta!6PYyN%A5QFv!N_WD+)9vJU)Kh4Ctu_!J5Tid`^cP}}~hw2xQJVDUY`uNfJV@_r8qB)M)ytt-+*ft*-1x>HDdCJJ8+azL(VR(TgJ>9Jh4rgrk|2Sl5 -|W-5Z2a%LJ>^(03r~E09OMil0X4GXuScEmqvOWQlut8>FWGrk?U{8&j&N4Je=XDer>hMuqpnbYqn7;|ubE*%#f9`eu;jx+539>+&+^u~T?23DsZA!HG_xJ-Uj|9 --SPX{2@{^2GWh#<`}TV&X={05Ry9Q83j3k$djdF@iXW^kLd^WS%1b2J~l^% -s!Uu2HJ!8KxO5$l?#VU;>xV8hG^y50Oz4Mx_av{j$10ek$`;vMK5ECY70R71h90yA3q16>7qctO`H>g -bV||pnre7MSL0NEkRb}(TAj^rC=c`qg=1G%5%WL#trdcZRO8ZytDhvoSSp|nc)(=~#oJ^x_gp*sy`7( -hAGS)JwlsPLcHz;qCXop!aV6gft+wawvV;KpskrYof3OJmEWmYTzmUu(6w>bUnVTcKiG_W#;;p|7y^* -5Ap3{#GMb$S?m_2Nr-_wdpA&xaQuj}G63^5z8IgzzSOCoevQ7muLYn*!dB;KL`QuMV)44m>4hldwmMbOyc -ql-^QF3|oQAe<1d|6HQqyx68x`LW1RDyPlU;=7!SVq2q`-(!YM8}*lgOc+Y?He)PYEsnl-?Sm^#ys#_ -~M+|U@G}NK91a1p*m>_y6b2q`$q{XCimm@s?IXV9I!SP@I^glis-#`89*;oG&AKjb0dGqf0Lg&aM2>; -<^H`Gglq+lO4Q)aYQ3Fc^bVO>s0Lrc(pL~d`e$@ -xt?S|+P$ngAUL!h84boxDX -W2I$a{+W8MgquxL$lC0S20OPiD+Wc2W{!dBHz(IspCHa*xsHUP1PCQa4j^;=?T!2;Zt;i&c -ixoCeMLgA42zLe0)>i@slSdPRP#SF%5ct%Z-ZsgUY7wu62lS@Jicn66nMEMpN-H|ISUT$T%9t -VU8N8TcYK?iouQfiK+1>!L0jY<%NT+KLAKckZJLH=6?)u-wq;8c|b9km^)BbsaG^02B*`&tv!!DcTpP -F*QYNDHA%Puxe(#ciHkp&(w81+M^i7KE7ScalW?J~w1LjmKP(-cs>YaFLaP9DF6S-p--_F!Zl`|R^m% -)6#i$W4h~GGstPIwnnxIXNwnCfEv+HX)vGfY<{uLY@R_Uf9qcYrARy1Hws%uW1L) -O5lTe!5JDcB^>#HFqmDT@-g*|M7J_%mJ1Lxlceni8j5XUy>qHKLRoUvO#nNnJS~nhj}IT77$nV -Uc}T8)Eu*2F7d#A()}Yxp^XurmbevX)1!O3%K}{(z1m{rF1(UYDCD0T%0-Afi0-j}0nGSWV)0Hf5GN8qk;2NbQ(KvN};%Pf{!-D%3z+_k6Ln6g)3c1KU1p*b>V-%@&0kv_5^EWUI1>Y$ --#2#pC8q;vK8UD$=Ym_0!t~$j&~Cmw^hT)F4A-&}$P!(=D`D@Rb4h3Gf+2V9r~H>!@L2o62gl67pP^e -OcU|gBHLUTH6eewpb)#IvB|9@y#A?Dc21vw>_$C)ex#-14-cLJp;J_Kz> -L*N%!Le#fz%p+{9Q*3QI_eabl)fKMkqyj|7WwvNLPHl49@eYyy~()2#fkTP(bmt}5w1BzQ-Y~D_y{7w -4jFW$ZV^B0pZK6{r`E4scp9*G{^AdPTzKB_4 -*pqp0mv&ptCld9#}y-)+fA_p7fO$jG36R+Y4ppvV$3LQ_euC(1~Goc2;G9DcUqJ^(Jp9kK4i`P>G{^BHO-khCqdDsCnM{LR6S2m -3N5m1)2O;T+O`=VCGtt4&Lq+<|W5(8TOm}18OEXg`W#*iaP9Rv%-WJK3SFzEiXUmH96VvapB{iYid~A -|WQ!*SnDS$RtvVGcTIWd8MKHDslj*ZpG8%iBadvsn)%<~#JC;Xpj)WnWjOXkTE;mZ}yJg}4e{gZxT$_ -~D6_V-R=B;nPzQbk!TeA*XIB}RZS4r|4I=pjLt};XbI=~~_$UVU`I01Zmt -A*Dzl$c-V5uC&KyH02i^&!mI6O>DVPqBb1cMTe+NJ8H=UM8`?Hg~3(W6^0yW#Rk)V(t2off_;JrWR0Y2Kp;CL`tsT~CYxnTz2PBo+KjfxYlfyv0TfD|9<#=T>s3$ii3<;>hq7F`vcWREl#QXRNGxqN2 -BYTx!DN7AvFnUn)1}%|s*lnD%d}tD^Nx?2%=kF$km1Gz|m&cfxs?ITPU8Snbi{n+cDnV6Yb-pE;KmGJ -m@cM_Ze<0Q4R9zV%sj>_7zO_0B83FJhJ%!N2s&7_kH3D@-gQEa)41KsQQC&eE00Ik8RY_NizWzC#V&? -3++AyqQGH~~5XhnwGSL}_|#z^tO{)CBC?=dVMsYJSKnBTa`mULChrpTKu>f-mm&TgJyfO>WRX;N>WVH -cLmBRNxaOn2iQ1BLnSzRtlDX^%LesI9h$}?;~Tn?2kJ7kb{P0| -pVYrq_6u}RE-Ph?R&MAz`&amQhE(x56JIMPvC8RQ&}JL{)};--tkNF9H<>;#-DgCTx$~Y}plisK&(!p -H`N4SF20}30w9J4y4nfMkzoZ0U5!ny)?RFgSuUyryG5;534eOJYIyZVs`T!I90Q)BPBCbK|@B-0%+0$ -iwx`#b_i>k%%8=Z2*_l!dJW4s2|i7@kr0( -Ik|DjX8Q!BYc1VJDfq+@mwb13|imV?1{5h58`x8ftVki1)n|mY-gSiBi{NOC)CO -AcK-9Di;o{g=RbdW@yY1RKhixv{^&`sRlqj&nZg~X(OtOGTu*+c9}Dt?K>tuQhs6x;1wF7mQJltPx51 -obC-4Mw8Zm}OOeav?-Ua0_zOU(~JS@5g;aK2k -aivWemjWJ}7rZZwQu91X#;n`tmWxZ*D->zrmX$0i)0W#=v;ME(#@n~7 -aem{3I#fp>*FPC_GLR8{ov?UM4X{49ebBUTq|k}XEJk~wo$(i-Lw!KKIUTE9+6{`ZCUAW$+X75PU>gb -nYNNgMLsmSnw~P1RLyR<-OW%iknH~&-Nl$Cx!=3Dh$I+t)#qAepO2A;b4sTrYS3Tsv`yl@b7SDzov(t -&b#O}&Fr2cm?TEco`}@8qc7alwKw`>%TXUB!Mcu>jS^ZB5v^P3)C5_>U?4{ -C|Y!=Z}i;6qfgX2ye)Pd_I`-P5k~C&eGBQWQ?H@on*-uKw$KT&e%jwr8aqq+=R_{r{(PZz&!zonbXNO -eaxc?l>2(N#U7T+jfy2onZZk5T7A{{0S}21nCjft?GY4-(bZ6Mefm|OdCSs|kh5;f4Z&LBd0*gu$s#X -^wI+?KQ7_e9&}K55|8COoM@%6jW)}l!o9N4u`tWU+Ea^NTI&}$=D9&`^B~-je)^yRq1sX);u7g0J;hh -8Rbp!M}#l(2x6Y%Nv{nA;ll)N={gP5iAtQc3q>21IP_LzUX>lQp}oj=nY4GEIq2Jo!N=1?u&P_$9IA3 -Px19n$%+llm8Sbp*3w86(tMiJ3<3S+0HZBQyEv}f4#2U$>D8;Anfms}mEs!g!&Gp2M8j5$-hhr*8rmv|1Pj*Ra>QR!+h+{+qj{$0vk@dV`}?;h_M`kJGCc -fqVJQSpFf}<4j?L{->C#Bid;zPcn;)wZ1(j%b&}uSqvL6d4Az|#T{9IjiGKSC;a!h0gbXsuYv*Qq?-2 -x5N_4YQe>QjZ;2Dg!6h)uOB`9bqzpe5nbA+(5{;sotc_B*sY;=n}`SGZ`bKmfKjUGH9bdAS+Ae;p6(- -?CaYO2wnqR@d)cWexSZu@1RB`Ap5E_qY0uunFd -y3j>~w%2?XpA%<`o^o;QyaN{JK@C?(5gk^c(W3}xzVI3H7)iSb2;;sZG3dGFWR*776E -y-4ITFN}7V=9oqi&35`b5#JQFOFc^!G=zt<#eGPO!JGUFM`ibz6kE~r_Ub52TpJ~Ot42u^kR&nRFO!YSYH^?MV!3}Oi==shh`*kg8$+HYw3(Zc)0eNF{qTJ -9@~L~E9TP($T0A;`b9;R8$>>e}@s306Rrn^t#FJ;3_;K_V0)Vx8bpG=QtB?MKy%L+4HW+gvEPr;??<7 -~3X*{G;W!4Qix=NoOF5{-eQFl_n$9y$_dDI*4dU7~<-_1PzdSQ!&>Jw!*v{uQk(R-hst=AZONs^|vMX -5FC^~}NJGuwC7Zx9jq?4POCP>G -^W-~Tq-d>8kw$*)SucCS5Kx}B82DoPsdo?mOGcbU`%_}s8gOULRU_~Sj~Y=I<3oI19h<@#p8iQt6~VE -wKp}f3?J96(UVLuon!ew9J`mN+f$;4r7D}IZ?0*WydxWmfoxT_0zK}I`1X=2xhSX4o$f@s);enBbNFz -iBCq)Caq>p$?_Z&XI;kYARB^|sL{4mTZj(Da2dd(_I-N^t=nW|raUe^`l)iPsCWbc5P#1AE_}A$nBWCP%Q@0D2YL3w9z)IC1App_lpRvdM4ETNC}E^RjVWV$o9nIXA_z4NQrwwYM%8QR`aK~(Ep%+uo5&Jw`kDDf2ts7 ->r1PGHfw#&h3Y6=1t>!c5W+4)T8M$*723nGP;+*r{kq#qzl(iwZ%`B+ODN_`D_tExtS3-~5;Wo&z*%j -n-8j*LzD4TXUy&y^YsU;Tc0sm61834N$B$_80RcW>3kSa2I&Ued^+nrz0pO9vEerUmWHaVlU~C2{zx` -Nb*iup(-v10nPQ=pKHMB|g>h|EB+K%;pV})FiB%M6Z68QNcqaa{p`+e~>^x*fv`~UP9%!tPMfO}cPX{$%ci&QCRK1pMUudJ)9nHK -pKF1nqS((&z$Q+XS3y75jzU7&lf@xdoHAPVfO4Yp{d4M<6UWv^nplVE7uI*Ac-7g|;wG|J2rCU*1Z!Q9a+e*YXq{aU6qU~_NGAepaG3zV8M;npt -h+zwi9J2khMqi?AR&%9Lt|xsfS~sq}Ix3YO9VZ=5fMzUrQEoXr_a+g@9EDf{$bV~YI*$Gk7l6Ezl_u%L(0@*t>9u>`J8_rf4UWVW49UKAC -dY%Hj<`zxm4i)Cx$*w{^~3Y*d`6B{$(m8&u6A+{O%XlYbZNxb&yhO#-gbB<~KPA>(y(n~YVU)FFod7g -fxoCE`%VJ($cR+!6613{tmS_cqaUeY!j(F!tu?C%I+&IGO4lQvd(s8_~Xv<5{?R$bQ3u>?l4#mAEVg# -SCec4k-09qoK7`GJnU)tp|OL9qy->t9}mo1%u6YqSN2&{HKFm>XFgZWDHo3#O`QNO%*LII{I_H9SR`- -%(^+BMs%q%}>w%lb-j=)a3b{C^^4xb-tEXh&*7v0it7G?TPWlryrkEaIr~bY)PU0L0NdHl1=oFf>SI= -6bD444ai4`1L!}=XF1+?CdYl!KH%u{qBz2ki5Q-m5i&*})9mIH19;8e8!@34_b@lMd&v#UQ|i)2pOpt -6C($WyrF)om$*ck$D{X68S0Hd2v|It~jIjDXNcKFB$rg>z-FTzkpj3QzA6OT^37>g2Iy_{0}kv>@~bIXq`^~ivOU9H-U{cbF--7!*c1Fr&}J&t_+9ke8kf*kYvI!LQpJn$Mj&^NpeNX7 -%Mh-zmjP7@7hBbla5J%+O+C2_wp9ZRKdEFJ2IbJl!(Hla!zGsVO4k36qk{0Ir%EmEu>Y{3Cif2-MGnD -b#E{s&*{DT6!(+qX>j_L4H9S1_}-D{5!tm&eR!|d6C#b-qsQT?xsjE4r>6CtfbHlRWR}x4Jy8bA`l_( -ZvB`SOTq>Q0Dzi`Kt>>lD5{Iy0?|@8!LgBZhX=6$cF&^(nQ`K{X5^~XYL&um&pc`OPDp3!0NB?Vq810 -O8S-wl6P^Sbv6K1wbd0SNWV^fCjMVY%zMfZM=fsX9V9wZC+guMnVbZrM0PI_#r{HB11_52lw1F#AV3_ -a5WKmy-d4`QDe!x?&n5Jp`}zatAPvYOp?Ul}xG_@3o4$u!X}-otkwXBHH*=$2$di$Yo -_9Bnc`}<9%suef-nTFIM)2QDc -D63&B4Za~TCBpHv-hIR;;=|W=EJHB&e?~fgTs@HL%+B$SeV7^;PmA3{OCVFUY?#`;7gb{c>46|;2;g9 -WI12vT=J{{99S{uEKOv=#FR~wluMRmEMzgf%9BZ{b{QQ0UM6>83Ts#)Xb?tH>EjAqJ!CKy*5AW=DHfb -9b1_NzLi)6CvRH~7#}zo^o!U}6V@1{7tUDTK99 -{2~uCnT7=)vK40;=P^J*VGAZx)XH>iK?3;#g%UMrDsrQud;Y&j|6clg%=dlRJ&^>;0Gn_&$wi4e4r*q -teChv_i44>`mZ+@3+5axTKRpS4Iy}EPIz^6wCioyX2@(&IY$~qCdmyEV6xztm6_ek1RCwb7gAXX)+m> -oi$|Nn2XxNe8FH?~l6QJ?6Eck*5fUgA*iVPxH;c}U-aqeB1C!&-Lv^a~AyplzjMF6*&FkXgvxF9%Vb_o>V69^~=28eu(c -qs}w18>1|zjqr%#;2A0V1GW^gda{M{&mgwOymoCLGwUlFaX97tzy^nye24cEZ_uCTovGNaK7Zr=0q?$ -C6axHTxbrO5y=bJQzY-G|JhkNNt1}ZJv-8`D+VL?0V?sg$<+5K7Z}n?KXBYOTje}tlqr4JA~e;Q6&YNv^f)n(W{4cMA=)URfZJCv361k -xWf(p>1_-qMHXOeWucvL*GC~3<)e)G;2PM*hnEl_BJgk!7;+BLC%LNtqF(pg6;O>dB3u+uUdUAf{>kz -{Es}9&Ta_x?(RB8>ARk%Laf39w$*%y2Ut3I*4|1&;leS`?Z1PW941`SX^ErqnNK63}RPY=8QcehnSDd -LxmEgp<(T-J^p@qx+_hBkG#j$hBH1xtc!K~wy$iW*omR4U3bJ309Mne|26zXjQmwN5o66dBJ -gl|T!?7JuoLdM~kk&5OPizY@;^}g%imdhkYQz-LRJ(N<&_vR(0KTC@y3>|>(m4OIPdi$qkUCs7EO8ef -gQ8rf;J^@%`a2-hbiY)6IaBMX6w@;?AV+h?6U;GD9=g`jc?c#Ott6&`_VJ^BIm84m=L>Pi`&R2&T_;o_p&U_-6Sx -{pqW0!;F3L1UcSMCGhy?13-T=f@&6Yr+$k2h;btPbO{PyJN{o%!>pJYG^;Wh4teEQ6bVmW^PJQfkC1e -FuM$Y;+hXwRi6^N8bje_kxo9oQG#Z7h2k4>@L-gHKh3aRvmFhJl-8<#MRZO_sTupvv{ETueYB;L=y%& -ZGqj_(281kOH&Tep<*=eg_t+R``rLVT9GJgG<766|QYCph$p8JO(5jsq2+os>Qgi!4=^AOgf_93EbR* -Q_OP?&H|9v5aBOo8xjj5N_Yv0?{FV52aussHVcF)e1^;=p9*A|R~{)BzSeKNI`}BSLu)y}g_&ds`lU% -|p)>~pSQb;;%D}?p^ascU#R@C0Tl`yK8CDa4jJ$&iDkdCZ(mcE)p;;h$#bBuQ#PnWCRE@VAnQ7ruXrkVH3X}>#m)w*A -%VQZ5s}0G<+@1RQ;g3BC!qDgsH7q^mWv;$)mrqe)jQoD_Gm}ewK&RqQ&n -AH4S@>6$`CIrOT)u9vM=S{;2pVWwW;1Owlqgv$h5`C~E7)qbTZ=dY8&invv5Cb~d3ko!FVd<(7SO4eT}sbqQILQj?Aw -a`IvQ=Yjr(L?oqp>lEje)a85-54>!WmqSUpERe=r=3E5IfO^x&<&W60`eGckZ&9sm(p?wJ7|AeuV=6m -s6fiGxGZ()3#uDp2d9!vW4WqYlMLHj?zh8wmgU-vSF7Y*jZ}wc`&!$S78!LjXF@#%)8}eSM<+TmZg+| -sD*KA}mb(&W8(T|Mr-#$(csSLxx?m3?eY=&5cObpU`XipMX;H#hyUg&5bPoPE -mn36{M46IlXMfBglFskElU72v^*_c$i*J4HjEnn@L~cc&N6e@?PktmJnzi`F5S<1k{U7Zxjyrr0Pz5mO(u05L -Pyibfu(k7~~u)m9Y3?1jkfb8r+XVf}R1U#_33b6++2=~M`MhnJR+lmKtnbWg= -w%#Zh>vlp|q10%5n*r5sx+YBD3|2(FrCd&(u6L>nd1oQlRRAR+*%lmOJj-@|NOP&%IAv0$;{y -p{%Fuo&7{H)%{}nZSE5Nv1CEM0AAMAj}w4C8A*sf%MK$j{2Z-LmV_Cj -^rYg7NrxYuFjKpV~Xn5W?yh)+dGdWfZjIRL}+Z98{s9*+V4(PQ@Ss|-kk^i+J>zvN+whLKSv{J_2wLnW>Ps#GAu;dsXNLTGBgu-yz0UB=~f -_~b?>7}_++K8Ftq2pwlDDMLCCF1@@BWY^1g(dX|pv`moZg!(W*7D5dXG_jt8`Sn)5-ju;%~JWWS -wa%<&RCLcg;sGK|c{4x#eCKKe+Io?|pS=UpeuGV<$UR&WR%6?t3`7aic5=vI -pW#7#k|x|mBbh`A~_O0&$4cHYLjQ3lwV4Kmq -WJKX->om=4q4}nQX^OT$`Z-CkGdJNhE*~^Tr$-_@|L -#Vc1>mnOIdiL2mPQY_|8it2fV|6p?j#JaB@A)Dq8HG#kZn_WWI9{WPr*HM*U2aI0yV2Xo3k4u5hSmc6 -6q{b{Z{!nSEQ_^O#&)IKbDv7#yGeHHg5cG7goSzozIU^Qc5efGqqxo5P13H$`-R -a9vjgMgw-Tb@}<7#YF*IQQc`c}RO0&D>5D12Hpjt72)L=OzdGz2rmu|ye5IK+A)ns{#gF6fBG`H-ZyP -VxK&<}K<#G*nBbz($a_5;;|NLG2A6qD{_GHQiYnqV}UqX1jA-TrRSq!y+wP{1;1Yr@|OgeD0X&TPjVp -T)Ehr6F4@eVT@Qm;q4zMxl58+qHq(_Sgwbh}pFxQF7k(jUv@8+p%GDGM%crYky2c`!TaD~YSB77~?r^ -xGVDldsP6JHPIMgk2T)P!nLMC>C6~b=?~2wu$Q8!c`X#u`a0ELo|PyL>tnPhGe?PbPq&#sBcAmgk6nk -i(?ZW;k`x2*VFuZ-udBBU6QoG9UXsvilJ+j3*Z -VbkM)lt$j@8y>kSH@2naiD#U1>uk+fSigld*7OKk-7cBpR9sh^lNVc?IJh-iI%-E%MvQ@6aWAK2mmD%m -`=90h-L!@001Kq0015U003}la4%nWWo~3|axY|Qb98KJVlQoBa%*LBb1rasg;#BF+cpsXu3y0>C}gdU -khUvU7%%j;QgHil3!CubioZ$4f8_W9=Hr)yjUTyk`Dlw47zf! -hLj;IT|RawP?FB5SH1n9^j;OC?V#DwYjhGBRfiEhPqu?PFb01BP6 -Ocg2!qq2!w6PEitY_P_$(D(f@r)-h>RW%UDFfM3P3Fx#4G&!I8A3iMnQkKm}WGe_b4lq5w#tEwo-l-# -CZ4W??vOnR3j;4xBgT~r(vX*H7BBq8wO3nC=2(_CmnMaf38dv-=3ED$0c0e*mIqXappm1aq_Aa76a(3 -_Wkt0nvqxGr=!%iN|H?|^55{o8-E{TO -(&$H>-#w+n=#o=$Oarww&NJ`W6ZY$5H!k$yzgM24Pc*j*}VhAKIB~&F&%*HPV9o;4`918z5hPDE*O%d -uK{LE43esk0bVhLi#`ORB8J$Q8-Tg>0R7MT7-KgC#7MJhF~)d+yvORtHX)+osKU=I#1M_5NVzcb5eva -~zqK`IvS>s(`Qoxkv40w_Y+in8*&)EzUXTwdbj?b>;K0I*kq=4%2^J-nle?2&JK;SXF>xYw0r&wWn#w -@HTjoeFlG9-nsX=_9i*&-=BcdHyM6P)w$~6tCEpc@0XtePp<`WyGR)>)+rVYF5%iUHwrA{>ZUutpJ -&Bl#wpDMNcgu3bC9|p5-?TikL&|hq#s#DRpSvEbxRwHya9>nqgtCu8qp=k;%aRUPr3n|_WWBwh!u -hT!TjJVeNzn{H)&H?pUoNc%mvsVNo>bVC>sFy%*FEM#OizYGGT&vkCU)+Pw -c*YvA|;B(JhM9(nC?1XyYI8V4O#VSTY7Z^#ZIQuOI`alXJ6Rq~LISBD$YH^tMFR(l~DIg;_t$H@_L`i -7iE2^mh8W=;yP<=ZiMH*?`-6?hk7_t^H%ew@*-^va#6m-qdpM6T)NnEnTd4Eu#^fdj!A!(W4N->^q|W!ahG`JyvvLI!Gl0TU?w3Z{5PonxjHw3!!@PW8#?*dk7!Uq4Y#qbh$ -}oCosTLkWXb|rQSHQb4w{N4YgLS&a;W(iB;3=K0?-AWjUf)H8pkWcPC>n%tcnzaSlz^cK{XRSY_49|D -0xwpxziuE3dnE}9RkgpGBrMFtK(d>UGgsEyxqalu7Myli+1T*&9Hy62u)RV0B9QIo9c&<8WEwJM&T1y -`l1d=cqN`r+@@WE%g04M-2~6kh2o6(uE14U0COE*fP;h6=p(nFr=3m^Pk2g-6&y|!9O&xO`AYa234CL --8ZPa#GPTar%dSX3@??v8_u5htU$!bGp_6N%i+zg|dG|)yr3!Ha41_(yc7KdFmj0ZcXWmzcDRwU;PZL -r2;J2+0iduSu@&Qlt^55abY9)rt2#la?+eBe|(!5;rfia?LB{Y+{TUn>r=2&{m6B8x6;PxUDc|sVy_cjY}rqe6T7lPQ_GRWic4-tu4FawcRv90n=|CD`G0Js&59*=@qnP$c1Zm?`FM*odZHnujlf~V!;uF5X2njm^Q2qxP*li=iv1+VX#tFj -1=%ZuhVsaWv5To!54WMwgiPREP|FAkng509tg=3^5iMH)PPb$D`g@b#OMS4YSA5ZY~QZf+jT7de}=qM -^<~c@Z=K{v~S?0G9+8WhKX2B(v+}lGVZM>FavDv2nayEXt~>gCx&`xzS;sz{6-~ygdwd#yj|*$&gT(j -JE^!alxvL2FwRz#9-s1D(68QUo4wt#o{=~<_I@f78#I)#d+4SD#`1O4e&T8I`&66ybJ?5;g0mB&I -#1~o4WRJhsWg&mh%galkv;4DS8yg(dSb}+$)lHtAPe0Ds0*NvN@5H+Rn=PB57og-GbG_pkW^y`d##zC)G6olHIZbX11tUBVI2XJs0R%C9@_zzl*Qg-7vUhO-#?k#K!_7*&g55vny -E2AuiC9C)@G&)1%{qSBLS@bYlZ&&8lEePJayTU(mBCj*DatbRPgAW_eQAYV}`cbq#H&RaI6|n<|6djR -1aN0r!E3KP|J0rJ4=0I+*j`xWa9~Ps`#W&t}a^$W6oMizaAF7$QjnV8+`D*uh}8jOA$!JPV6~`(P#@F -Oz)i8~II9u~~UpWdC64_nd;Oka$yE7v*iC$CQ*Wmh*E~d51YDZjwApS5r;{P4Xo}vSqw0LEQ=#%X64c -u>bmiZ%w3YnJ$5~;~4fG?3TUYG?c@J!ytV9-8b>U;qzDV^ziAcX9tJhSPx$xO`lJXj;7BfcZ6p+%(UR -rCs@|7in!@f3P7(B_6l$>)f*0E7&|0s6%wiyyI>V^fgsR0__kcIi)EhQ1-BUpiE~(=tE9MODKv*Q1;G -%M#f%}t246n;3a4LlsRB?KfVsQ9Vz5KI(MJ?O$N&QIi-W@{H8^-1@5B>$Q!(17fP56bF9QDa{{1iEz- -|ry^z{g^{p86`{QO}0;@L4YixkC2f{BpGhp>(CU*pm1JZVrOhQp1({t1tla}Wo2*yf2eS*_^xa{uT%U^gO|0i>f>3y=0tExc%qCtv-Ct;x#-&Nlc -zUkLq|>|m^#(|6599HChCujJp^tdZ^I5{c$|ox1v~_gw9&P)s6rcf{8FFJ9;|Yt}>q -^VxX0fSIw#P)q#p^>N?vUL8ID_jtJo{p>`AZ1 -Dh45QAfJSJ5r0gP)#@2+C`yBWp5>JHYoLwj#e2?_M?QmD|7noDast63q&?}ZZy>>jkG`+fdO?j)P?m6K}8+LU^pa`6zp_`;cuO%vz!xMK72hD8KmV72AGi*d@%mzNR9RBV@m@wgqNum&)}N2o -OrAv=&Xj2?mH&gUYzvnG-|>m#Y9fIxEcxkygdL~^n=lEzUeko@v{f(iOEQ~iRg3V>R20Xjr*#gY`jI-;n1>Jx{Fx~D(62O}8@ikSXqZpq1-TXN#tl0q)Ep_5bu{k#r-S -|&NF-pX%O%R@eAMdV;Lz(a7yIRKq@r`u;V@CACtgWu@0v>WQShH6jn)sl-!TK75_10KLLH^=~wf~adOr1PP`-CVcz8?Zg9_F)5S5+uqMG?j|}RBrHx_ -*Yr^sB+=X4R429W%wH@sBuyhwJ!-5$|_5uSj;$$0u-lhJU7=KNycQE)M__M`)eT)09TylSER`BZr#1x -N&-vL>F2UGYR?rP32deLuLaFyIJI*?~qC77&ugR(tD=QrJ?z`xK}v<`q7@g#&9!vTL@mDj8YgwZX|`* -UDkFs-k_KFXRax~*x-GOsNNJIGCF{@j#VYQ32Nn2%s?NuUT0M+3{Lf$1bE-xWq56az_`qNln7WsoI!u -ftac20^cGP_SFM3M92S^I{A2=fwPTV!wrj&}%>>o0ZEvEy4zng=R@{7t{+j1Fp=GSlEQ20K-x8(N&MYaIcG6Bly)ue5`UX;57VypHJQ -(2?mpV}`k%tNb~^2P+;YZy4aap&@wT~ePwlonRpCs#r*=KwHl@yaIPcT=7Yh8 -ly}EoIC8OcJF}UZJKe+`pBS%9@3HNc?YqA*Z(qz?nRQ&Z>w4{5Jk^3?I)FQT;hk*nMMybPO^+y1>*US -r7gLjD=IH1=oW7X8oF1MW%R?YCBqF|lb9nId)iV=>_Ojb<^bY?$0(p6Ge9SL_%X1t)!iUcfUQCbopSN -6q;pvb2qrWAie{7HbFh2W2d-^bHfuaxKa94gOd@z*8zz{tV6wHB-_sDyrT~bH<@bW0rd~j=S~|NW -Dm*+TIA^dj%o>=m-V4+Mj_c)l1fvY;jW%bLC(_qc5?df0g#j|oI2;TtJ>^k70#hk?6xd6x15jSD%Vc& -Z^^=J6mtJ)YfXbg=kFU+gJ@RS*@hGY~&ZFx>%$}f -tIcs7k;mgI2_Ur@#Ng820jWT&axE;wmAk(C=?vSMb+k>KK7!Lod+#!W3@Q!yE)pJ-ky;+kzylW8e{v&@|!#*y -vw-`n#x^U}^zIwlblmEbqgHh!Kn9fzu5H4-k@{+>w1eG}WEW1OVM$9t}_L21cQA0VpZ77kwL5zH_M|9 -f>Q*8Sw+Zuy<`)Int(Uj_tlC5>{(37U<~^2pIRMUe|&W!}uczkN@an70=o*4hLg&Kv&VAJy*j8pg2e# -so#JYx(c%svW~+I*c|@MUNV1$on|?#l*VYE`CkVSs|idSpxzTVtrFu>Fl@kry)t53Q|Yu%I73eMrXr -4A^lov$LPHrC2rEC4|s_CE&pEFuXUb~>7=OoT7*iE!ke^Qf)bEOgt8j0`Ee{l#KD%gdUXDv9oH>Ie^* -C|Av`sm|+5n5&b?AapRl?%AR80H{;t_#H_P)S2E;Tfq-ktf1)t@hHcDUk~UQ4s@*xbBL$`l3zp-^qga -)Vqzn4BMFGOAsS9pgw@k#Ft_)Xz>MFO5Rdb4u7bH&u!8bL5j+nua-K)GxYw@^2Bx!xta=WtQ|omGJ*7 -yqi2fee3sAPAa0n(b5mUvH@aAU@D5bs;R^o7}ZM@w>ijzqA3Xmv%ng}K#(C*MW%tg;tlYs8Y#D4Z@M|wF(J5eZi^)Vb)79@agpmgqJE%E6Kf00Y?D%fSzAoqK0r)KY -lP&Kjqn4cmI2K&Z9oFuhZs63gfhJXA`H1TxK%;@)OyWb1fxL?K)*WdG>Lmn9&Kmf`1<<=-+iI~;(@NEw-n6%=ag|uxCm)r_BwVP0rpOITRf15+GdIH%y3yy!q%>YGw$)@>)WKdtZf -N!Y|3L(mqDR`K1*16jHSjHhYtkq18po0%TVLLW^iU_CB?6hgYpCVDutuy!!D}%vOkY%`0xRPI6i#9;j -hY6`v;-X9XaRnvP6v^?8l16{P2Oq1#~-uZm4tDb#_@Wd_$nctFZz#1x^~ux1x_Rp%QTV5b5a90X7jY& -AEMt5v7!jn3fog00MG$WqW*)Ybd`iX}IzNi1z?}Isg};W`o|gqIk?miE#Ydw#A}~X`;IG@lgrZb&g4Ae?O(Ku -H;banAetLb@XWtV@n5cr<4erJ!1n2Z_XksTg;ly2Fh4-`9$p;L9xdT;6T6;lSQ=8q!_pvU`2}P0L%cJ -~1cv7ev&H-|kH7Opg!>>_hLIWNK5uWEmo_{eIxGd}TFq5i1bd##=>CG5hE+QdUmBci(Zd=RspC1a|na -z-q&lT35^S@x$_{%-#Wv;SN!n1l>pg2pPmsKRQ#DCa7Iy^Z1rZv0_doXxOx=!rFOI=^+?DWXE*Ko8lM -PMgJL7N@DhL^qWe$@c4SlR5FOJKSj<%by_B;=XtQg?7zjyMo2rlv6ocveL>lE?lS4o;=Ds7Y)zXW>rsu-U_%Rm? -eGZ(EL53=T(bx;;$6YKyCMu>R|kmrEwps9y!(&;9Z)O!%nPe;B-U0Qlc^6OAUT224Pl(6&yNdzm}#1V -YzAn7+br10Vgm*=vet(jO3GV+*9OTcnkTc@kI5!sWmE%rhC&F7x2?O6+}%*50okGxig)stAc#F35U*! -Ini%cR1UE1KPR(d?x#DeN1BlUzQuw?~&by5- -6rf-Z~|gCta%L{9pbfW7#s(VAljLyJ7)v$(nI@=jz#J5SFFD-_f}_2ZZY(=jn;e5$Z9v!u`c#Ajy7w2 -o~);I_-7ZkXD`EWnmG)c6wMe-P!0f})BO!8*Zig}yU-iH3{dSsefWDB>;+nc2*gb9?F8Ej-oAYs)K?h -HuCx@Ur>)QFCV)hy#H0`Os4Nke$%5;*OejlK+6xom4@e^E+9brMZM9cXS*4->Dtfk+>g#zyd -BN6#bBQt}=L8tjIZrN*BF7RL`sX@WOLL0aI`Ue*R;kAK9Q(6|mZ6%SRaFjApC*Gp*6DGnuZ1W;&&LS< -+b8@(FH^5JEZJJ_y3HT3LWF>eICJ&*QN4-rT9%*GVDSFUg6!Xv=)#mo4_+;Z#yz1A;w~wX!J38_@j3U -|Cs^e|70%-7B*;Aw1k0M=#ViXmA1tW?#mb{jJnsvVc#ZhLK%)loSBPOF8HrJ((J?N&Mqsa@pCMbS)1YFE@TTARlRo_SUft -t!Z1gdkE)2*p&cF^NZqvHt=omsIa=V@o1IcLUO`WkxHmb>6x~Lhwi9JaIMxraAwWPIc#OLtbJaNzzoNX;LPOP-VQDV9rwsr`sRLoW#MsN0?M< -+C|?fqsNCrED4&(7I6ZOP@c;EO$rOfrrCrB0I(Pbig!^3;*sbbb67l+6lV4u&pCcbKjG2C-)32ft5jj -1`281BwXbR=p*0NlYB(yF$GqnpufG{LZ8U&r@~#-T~fl+VI=Z4mkX3TR|JF1{VVxFFezff#-jER0s6G -KU0bZ-&8SaHgPS&HmGO{-*L_=oBAz^5y8?6Vu&gWy`^sUc6!tCyhlD+Cj!yt;G{J*o%D(`K!54r~AL88&_we>Z)1tV%-Qk1X{N8AqB?>cM)f -YcqhALTefh#rsbpx%Tkc^sO9(8*1v7N!T@kfMVBCB8w;pJv+^^o&ssi1kzqHOjpA=@k6pq5<%u?)7Mi -#`ta#HjW#c`jtRS}a6!;u?wI=Pe3|8`{?j*_7?R!SW>P^R#@3I`wErGZqLK!v?8Qx1l?9zOavI0)4o~ -*q#^3M1IG~koEwZQfN7S`{hOp@7s!Ikjx6IJwfDX=a!TP%xT-DklzAl2%;<(OBphZjz7Ry#a7|SB)+- -()w=ih&PCaTDZ_9c?W!n|HT#dJ%2SYVN!{}KN~&K~?G0gEip^U5?(C$?E5MLtC=k0F4_G|^$;3lMQ8B -U)RHL@ME`%9mXjDH66)&?Q^65ZvpoflaELP6TnhXe0%Nhnni5c@)MXf2(vkA&Db7O9-h5p$)F`r1P6eAcllW~Ht^5jo>4ARS(6F-g+>v51Bd1g)qJtW6iSN!Ntx65-h9I`Zu+#P{vb_VtiC~)VyGJM6P>Qe^h>;J(J%2Y -(G@oUs9^#TLw_<=K~jI)C4yR)aG|XrQWt-*^L9s5VT5jKGDZ_i742waX_y^txSC72ITeT6Xz?%3bU~t -fDylZqITWd`@-33wc#G=~+o1Ecap{1_S|y>{h}Pw@nlVw1D{9yAC-tjErnX+}`w)WB?~_z0b7Q6&Z%@ -uQ`I)%m-F^&Yzud90-d>vYvn{cG?_qGJjuTgourY}bE_vCAOKfs?nZjEktNt?Vjat836<&UEKL{2HFCVq6|oL{e#IVmryAApoyiZ{~SJ=FVPsCU%R+CD4AuC*IFV -;`)^lU8wQXNlZ{lv})xW|Gr|v4};Rz7C#z^@k1-k7;PIJ&dYgE3o7p{F;$F4P67T?nnwlowWPvLM#xv -skP+krMp5kO?lQkZt4t~!v43sP2}QEhug!luk+G#BK7n#`&o14zv -1)yqSzGJC*Z`Z%6)nt -5fkmTa_Y40fSq8(UoyN>GgD-=GSMAAi|%vF#2^>nN^C6mMHQ<+lOIC)r++imeyec+$h|-mX)g~EM{dhf&q{E-H -O$X?({s9l;uPimqE7DYQhxcY&c=CV@MSkmF1o3CrzQp3N>V?`YR-XdI{?_+fq?BX}{))oAag1ZM@L&{ -sY_E7iNkWO2XZ)ZK+=hKv|4WxsYPL1SrR94_XR#&@SbG9=9kx_E(7&qS}abeTRnK_4 -&M{?4_VbFtjOYaG0i=KeMkRpsA^c{NviSxbb7fO+Msb+B*BOB^(7 -w_KdHsN8%Zvcq$45j`<@u?l0xr4p+=~v~ZtmDEDW|zs_V3Lci*A#w-h96j}4zf57lhUBVo!kKc9Eq6f -k5!-Z~kIJriesYbw7`JK76`enC6rXS&cq-_AH@(|&7OSyq&ZN}DoMbFjKq-H6WO;0fOLhbUQNXas0+z -CrCxW>|0_imSk`qp8;&qC861EEkYK%7UsAIUeb`r12taZr#NoJOF+s_TR^m+yt;6Y+}=v;QSvPX*eD1#WofYy}IiK~OqXclT7 -W%=BKYddXY4wT(3uJ5exB#QPz!(uD3T2TatSHSzf!dIs!Ebo{*)X(shk6VtB2CoV=Y83YEfO!J6 -=91JkNP9c1MWzKCXM=;H9YglO*s--@#&oP$K2O`cX;PNjY*F5iW=ykyu_|x3DkR28X-%C^qQ7)yDN|IR5Ai<@!&ZR_>Ti -9dfX32}LLBq@R*%Ocgd$JUrWGpW%_;MJ5^v~)3=M3#TY~s3uKk}ohl!PP)o3Fib;|2Am%J7YPk%PQi6 -{Dea*1F$S%{P66TKsO{JxdDtJ5p(=bjBOlU(*+zviD4bMq6-Pf^nI&d*WO+s+Ru(%a6DOw!wxADX0Ac -2tu4MaEBtENjXRNhW-0Ggf0*e^a5JC;oLlT_G)qwl5gDgIh|xqsP`l(TpP6GLGG5#f{OZ*EX$0d>u2b -LZ=mCMnyEJd8f|-#Ws#DML6NtcXbYw7$<2ORS$8BDS24^_ -xGXMw$E1*(B?(z*f#Oypi`mQVEl&em=|*4Z%G&CoVFypTfV2{m1Q;`@)T -tRX_IX&O>~95z(g{GHwT!%OP}!}WA**^-J8olNV653?VpjXd6xv-;S6I|fsh3z_nSTrqG|<`@z^huC- -va1N0^&Tzi?_6D;qF*k>`Da=!CE*fJwrr*M+rCU?#UBk_mSK{yh~A8$hGxRCPPJ@M}RYRb9}q8I+9R0 -vTUZE%xbcQs4^KwMafI;YW-Dzk=Kj~pw`e>T1xG6QCC8s@Phtw2rHFC{82iK=~hv7>t&?E{{m1; -0|XQR000O8B@~!Wj@^V3s0#o94k`cuAOHXWaA|NaUv_0~WN&gWWNCABY-wUIa%FRGb#h~6b1rasty+7 -J+qe<`-=Bhwaj<;#s+&t+FuHA%G${h4$swB*XbnT5E!yU;EC~|5yUyXhduN6Zk$QN&cQt~n9y7z?Jbx -rLW*6UIuyv8jd^=|cwYm5+J{gTiWA?fzkCoi+6pLO@*$uHtL>Ng1s#cdCHZ9XK*1Z#$mi%RdRJu1>9{bA@(9yDC=4X_Ws@LHy^Iw#OgsYo~P{f# -}A)By?gcL^T$uu_z>tuo2uBeB-tF)p%O{LS&Ox@ce1coS+U*1%8&L#%d_w+1ElAQ0sK-1A^M2tZ7p~wY;-xD%{~Sj -e{+KK!nbDR9&WQ8S2_AL55OtA&fHF~r~RFXKQI4RQspi_t>yO(F9rv|Tiv;TX}RGIP41ca!PV391iZ^ -(dG#@W9-rv70K20y|n0$U3PN&xA37m8~7++2PrRgfi~1p6t|gCCC!Letk}?yRwR>oqn5{83COM-_^N|IcQ&enPf7c@ca~!vm>~9!XVRo -TuyD5HRmvd5SDDze`9))YJrs@9SQxz6GVXv`|0$qS_|q|!h?Je3Fy+f0L&_YcmalsaVGM{lb*2%0HOo -qD74ID=xuK@X^0kj#)pvLQeYm>=FbN&>h!Hbs(SR6-x$lP69T$RO0n7@99`>Z -36UnS(P6MKCTg37LdETiwaxfYad$?{(;)uw2|5flcXwKxRtr2g;!dJ1<741p2els{Or%jojSPkqPEtd -+yt;Sn*6}l3zYu_v%(pi;hCv(@7Ft-fd@kOhHPtwsHgW_GllGTFYr1m%P!a+-BOnJ= -wt;u9FFw(9M^NDo=3((0!mM_+_5vx4g~4EE&;;IJlwv64 -i;OA;8FP<+VQLfE#w_sF4yL@5&l*NyT#y*bpXN!1QWHeq0gfC`Wiv2L)9Agn{a80*WV)p*7LwP6v##( -%h+)5->m7*;P2|&*7@{7QBn9HSgp>pemD7+g28AIlqsv+2Sii#c;ll5Uvr`9&Kk%zXdyTU& -|ITu^L2WH(xA5@bO27!iz-``>;6|3G%23D{RIVr1#92u0`yaccrY7mFDFzlr-A?!wD-Q{RvJ2S-C9SB -AeF6ia-9p|s!81^9N8;mxG)ru37A!bgXwvtl*V<2c(t_K@kx)>o)ua_0O~dRJ7U1NLs2;d%M&DrdNu$ -)qDxhz1qfSM%4P5tmI|35n%?BJsvtpJ7G-of?T{U%fF@&!JFh(@W8WG53r4%3cPz9# ->y0M}3L=)x-c{^EyI;D|2Mt974O8I{))k4rNF1W;FKq*opoQx0wy1Q+#{ZXHtJ>ch9FzvZV1*6y;Bo` -m&ak)rk%I{$q!IBBOMiU2IwDAngU|n!WeY)vw`U+}=UjAo{7sgGt?O`2dlq7)E!U1loo!dc==gXAbGm -b>siA9Zo`%5H>|td9xvtoA_FD#5k)dn^jsgGucw}iI>U^RAqk(YF2+P9477#AtHMg~o8e)Y#76(`iA_ -LS%=J$7S{EpWIjXez!ACt(*v<>Psguv0lIq8Qd@u1J@RE!h2Y-*zhQ42HgWoRO_`2&uNQ_~R1Nc<)EJ -p^4R0H6mP7A;rJm%b&5Q0D$r2QXH!rPqtGNEZ5zhP`;c#NG*=0)TQil{^h0a5PmY5b-)4E5-Ux)EKmH -XHZqg6VR*SUC5=s^y~@}bc)2@A@Q54Dtd~F6HB{EZP2RUhFtm#DNe=eu#G06&uJD -!sM!`iVfH?`_eFL4G`S}*4aR(a7;U3E}oyXE<{MC`VblK#t|&#q!B8_=!V5CDCm)cXBM?H;JxEh{D(jzR8hVI4+`pPz^p_q8H@4By%*ozeRSA$V|R-bIC@ -pGPA%)iG#mcgSAEf1E*EuZnLXPqctcuGqz2yANqe3FtZ-bqr^|co=5E#W_rJ1Q*f8Oa=*b(R1Wdfw@}w-(^cFlqGfJ~p6d`ncRbDi4Y6p?dcW-kzY@?N -#@UL?FPOpKa`O#EHQyg9W`#tl<5^FzR{|f)`IL7Gi{;$J*?$w;*U@A`ccT)`;%C+miRV!(m-%>fM>Au -YS7w@(vmIeh9#!j&;5{iYEWjOBS5YmcEz>T?1}2Smzv!sJk5 -jPfPtE82X~C+Aet%3{(9qXq@xSQyGtQkpV@eEJLWe9 -~4kw^=(wv(-F_RI5>qBdEWZ}-%%@=#LgJF(~dp|7tHJNR>t-9U4^DzW(mcf!dKkDG$6~%2$AIjCtb~F -9)Pjm2VzT+eOYiYcm>>`y;{xH`pQPQ0BHstP8hBKqnMdrL)5CUJfUdQ$*t$i9}cCaVy0uwihMc)B(|3 -iybyatgPM&SPdP)h>@6aWAK2mmD%m`+dL&l9>60090#0015U003}la4%nWWo~3|axY|Qb98KJVlQ)Ja -%pgMb1rastvhRz+cuKl^($a$r%1&T<;NzMn~I#BB;#6LIkw9)&U(-GsVEYX=%Gk10ggtgtNZQO-2g~{ -q%`AfXqPRLK%>#`ZZt=1`puL@d7NaMb5_aq^m}|V7!5}3=e#(S$!05=|MQqVd-C-86#n^^{g!0mfn9} -Pk|Ka%uabyog2zneOl~=Qdyv~aV^{fF?!%I^mwA=Np-kWz{NN=EVZBV2$*Ph$+-*wEcRZ5_>xy&sYVq -^s>#NH^-bof_G5h(=>+5%mpWa`;d3S{mVccL{<~x?;EZG%#DcMg4$;IN$K;NeMW&`^%x4AICN^X7$Sy -qv(?+#+1UC6DBiXNp)8_TNeIGD*3fS8|b8WyFPzC8-hd?=CN|@#upAQdQ41at -v_#qU6?^fx7!Te0jhgF%Ki)hPtp_uNHsLTZj!xTt+9*SLX`*g^5VV119kiXfBy%?|>)FK9IB=X>(gMW -qtR+KpqTIA(L8Eq3}OH~3kAHM$%Ug9q2!!rRt<)MI|`y_k*Y&d%{0O*gVQ>GxV4->Rxd``PDAn`Xsg&p(wZJFGH2yD1;9$yki0g+eymZvPmf9JzcEVA4Dh -L=NDB^MFydp=x;so=OJ_QUK5*qOcbti~RgH8UiB0Xz>t5t70Op%^jPOmxGNwb9^2uqaGZ&}_ItVy%-> -fOaJrXZu8M;Ta48*#+5077bo5-d$ZUUoBo=F5g{(OqHC}36Szv-v5jq1>Y0|dH>_bC)587K7ZqXWS`{ -c;G6M}fAPkHtDoO3-d-=SFMoae>f)LJ0EVL@77Fk*BF*L?zsuz=1VvbS=cF=?0#8uw=~>KS4k~JT%l% -y*SExMeDvQSFwVExLYUXmOM~v%Na1S^E#6Z0fAJzY#>k&m*N&#aKW*|Var0)e@0|C~qQV9bm~&44fZ@0^Y5``rcaeQ6%_XxGP -}LtPf;mr0hOCB@}oSytKnCAvzm^5BH>Vvg%u%)oVmW*M~Z^^H5ISsw;9H|`(@F&O9EyF- -Bh5fX&Zb6-VizFJWb=e``Vg;e$e?TCQE5OpJe1()cXI9nyi!i>FrbG7&ov~~#y)1W!?a}l89B)3`QBD -wR%$a&}am+&_9P^bC=(9;)yS+?Q3$lQiy5@zHo0WaT2*W!H${^^Zd1DA?#=q%I^K+_JNea&Xe8L4@RS -Z3%T?JZ@}qiqga$aeSaZUN?vEg?nLhbcI#EOh;Wl3F`3&&g>COX9#%=!Y1Z``)HXVDH4}F|BN&Pkyc_ -!_6){2m1ng46(3-e4K$~XKI_6EohtBXSDF5q3aBC70}oSoS_QGkoY<<^V|uJ?wU2e77*)nIgk4Y*-l=y -n|h@#%{$>p5r%3S1A^MYqKQ!t8I7u~@YA=d?PDUAJRV-ms9Bd^66ii`X=SC?gpS>)mk{pfKtDkTgc70 -)0}^1YW~lB#4K(PC#9q8$?$3n68TT*j=EyQK;ePN~7T<11?!S8P2x6t5BcM_%59B^D9LZTwfAoS@6iI -FD6=@+!%yJCrtXNFwOK(fI%h-Jtt&O)r8J{84a4AW%KumO!FX9(+$*2~Tl@mhw*WujR;VzNK!cl;(SI -;NyU2vC#_J9!A}LQNxJ6$Kb1kw3TBl$Ze9q-+v@oobSakCLX~`zjcE(5DYgUX)NHXO44|#{dbSq1Dh| -GDxSCYVC&0I2m$p@!65Al*g~b5BB2PEVqm}7)C7&UJEexV-zL%4$b`&uka`$`(Tq`I71xeg1wccy1lp -u3RoOrMuE7x&YMp?+F+uNyCKG|g7IoN-+b2rdO?B&*H?Gs*tk8r23$~*cA-jXh2u_Ug1eelPGM&&+po -A-9L92#WCCYeV5`kqNcD)U=8;bV+9+n}{_H|yyo08MM80P6oR#Y-*WFJdypwsy|+e%rS&u07mK1i}@m -F|L=&;D;03MvT9&{^k|nCVT-Mk&uWa@!;Q2uJ{=?FKUB-xG)v~L*fu*D(f*KyYOz=S@hed&suh*y}zSVpFaDK(}eT=6=qYYIZoy}en9l+x0d^1-h;&0iq4 -P}4gyCC8!O_`W7|;|MnWVQ*gyjit?U7p7P-qi_bjPdi5I<#7h{aK;g^3zg77JW{eai8D{?%!US+o$I&&T)ene60l;N7 -xs{LlM8?-b}R!nLYQ@ -{B;PO9*O&DO}sM^E)9zlqRYg;Y~lBzodz^o3=cIL+pBZm8Qq1JV5RppNBq_HAr;gTB8|mVsI=aut=wa -+#)Pdl9hf^G>lbhla^~f(fK2YpiEMm_!8X%CF%N%=H+ujxeU -=b{T8N`n$dMEo=rsmtQ?y>%iWIBBl3Z2Y>&Ot{KQj3(k3cHK*CfB2>?vo!+c88tm$1wj3-}9V{83-A; -=U1*M8|2n02WAxQytn@wB*OfV4|#f0#uNW77j!<@HY_4)&1i`$%X -a#&`I@PILrwV7_-y*5c6X!HDP^sI!p@@CqS)-nGqS07V18=tVue1S@!)ui -BYZQmcf0laXEfg;9i3Nd;^{RJjF_;R6Pi{l?0!*49C`$h+CmJpsXm4im~y!gsUo9c2>9a$WD((*O|Nwm#F-;?did2fP#50G~GT}b -eQ5DS?8Cf|Kc;hFA2^3~W0Lm*h2`hDG9{`a*y1&6VI-7gWqc3n|&SNT0DmT@RU#F^H>!2T8uQ45_GSL -(e!wisl9)e|x9q&g1-C?vct)_En>F-$94bC2YdW^~So9RYffm4&FyUW-ms&}?Zmy2Wvn8YitlYWCD^- -MwU;_su)+Oi=L`41#{x8QklHhy&JR%l|){5$9TnSivecFDK6lp>Xala{4Nnv_zKJs3BU` -+mwX4(XNK1Fd<`~_O2caRYoG%I$?ad6z>s^Xxmv>;fq<9Cr~Wxof|q7p%vTjK?gCjvu{)hE+Kf{H`~z -6#J&ajLHJ~PqP2t{=50i4d3T&fbNLC@S%B6%EC42*PhJ9i@_5kB=AADu9ZdcLtwvK=TRrr(-$kOUPJN -84Db81c^tUh#FvTLkdjhfw#&`+PX@?PB}MS;8~koW^-N*yvDHKKUonMsmWU5Wj3q}9;gbU{48ehR1PN -VEKpdb!W7b9EDW1$Zu(#f`sc!a3~OaHBch?Q4Z?N2Y&^{5Zc>1ycLf*$LSk2(tB{>J7S>_>rJ^jc)v#rRt{a}(-D`G7zed=i;X{MmPG -;GGWKyuE!^|<|#C -dWG4s*=W$V#HIG_yt9V?R!%^5~r56>C~y?gpvWI3EOiI+%b@cg;7+MSS?s{9`(8hPcaTW-@mHxJ4!YaZx^wXTh&3Qq?MbOk3=gld;ds$I_6np%eN#_!m5T)!Fou)w12+|R^ -0G9MeJAlBa%@}RuCFSOSOS-3C6BO0iaq1_IIle+Bu@r3mX5z(b3NOb)VbH`&5 -3yHa9vl9(RaC6MMX#(Rt@k)m*NZBM`x+%&WqGO5K#`r`w9DAa?qpdQx?YyF@3&wzZfH7zIIXO>V=#C- -nLA!yYrDE3jIol5Cy(p0Oxsq!ekieVM*cA*0^dQK4#?$X=;;c6U_!nlpE*Mgd1#-+TFuc6DVGsmpKtC -*3!v0-WA+{@&PiRrhD2ZTwn2rv3GJ-1=Q_y5h|0PO`gBYln0+#P9LjAG6PvzgE;mL(ulvEmEA+6?*lz -LbvVJzFu>kJnE6Mb4x%pBz=cUAvIy!@Ft9EVeO{!7Cayp4Xe9i`}&d}*ou6b=_7X8{U-Ec|mTetYRXCUx%&zbJsF>q(ChES)RsiTNi@6Q -Rh@BTUk96F4q{&t|kcYkel!}bcW8U6g3JGx1fn^K#PXijK~D{T;Y#FbCGosGx( -PR≻!$nii0_X+_4bP_gCkmYWY|A$BPt@i0J~sWGI{X|h_H1?KffZ$VjqV1^&aK;YkszjXJL`VQ4^0 -U8JRTqPrcTQ66$JIzWX_O@E3NyIMRF4#J!9>yk|#`M;N(e^hZN0VB+-48!wsZV>Y7RB=-EW@1(@LZkg -x@*+!pSpuGL~Tp3&D%L;@4qPLb0IPxShKUSQVJ5@1Im0mGghst#+3DdTOIBLrG2AX*L5(_-8Fi%s+YqQmV#721i~?R;;1uf-P6{GJN8%7=TaqrfDj7D%-qJclwYgdwauC9gjc_ -V*&pY2e`wj=MoK;!LOTU^@2AP**9IJJ6t{NPD&8c+JNqQjvts;=b>^{-`uezD648Loi46uvFpVc_iqB=m3LGeT<6cr`PawkEt6@{ -XbAk0|XQR000O8B@~!WZl!l8tFiz90BQjM8vpqr05+q%M3uHr7f(r|~L`c92aotkIFauZ#B%Lf~GHkW2-mCp;uUu-cUhOT -nm0v2j%W5_#RzSrlRHIGttdnXiF)R==-{(0qy9sFT?fb|3dH;FQ%$zyrIlrFsoaa2xbDndy`mV -iO_)}Ge+0SVIoXr3JF9Cl!lU~VTUe0*us{MwA?_9Oif8U0}^$ic)+i>@f3-7u6{`()`3xBw_utB)L@V -@&CEAI3Z{`i44Yj4QT&MeZ)c=G(6H=KU*s>bBsohJ`8{u$meOIzb5`hLCfJ^Gd#UxfDuU4Ll&h{6^&K -0@Ok)!|>&->=d4lKbxQV|o9m?QR#tEHqe{SAO*VUCFpE#%RbgWHL+#eEeFA`_=XEu+c;fD;PF1jD<1K -^yHff8z>S>zcBzloy`;wVN>tai~d`0GBC4gLk!Gs+~3o{-3G>)!7z_~#xMo{!x-!zyke}nuwVZe{sw; -SW**)@XxAHreKlVWQ^+u@Z)jL^H-9(7WESgvpALUVFNcGAoi}J;%o{VYJcCwd;yZBR8yYq=+yi0SSLi -dd1m3LSyX7^kUH1S0{%4Mc16tl)-+`O=k9+w4|NDRPZ<*ZF++zj;*x532E@OXFat(-$EF-u=E}L5wtf -An*MOF2yz$5%fCvNfq%pCEJTrI)vpMJr~kO#9NF6?xZ>A9F_4H(osrpw95)dTi-2m^F{Bnmaj)vV91h -AIc#+#ySN;#|hPm?$|kM=;EfKY&qkhJzK1aw1e^kX>wXBver{pu8)`R@Gt&V$XD+e<4&Eat+v3|LS5W -Luwq58hgpTP>cPDBgQ=*@h=64#iUSG)qv5b3IoKO59|%ztHv -%0GmLtYc%jz%|Lh_=#0RU(oq=2%Du#{V%9=OjGrL)1}rt9#`n)YCpWUiF_SCtl-vtt#$o<5hk$s^UJ} -V-7|GQqL!}JUd$DGyzGQ6&#?aclSWzE2IugJ7prW^+jdHI&>^R3g5%#Z#K1o84o7{%cuAX97U%&!2)& -THRS{txx@(#-|&>HcL>BT~KvCvg~_93IaKfrjgszq8=&?g_c2P&e)w~r5>>-0Yk<-1AGC5o3&#T>P6g -_2V*+Yao8gnGvaKE28j+whfQl3cx5RNYv}?&_^sbwnE&t2b~1AjsY?2?=r)G@_;k26ckh@4tSoMmx{~ -)~n{RKp2q1S1J$s{4dk7>~q6-x=Cz|)^&=Nc^suP$DnXq$dz!v{suteSSp3XigXVzQpiO>pO>VMqBP} -b7v5J)_WnvNZf`oYXqDVvN1N-Fd)2&L$R%FQ1dIU#pa+X`t9cbjw!OiA!K&uXMu0?`V5o$A8vWti7`f -A5Iv2Z;5r78d6#$ey?9|e`6U{xRndEeOLux7NWDrj*5SLx``J{@X0yS?2R?-=&D6+W&>*2N89mw#gdD -At_Sj8U9>nI!|N+PtHv6=!V;VwdLRwVYPS>F=R%*8yChqRtD6Gkk7xY7s@F#1~DIO -J@OCpkF=dhQu|b4+tq{F0x+4Y-eFMLz&-diGK2-mN<3m`uPSV}s)h5la)CS1&m!! -3D=nskHUy$=8uvL01F{(KE|*t)=44)d34lB>$m)kUzWkg}B@5h++sD)c&L@e9$^5tg>n4ItBVEA?zyl -hv@E&BymTOtDos}=f-@zfRWdm0Kek_wX(~asK<`UE~``m+`VoEotMo$MW*3v5whewGmK@uIBPO*4iqYuz+^F -Ou379R2TjR=iUqr%j~zh%N>OONQ5k{N{VwNws+0C0q{i0|;p*WH0I5!+6_n%mWS*7w5P(s#V?liX5F$ -lll%K#4`;mIdIxiILg|NF_Tf)d%=)at>hl48M1ZG9yCB(|E1Q28B5v_Jp{rDyO>egqFG*o~MBmpy}Te;*cwq}Xsyi$y?x;h-M75@KbV1Ljev$_NXRDOT@zPv|d>98bu --GOge{2~zO%0A?iLmne70lwd+`NXUnT;3-Hrd^}<5FoiImFT~%(ddWc;yVSt?R}LbskM_grPl-sSWTN -irp-sj=H028QDJ6e@DWgk -19BIEINaqk+$mpFq$aRvrcj!AeB|kUTztfhe1!g-?)QjX@EEg`C;s8JZL17e+Y(l2Lt`LntJzsp0~IA -y=>4kBuR_3+OVb?1ZJy=Jk+YQQ^%dxw>O6l#f)BLD#NsatiWCQ3^T%Yi>nSY;md1K{nN?xy9dGd?#V|}&wmx`7=&dia@xW| -!FkE=~>!ArSUrX~R&xOgbR9p1(z2pTfu~%EK-J}M-YNWJe1&hVC1B@5t3uq4Z;o1oZjWTDykYDB+;71 -WZWI@6utFWZ%0g0u8Lb8Eg`J47iD^_+7`N6e->q=IxS|{bmReouaSppU;aCt1s@4nXBz -`r(rOB0MhhY>?Ktwg{1m0QA-EsVy)FJC0yJ8KD*q`6UAdv^UQ(i>)YvO-&SiwT#h-Hf%nmUzw;@|h+_i}n!-d?w -Uf@Q(xL`qa7DlJh=rHhnwc5s4)WaHhYrUhFk1Df}h`42h^KynFqnRV#E{i{(`?w2W7H2si=u6y<1*&c=}Fm{d>e$LKv(?vbml!6W?V#os -`Wa<1snG3e1TZlB>hJ&MpCLAy?1yN>Zu+OEUJ5oJ_BCtRcyktzwcBqe!J0Jzw-=>e}#EJqq-gnY8-Mx -g$Qv>6Q3RL&#*cnj%+HmIdo7a0XSbQp7?{d4p-Ol} -@r4RvoCC;zFqBXZs%Mr?~oeJR5AvAqzqfR%vVVQfWAa80&+z9K6pMgQ1!4l5ZaX=qWcV{Mbm`20<$XjY`L=&^&cTG&FB;6+SP~=KwsDc!Bn -g6bair>(76NCc!Mf55(1)B!68zTwDWr=9JHI7M8Hw+~l&bAJnn4L14I6ZU@nX9}kOwcpfM1d7QM7!g>j2G)OJ^!e8y-_~(Ebk0+pdUq@8~l$n -NNm*WrBJF$$NP_ug4LTq4iycU><a@jSQCM%JdPg7SgwSwV?vv;lIZ+5uQp#)*x&44(_D^cZse$P`yTHUc>l73F0iA9% -i1>`?6|&YdfBE|Ou0Gsx3zi-SvS827vkV=ic@~1p2SLREuJ|#Wo>O(sq$Y -CuXLq$3eUjeHtptGE7{W~rb7ag4qMmgbV9N->#6(W4*F;V;}aP(^%2js@yc -o3i*wS5gM#l}8{pL76M6#EIsM;kNb$T^`;jwtDJ6a&%X!%7xia2%bRjB?cB8rZY~ke=|8t~o%?Zt|D% -q#5gBWPoc7u0(O?wXOlB$VK>BNT_)K08_R@T{<<n-uvh&18K7mn_9{U^7T<{d0@93D+X%SOm?L=@Qd5Dbkf@GKVz4{S?qy)WqkK@}U-W -q3N=^TP>^Y7N+=!QjT&Z+D&18TYcn{IVhEP`@H1G6vYKsO4UJ5m#Vj%Pa$gYe%ytrFLSX1NXtiHkvC| -c8$gtDfdttz0aW*W=DErQ6lnv7kc)Mrxpj>u4V$h)lLr1(TcDw(?<>@fVSsPw0&qvyKyl<;=lJjx*TAZ}6hpLnfIY!#> -bM9b^K^Eq>9=NUB(oN92x?iW0|y8QIZ?LC+-Qfq>tP}J-*+gqCfm$C57?D -*Z$eAk5^ywN93grc`GO?x(C8KFpreIQCtP_Nrv*#9Aaf?TBVh+k5|GP?OUJqFSUCJyfMgq-kvdMQ^`y -(vRo{Qju$eZK^`LtrJ)y!j&ARYjllU;o#*FYT#@-U^3;gtTNmCjQa3-c64HjkK69VWlcq64E$L+Z~0m -AVF%H2k;@*S_!3Kx?e}TyghbCM3$0*5^gRMoZKR$8zr#yS^41Z3d~*D&%;{2f(KcAfK(ZF*RN?aT*j^ -X{~7qKg5b%0|29pe%`>3e4gcVUchb&>9NXuM1jV#ykuY&nI27#qMs%x}v+ -esTPranOd`Ml?5BjwM=o)z+1#Yqwq29|F?Soy*gW+q^r!|#eyeG$HML3rm!HEH_b$yNiJOjA~kXiWs? -sSrW?viS3(4TFB!a@VRn&;AYtdIjhs-Xxk)7k9kGq$8CsHXD^bK#Prm8dpNs1LI-1is<$$z_fgU+K^*31XzL7GfLL -lQqy+XyHdV8i)d(ybs&?|(v?F{ -$1j8IR&SG%nZg#>PF&qL5Km`YaHkkmdCT44{dvgT-in^07j(hZgN)^B~~_2Ku}(kTq8YqOj5|e=SXZPVVuNR*adhl6F@LAps&-xvCwnBVmo9Syp7mc)>rmv};^mYCF@Ot`D3k -x8!i`g|W3E$>j419w`vCE3_)JPh$R6&{n{@aO(y9NM*F-tEzGt5jlX6c(am%2buB~S`>LYAGaG>Dc|H -E#)|z|{Orsx25s|%2L%^cv!!Ky -(z1lKtXDCiU0a+}$fNaHOx(?vh=~S%ikR5Mk0IMFsmXG!g$gux1A~9n060~$?We@*0fUn9YK8%4+JI4 -$X6#4i`arnhT24ZA=%H<|pyxsG2-i|zKv^g(COq7uzeL@An@9?|mVR7)NEW}Oik~l%eExcoWb#*mQqB -c;8gM~Pa6vTP#as!*nE19W9))+-r}5WN0Ejxd;O}U>lN#`1u3iL-KSdLbT<|fv2MD!>CYDo-S7TyQJ^oQpDHK(;IEV`TvFxkKiqZhl1m5n5Kn^Ht#M#3oYH&LsFE#$(@Kv?+Bc<64bZp$tNeNDA=q1OVaaaC5i+A3`}OS7cSthB -j6sk>tDLO{Bz*LON6fJuSQ_Cz!mb-F+$LhuijR6j`HOaNG3SU(DbPri{JF0unA-`e*3qy3jC;+S -NCpW^xrEE;&Orc=OC5>NG?j!}f;8O~n#^)2A_Gut+HC_;s2c-7DIsi^Ty29G+LoRazYH*PLSvF4+HAMRCV_lyL6 -8ykPS;R5t$JXU{hbx$>Az|QB3OS9jREHA4H(Ir)O-zE{%}TGrz_;8xzr-vs<|APYSpeQwfo;gbB@}>Z -v01Ln#P_Q8T%23`JKmLEcj7##q-xUd=skrn|OZ2rkp_bau_i4JCBdVk+W2w4^B>vqXTrdh!|#TqhuRL -SMRj_iBWTzD8xm{x@6RV7G>21E%LcaO=>YfCNl$VmLayF5yD(o=uI^nUWn-{r6`I`sTDw>){peAB)ybzuFnI%OFU2 -x_a$37fWpwr!df0}hgKT+`+4Qd6I*V}K(CS52xsuhs)xRKFu>DSRy~cuJ)I-aNK^gpAi -pYf8%+Ea^1|)8p^EJ`$<>R3Ya)1r&y_zUSQS)i2!=O1w=Ixe3Aqz$75>!Js4{$!oOXE=cKk(af|oYo2 -V@IvLZ8;VC>qr04k6&Sx$K?|KkgE)70aJQJ%TUvi_)mR-O5rZc52jEOhWX$cc_6YMIB%wcH5-z1X+OTu6$KMS4Vcj-^F -580uVkVNw3FCGN$G{mxrbG?4VWsVHLCNKruJc>dyT1f$!Q7G1YZmu~EV)i2(Z-@F==#agGu+Y0@vO -iy4Z&laZ&;~q5x4%*t=!Rt6k5>NZGAM?XuT>u`P#?@!ADl+=bil)AW|`OLk-x+}fBOl0zg<<2ub_(7m --07q1UTj-H;OZmdIZu{^$c!Qd3^z9iT}(k=!vrE*9-$KMfaq2MeLHr=yyZ*4C>{xz-;`un4?(s7UVQPz157T`wH1Ji|MWU$Y|AyY+MIU^=R(^j7| -@ZA#<38$NI18uF1a2RST0+Se4!w@fXsTMSp6eO+0ip)nThhGPCrMK_vjX;^*&pP`l4k2m%Zmc!DSB(-Y8*xeI8_rr%>Tf?4&#G3)b@!#BJ*sevG`y55&m^3dw(>8f?EJTNl2dGjn3BTXoP`2h?`m>9EQ5IKmN_Zui^R_y@q(syx`+2Y_OVdQX-X8}YxB@PYRdSV`mWe= -OB4c4+{gxijDrm68ODDpjAVui2Ua#}$3Lbr8pZzar>Bk>oQ%ZmACDlV+uP|S~xlz>nj`fsN;HcD|@r2 -!_{wcOr0+}^MPDC=r#nhuF$A3zLC$84*@9tGVaMOG)*u&9g&UwSo~I%;ezOl5t={oz#w*# -Wu3PP=jHikG6J$dsgj3POcKZ%8qd;L)x*fDl>aCz#c}3>OOb(hs5lSmsQh<|PJ~?lZkz~b`XRNtOC>w -fa56}ZrwPiD@+v=!Ie8F;TNmq?Z{}KjI2462>B$d9;JoMzp5j_6A@TrfW-uk>i)Wt`r%=a9@-lTVlU! -Y>xeZX)jMM5ye`=PDkSqP=+B|U+*J(60)%iVgInE6A!~V+kpu~QO+N=dE`O3eGq0nv -M(4e0Em}eOq_UfVVv?0pTSqjkbDu;e1=YWOWrnv{NB8r5uT%F}rPHenD$%;b=^VYY8|b8i8TuBZp~io -i+y3&ZukNv|xULO7t9{LEaa>ra -O3M0)ACyD^ae1>e&)5M1d7(Np)ocxa3)M{3M0^SFB3l<5nR8pYL!Dir&tB9NJ&@@EW|7Xntu@z4MB=I -D$@^-YDpszucf1sQN6`c3W+p%d7QCF5P+$C?{uYHYyuTgHY=OY-#y_k#4LmN|#y#3|N03II#*k6qR>R -v35Y#EAw@FSc6^7gQnu>vwWjmUyV0M(vEpt4m1{789$c_{jIj22@Qr!gr}emqX^-APye@oMSpl(sAPrT|{X&-S|L&UIL2Lgh!h)zXR-q`BVK@?peZOxUou5aIt2d?I~Z@&Yk{`^>_A -NdDxm4C4%`;Yu|xF|6Pd8AcyOP3l4&|$iA9a_J4BBCIyZd^xRMW2*pjyxoqY0#V~R158Z;_Fc8K|C+x -G+_k&s?l9iEyW(n3GxPJJx0;B$e#q)|Gkivk++4S>etUPz_e94&Z^Os*_~N`R32KR}ABoUVNl?Q4 -ei^|AIfTl+eyeL1zSL)uq`_O)C4s?xsxUHe*Dj>CizKgS3_7t19Vq^*ARckvAq1XYdWgXHwVFr53eQF -<4h&LNJfj9b@1-YGuvJM@Ealv5wk+-8-|A**;RBS0b74Ij9P3~m%zv0UQ+T2+yp>G1tqHXStxTgflAu -<9F5Z0J*%L1tV+$!%2>xOE3w*f;-`vTXl4eD9it19#HDntsgIK9JnMI4(iL)VQ!HgaAoQy=NW0y9Ca6<0VXAajALFtiBLty791XAAm9NJe)F}qxf^H@E -p!RU?Es7-IIHZ}Fe(mKc)x--PzBbOsR`lSk|UYh!$dTdv6R#znH`Dr#q&n1`B^M{m{$0IFIAGng1@vK -HVmFMi?x>XwIq;48wPcFJoo^d=O54@^OytMTUU98C^YQ)h5v4s}EI$x}>!4& -p(qS4(M2(pFKk@fF0Vm1&_fTt4;dmu%rW7Ek)ct)4^MrJMtby-__bwwoP-wV@~Jt0|U0MlDZc{rDyil~dCIpGn(;Q8nZ>H;Ae -0K7%n{iW>+!>B<0QF7^8SzAX^b0s#9LLfRoWJZj{GqkRJ>r$aGDVB;~fW3b^HvHWqYXH^|P-j5-|=`~ -pc4E3ML!&o$D1Pc95WJbSMK+tE&`AnT1040=Jwx9ssf_@ykHbbz@W&3w@W)&N)AeTQ&$-EWK;H8vDo| -HSK+GD{}yk9MCK^y%^l*iwfYEMgzo#NMK2sFRr0c^H)}qOA6`U -@3ET@;O*e?J>#KNlTS$k0~$4T;1yd2hEM$Ti~@}gzV~;866R>ZnJVG=IUyq09`FQK-UmJ7X{GxQ6b%0 -vN6K7G1_b7YJiRr8Mw6yRC5p|14!p_EA=9-=uxs8$Rg==sClpbesH+cA;i-2luspN(PR-|h@^evC)zN -6qJPpnB(6D+lAF;)tL;Nm>oiTZhvjP4VSRJ=SHQ$Gonm5i!&mg&fcedrzj6+3A0Sh{%vBZCUoSbJ>A$ -CHq=ROt({Yh&S%*{8M8+2C0&bP7i%^vV20=n4GCYNG&YEu5Z5vjHL0GjfkbmnDE%8PY;3H&qA -$ycNivJWa9Y61X844)=$m1rVJN2z9;h_H|h&+VN^7;sKr(U%1oVo|Q3~@b+l5s!x+X@Yge>G(Ak^8E( -10r=E{1<-+ZTWp_-YhCbInMHx;-JdUwTIiR3tD$r*g-sWRIq?&o#kk(ZXlje5G!zpf|%xRt-VOLRG}- -49^qBw2^YNJEvOL`W1L#~&BMRwu_j5APJ=Oycms0P@NI3fazeq8*fieZabby -2O4IaMZ8sxm=f5|i2Pyb3<-tyMS5rPNI<>IEICULciX<9w0NnCAbwD!TXFcTVg -BO`OrB-5XuQI6vcCxA<8Rc!fpB~7LwyBa*TwE_1U=t8;@t@%C}uC@%c23Ge+SRo5g_P&PPa`~KiW|AC ->BrK6LX{H(4$pFkOrOB>=Hm0@GOm`SVmDbeGBG-bNm0HP)u7r7k>Kbrd-10N~DfuiGLD7br2r8e2b*D -8gGB+s?wpW^)gQo;bpntiN8Je%6N1zz~)~%CfLR3|L9>`vEe5tnCry`|DbHs#Ez*3w_hL|u3W(cz1X% -jyk+M{G5SS$@W;e7F;iQD0akV?l~%{xX9{jOS3cO;6AH~rdT=d<@CoBGo`$Wv-SCcCE0vK#1c<0K&UF -5J)CPGA-~v`7;gaC*^>@RsKAlPV*xlt3O#>8KKr>z+Y=9%R!NOrj&j@-Z(J&$qua`51-p4yaz~qUlTSWI%@!! -bghoj6UHA*Cp$0P3n6lM+boWBJqv -<6ImIA!Z=LRQd&y}V^$)z&lk_d)AYV)PAx`YNgzkmu=&3Eft*(NMV!aurL!BH=>fri0I?$JJ1FJ^4(M -z_dR2Jl^H|C^sl~!~-;d4RlwxN;XMX0CdTxZSrFsk2m)EBD>aryPjK__7l3>bkfowBC -fD#$%|6Ci1ml!I48mKp&Bqh&$O3m1D>e|$3L!U0kMSiT~tdK|E8v@&?fhj+tXD}p -Jw=65#2Ibt?u5O4w7zbzA^&xxIHABuI@<87TJ -}naCoSoyLIIpm3t;E5@X%asl>)y2HG=!s6A&sq3x-SdgNLg6(nIfvcW92l?hg1q&*z}PqcpagIHQkki@H|d8Gp!J&1h2!GJ>*QJUJzoE>e+#?f@(xxtYqC&7q7ag1DQ-F6rvpB&0k&7nQ -5l3D3&OZ6j3H0yd8U#_F;Biy5DY&wzCDcs*~m{m!M5Nr5;8&S$dE-48g#{xpz~TK!?=}isAGBLdMH72 -;5`l+tlUml3wqqZf`_|4l}{EQ!y~`=7npr?z#E -M;mQVy&GP#F59cNifI5HMd~z;jH(baE3+Ls+#Oy}Xr7rD3O|SIEXwT@!0H={Ma=-dc%#ztW0}kdJF=q -UJGHo)fAvNICMN{NluI(jv3t;?@a1dLZog3zG*Mlxne~5NgFa^pIR_70=_znDcltCL(rCl8;9&Sm=S5 -CoVhiVlL!!14fT$F~^+GVVv09Zpl**^rfLI*=9IGqas3jhw#jMCbz8#6#1rYD8dLgrh6bEH@X5V?Cem+%6Yn1@ -^ZU48A|2H=BUste^*Hf9}GSz}V{$4inqX -WPlem=xTZX?@2)>uL<+43=EBTFe8p@9BD+>*z8N~DEb2Zu8fx1Q@7Qu#4uBol#=Ou$<(ax_+QcW?r({YG$%q|zd_$WdARN6@gTj#oNKZ;rH|DDw -Sua_WPUWt9(=@`v(|}wH;)Plqe~LSemDZmMi@oFr>H2xF5-+(y3lH)|p#EP4AE2*zL$j&2LPo$h%!nG -C4e2$j^r_J1G#CAJ_D_X$JaSwJI{#LBK19gFZd`tB1SB*$M_pv*_8R6&IZ7_oO}cDi*p>nF4}?F!(a; -iEATOf>9~fLNxq75!-7xLPlb%jMWg$b3ccz#QPwUCBMOU$6X3ArSwW&Tkrv*K??f0AvR7D=^zj`z5hG$;hbJ1%$$`d3zKxIs8Qbo=*oX$&grpuh^PyKVvRdSU7N!x9 -frt_J61GQAGQ>$%Fje|^Umdu6b8*~r8_KF-!ChwNHwuL!U5!gk6Z*65|&Z*@ML9a&8aTG -K+2?}5)4eaX7028Vvi=kU?IbEHRrsfe{<=t#TR|OJ0!nOVwb);$=_sANIOE*;ag(}j_{Y(?r(rrK&h( -ROQg7#}zIWwCanS!N>H7lm3!i#ckFCM#!O0~ej`W&5{c$}fGg>8n}tn#mt%H)YG| -ZPjY)!ZeFA)lu6EiZ&)Z3*)3}=RTjJj^8#KZ3g)H&>+0$;ir{Ac1oU{uJzrCoir+zHUl(XjuyLmaR8u -`T<{p9xm4jU+8u3KEk`z|&5v)VlCYE8dqm;Hgn8R2sJtQP4sLIjv*|!r0os;H+bC}DTihWDKZ8evY{G -wl^n^#mm7mOYbO>fsr{a{k{)(HROH=2!F1^VjCX8D$+D6G->(ZR5^U+?A{JMI6ai=o!T<22(!xFqWjJ -!^DKO2b8#kIZ12`-2pRp<>c!*1@ugT7&5M)IDLvAEA8R`;L>BnT|H|1{!N6!Kj?z@50DOwB@laZ!8AW -9&y9QSOO|DGUWk3rCkI?LZS*_2U0b6x5XwaEvGFfh<1433NW2A5kx5;Vm6uBaD1}52c(wF*4|gY?z2Q -=7?pPLN+x-*#epL^d}Ng3+8s&j5?JV@xrx#L?tUIl`KnA$+UX0F_FptA&|YiUNRx2B#=@ta2^6v<@EN -7w5v0f>yUENHQ*p6ok2u!-4cpmEj~jl1lpe@pm9h*V_{D7Ip+Q}B%mCll2I=+8W;=;u(bFuP|u<53s~ -wL?Xbe#|6Yo7ZhQ|Ni{k-YHWNSQf_GtHZ4VP)IY_tFP<#p4{2i#y1#yoDZvza(Z|yfchk%AMv<%&Ne$um$5BI2swl@C4Khx{2rq3WOZslmOwF;>p?4H2@T?`mz6!7#a!BO -(kgo8D!06?;jxH^-q7QEH1b?4B+*VPn-tfQzUNW)6TvK1!rn-Um_e-unI5nFb~N%UV>*{+=O4OTVuD7yI;}ed5 -Q>*EPf>^)2{|Tr5zd3Z!r)Sd3-ST>~)}7-^#p-@`F(5AulQDgp`inNuf#*!X=b@mP?iSAmu38@~!B_I -!CI@2R#C05~FtWf^&s#5E{BN=^B)q(Sl^d4K|Q>{-&zU^;Y#OJZ+ed*B_#LLJj2UpKEpUY2rhWsYt!e -yg5rA(P~r;=rCu6rGBxSoc_Bm>I$Zew5Xbv+*oNcUU4qNs_pvul54iwT~*{t -se>vsa+bpUd2WY9wI1lU70AEW#hy%6C448ITnZv!}Q8FnFnQ9g{f0dT+Oc5TXrm+e$G^@wSKJa}UMj9*W^Th{<>yW&r{#yt)(=bl2_`jx-jBy#lO&6{cri(GNHpud}0qG#N#WBc*)(w?-j-H^ -2--T|vbnJf=&g2fg6{=v5X|xc(6;A^1!Jfru=*3=rd9g$-hYp3!Av$NjBLZlq=&g1aqttM$gwHVa{m76@Q6Mw%-ES9mwxJ--F -gLgNFo+OtYA*pyd6f!+Sxq;Po83=OrJ5zMd&fgqh>sv3D}zqf;O~!TXBSI!QNr}6-b -n6sozr(U&8HMFrfLy>lZVIf;h$92SMW&K)^eE^(A-{&SBH>^-7s$`MFSt+uZ@^ZKRvhy>yt -Z`Os!zd4$Y;`AJAec*o4Uo2Bcui&`eb+!-grQ(rPp+fY@g#2kQ05#r4X*s%5@^yz_r{DYyzf9% -W@QnakY5WkQ|2?UCXawQnaIuqmBAR+zjw-6u`W=J%~puOIm{;&|J7ap*|hY8Kh%vL-vq6NGD)_q>#_o -kkTIkp@e&V!GL1MN%)j93UG;$rl(+yJTU|`E_hMka_epN5T6ce8z`}7izx{nPbkwU_v -^ZX`zh(SHO&I)*9oxSYOq>O;z68;fN(ssrcF1*VJVCQZg6I3V|BeU4!8OBuVTfDJAEUxuR?7Esh=ZVw -To%N#kvIdEG^M0OqCPLgy9R!?!r6CFTTYV;FrpqgX*?VRf<~qAWC@hGZdIs0&JEpO251%NnLDB4S$0c -G(+JBu^wftRdZY1Yd=*(T -1Sw>^|8`M3IUD;Bahc>fkCcq!WvOo_IeydCosW_-Atw!yzlHTq=1KV51%Gk)8|!y6!&IS9mT87o!A3^CF-#p+s(lbg{TkeAUQg0Z1NU-J9Y=W=H*MX-^ -aff*Aj5cSz0~iQ)Rf{7-gQ)XDdj*wP!+!r9j1!^A*w0I{~8^xia&m(DlY3_>r-H4RP>)w#XY2c**{XW -`v-?9+M|a`o*4ayinbU{D%$_G?6N~*a;+_RN=Ubd<7o!ELCy%{$l=2&y=N^1wX0swFnGxf-r)rh&kjM -%PeI@v6Ta7}4dK&`d1T8F%p?d>8BD(;*7|~W9M_37f4jVlEk4QZGv9p0t*RZM|8&qRHm@Js$N#bOnp@a|1>?^wvqx;s -qjxkpqQYMNc1G&4R8~8{_v0@kJpEfJN>OAL8i2P%`Ru4>kHd-c3?QjqOqBD61zu8yJN_ZQGI`P48Bf5 -xz(*FGq89raX#%}U>XbmeR@Q1|DWzUwfP8qXM@?w6fu9^O`be(Ucsv3$*XwhWfB!6bJ;!Zg)Et_z6|a -yJ-c)H3WZ*eSor*z5oWjH`O{sHJH7i!tMOAu*6*)>b3~#`Zs8msf*T^sw6jos?q@8ib7gCL}?Fk -cF3h74$nR4E*STksNU2=7pRfyWR9I)EJ(K#$U#%acjSIFl0xC^%LY3FJavJcFtuCv8EkZ5NJNU)koes -q%%&Vb`uxyN7e|4`S{Q<{`iYS8spn^XgGgtxspHrNC$JLz{uHy{~Uj;bYH#=vhr`S*B2~;Rb0*Denq^SMi?|_a$r;*xo)+zXf>#U;(3+}q6IlnR3mR)D -XuAFL87!apU3jI{7q)$t!v7E#xP+aBUZTveY%vb<&P!5oALYp@}DQaaeS4!@?R#u@!nHqQF$o&jXR~v -obpGL-?*Qm+))0DPb}YK)W1Xcom2iYey77X?hdFM*92JgM2)m{jgpQXT#O%et5?uH;o8&zNDKL -hFP40v>0%*oX}Xvp{2P>HZl9+zI0d1bTuU69(Uvy5kT=iH -5Yj4@vx}6!(1c_9>In^WX$`cg2K%Y`c%@V2+@?7z`SaM?t8ue<61}V=P=hY4K^I*Hx2r{Siq4>$pWf&;YD&1y;RN~R!o`?#jvI)m#$8GzvC0_e#iPUyS{Xl=u20L -(Cd@S2hgq2>n)CYk0+dNkJl@?`ZTejouB0^PYwf0AkG|vqb!O< -{xBt}eta=4)xwk`-I3z`kXr{m0~T_V@I629(RtCO`HJ))bFx2dF5WI_H=9Qpj4ZPxsGbyl*jlCsrLPLmugcoW3Kn9`Lh-j! -_#iEK%-qQ_(>Z6wqg^kvo4!3@|?@YIMW$C!*iN9H&v@mvdboRnTn$aAafXvtWEsEfd|n>Zrd?EEyCBtfU0RdXUymH0@fHTS&zzAeL%wJ0e_9T1w>7HZ{#XXugA&f=LrQN5I4gqR#aM@z6UNnUTWB -h12dm+r6bH}Gt=eHc$oUY%R_q>xI*<6kHRG6Eq`|!RuvAW0n0^J5PWi<9aU&v=@>8z6Vyp2!SK5S$mU -TyleDxti575U*FDhNpviE9rEF8I4D5XZ(a|k5lIto*(2WA&40x$u)ptSYC -Bk&MVcuI$(LnwwJGw@TJ*Y=@iLbF3I$ot)lx5zX9kuE%#bS60ZGWz&F`!co+=6k%}j1B2Zo_`Q3{?{_ -_WZ(9e=`p}AT?*|Nen+Zb#(v}FSjw~7;fZQBb$Fs$Wf6KN>8gNXNt2J^R$1y=WOSmcX#?UuVrX4xG=C -=@l0y~7qNc*8*6K@5YcEx`R;$9c{zwzo@;p!vAjrtC4;VdA{;$5)&p|jY3S-I9KZ5u-3#A_34T&28g> -jYc)^{@KxzdTTzxp_-RE(<^8#~7dqvY6AOE6`wcG?Lj_b_!Jnn@gAQ&@=E-S1MN{%KJE>o`RZpzD3G( -I#-R>-3bEV9BVqDW(jU4Tx|`%n{)$%8|JEYeABP*W_}%d60e?wJ$S6rA#v;Ol)@z8kBrks`lfxlavZF -A6UR?z3a7vBcT<{sq{ev=wDUouV*V^IPa>^whbVRt|L;4A#7`Od?v==0d8$p#dZ!8u -Q7B08~w{Q-*2JLDU*D?`zJh-SyKE<+QhVU#0mYpljhHkkyoMe7fz=z$$>Q@y>YJN;ikKtK&lz -hN3q1=IX(w&$gAY{|EwowQP~NE&N$})92eV-)d^S#I&-)Rg{~L$6VUhvz}4QWo}{%FXJRzDJR*Snzl( -^5-=ev0n(X@9ESe-Q691?;3z2{q$hT(>OZUpIKxcx$Xwh{+KIo=H&g!8uwGCOBAIhQiit0~psMtYAo< -DfK^_j|`lq4lxoWq59tCeM&ewmtN*G1X|31m(pZPsCz|;Wm2cfu;)qmZptg(QH370!{8*UDCjt@Kex1 -`2_;eP2zgK|4rnb3cNplkT;2Qu)@7zlx|q7?3?_aH$1WsTkZw6ex74YR3R{`LM0^?1s>leFpp?yzF|1QDE^#pux6Cb8|gjZr_7x_7lEP1&hDIF_anlsMY2*j8vnWC)orCqjki7SJ*d2`8C580*Wc!I`yh1umdycm!>)?3k_sR^|e(mVm|6=ej<;gs`H>w#*HP>fL_j-Glgpmu3w&0 -5uKo9>iM*RsIL!mZIq@pXT6;rf;tS=8==zg*@jl1odd%1~B2&Et -Uy1oIkg%;q<-VZe%tv}5qSu$-f1WC=tke}w0p{v$lMrhbHH)}MepuJ{q2A3c8MkMQ6x#el5ZS617{zv -QD56wX_m!bRGR6J3bY(r#)|)c`0jIZ4f`+6@&{ybZ!EzE*Y>V&qGVc5(BgyR?QE49`g2BIU+}tCpDSrb~@o%#WxEstLQ141m?`wM=Krw68m@CSX1lI0FDJ2&|&-FGg -!%n+aaO_AY0`-Fr-si0su6%-6nK_OB>E~Nt75ET?46#xmKPP=XE>}ItWozG_sAN$!yzdQC1{Ng+4>kO -XaUkRCSbq5#^As^C}9PxuaK?*3KXdHp3h&*&5T%%#lL-L?6j@iGNug%`g6 -~6HdhMBg?thQ4zNN8kA*9p5tvLq7{i;%E3SBE9rIjS%{tPP*v3gmlvP4 -04RV3rGij&mv*^o=x`u3|r__H#*7hXjBDxj=rnNGxWWXJVD=X5~A;=BuL-ONh5u)Bm#Y}CO@X{HDoP) -`$;W*uOrLodp)V9Z=Sg5dowAg?=7TMZ^B+w+{iT;yB7_Uq<{wTx;Zj}26tdEjRw)&NiK#kh?{t%mj<8 -2;9qI*X$*c$gU@2{T^jri2H&8;=P`I7l)A#}ze1@CxOUMX-rhx?q(O8lCm|Zd>sQE6Lwb|ZR7QB3fN~ -ePj|NewC3Q52Klw~NG>BY=RM8;XcS$)75)9ru7KW20b)53xicOI2(iIH0Z?O%`{kn!E0!+3WEj7CNIRV9Gc+9pos>TVlW|Na5)D5MuRIc_&E)( -#^8rCmCNcbJA1^}$Y~A>y&NvxO-=`F$E4wksdSHMq>&cmT7uSj}}wpuuR -uuKGtGpIV?^+rbCOF?XXnnF?+Qbr^8aE$NWZ%sc={p>M_62VyYY#w;t0(V>T{ylrGhKe}9|SdtF{c6z -H~a_y+NUwB)A?op>MXMFHM$R49jlLxgH~7i*sY1{({;);Vdgq9O$d}eEY&UYC_Ur -+&A)81evyxtDNlS-dXb_u-sizwtJYO+65l5+g{kG+F@8E2Tb7Sk?Czmui}rHc+#mR}r}?`bONoTqmdIge`h1>Kmb4=Oh-Ttmq(xQg!5(n{IM-Xt#8{-eSEg -CXd~AFK*y|PnG=xiA3i@g?kFCMH}G(@v_um>f(Xo!b>pVq!#B!0-9IMt~;tO%vSDdGD)5b7m&sAWNI|&+h+ua2=)@}AlO2%iC{fw2wQsA5%&05y1VG^qWjNu|C#P(bT6a(CAwdtdpX_9>0UwiiUJ -)Ls+hJ+TdtG_2hn)ejX?r7GhncYT72c4JC*s7)S6BK{7!Wf&EEQH?63wThYBa-J8?BDczgW-IwmZ -boZgV58d^2*VA1`cU{%Gk;-Tl{jMk2LU7#hrQ^I%Fqlg{XR1Cq8LE~`&vWj2{tfCTO|wbTy;GQyJW@)NE0b#0?E0}kjg -<{w;Ji4w@F|mQJae6&e+a9zp46G%)^)*80DgM~7vGz+W-H1gmO`fa}ob-DXOTi=7D#a)w!(Ig3+0uuRd8Ku+4LFuVSMTiX~35OD9>SgPpqyn$VR6T{JAj4g}{7|7!(9boO$c#TMgQ(~n$^)BE_KOt@a!2P3Umrs`6SuIIN2<0@sbs`w&s{$-nIYV&cEi|rj5HU`0F3;1-+b5zV1-oUzobU0x}Er%2Cpn% -1$BX1}Lh_HmT&|F?QK3?qcij528e0vslVTgFyZq4jGJPiQ`qi?u%ckS9L57Zx_7`4`EH;IR&g@GtRh74Jjc@8iV#a -OHj77=IiPZuLzzNh!iD8f^tX&M23}4?#uNA$=PntTi|qT!BYtIqVkZb88oxp?4PB(^?cnog9_wLv!j; -shVhh497oQ4lmc(>Me-!Wz5J*1J?qVpm3M<-e^hx!H+n?e@5K3!(|_X_(uU9^hezoV6;>XlpE>u~uW?&*l8 -7%z$TX6X=|sqswsT(a|IM)7$4fp#8;5I*v}%XhO0icDwj5yQJAaN)sv;p@XOvHBbdn=1^2WFl91lR5x -CXCqQ&N)3M9;_^P$ -hG;)t^F^0h8WmR>AdVHmVa2ITIZ~wgY1!)S(Z)k=&j8OFxup#U_%Vk7iaLgW{WQaCK9qUK(QfXOwSjoby88NqTDoQ1N -OnVN_onw5;dS7A9hwra|9k`}$vuO=a5eVqASb5c(=?YgTM$ymPiC6<2UG^@o+{2f(s4bmsRwhp$HZh~ -EJE?K{s`C{o|>!bUV(8`mpO!^(&2@u%HofB(~xVF;&}vXk&eOhGGYC!f~-W1FHMy%rDeS0}QIdobF3a#o}G8YwVr! -ab+v<4UhJ6n71z1khjDG=9D%-Zb=I~*mr2tf_x+8YIw3J+NtF|y`2|$Gb46%9E5qqhbVN=1*=aVftn# -N+5_L#w*oJ$7DXZ=(?Fcx1%(psYk0K1CqAz*ox_JHh?G}o$e%`i?)?I>th|K&15UR85Q&DB3kd6$VBvAPlB@7DQd5&at2XVMaystsqN|EopqE-G~EV1%nj`YNKO;q -ca~wIT;n5WLy&^ULT*EiO9|ZaErFckq_SKyA=@)OD=2i;R5JqhCHm#y3@pJdS#;f!Y?(flJJ`%B0_2m -OEyErnUD0jNWBCL^!+tfU4IW-Tf_Fiz=QT1RMJJTIv|koaBKyAjsoN?2OQ0Xo9p%asgRR`L?IdSBan| -s)I-M8dT(mOanTOp@5-$bxRt=8kH7=iIKzGWiu?=^S8p=e8)A~jcZ(Ro`e-wDxUob*J{!sc2it^3wxVTAZh+{P>E%%T5)Wr!r_OXVh!H -axNgBRT3O=wR4xwA});$MdH?kv@zaH+W(Ly?^brxBm4*ZEP;HaXaH?qIHgkKf*=_2q4A`=}?QT=h{;NM*_qkJtK9 -&l`^`o7lfsK?zjHE~^Ds-|UaRa)+Fed+dgJxq_KCu*g^OVIF1jO$~giUu#Dp+}4>+9-W -f;CEVV0&5^wJrSd`o6j;aQ*0qtc$`sZ9eUS8OY7R5|M^mdFxJ++MPk(DP#;sQv&@ODvet(7M@XjgCQ( -J>RXWh#NmxanA3!si#f(S!I6rbdwUd$z*V_kjTO)h$eKv#hqs_stoSm>F?!$6E$GHfe&hQF{x1txm4F -eOKu2(lOvGICc1}20-3dz7kbK*N!asl2~U6&0^j4yDDH5E(no!mRhcXC^1!v*8Jv);Rv -O;R*W&@ojZUVC|MCkZx0z@ -93hY*cJdEV*9A_C(BojqQnRw_$tYpkjNXmCE+S+p_Hm*I%?f@n9R3?TPi*Z`bz3oSSS<^p|W;^tvtE6 -FotSRP`mDs~ewq9%nV_v|8w@qrpTGy;f1Blr^=nm@C)QlAYIy=V-M-}s(N4KA8*{Vei51u -XtmO%jTwRtYlmNH3Jh4|$Bk(D}z%5&yu*y~^CMZ@XcB!mRAY3h0Cwd9169`bd)rrO`s}pzqb*mG1=YN -`Wm#{j~_{wqnr>t(X6LRVONxKvIw{3R<{k^a|Au)#A?gWbB)^;bRR@$8ycaz--Q$&)z4^s?J{Px!kPo -N$C8x2paxL$|hi573yVt4|QUrmN5TK=x|E7c88AfKv+Cw9Db`-UfAL_!#z5Vj^1!xOLxBMeXEwonH(weR1&$?ya^B4Ky}53UKxm}3gJn+;DGqy`&! -dGV2w#NXYfM`)%X9=r|t1(#|Rv8$P)cs~jA!-5Fb?^P3fV55np5PU$;_!SdtO)!<l=zxX7`DK6(*3q3iXBXAy=Ygr1(+@$uHB*qWj2-w6(_jrwKQ4uqZs%M3CBB~!u -OfwH*Bq3$8x19?mM||9EzRCr0HWJO&>kwsqkxZxMl8eu0VP$Ju3FS7xWji3}=}IQcN)`K5Ym*q$O#>|GemDs&@qRma*+~6WN@v{Q4qrVv#M0?a4mFuxjN8e>9;q -3_dpYB4Na&`lWN!zjRQe^FyV_c*^nfPtU|-L1{vpipWRY?zJ?x~QN?;P(+N|#+ -U#oAQdvG4MKB(9#Eo=oAVgXpTZqhALSU2fAuBq)FDUg?8TO$gkJ}(<*{e1+w4cok;UDz8cmY(OqEXtx -yV%LsleuutMzH^O%pZ1-kH$1gxG?mw=*wlJFODEa+%`c?TSVr>=5>YJ1K9e=pyPdgsq09_jSRF5L1JA_W*t8A>FOO17sYAZ9AU0r@tanyXc-WgTqbY -Rn~VY@D*1Ek)XwlGWPSTPeCKfe0sD~Dq7`9y<4TW9BRKVN$G3H#8ZUn##&7th~!U)G7K+3i`s3x4u4By2fj-I(DwPChYB9gQ{t^q-sjCmqXdKy}GhVq$Mev0 -@TVTI78Vq5=C0>ZFsDqq-tvLfuw2zxe)GD^d480K)JgFN=`x5w7r_D$-hWeHEk2BCIm0pE)+O;)RnyE -e%6${AXH6w7OJLYh#_7}^6SAE&L8*L{GD2Ru}-NRAVO`>kyM%BmDO-886)&U$FE6xq3yC>NO<)XnkJC -NO1diPcBqo>B{|(jB3)4eB_1NhOVv`ud&!S_iSY6W>nMA9vejfSPqQ|+m(McfAJQu%3B|`wJ@N}qvo+ -RUm7QsfEqO_=;O|@VtozwmvQ#AOZ7=U_YmsEn@#ty0gC8@45@kxuncnCOgsacn_g&*sZ9Gu -&dpgBh*F201ryr$_)9ZY5s4Ax@d)*lEl?cQN$9_rh=Un*OXcP&N5LQXbbrV4UVPcwqF!E=JqAu3MCUF -NlK=Jtg_^GGPR%0TXuKu6ghEj^V}`eOU1g&B9u|8dgp`+$7*D1$h!*N(%0?@798yxeio&&6)*YRu(Yu -!?0Z0==Ix0UDs&%)ZLrtu^@qH1N;7yc7X7UdtfhN%UzjdqILzWjqgk#F84bWiZ7nF>lY+BHb5r;s!;$KcqCmR#zcnZ6CRaIr15Nqy2RTU@|t6NotIMzE>`tPaakCF?}Hf=Z}nix!*s>(3h^*e0ummJZ`imG!$(fF}OR -#fd$6jeWBE>fOi&48lHPbjKh6pAX*KhV4x`A(7B0#sD7Ze*zzUBOpG6V970)Kj7eg?b8{oaE3#JtaC? -?S9dz3AC^16b3Tw&qw<8-CQK8rB*^M^{q3s+!<3*@;SZO?x5adnk`P^N}*I37Ia{~Ug{W}2Nqlvilqk -%-jq~IVjW8G{CG$H#%qd7sj}Q@>Rew+OsJH!vP!9#Qd|b_&9khsYZuwb!_k7B@i7CDCVK{Pae-_zAtzBN -c+h^HwQ(rBCoNya**}ltk@Hr7vle=3)^fU>tGkArycJYA+l`@1KC;0t`bXaZoAcEB&bFER;?Aa{B~WW4LI)PQigvKedk -ql=c@L-&uE~mHaCkcxksh(r)$wk#T7UsYOc^aZ!s3T_WN(S*?T@ -HaAcv$a|Eh5_%;(xU{ht?u6TTrw}upqE(PI5_s8>FUg|&h>ebv%=jHLDC7kwmT>n -rWtD$-(`O^cS2A@fkTY52zsRp)ed@+)Hl8D{R6l)Ksh_Pwf{#}-w3Ndq82RdK3+84EN$i*T -ZzS_3}K!}eYTgZZfWickuY?1%uwxTsG@gi>1r*9@u*C4Lprg<=Qmr$xE!V@oIiHz^y28u&QOK5plJ9u -3g-%o6NW1f7nb+w2Y%gmvfkD!wZ3a)0Yf6`fNYmv6J2U1qg6@>L -cyotgH)>+qybXbx2n$Vz38ZS|wi&>-b48)ZW0BxQ;6ja1e3fNSE4_`yyH&WDN5e}3#Se#@yUpOiT=N}pZ{N+!QAxA?H;)@?6egg1g!cR1Q9>PynfdgX9P}`CGPpuC)_t1RSYADrGcY^o@5xzrhm+f -Z^)>h6vfnOK>Y!qLuS_A~I)ghbl@C@Mu9N= -Y}&R{mhgSQKS_-mD9?)^+$KP%%=!3;QqhgmC$?#!H+rzsO5g&q?;QgvP8tm+a*sOaNq)D4$U=aj~hIf~cmWVjPovggy- -W?rRKJ^j%3GZ!dq?kPky7K^F~q*|=XbJUX53AmyLW2vSNWC>z|X9fkUY(5E -%6a@5iMhB(5=HNz==T;dFGB_Cee+%-wK)DHRCVO9IyAo?k)kV8z*@ewQSOLtxY}2RKbIrz9d||z>ng5Mw*8yx!z{fUD-2-TAzt}s% -P#`|GQ#cW$Bu<^a6ts`Zp?-4Z`H$12P3UMdG0x_3)IkM(Yc;11h;jWIC2fxnx?vp~^qqB7U|~|uyJYQ4#Nu)_GgBgj@0no=zJY}${x{ -@CTWPYR|8Sw__HjmCT0FLC-WW}562oww*d0|g-|fSFW&88mz(P}vDsY`pf~PXqv%IQGy?IP5PO{a&zK -Px;PMLGP{XNM`;Vxk`%`x_8EP;&2F}i5N&wP(5dHWA>lrKHF+GPOL3f;7o7V_C)u&n47Sy!9)j}3=IKtX{N!t1vQ*}KDU03F6g2~=PWMuaPEs1TtsMm -ED9W`^2y&E3M=w_p=?V&CV9w=hao(b92<2<<<7sQ)x-U^N5orH}Q=>248FVd -Y#$3uadwNV|@44y>=gJwvhP*H^6S=-lLOQmn_8}IPzLy)i(h*+Pevf19C7dI0uj`|!O7gB_Q!78wad; -7~?QNIrHz+mO-j5N66J1EON0qF;66f~`{t>mNY#`Flp=MFz(oR)f7v_HGQR>P~(B+git -n|rko0|^-+vY9Igib0(VRT@Hj08OsQ+X;yd0Wk;UIoud!cC?Z!3Yv=GGj@&$(#(~#+zUy9@8KLWkLp -;1sNzOt3cRvDcFtQNZY#ngVqS=(W0MlDBoS`{BpbtX8IQ7_(s~!+fN&;el%|>@vt^@-s!ljV5Y7hM;B -qch+VT#5FOsQJex_HqH=;@(ZiXCV1RT|BI65J(R{*e6DT9q%*hD+kThim*S_jF*CeZXeQ< -A%-Cm54pdcmWejE2jsGaUg63KJ1Cok0PG$FS=#x8LW&dW|gGl#}_X}7or?L-omy2A@%X&BDInM8uPiRo=K4H0w>-7lkK7)L%cy^yb{_H79s`id`4aQ^ -T8RYoHM?QnxLq3Dt|0Bl;n$9bSkl%Mi-aubbIzm3(d4Lei{=^~V&0_E^*(ld{-&QtjYggnuNuT6sUfL -SpXH_6O=QZIpslxTvVI^OjM&7_(Y^C1LVqrJ3@;GvuPxqaq7vC&|#Kxij81Xzwm|2=sk670`;cm;L); -8o98|S*1tB7Gb=l)V3$?)NV$>NaE>h|=6eUBJtly8HB)+qEj^L)04y#3%dBfj(RSpV!|Z)>Oeh1T}=e -H#0IO}`&4Uj4qG<>B!|zy0)7Oi%mzow7B+8I?x^5B57{t%r43Zt=MCm9uC9L@x2Yn3n#NsVYp#t^UC0 -z%cW;4$N1qu%Oikn*hA!^93qV6sGNl`}sCF0PAqJdN|th%IQ76Eau8-c^Nm+uc=mgI;}l6fxLK!C6va -0uKx>HxlY5pJTNN|dvg5VA>3QN$NU@*aCf-Hhx>ucCag7x&gnP3OOX9P -bJ+#vAvrg#MX2x1AW1d9kZ6BH60Avj6!6TxMIM%2l4BnTkrPcVYuL4st0nFP56PZF#rc#q%^!Eu702+ -9fS*VC|e1osj2BN$9Dj=(~&gy2PjcL+WuI73iQa0lUUBnTiFNHBunAp$Ew9>E%dw+Idq{83*c%5aI7= -B9EjYHec4!6x?o3KQFM(8LHi>8~Hf&lX`4<-ab>NO?(rMz_lx`Hu -IgdGc!?_tbLn3*a4DfDX*ZX;MGn_10mB!#k)yW$c<_bhTzhoV^*n?{gL?zkf9IZe(N&lwa>$~%j~r;s -0TOrYnfutQ2^VWzY!6cTPqyab9@=_28);HcoG;G^K6Mg5tlSZoOvDNI6!c%*!gKGH>+NDJv84T?7hX&^r0A`Xj5u-Yt%2_lWbmK5#6x(5Lm2q8VbrQd6ZeEuiwk7;vu?yu!|6}tmzF))Vm9L*W46X7q}jyt5Y= --?T3Y5*rOj(Rv^q~OZ+*S`4SX6lGWa&Wqe;_dciz>!Ma#QewZ5l~v2DBdejPe?>U{5g{$09u>mJbK{= -lBSdOy&oZ@-}a0|o}0LI#C~g%2JwG$L}?@Td_ZqeqR788bFEZru0>Crq3)IsT!9DN_^8Nz;;3Qm3b-X -Jls0uw+|pGiS}7^Y9~c=grSyp_!KO*(ug&OXgHFYCoNLZ7T7Gg}B5_lqFINK>b(*pIC{f(#hQ@TB}8b -GYUEyvidS#52yANLx1Wpl5Y(4N+Z~i8hp?uM-oqlh!8dTkEZ@DfJ!@1xOAm3A%u<8cc2e3ik`(NdJeP -b(~#S6dIB|x!YxUpnJ&U66D8U7lpuOUsRu$ogFetE+D-=b0Y>^w5LC|;DO9Ef{}kbqK=D%8!*V#Zs`{ -eUN$IDE)|o;v69l$Wo<_>eCenvL`rAyAEBvzPFU=i8O0gUHLpO#DSOsrnh|-!yv>GXgEQ&i-u3stjG`dUFDm5kfq^nA_dOkgF!B;oew^>!*p_I-T -xn3-8AE|^hMX8}J{X6)gIvoLSIux9ga;u4g#A@;HCz(QtZxb~-MJ~mu;8zupPQjGs_rD?KxBSM=v;2aAVEsR^=mLlO?1stK7FJJX2F&uTJNITcndN_i`zs#aTqEiS9mN`YqG{EB -sP5r$kZS33BR6x|Qt^Wtu7Yp|j{mlf{^06cVqw3OC%`9s^YMbNl!qgv5iWvvl!pt%6^Gs(x-iT}Zo-& -6O0hZ{ptoRezl%>Og8e(uk8q?ga)mF^ECAG*Uzb2QyCWecEtlxQ0kF-~Lr1#PjS?^k+-Q07m6Mk=|glGSi}!VIQz{!(8qhi> -AJvHoKIkx6BWQ0em6E5$}y(?w~{qThjX-BisX+}$GDinODvq}ET++*!<+z?JukG&*P4($eVB3;!A_E2 -i~gULL->@bGX?T)hHtR3!y8_K6Q8f)huKIqv^j6Yc-9?-q%5oPhwCCkN`q(1JV&{^ArH?OL{*Nb~eCp| -ER;+yXxmBy5e__qq7uT)d@Y2g0UwQSlO|QT4&&_YX_4byn+qS>+?tAa=*tu(WVbPxAy&vq`f8gMUA07 -Jmlfy@jetPV)&%gNc_*W;sKKaeJ-<>*r=KHhfe)!Q<@>A*0zx;Z>?80vsFa3V`O8M14u2o#W!T)8&MD -2=)+fq#Ychmpho&UdGF;u(%|A_L(*-s7R9*VLBRnIubSdkl+s-7QLJug!|FIPSPL-qWG>KSJnE -6-b1&oC5TPfAa0zZhaxbY^iW8Ht&*Vyp?)l*|mckIgn)MovjJPqjv5BxPFCg-4teXLv%kHDszaWu`eg -Gs~7G+@yCY85Tt;CQLIA%A6g?#fEVMbX+dUStN`_N8_XwW9QsOxfF|$IF_88tk-+b&dQpVl~qL!!^*)30<0}yOXT1LYeJgQY_Vioj42 -t$v;5KJvX`;BlZY34+uHPe`xWzH~~XPc+mtO--npy(Z&fd}{{5uwI}3}ZqT1xlpw(E -L&XbW??~m=h9>NtVoX3N50u_HD855JDIYr7{^ucgBL`vWU!_LU_50+Bm~zw#-S%m}X282;JnLZMIrf- -YnaiNMt42veHtfN+A><;g@N%*6c}sR46t3Rnjt*h_RZDSrWGxZQ01WQ-`$dPF2fnn%PQ4mSQzd%}g{K -Gn14Ukoz(3mDWAF3k|1*?o-5Es=GYfQ?BsYS;Tl!ic(2adgMk+_lfm>2_-0$(SHx4{oTEat(NNYTJouOH0d~CHSlTP1RdNoZ8Ew20pS(v!U{`jh)Risdc9$8 -O`Zg);agqozE0v8JQ^(u#=8`d)a`h}0Lqq#}+<)dT5Vm#Vs -wK-LMI{eiRTNc82zwi2gf!Vk}kaoQc%Oqa)9rn4OZIm1d4t`o4*YDcRPE*1-F_WhIKv&)AD -G(*ul^Jz8_#*pQC_-Tn(Y)b0Oz=eqshzPE1wj{bG~dv>Yne@Nv&v8#z?b*<`uq+0 -yN_t%~Nq@dc<$Gv;-E$ACm)&F=k|8GN0?&n`r&(*`N39t0qqRZhC!2)lJXSqa}Y_Q%0L=rK -`o5y7Or{rEY)wjJo}wm{~WTKjhV3uFpMcVsAWJyZ@=DOziAaRsE}%vDUg6GX&D;1Z#2}n?Y}CDV`)rNwQ}fS*Vcflt}<_ut>{hvCtr?q<>Wxmylu|oN0-nK{?GV$DKw -YGt3r>9h#Yuotb71wOZ1`X;8H?b|(wT&Q6(@A*V1VvocHe9dZErp(IMUSL~a5kZV+CqAkrlm}Hg_3F$ --z+n^l3wuhY$Q>?(u|%XDV@(`NH;Ta@$g<4Xqlto$$;fkpj>#H4ZPMB%F$vs7)!a{X0W=R`^^sCl3rkaXeSy|r4bYnA; -1sRFqv!|M~5RwYsift|%P#(2=Ya_D5%u{UBrkO3#7IQW#{Ckgx3_>>{E#=|rh=*h(#$=^rgl5_(+)qR -^B*^H@6wuB-#I6|Cdvo1rYueZh68;j|$AT8AHfeSyXpIJ4>^$X0p{Wq3n-e24Xljx!xUN*~P6;dS$%q ->g8qL@PD8rHAQFyLTbi@+IiGmMlw#q)xjdAa5*^g)UewPDybMJ)Nhc{87%`3T9;t8siY?PjgyFO60s4 ->Zy6GqU~D%?Y!dxs<@T11U>@QkC96Wq@-k%p9_RB-GfQh^`po=uf_frM&X7K$W}9i@^?Gh1(Bo40f^X -=Za4>#7|d8bz!j_y_G=JDM;NnXx3~hDW6uSb_%Rg;!2?qCOv=>hGTlWt_eWHGa|Hc!vaROyF)5T!wkR2TVvo!19}aOWSUWs3f!f9tOM+z -%;rOZGsnKSslAo2@kJRpoBQ~kti4ZE8IL+WRTXr%M8)QpLB8i%@$52|T-b6=yBx9Co8EnR`Ewj=t5*a -nmtOSeMUG8y+tt!9R1WO907I7>_@<|+-B-Ki!N2PWKSkve&wQg!-jQL62B4Zm@^N{<0{wnMp;=XG%Di -7bA!(#1KbF*_5e~-TrxBp!K_b>3%h#ySvzu97UnDUN~ZWLb9%6I5`v38Fm8u2L@=IGGF!mJDQuzLAkP -rlce{TitJ?v&%=ZjjUUmEEvk;0_t!-d1++CBKKr@1gR0v>a!&>>eZEm`#vHkVr6*AetbIz(mlWAb_A1fiFQlU8S6+r*}qB{ypJE;37ChaGc-( -!8-&S37#a#CCDO}NHB(AI6)Xee}bL_T?qULS`joQ@FCC7 -mCkP|xPtciwA^vHTz_%{>@?W|9T7>+q?;3V9uKIf_!>qVKym8sY)?6VPDekhCA&kq{s*5J^oLis$OP8 -kF{m;7B=Kp8I*XIA9>tDZaweQHI+NG5*C4N8|@gV{D@mbP*v-Moi3Aaxv#xBu!6L;k-qit|52S&pUKSy -d!jnzl-jer%|9>R8DicV=fk;sh*BT>}D8RgFDiHs0MdjvsDbGc3)JB`-)oJH`e0*PA%>SYH>eai@U1^ -cZ|*DMP$1Cu>-;XXSh6MDp)Y`F_Mf@4l7qv!A8#y2|%c&uhe -YvC8|<7c}faRemr4XCyEQER~&AHDBGjbz?(@3}JC`aV#Yzh1qO2siJao=|7jPSh0e={PN4}-FM$*g@u -Le%P+rVH*VZua?{Nff$60TZ$9ktL%BZ8uz%L9!{YTYKVOmSQ!#7S+_?yFo*$|>%nw~5@BQ?yrX1!n^D6p+kqnJBCz-Lzd6;iX`DbYi^nTXNt`C$?vlc>&p>8DXBtw&q4S@hm(>H@0Z^zB!3*ET7h>;z -k>X6QJ5Sled#^ziU@z`(BXZO!xfSKcgSCQr~Em09>$^~+<;%j;j7=#+hzC*{1;X%K2&k&GSa~NjnNY$ -C_qITrBCmkI}SFzch#Z8L_!kEM}PeF1x?ONazr`aujk+2c=(~i6k-XAOJDKIvpxDq0mOUx$A{Oq+jK~ -T1(5sCA^mwdMHe~%!vB+XV-A&99L_Bi;SY0ueeCY?3gM0LRK6vv%DM0s<&Pv>k~hK&I}*nwZ;`&hP4Z -^?Me-$ivx+u_Ij6L_!NdY>RG=l$S|Epj=Q0g}mcX09K+uMR&wXWHzZIYN?Aen=MM -bfgm>Bl(!w*;C@ny@Fu~%Pxm2KIwMez6+UwpyNojd2|^DL-aHd7zEdAm1i;*qRJ__n0oENA!m-AU6kS -q@cE(r(Ukc9+HzCrr=z_4oK~^pNxXxe1(KOPY7^+}N>WcP9<+`5N8hr$^2h$@$iJKHt%4_k^+WEQhb# -y>%?odv__)&*A)+D_1r%!Nrd-Hor|9?(5x#Gp!7)4p72)%V3bo31wsw02z9Nh5dwdu>vTi!-yo<9gdpPT{kF(&tob~#Uv;LoOHt}Q5LO -wnl)_0h7F>AH*em|w -r<@j`m!B6cCcf`o7ut(oNX=R?1K+JU%#@Xr9rv+b> -l$5Yb=YL|~U*)W9eh7EQmGSsB~Bl;-5G(3nlr{B{&SfZ`9N_)!#}(ke@#_;V=!Vv4_-;{TK47g79ADgHTCd=fsQsVQfXuz~X$Hq*T7F -!euWB*bvz9gGj8_!BAq!xaA+iocEGf2NAh8nI}07q!{8Y#H;XX4{(`CeANo5sWu}kntW_jE{Ph@foWa -U;Y;3ZysR$=y$64MvC8?;t!|zQz-syiocZNuc!ELQ~X^Ne?P^iJeQxO_~$5onLB`{JSZBSBf7@@kdkqsT6-E#a~46S5o|!DE=0TzlY -)U9j^fXt_)94MOB8=M#Xq5nU-gQYF11r==%A26Aws{;hT -qq@gI~LL9f!DmLk2}gM1+M!h6V?RgvEF5+^JIszac}~D=CCUkT?BD&_h^Qy#KujFl2~P_K%DT4UY__< -ikTlf(M1fcR_#-9on^({Uf4GA(0`WVWAWscy;UI?>{iU63NJ@NaY%Qck{dAyLFRN@N3uB*nSA&Q~HsS -5y6r1t(&xHPW}|2vmBsfJjD+VLFCZL_`91lX(9Ow9R1oE3CRd|`ti-0Hfb_!fC%6(0<<+EerOncL*U= -EN$X)UYQyhC4irB=I3#LBWMp_`d`l$IqWN8S-Ra}w(`qq;j;2#q(8M{vK8ko&a;& -w$|gsQ9Rea2d-eg}Wj`dkzZiuG7>XA$y>#BEsC7nuz$m-F@qMX*7+85{5uADl(WDsnS2>fnEWD^|bms -BFHmz5b<))o}r8MJtC|!|M*Y@85z{j!`lS^&|qTMNLJ~O@*xH@HE7&uWPE5 -;a1iktW9sy!Yp8GIzEL4mju9$vq#q`{$^C)A(4dH_-V*;%`eDR~5#hc1Rr6M*Pel_E(yy8~i>!J@RrB -V&FsIy*8+?iciNe1}p3A8LYLw-2S#ULZu5LL+k>^H_9xddN`Q{;R+2iHe1KFaKaJIq{%C;;FXPcj$&m -K5HG6nT>L%-xK_KYMm%%=O(Pe09`d+s^5di83ycI{fWe*JnOE4=;o+d>|E@4fegtnhi^%j`LlH#U>3u -y^lX_Q@xo2-)E5neW({GiTV@vu9apX({{p=bzbc7tRaW;P>BuXVMRyVxjxfX(2?*m8c7y~)qf_+6%oPXl5!&FHgeuwB-L;`gTbCW;?P@h4F -H85I99iocrTzeVv6QvAws?mu$Mf8><^t#V3BxesXBvZYwMY9X|sEt_}f-n~0aA-6QPY}veJ+xy!1Hfn -Sa@mY&@ojY{s)S-K0U&Fl(>Ahv!_MJLW*v7tXy8CzcXRX@Z*SUM^`rR8-fJO})-qWgWhtAy_)bD(c>| -iu@zOTDp@6(y$+zef@g%{HcAl?QplY75P$>*7Q#K`?qS^sl9*q?*90Ii1NSB-`~&QzpcNZuN7TbLv7nuTB*x1FxDSR -IIRq|DeE<=FbI#05^W^?5ROZDNCYv~+0Wj_rEKZ&Qh}$O>wm@dSC%S(FSbxLYtyC;3Kf9Q;yTu=SC4u -YVStrNN|=(Mo~DPGg%{#z+;H{{8!%8jZ%kfB*j7Wty7H>0nC=%HhwHAL<$d^Bo;Kc5F{~lvShKjN5#|gbBgD>7wVmzx -?vc$7vqTckkZKfBf-BPU9*6;)^e!pyJKu6bBkSZAdBXYs#y@ggT#W_kPe?R!xfF8%4JpLk(mp}U+9A3n^#`syozC)J -O@9nYsuo#J1A{k3=pO$w0ABksg=mo8kmP)>YzjnZ`e@y8$hx8Hud`1$9bzx)07-+xDWT}3#e^9gEiy$ -FY;i2G;pCwU5axdHeq02&lPohShO6*`n>1*+4c0O9Ngs&hA}-2s0E|Kj4}B~*{?h$r$u!=62R1peTU6 -DLlHIyim$w0H-OXcN?i#r@c^V*=1NP#?IX-q3as=cA8468NJIsr_@*!;Kp^xcZ{^Yvf)5e`>?`{~7!* -U%t#~7!v&7r%#`b;9~&r|M=sN`TOs`&#BHi$;_e+qx?}H2M-<;0Nf88I3U`}@#DwEGiX2`0DeO|K^+0 -NZNGAEKEZkLC!F^@$a(hiET1SbJM4s2OZ}8fkT`J9v~X_a(*At&~Yc{?c -U>j=}FEjDk@g}8T_fQcLVTOK&cA_{z^MRI{?4LearcfsOQLd;9@D+GNp#yCkdUl}eo;}-9f1U^Y!6((}0N;bJt -J9&-0$v9neRpUJe|c7azRos)Kc78N(12@F3FqTw8lu1Bd^q7W^ea_+1`Tq1?uI^z`qU28C$%LS+Pow6 -t#mD@3IBHO+PV3k#(0eLH`NE)FUA9i#fj+G*I~)-=+3{KqT`?P54uPFZiF@+EU0vXmbi33N4@k<3Vk_1^m%ZZe0 -+<-*_a5ze+T0AR5+MCH%9`bN)~%(ct1d?wr(~(I-WIUD=*NgVLTsgVLVSCv|>bBy*)Y{%B_yUr5e!18 -7j7Ivq8&5rr09+jIKzx90ZaZ#*2tUztrb%pAafFZ+pq`G-V9Jkc=WN1{R1o+IV<9CA$Rllputjn7J-) -QMzlb|{1~fqCQD}i1##%)#gCE9Q$PBpN%k9gz&F{({R%>OujuSKtlYfV)Bq`hN8HnAf1+#8`!~4cD% -PefYaX!`Auz_~yAmd=t@7y*)ogebVyu5WZykAigLil-s9;@|?sl?zBC~zy0!vpg}ETbdzO_+VH3TUhq -HRvlMs(FWi9>@J4$8-b$UIk5|jb7=J+{_`i73K)#b`c!y}%GLLAWwt)5w8eWuXSSi!63^b$;;*TX04M -|~qeqy+w0T=qDekvKG*9SH8Kl%)eVUQyL8#iv`uf6sfhg_t9x=!k9C)clE=SQAT;6?Ta_>Kic1GR;>i -H3j5?HPU2TH8Rr+A@%@$O`69W|;WnX(8N6G(1W)EF>D{5e>Mi%NUc7)!hF8f8qtf|HRjMpykm=ALW}i -Z4&g{4jl?Di0eA~Hs6!?052pO-X|JFdnOvtCn@cD4fRQ@EW!MlEE9i%Xjn=#EG8QAiH{bT#lcOYPYO} -V7;l%>-2VfAh5v(sf;s{R;J0YeA~y}y>8OjA>(?vz>7r-(2TMZvZhIg8zTBSQQnlyxG7ZnkH2j13XzB -D2?nsenz$Ii18lQ&~to~7qzaO!iuNJ6t8h@9M8Z|01BO~KO;EMK$HZXtwd_jYnziw40xT8%~pJUZ@eY -y7yw~T@ITp+jSYFC}|5Aa9b4;?xb^}t_wi{y@qELE4IJZgc6K(mTCIG^k|m;DfAh^ZqThimR1+=08)F0dD#${RM=>A3h4y^- -B^$5!gXSCSX1d$6B4ezS+w(GN3%A05$BrEal6A%?_;>BvwRcidQbuB8Vkz~bq8?s+@kKsziIHAyiISgn(e+oXtScp9KI>Y#>!K-*9QXi%U!EdcP8k~aF*k5^COJMv95K1(tN#^=}Oh4SrBOyggFw2fc>{r6*3-?y!QSg~RS&&$iZ -xP19?zHs5f-yeMNL7tYDCd!@Wm4cT*1KI`X1a6?CIxWyaU>pYDV~j>yfj$EBNVq{pLfwIu8ZILL>bEG -PKdb*iWNN!>va+(id*qQvZUE1?xHti5(+Umu-FF|KHEWir2aFktZbzX5_yT`L=Zm=k?r0BaBWMrR+dI -Z=_1pvVXZ9!cZ)jWKf8wRJ3l=Q+4DB>BGLp}oJ6F^LXaN3$1`Xol#*Gv1r~}ZT0BBI=y_kzZz6Rd|Pu -#&npiRwNkf{)!`jUV6`T6zUvSrKTm_z&({K1<5@DlXRa06b@IooVD(SAciL%GRh;@!G+6ZHUp#Hmh4O -}wSF4do6#LVp0hLVt|9Q}i2z6PDXK?w5HuttB=F(GhYQ|X -zka>IA7za)$20IoJ3#*fcgUvTAIREh2WSIm6G#_*FyVfK(#dPyyt#?${l&d|_qv$0=Hq?4_#7V-f#ylsBg4c;!`0@q^GBgzLna#7~jy>fWH+!L_0vcM4f<7Pz -UIf)$$OYkuK^8^?~u6=*1U?=r=uY6L&ZMYF<_Iu$s4l8|VTLp)EZ2*khdfEHO^2FW{yC;-H^FUxW+%g -ESJtmT5yMsed5H4{F!H-5&W$#cLfj*yaZmyJH`OuuB?xcT)X;Tz+K?4p8wL -=vlM)ZF$i=h`hN5u=<6^Zsp&x3ZriqvKl|*nf}fQ(3;^AVZXR+I-oZ1<`T_NsFKe~he+73p{_1g2EyJ -i~o4V=*ux8B~5g&9RJZJ;H;4So>phdx*uGxRTnLa&Qn>xL*2j)^`NZDq0 -Z13VJ!h`P@o04Qyzb%pQ#gnwf;w$OVw2;knbV?;2rC70Pq&>`}XY<{VvJ??G^kE{Lv1GAJ_klxC{K%` -cLX7-1;BTfUy(u3;I9s0mdVYohW0>IZ^hg2SvY&dcZsSeDt;G$7oI=)-{OczZ-XfKX|t;KCg}6)qN5C -6}<(@88m{|iH~lOjNqcW!noSW~ -$o?;|)!aJkxi5${-0sjd&K?LuD7N%jq(F+b95Hjg5CKaBc(Y{SO3GsxV{n2Jx4_BZ96&pgBV&@ZGlHt -2$}rf`2T=Mz8S{EOcNE_LAmT3dN~dOkpNyBXA`%h8{a%=tU@wpRfNV~y=r`C|@1bI=T$FQh8-d(3l@FXU*Hi8AMb+@!v+UiRRR(t01(%C?l%q`Ihbov+3ZB7g -PXhw6JCP$n3^emQr7zif{cdd#J=4sgmZoX7tpt((T2k=A{c{R3)##QG4{8T-@y^Qt`A24f1%UlT~qja -Bc%K>b4o1}+$X-d~w6bYRd2Lnp7~519OuwC;)ZHo=d_rL{J!@qiz(MuoLbtP_s^NJKrLb279>+iq?*JgQr -V%tgm2gLacGg`OixnEbQ7ps@ -6YbGKa&Fuxiz+ShPjV_aUEyZs3A4!2Q#8DPr9a>s8RJz9#FoUy#=q&?c}xg0;e2bC|mfaH;!ftlg^lA -8qU5hab+M{y$Y&AHci-b32p?`W}?UCD&K{!zZG}Isx?4n`Qm_dR3diI+IggC(Ds>z$N&R@|{R<@=DeA -uguTT4k7ca*ICqScPOV@tr;EL^G~tHg0;Fl!ePF=)~LE}>i>|x)9Flj{`u!)u{H#G9C#@6YGvOb@IYC -hKY|}Ftlz%zaAljQi62$GR%8DU8GG*Bxfzc=_EdjS-Fd~wcT{?=1jy!7lz& -TEl>1`Zq;Xfm1RfR6d|=VwltGG%{2KmeaUeY(&CFI~D+=q{AG56T>Ol)tjK5#>>ROvZ&YDcq;TTXo8R -UAuN2OYL6F12NWPT?T7QBxmsn6DA0{YtuDXuN!3?SN2v?^4RxW_Xqw|{>Yo;kDsuX2)%JcM1;`40*4t -hW{7e}f1s?9C_JF(kQIKQaiStEEo~a{ayH3G_^=yu{#(td+Mukc?3X1cC-1`=4|Mcn$ByNw3#_lvxa? -jpK)EY?sO%9@?le~YLFM@frS$^M&wpXkCmXlA+9*1HqygCu?AWoF{$$=Ff8;}bjp+Yt!b6dP-+c2;zIyd)p({q;2%VF%ruY~07WpF|W&8y -%fnG%hN83}@C4mEY3~LUD+r2SMzq$e>*x*^fT!DP|uq;ZwCMULS^A#lK$kcUij9;_b&q4*RA -@uTCa*WxxuG2RldCi-0GWM^|!n3cua!o_E-MIce}<~@ucyvO>KU}kD)KT@WPfCUwrX0^-;fW*s$RrFT -M0qm40W_rcLK5jm%eHeO0(q7~Q&c>mt^yS+nc)*IyU)sf=N$XKK@5sN-Wjt*EF7de&={#wp^zOK69f8 --rippgBm)*U~v^Wx<4B -q&e{R-)RJz3G+wHUols}TqS_!N-GI3thHiJ4&1^2$oG}`5kkh -fNOQ2~E=g%%E{?eu=6;y>Vcyw?=ADpXAX5Qv^jo+vhk?BK_ER%N8tSX`nxxZ#9szSUlppE|W00~3_5D -Y~g}eoM53(L)O~|^KZ){rS5NTk}F_iE?{f!?#UaWJY4?{Ve+Pju-%N-!*laSpZw`1ObxzjxJ5RpgBcb -spea(V8#=Y%|nJtA0FLtTPjs>|X>iZ%C`b%o|r@Br --=M7DfJKDLthU*MO}^_JzA70`f1eVw|idXZ!H`m_J6LPJ&b?&-ph!;Rf)fA*DfKeDf@BIZ$suneV{*8 -OMtqiOVP{Mf2V1T=Zc{8KYS6F+3#Wf8q5{oz3Tk~MBGYrcCu(qaUuu6m?f~7T2Iiy -k8S@V)Z8ikcLZ`MB{JKLN-C2fvzc6wSy_JDRaOGdx!smbQ_gzT>ADN`+(*_lb!u2VD9`z2(jcbnOxoi -RNjBPGe4ZH+ZsvQsiM2DIzZEuh`NhV_lc{#J`ETbw|0o2dm#@hE1td8*BlVx1$ulZ(YX!$!H76QeCDG -gH#c)6Cg!PqlZrI0TLm8E&3wPBW(AcR;&@?1+q+nbXadc1BxD$W$DqFrZyhLRz-D-N63;ue~dc&a$|| -AF}1JNQATrsK>Affl@N>Z13EedG90=*$faZ*Z{FaKukrzQzKH0N-V`_QKCde8zI;fkpcojKn2SZH6n{ -*!7X4=!6>VgC1oj{FWUCB=lHLGdQR@2_nRNz%$+;WeV%#Gyys5(5B&MxgQx%S=r;X7e6{KSnzV1*^nb -<^b24)>v$6&c8{g0;h|E?Vu;X0pZZAc~=O=ghC$Qtqn*-MrNZD@Bop59Go(xtSDzC|z4E7;Xcvi -@uoo5mhvmF#V{ogHJ%c`A>1HXqHW@dx=+yqquQtNCXB7XOGJ;)l5tH;H0#Sey~bGLlcrO8Kt5AX|p*! -meQy{w#bnToJwzHdj&=t7lXn7z%g53^)sG_3L_v9%zP}31+G(wGb6VQ=t(G>s}cgbt?*=_>jJ`#oF24z -Z)`9ET#Na)EqPzAtOT_NucQt8P>rN)s^fAh0nj6f6=225-m -Ya2En>l8#wWIB1yU(7p{iD^<`_TZr32(!D@kx9RU%*#!Hy*>YcoAE^AS#wYS -Qyp`xJn3yE)78}GC@sZdk4tms_6b<5%XerzKnRb?4WgjV}kr{G;93pe%NI6F4%c=6W@^^BcoG&ZnALV -knTD~f4T*pfCFj+(dWNuN$M9 -%6hR3HiC_2<9#MR$39{Gd<^G`^DT!OZyn^|wZHdCS=*bhI)Z?VAL6VHeISWNlH5HfP;AB%1w>$V@DKgECw4tpud*%CO;(s5d=u&Ib$064fzAvNRE@_U@d -)|Rj>}83&!vT{3ZShujacv1N0Ij#gn33tnq8wL58wpm=aD>Gt_FeL0wb{&=I;rKRBi@>DH#b>1a~SER -WO0W~b?5ds<<&9b@x-F1}=|>=wJt?za1F>!?H2C91|O_p;mK4!FO@=QcCeSmU%6Ng=spIvL8Q`pntIj -_pJMq+vs+E -H&SUVme4G|Zpl6xOM}|rRB+yBZUSvb6DiQK^nN;vme4u0l$O!?w47GZZ|DhniZ*x_9mgj7XwPM3Y(6V -z8`)Q^vuDsAJk4hV@!L$rEuZc4p_G^L`FyK5Ct|Xt>?Gr!cayZy^Qp2*zAjJ8bFx|3Dr_Hi3{%5m&!n -Ycit438g=&DRQm?CO^?^F0&Z`(C!&JBj?t^(y1)Je*_z-I0D4d4#&{DV6Khjs~Yjr;j8udVZqt4UM=v -5y1!#xw`+0}Nvt+wZFr|5;Kndh)-T;uk|<6RMp#ScU!sSF;V!`OrDDYloLW>5NcKf)(^B&`&O#0jxf4 -h<)TPlTsEKQVQKxz2tN{TQ#q@o_F(8Ed@FdH`ANG5#8TgKqI!vyJYg!&x4?ht2crca|0NgFHcW6aB?) -Vud&>7RhBY$E(J@Fiy|V3-pW8;do!08fz8DdXis~r^q@|LEDNBqLWA#SBh&ychO52F-(jVv&5gpZt;z -1BX9A{u|U2izmiGeH69CN!U4;n-rx+>0T -2KMUm&uVy`}x9w+fa$nit#UZfv+gjA6h!H(c4ORj!BY>$tNn%VoO}E-$_wC%!8@ata%;#4T|(uHMD>s -PXtFkTf!gOdtiMge)O7q@E-MNdXCLkn6{qA5;dLg1R6^Q)vdxqxrPR>wbmjoH`ow{GGw_*_|ww*esS5 -{~Cb!-c%a&1p*utSjd1Z7zEjn10%fZ+2>Li__uhOZyhfdRdHPKuvZFPpu(t~ui&e0=uuE%Y@o}d -f#o%$|asHf{9JyXxpCA!|{bb{xVG?Q&|O`gg3dx`?j=5^7RQGIkIO2BrQ=yww-con8%4@~nKuFzrzX5 -k>r#vB}hxp)^A;&d#+nK%nea1NGY8UFYCN|QBNlQmhBHQE1z{R2=-0|XQR000O8B@~!Wwgsenv%&xX0 -FVIy8vp)xduG7+fZEII;tF3jZwY4OmVnQGbi-bLZN)(qnKG1-WOxWJ -`VX@!u|35xt-n;v~=bn4Ed+vS3_pTPqf*@Gn&oBg`Uf}<{!vFrS3;qUP^9Im(5)G@KV ->3%Eun6eBcpR`2&wW`k3N+aDl5*ebn{vqb}c!yIqewHh;n7tgLi*ypA^?Tzw{LKKEAQ@5$ndwnWM@whmA-mCCZwn>LBIX{m}5avy;od1CGfFQhZBd=4)hriFx&*z2 -zlX*6w1_DAZba*H{N186o*D!er&&b9IV-+&7GZ*FaPOe;9Sq|?ECIB1ZE_mL2seB6-KL#1Sh{OOZHiq -Xe$~X1UVa1|rLc3&L8Q55uwgkRWVr+PYN^m$_|nSaI9$k+mZ(V!a{{+ -99W8axCv)khBFOQ_qO&+XJMHzA^}#ZIwd}N;a_?*I~X7C66f}`t}Em#y}2a_7$Ab+hwA-^JUT`lQL*u -+vu9x#M-fAJ5D*g!tI(R&6H+Iv!#1vas=A-21zs+v3j7B(AUqWLe-JtTz}r@!SI4yIy6HNB(gQs0BJ7 -BB0k?p+s_$>Odt=8F(q#&eR&i@sW_MZY$SgPmUl^!^=BYk$dE+&j6bh|?4v73;TW*k3b#oj`=ojcz#~ -Am(JO|rr%c)@Wp#JpK*vHqI3>I$A$}Vg;X -XTOVZ*eSrt^Rx@Z#6N-eK<_7gTWG78*^T3RnXcUk+K}4*zv}#qKH~BuL?bkla5uPDuPqpo@7s^V$r@*9UPz -{hiX<)oipKGC-qb-2fKY!pMr@_|HLvl`^P$g}Vf^scDRs=qUiwh$F2R;CAzA!>BIq5_0=jm#D^Y0Cnm%3sU}(9RfW#|N{x5HYnB;Nc5rr^_bD>N~(OY@Xo=$6rge&Cuyli4fv?i -QyQ}>zvO!zOC0VAQ9r5_5(3b;^5*qp}hxbEE08@d<~^$$FQXqAfve2F0+hAZbS -0J+v1g{EQn%?j<7aq5*7nr9r(bhd}F9_-Rxn4G9dYf -i!L^<{KJ$DtC;cqL?n9$>#2Ob799jKIRW2r*(^D?MXpk(pSVSZA()0epeWzC;esVFU-r$zs4j(t^wss -q0*z2e5)mVYU~-WG?}xy4=NCDlT+0Tj=Vjq{Ohqj41i?KA@rF0LB#s`HD3%Do9t-WusB{v{rtjn}MWZ1tDDEmL4__^kpdRtG$BJw4BpH(nR*Ijh+<*AK4CzWn!GXeX_St$~e`HoR -(q2L)~nu=dUP{L1ricq?+$8Q4n{@UOH7|ph#!)4|u533hmbMd<0*1b4lfLs6ZdcK{r@T%rv5N8UpT1C -~+At@p-(&iIaULItN}{0;vI@#P(o#zS~Pv&m>^>QFk0>6g&QplPJX~ZZCsJH>4lw=J0qPQt}!CTAKl4 -U4Wd8l%!M~e+yQz+_NJXkua8p&q7!>+Jfdr9ur_W`o};p5Gk{z!Hm#xDU1TNBsvk3#9wZNw&?_DE(n0 -m4+2%n4MwuCpFw14yI>GVsyH{MFEReQoqB;jY(;toe2xw|%LB=O6&2#x8YVBxo~)lcO@cZ|Zfvwy^fV -fVn(|$f+}LK1N+8YklQ|Ql5F}*awSLmcC0u{rQHgAlLv7+O8vwAw={IA6{tLrU*m??H^BSU{L<%g=PL -@ac2m&zESMkt?)H0gWL%^XDTryeoHCBfcIpYVAbFw;){yJGL04OsqPq^r47pPOK^BVNAAXfWfL37z~h -Z8fz5T?ymd~HD*P>ORo4!dy_gH72G@N}TlE1Io(;+%S!)DzGa8_$QH##VFivX7sjA9 -Z4U_P9oqbz^r-@U7m@)&XRX3pQ5Y;^Sy(ff;kKVQn>sDkOrs0J635!u+Lcq@Q+dn!B~O0#~wST_(!ii>^+Pz1up0%BbUJ&aI|vo|c2j-{+vYAettv92kn(U%X -B5RfOBrCjY#2$Qp1R0WO|M_IB0WFC-QrLrczrt<({cLvG+0_!TE`sy-(f%0U0{Gn4`0BF(l;Wet -Ix2C#|=0*$OWHhuUP(-wWve_LU|!Q!c9Kfxt2bJ6e4$yczh`g76|)&p{@T`EXh6Z^xJ}#O|vLtU0-Wg -#&S6_vSIOo~6G|pB#llMyfy`OTNmaSszSyK`wf4G7@D>)To(y&DClk`_@gONoeA0f>`rQOv1ZExg3>N -j|MT_>S+>#O>%kbI^^qNs{^u7;U+|CYxGv8fvN6D3E=mZaCU44Bp$wzC2ox;rqz!`YW6sj^Y4My_vAkx1v5K -=t*D{lcH(1uN8=yOX8ieny%dQmH{Rm3sZ0^^mp6CS~iq5?m*I{EW -RQCc@hs|b*>nfchv>ly_iP)eq;VIr0uBXiWK?=-GBP;>+M4+dGDXfi6TfMWGkccWOsD;1}=fIzuFNar -pgW&}rV_I*)uH|h4{Saiq?qZ}>$K%{(7~SUV<1Rmd_vm9V7xXW;ATw^ROa(zHPd^YKeu2nCVcpG?K*# -`AzYaAjA98w>0bF!26bP1g0&d+(pTsJ!;#EHCL{=09x+|a{jKnL85wA2PUKPkkm|UNyb^>n($rKQ4Yr -u12=@4w0UV~MkfE%3yXcTIA`XSUWr*_Ic$7C&*Qdv432&i4I?nQIJvTNmtB+8z~W$AK#m%;wQ{B?Fw3 -l1lz6Xm^JkR+8WThg{}g#|E#?mdk%RScPv*dl!VF-}X1T{oj-6f#sheRFtXu|}^!Oa@5AK>z@WLt#G3 -J1YPRnT3o93=SfP--~47r&G`bpl8wr!;?UfBQv_H3$QKKN>_qDfs#`(Owl%a8pUD)Ge}?t3CtjY8H_B -jqX}jXx4GHk=7?UjNO1PiPTz%Eko&s02u8mG8LMgqXtb9iFjGx^P&M37m8!$l -h|M`^2qFXmpXudu}Gyzzhw9dDdEuK+lPwr}gnGW$m1y*g^lw+le+W_buGm1{wd-FJo-kF9YPGfcVy-o -@vfZW*pI#R3Dk))>EamXo&YgcjtkYE7p`kay*x`4w;g2f3SR+%^&JkO2k@J`2(JBeB#uTe)3_^(HTox34AT9iG2o$<3;h5V7YxJm_2Zz -&Zt#=iQqM6R2<|2yIT`5b^5q=Y)A7~wwO^ce9I8i*ehg=I1T^W7HwXF{$YQ$OXH3&#hO!8#at@6?ZXg -O#uGrL>_0?zYdU==tv0l$xKT?W?JqHhUdAs)E*$m7#%tlB%dO(%tK_k53vGgM;#|4A4w0A4S751P -1yG3Lz5Wv?;)^quffIjDX0~z8Eyv2hs7Y%qeXNpz2huj(~#pHGzF0sJ%yv37dfqr@=HmO%m;CX3E#~A -2D%KarDC+=ZIHFi2K5?DkjPKUekCvl*%l0YVH~pSZd?t>!_ef`4b>-f4kvwbNV2bK@Cw)&J;a%PQs)R -p=DX+7%dr35)0|#0^kac*N;k@U#;($0=adO@c{}48z1CpFy8Q-|pnW!0UbM3`U>@2E?C_Ccz@Z1h%lu -(zx(8Ly`Wj^Fo|^xRIst1LiM2RDPyk^+&aIJC2h5ob-BNy)GK79OIN8_x;8pw3fCYOMv!%#Lxr)hFW( -i{kuI)4rFc5?vvJYS@20+=t$m2-DnvrAUI!0l+0$^!lJhdLTJ;k~M6`ocVl@otGl1vCK1bh$(zO -j|(*vTfiHWF})+yrb+!bfhPI^_}km~FlpYBB_oqihxp0Xj|U1`zEZJ@S+cJ7NzHPP -*N<2;2LmhU8YJ9{?RAiJ8Lv(!eKqhsNncmP$N$ukM$+nh!A?hR&T3bI}3O;V(5Kt$>G*=$vSK%gh-=~ -emZYKpN*23gKyt~>^KGKy@9f;cSH>|B0~*4PuhjNS`Nr+b4*ticUp?4g>LcQpEE2;@9vFD6Hd$qDmQw -m{=KtE7D~b~>?i6)!qkDs}s;(AtW`C{pME7=@=<9nVy_?XtNw(TNt;iN?xfJw;C3NY#sQgJdt-CidLL -C}Qnipg&An2CguuyU1x%GB7iU2_&YN$y08S*;Za>5^jgqS<4m$>doni_-;7QLWf2>pckc#Sus`>=ZAK -rm$rm%(T@N)=o4ac!cs*xVfsjV{YfNNux`?zXPi2rxtrSp;?n7m~P+ -_6}6k(wj#$Cd9GGgQvf4M2*H{zOVOq)@W?;A5`nQT@@`-|0?iBb+%e??^`>kOp+z(-g(tl+n`*AD0f*5f*^uw#9 -Y7aOCy^B70EWV;|FcK^JD~Qtf_FK{McG!+-eeu0$JGXwh-7pkO-a$QIF1I?`*=E&Fh?C8Y)%oZ`qaI$ -Hfrj(~*{OEq9n|Vkyc_uVfPxod0vddqph_Cy171v*nQnGuAd1s50~$$(rNec-P7pfD2{Gr(=AsYsbz-Std9rdX5HKm*yc*>5Hy4M+@;Lo -F%!*PxJA6SUJ$q~7}_im6iIIJx$~K^8uTq0lXCIRi*FNwsnibU^?*zoM11$58~Gpi^&tVVsb5!ECKRFesNAuG5It|zLrV!)e13m6lqWSkK{mjdTVjG2*liG&rPCMjpW-5@ -Goo0Bt@~Hr%QbHRme(;&fvTDdnQm=1hM89_y)4q2&A!~;ReW_fVstJN8TTXw5OHol|uQ_M>^GsvR1g^ -YP2woff28TH>%vrH@wzy;B7M;e}-r>-6FC5c2?JR`m_ySVQR_UmSA}?1L;JJm>4kc3nEe67T;-d1Dxn -HkR4Pit;vofsY5}iz`%W(=s)4Tm`JX?qyD_3#W^jnx)e{|&Vu2O-ylb3*oXvUYp6^kCU`uaX@L6CX!i -_X>eRmgRm9vtf-QESi>YLBOQvr2kto7VCZBk2S~^QMn&igA7TJ7=6oCTVRawBHw)9$m=%`}#d2*C%@x -`;~j51O42EbDn9$f1AW?thX}&*mAP52Sp`YyalTSc0zB#$6>ruMJIx~m87JER+)nb*(crCU}8BQmqCW-JmE0gDo -QqXb43`;3XBIl%xF5ULQ02AsiDOjIG+WD5NSknZtpmNomK&n~Ss`cLe%oEBFrJU_z%?@lTnxRZH+LT+ -gs8hK@i>50hv|fw)oFB@B{wAQV-L7r7M_<9>>%L8kBKCQ^TR>ey4AZuIqpMi14t)hgr>Ku>U!BvwJfm -$-5!Zc_rZ0ht)CZvwDZ|jqwdhP`h87*DOo1k^!nTKNy{TeoB;ZI-ivSBzy%Aa&s2BKQwsZWXRb1CSP| -v|oHVb_-P|uF%%!HhxE{f~E%3Nxd$X?w75&gEC#gGN6^`oIOMobNM*-Ll(m-Wx|36au`;fVgG1fSOv{pg@!i -4!w!EFxv>Gn*(E5QEN3#wCGa~gTju5+j7&GtzfC}4%s^wGr|^&YpuI+pVE@Z|fb2dx5$)Dfx&);{2Cb -so>(ta)Jzl3!1v3_mOgpQ^?91$t8Fsqd&CNFdWMg;SfCb6W;~?o)Mp0PH9zPK+?3VAa4m9DlL()D-(y -cOLo6!<|0tUIZ6qm(M*#2BA^CPo3YAWfuk6etiVIrPM;n}jtQe2oYU(Hd#rbkL>jt|? -XzJ4&W}zh|@`l@vw%F<;U2KcgT8kcG=cwBU{{s6Zg1^%@|&OaN(5o9|vCASNiFFV;VgEe^bjldUC -k#BY})#dhxIgUs7-Ji$it3Tnb^w>`iN8}z_G`Of4`aR(rR8}Sh|5{A+J5}nb|LlOcLvBqK)+JkNvF!S -F+Nqw|TLN@GgIK*pCgkEJc%R(^3C4exB9QIckj{R$p0h5^FXjvn$0mz2qoi%KB>>)$V)J_{9AZ?*urg -TJb@N(W(`e`Rxcz^Fk=m1#;KD0C!Npjg-Zoity$>+M^z^$c-Y@)x%jTgtC{}Ycx3;{t%HYVJ<=90ceY -%`ri0YQE>&;;<_A3%}zILJq9P$S%uuxW2Ya9tKektP_P3EZ#!LUozVvrN$Yj=8ViZ!pUiTQHLKW()~@fb8%^yf#m|l4CRk%u -=hcu!%LSLvuHCUt?~HhU1^_FcGpblY3}hX*hlbF;h~Pj)W_OQS}Cj2Y8upC+H)^+<6IKtIpv(a!N?z$FwdhqvV%Fz -Qn%Tp45%7lU*$_btPg}>iej%C;F4DPY=>*B5mv&|X*sPXP@+Jf|tC-@EAF)0v$p;cfCXa4= -}qzY87O<+t?JAF=_&|>|Sjcb^Oq -Zarb-%`B0|CXZe*G`{R2e()kCv(n5&bV7UeMTLMT)@?0Es3WQuSI`1xi1O*)m~ziFgF|TeGHb)_&y`w -<+N5GkFOTQCUTqxP^CIZV(6KLwmH)o!-x(`L5e&n8{KHP$V3m2P11YVU_riEb2)DDnYRYaM}U6kYQ5I -VXthDlf=pjyhNNmE%HDgJlCa%y{Ov8i{=O8rsNf7Z$}cr36U8<8;u_iH>0Rc?*$#EylnouKO1A{ey8}5})sxV%lzgYUOOD(&X6-qspvqND&;$sYx93#Qmz)) -3=-E!CQtja5wO6o%a&G|CG&2{X2RHF^Hxv$<417&BY%XtJ)kw%ip?Jda*n9)0^F*<#i3zOLE-z>0y@# -RSxSbnT^;!@AKJToXz%i&y^BK&=IjMzVpJK|Cf1UB&=)P&_K&*^2AG1C6z;3tfh}`^U^_O -$-645xT7zFi$3KTv?A40Dy4PiI%Y1`|)L8Fk+qgu3?}or=7B{bjanK#X8?~ -dxaFPkrxI`Koa%O$UaQ3K82{UatLHuGKD8@S3>4wK8buc{e=JQH(NftqBr=%2u -1UVH+3ZNnjD%{!48(vvtb;p`bK(F}c-hQnOvXfZ>*9N>`Fg&99m(4C3i0eR_&ZWJ?6`qQm>0K9L}pYy --knL#Gf3SYq!bL!Bws2|b+D5_Y0Hj)!2=9DzCsmn0Qq}p!cf}NRB(`wiGLFf6w-2TCcR4Ub{vX$gOtA -kun(xqg`#E$!qkOPFnxND!u@;q<#+MkWyX7lS<-p;vJ%~k$MODcPV~=bs-4FWweeyfyXuK7Wj{9hgdEBG9Ue*YG%AnCL`!u3 -0WDup%Va`$@7t7NT7jSrqD%MS;v!fBJzR#>5a;{Rli0hK82L18Y$_z?V?=cni7Oq -z^UDzR0iy;v+v&;OEUv`FgJ1F>RznZ)_fn?dS?iG@0V^J{FERW6!h#=u93sAz& -6v#fat}LI5q%*Hz6QtH=}QL#QF~4X3*0PYwu=uGOmg3P;teD*GoTU6WNiFW&Q=kNO2}*nSu0umi__;^ -_;bAzi8D^6lfx7Q%0)>%DHql^F-<386F_!gn4tfS>!z??N!H^hQN1&iEW?ol`m~lc -A0n7@XY|*D`*hei>YZXPg4X?wC<;}-gsR~KcA-TY&5i(7<1p~8xmtloQFC<IxBz#l}k-cLzrB -qaS|Jk{0B712k|mX4!_&L6&rOR(6x=Y*25YfI2%8G8)W{~yhP>T3)Gc<{WcsWe+4?7wdw?JOdF2t{w5 -@xr)ALM*R>+Qn2?o-RPspHTx^WA8;*f2?-qz12C`ch)At8soHpHNgw1*yb?s!r638#d|C*Hk;@ybP^N -)_+%tH%#=vO?ngokQ*XgLo($wGv!L ->BQdk9di%ptJ_Q;H>mci2opqGvDmNY?cU@o>4r8qN9;t4u>+kqWy&CRO*C+tDz9JCuZ@JL9BRU7L^>- -Im75J5Lk0B;v2GUVMjuq5X2jgBt5yPS0^U{J6_@nIx()ggv98#@j=S(|UOItki* -(>e%($B>*7@yvA?AS9gTz%_W3lO1lj%c2YjjC$oak-_TA<&~HOzxUm{<)36$|`c+^EdX*J&F|=JcHtV -6MOqyoRcV=Veaj@kraPuQ3_RaEysZTF4fo{em+FWIwIL-P$dNWA2|B4Po1s(GNuo@b?V^@jX6|3z&mw -D@+X?n967TW*wup&>zp?;m6}o)PIp)V~f#`@5S>f0HjG55h=osYNTM_nryP?Q037J&sFp6D7&%(P|I- -K_m4Xuq!>FAC8OU*S7fblJ?`g`{Xn%NS^tK2`t+^*#2gO(&lqvT{Y(~^jPQzN8GnJfe44r0s`o;8S0V -cBU8RjS!!3gy=U`CO@Ek%X!}Zp`Ub;13 -uErx0NTuoUGOg@tCkltU)QX#ro(ePSSm~6UtBF@nA8un^EAbckH;a``14)shw}pqA>m!p88XkTFX*n@ -vYi!c4`UTB$%S9eQRSLy|U+AF6B@*UKNiQzP37t}n3)jXM}K-kT~WB!EP -_B+)Y^ibu!Ao&i5JyGV*++>^azUaS&DS7wLY)XFrXY~1ETON*j9`$#OdKsct`$L~AB8QG0C=vwK%Ui5 --dO1*dLJvD=znwO*BW1t`e)uAyB`NFM_3-xF^nzVt-qz922Q;KJNwPt3a}D7gqH(VBm5S(@wR)?m4WP7fL)6Xt2~y6CS2JJDZU0)H4xp5 -}s3)-WzI0HO$(II|O8#M0V50f!rHW3=K6ggTrKYI2I2vR)lZ3@)X-SHXO76h@)QN{tDW;3Ti-m2tTV| -#n1jZ`YhmVY;+0*@Gw8y$!Ns_sKll`J`E%OJehSO1FDeLvK_lf(ElFD-hrG=@{X9C6O+k4di|VB*ZcW -bP%jj3cniC>8-_uv%h>p(Al_WSVjkl$!0;Tww{Sdm7j6M#cpqorhA8csF+s%}t(`Bn_+`!! -hNLSow1d6;RcGr-d8r5Lx(U$)el%FF5oI_J)^T`bYlUYH0fvCWh{!<~!Of`gbU%1i?Z`TOv%~P+%&@^9 -dWf7h$#sb=gQaN&a53dH#-fkjUK1itW6)5fp#hUAxz>f|lxW3S+7A$wYE7)*S7FvqUUlcgSpwqKOjQo -U+pzsPP%zBTw^k52y$3o)x)`m_mwXB(Nnt4yy@iE4D8kb6Pq=a|4>cMNO&g*n;dcO{*UEJ9=;`lYzqP -5sOyH?cdsU-U+Hr&QK7drU#ihwr7Z72)zaZY(a>h=pJLvq*ZiVnovCHky4NTXj!IJ>Hlws!eM=2_#+gfj~3ix7ZWPmQ682QD$<^Y}Tsc5!b* -vxZ0z|Qq(l8(yOOyF|%sLchLHS9(#NfIP_cI%?&6<`aGF>7RxTTSUl(0MqE>=WNehHPon`?d`?C|Da) -INJnXaIBH6|@h4=|;$^~l**40yN6Ef)+`#onQU8K+od@1iJ9+A|x;)N%)tTm~4OauYkjb1pvhgL`--u -2*%{DGoj&~r#4x+G3JB6*Iet^M{|$O^Rd^eHs|y?wl_l* -nt;$2ePLlkte626K5pP8MWbm>BRT^InpKgN5psRw)U -9rWUa_sd%fAC!bY)t?i2~}%>|&0eb~R&J_etiz<>LXHCNsqSkpfT;$Z#wCPTl_95!KcJ!CP8!6D16V5nacJJdMp -*D1sK_%jP?Ce8KBv-8HFzrGgc95>nCw~haFpN3Beg^IKbc|}~V=jH;=;JL6`aTlP>xL<~!$dzyVSdGu -w%y>fu-$>~EU1MC%MauEPpe6|U7OM=C<|{VLp!^t!c5!`t!{5-Zm-s7Fr8#}vMI`ww6i94Fuf5s!96X -?c%vDbck844p`+?B$dUrHID#iiqR(JA_7I1M)iLxls5S=G8coq9=-0v~$%FegP^;)W$LFeq-JFByJ}> -UAgH(rQj;3=TgA2#a4yr{aynGmlPj}wI06C*QV>79j%jM0SCN|5F%qmdzE77PD$!wLwAllFQB_pht8% -=l^P&@5j(Z=_&`z&$L32%I@$>mKbw`%T-k=P;fv_dqzH!i%bt;+#qUAAZ>YV)ddA41?a-SGHTv3WUqf3VJFn`GBEbmhu@Ex*rPZ+NCDteBW -{y9Ec+?eTtAc2(;x8+H6mrV~VaVA`ha4-(jya5A`ibfK}`l7r~0%aTYhI;Hjg|Ao|N32Qi?-7b%*EN9 -B6u@SJv9W97C%2YvM8#8w48{Sn(~(;qJe#m$O`3xN0*%R%DzuEhh0LC>cWyD~zY)(BO$xA^H)X53Oc; -jcaH?~sf=C_#5Cd7*~oml?$!%WX38x7Rv#JKltp*G3naxn;>hTJ(Vhb2_HhmR)X$e`tynokP#463)1n -CK-3)Ua#-rS&%0h!1G>s_f;_(0}(m!pp^ru)CfG#7TV7yIQj)Q--$JC>}97|)4(>Z+8-~b3qL}6{5BK -XZOZUa0TU#H+<$f=cNGGT$V@`DxFH!kr!J<~A;9v-i6ImysT)FJr~Wh@^%3)!cb1_;*ESz<#Vc#NL}e -(~H2cOH0@gSZ4>hVzdf*_dSIwjC@a7A<^eaORPfTo1W4W^Fx`Q}pc+OGJpl=>bPT7ZOB1? -c0HaD1A`y`AWb=aN27oW}cc{0D-hP0|j>q;A0yBs-KL67kxK%S$Xh9YOOBxx6(ven+6Z35cVe9e -nqA=w52EiKFpR|668Qi-cf)u}Ag5Il>x7D_VT&oCHKbG^PeM1CC|=lMukb_JDlE$Yw*i)X%Y{CafpQR -^JIE<=%pYodIs+9MSnoHX35NvvHCppv9+{00y`EfTpO3Vn_(4{4>U%!BW;P0f$10V}1fag5PSxG$RkG-9` -;$2LS)S3|Xi`RmpR#o~+QphM<2*%n?bCB|*c_hj1o;Bew9ap}))bI1{*Gsu)oWW7xfiz)2lfpN6r08rPTFKwrw-pr^rF-FOhjDcM}g@VuSmLw2^Wu^gu(W{5T4vMs -3T_EkQ2Zmmfl_CCW_JOTO>lH8){0~(3;&rl1b1{GTPFMkV+M%2mo*nSl3FYBI;jat+Vrqx}eB9qpY#IcAPy&8<5qRmqA65vS -6o0z#C#JS{Rb{$`=*&yWKL2N4)q&s-Azj?CH%aQ4ybTEYH%9K`?CO&XI8vbc477af;{#g!9mv4+w4#W -`4SXuW){u(F&SOmMhOaSm5Pf4nEj;kG}N;Bd?PbGRi*rgT@F!!4mDd*U1pordVtJ; ->prD1p-(_b?`>J=CAcE$`3d`s%|gR)BObo_nr8mpieWbGhs3*Sk5Fy9&76m5}io&gORQ?#JeucPHom? -%hc?*Z{P}I$|PP^7%A27|SJ!BK&(7oW^A7FTPwqEtfme4X<~2Gu6@m2?o-DZ~6{k`R-I&UjgR;Z7 -YVo!CQaw6}`BRQc?Pn!%{Wf3iBlCE>3k=BEPNJF3Ae7^K>Pi87M5*^tZ!0+HD!e`H>duhy44z+ZDzc`%UyDky*olsiKQmEzj;WI6Kz+1 -LO@Vpya=ssg=ua=$V+W0`CyGor5yFVG7`vCPehX$eM(Kk}hLCG%Rg8wGOEPq+oI7ClqTXMF@jsCEUOX ->XD}?cz^Xvjg8Rpt7y0vP4uI+T7d}Dxo -QcS)Hn45ttQ+DWX6e{BH;l4W>J*SKmYmgF3H*Zw3n3HtC*c9E$xUHYcMr+VRmktj^{3blBpNe-%>Q4s -=jpAyBk;M`t1DalnLyMoeGd9J?__rVP8$S)l4I%bcQLyqOB?AN?f68^tNf -+4zH0~Qo`B~QH3O4XYqL3B&jEyy;)3vIgT8jJAYdZYdJoj9h`8dd!RPT_$?-6zpyv@PKAQ>4Kp)$`Ni -T<2iar2g!G`Z6hy6KUR;`?85<@#u*hZXKgB$y@v8CHw1tOQx6n$HW`&R3scFOY1aOhp-V8~!>5Z9Qe= -D#N_kxYW}xws}{s<^(!gduj)d-8U~db~GC+hRmjsMTojY=An;H^}A=ea`vd@IX_wfY;iolof+knG-O< -Sl_h;+9|VoQS8lFQ%;9I1mM$iAP%AOoizLdz$*XeLGnn6l=I0B>LXi%^<&T`3Vi_0bcy -%FdTT?9!T`s4}pU~cQ-?2o+dJ{pNh5R?njfJ3%lT!^F|HoA&}SsjWOuZdmd??|+TsJhC(zhAH*QMPtw?#+4-v -Dlt0uUad@L-dr);WC3hxn4X!4d;I5pciRG9&l8_TL0TVoNxaVFAmt$B -s0|Z{Xi)4qsn`Ob3v7N9ruXzYN%Vb0n)DwSjz~4~SS!%$XSOCd5q+M$;u*oHbQT4kM^p3`=uJGbBeIw}d-+t+e=uVx@`9JUobpFo8@x+TdQ@g! -v4LFA2pfHzNJ#W%bX$*1BM{3EH>vi=RB2maBg+Ad=R%dprn7En<5)N_|mH!vOL?!<9Pd*Y5(ZjhuOk2VOb!q+L+0k|F35jN5I?vt*J|3v47sT+^uA#Pw}d` -<5v}s%3y#Pcf30v3}p4kJRmTdf9Jiw?L;tJDFMr -Mp=w;?#9Y249s_wcpT=v_I?jolb#7XHn!w^HS2;8;n#WTzY=gelv<7rVQqDC=3Sl$2`ozLN|fUT0&IT -kPKDqhr3T5PUqL&B=#4Q7z#Bryz_g8XOHE3xz#EIoqV?X>|f^kUW$ywvOYMn;aO=2t0K)9d@X-PnBTZ -cC&kYEDC^fSq{H#6n!3E&f$N3y=E%ZeIM6C9*RZp7l?E4M-(TOb?h-FTIOeOu%SB*ewioi?x4G<(tr* -Q%aW&4v6bF0@ZuY){tTnv`cV$IM+{JopS1DkxcKwac>LD -*b5;DQq_SsdJhluCYO(p^&z3Ti)T1fLPb9Ghowl`Dkyx{bX?lL{cc8_li8a~mn0mOKo_<>T>Y|Xn5Th8A}KMrUlRk7k18u9kFOPJCQQeJu`ZQ-M -gOs%2tjAkzA;555!45n{sVuNv)d!o#8XS2^;k}E~-JYMT_->J`#n713IdHoqW$o}LO1SLIjR~%q~3g`jXy~(A32z8U562 -2(`!6;s(j{uU`4i%Z{4%Xw@c3+69X^0=0O9vEl^wB4?3Bp>2!mn3JD;7VvEv65Lse*@{#ibUP!@I>#Z -i}&S7OcuAY=NE*9F7fZO=q=Mn*F39WIU0^KZ24WX -?V+}3thms}q6x1d086sxSdcVCrsis~f~Ql=&8U=Y(RZ`0z(@#d04D3pX##m4Z~X9wbg^c*iS2L>sPg2 -BHSE|Cs3MTqY|f3IhVH0#sp`x_Y7t@y>s~>;Ygkn^dWs59UtZlZ2TPW3r?sJ%gqHp?`XnXOe1TbAji3VO7^%4YLlw0z_dqq7=+@mx&>~V -UNw6naV>Uz(4;}0~uDikcEY&^@7%uKZ`NK;?;34ar -CK(px}Vce|0bNbAB!)-qjmX!03O=EZ|2#$%o&C%9ZfD7|kGOmZ>i?0<6CvRpl>M(}6W&I8(0$%3#-@g -M#hZku07<<9pFl&$;&VAH -OMC)56H&E8){0mwiEFkpc0}Kwf!pB#wjA6lTf*EYrBz$$`|QIIASn4(jgyTHOlD&IemK*9`)Be-30`UT|mj)^1fY)`&F3FW;iML4hzc|5)QI!8TDcG7s*!W-`-;lb0zlAWlV`3MSsp?>BD^)yWj1n#U` -)RoO^%MrS5Pj!R?vk-b{mgYBTd{saHSLas!n%3)|u?=s+WoE7DW12b{Ua+1 -%2e*L@&Mhpc{!bGueSFSdMWaK3as5RKq!z%&+VA_B;GC4^^s#jFaFon7K{-evh^w+2Je58U^E3mveZS -lP%HJ>*Da}`_e)Z9>JWQ5)6Cr#lud&c-YA=F2skuDKYH$RVo`NMtyAiwo$CJ%gifar+Pw$^c^wTXg%M -LpI{KS`o$+YI*6E$%VlBilfr;omVE`54pVA=7f1Y-d+i(qVgXmEx6qc$zdw%uoPx^RK -|M3)v1o%H*4ynFo2^PWl1!`d>bV9av$Fsz2o_yo~To-dTfO5Wh%;_bkCXJ@i|^^-cQT|MLA0Sf$yYH} -Vf~ku#`rW;1mXO?FzW5O0-5DPuqTL|Iu;;(JhsBhyUm^9^!&EA{Q+H&%zOPquJB>Gz=4pF*wp$t%2YV -GDf$clk6=VPuI(nJkxo!(f3vV`+QX0Te97HVDZcWU7u&n19oq=n*ZKH_MUHMeOrg??A;jG;)2$^jrLn -&xFex(VBZji}m4;g~Vy-@Aq-(^ZUoI6}f0t9lPi|tDzaD=B?kb8sCBUXg5FeaVdW|!*SqIw8g~_1OzJ -z#wvpu`V=_Tp2W*HIW6!ems1?&pLQXLa9cb7livZOOlRCg#Q;)|A)pSpfxE6m$9s;Nf`t6yf8a{?CizGiG7Qei` -k|BDR}gfZk>hp#Y4F5*w|~uO-3O6X7(Mp%+0vpIJMa~!X|)1nh8_#bR9R?rJQ$AirG&Rv_H<3@PZB}o -m|IBY-(MS;#YHuzrd4?u31axpvxZlPG-i<39BGV`wA$&Q5qnY6F~9v8O6T|+MWs{S&gyXzI>qg84%UN -?kd&?(!Z`rGQ8~uB&?s!E<_zg-(15x5K3mCgV*%iKxVcvr0;PXm*muBvR@eoFE+G|1?=?6Uo+!a&uMm -sF>FS&9DbcAeolhjv2Lo)XO}tVXv>`zbpr9a3h^o=#Zh<}J_Z(!!$(@7;QftBO{Jdkg0MAys6T$z1J7 -WxlPEJ5CC~d`^4=ie^}Y1ojVP10C5{t4#{{X>FR}UGTu`9c<;b%QY%{6Rj^_`KB*LE7r4~px2bg!2Sa -TO1lpvCgeHO@XLMepL?2dN@D9WQ&%{oMz71iPM*atXnI0v3po!wfFb-RJnV9+$d%=@NIEX@zfg2<%fE-RKfUvafj$x5$xDk3x{Y1Bp|TWcoF{OfOPqHmx -$(G^k(oC(=hXsVSOR-jY2B=mjsvl$VTLkX1WDA6 -+xUqYZks3d*sAD#xvC31XbYquqtl6w)hq@Ken2StR`Qub}yJ7}{F4PUEYS#idM}GC(N;fZQamZ>7)O%Y1)f6b;J2Rk%US#)bvs!_+gFnZ#(qI0gfwDf$D0xnW^DLO -gqPsDT$ae6Cmnn%fOIQ~$S%=^3Bk$0a%H|7#CN{nP7E`Y7Dmk~pu3q-|fbbv??NhGXVK+|IcN$xdPF2 -h3!NkQG!jC=BeTW2VUS!+i;@|9w0NSB|T1E&tk%F;?~*TUsWU2hl07*I0U|92t5{_Ux#XaTny{Ey<7V --i2{X@+=&a^yd^1}NUR1{9E-8fhJkF__gT -tsxhG}@9)fyiHEtf9VDifc3$Sa=dIk%{t1@qa9r;E -+}wuajUO%auR4?$3uN{RTh0=V<};r3dJ=b@yM{o%E=A8IG|F;=6x_BXa@svR$pGD`aiZU|rSdaufi(8J3lim!AZZLnvOfC}PJA2vAwS$Rt~jSLz`y2L%LqY(A`-8=k&f -+Y*E&t{lRXoY`V{Wl@b4|mI^S8W`Uu)c^9<=fRT4P{s&k8<;+HFZk%vs-l^x#Nm8EicWtYEZn_>&Ej7 -fENJ4g6th45EcuY1MMfdHK^osC;Y*crpV6jB@ -Rv_tcmucewG4wk`bOV2@~PMPR~&xtMyexMZ^W+lH_iD-mp;PV-E32A(4+uO9+hy@-m9Daq>B{K^M%z0 ->3t@rNA1ca{27lwBk)JmdcA6m-_u3*iO+A)2T5dyj-M9R(@-zc%~&?vV_o(83 -$5bcc0RfPiHvNom={rQxu3(K;(a%u`({Voc)F8(p%0PXvvQmLd+6(iz58@64klc@RSI<}!&X -^Wtrdjs_Hq7&uU18*YSGsUNiZ_6GE7_-9VvLHnl7aP>PS=ygXkW6$qI2mhU1!km8v((<@l}OjBU&*yPuCZ=o`&w -^EziZZkx-zhn{*3&;Q^+@}s}A#FeWb&Wp=RteTBm|4TK-{a6iXY1h4mP$=#+9G1E4>+yf5hyISBLeC- -n_mXFmnkrRo_v!=ixU2u( -oB8rz>T#PBO~V}q_tid9s#}oU@Rcmqyumh9S^y_k -HvB*Kz6CDIqHBDX>vCNXP!!ZfF-cTVuuwEv+0|WK5*5=*1B69Lgmu|fEHCInFSzoCU9GIwO3Q9b`qUUjLG$i$~$FzKb;AYHSEc4`_Xb -;1kEG64GE-m}2J%bs@3d$!+OKEhUEeJq1%*?4jIeJ#9%uuj}`xMUt(l1Wut#zO6r(8@;{v|MplAN>3P -tylb|lh&3s>gzGIQHqLRnI}!%IEHJgZ)id5AwUeQwd!qmT7oWjKcv;xWO_DeV)qOCqWLcB4JdfIH*1n -luQ_4&z%T;2&C*+&fwWJ3Et*s}L%%g#$JJFKnt@U6*CN+nle)lUwoCNR{O9g-R{GXJ@l9qZh%p$ZST>$ -n?I!zmvEvT74#602#Mq2RfYz;wYds@2^`ucJjl-J;29m8$6h*d+7v>In(c%(p+;IEw%jg?4lPbf7PF( -6q_Wl1`wcaC>Dmb(a}4DX{8Fp7L7yGd!NOH^o_RyXeK<%$><%?^pZsJuO8`Bj#k9+o?;%97(>IpgW$N -70mx1@0!XjV+JQgiTEg%Scnl=-Dm#N&gAUi>X^{K|zQ9TFhy?TV&_My&JuM*!&NlKz;!SDixR@}%9y& -St&Y)IZ$Gf%eC&30UEGnCod(PWOd)+STivOU@##TPi+Z%YUkm>Xn}u*XhXG)< -C4+Jy4ANaQ`oxpbM#`;8PjX@qZ}8Lj*u=Ub;r;8cq6Il5DW5rzWNl+NvH}lY7oSBkum9i;2VZzzmEDTyL>cg}|ov0Ct8(Q$U*oq!hz$nMW@+te -Nh-nf2RsxMp^_s`c19de5OPU5;0^W~`;=(_rZe%xMGW#A{l)FuUNgeU?TvKXH_P;@8>mi=rU6LT(k&y -C~Ofj;6{(3|8aiPG}Gc0#OAlky~8SFa70w0pb7_nIj5e?mWQ;{Be2{T|O4li -l~k?p&~a!n7iqPTIrscn@c|d?Iw1^2&BO1li;L1A5zM+SsFtb&oNnv)q)^R_|@T4v(Aqt@rSS*_ax)Z ->x7REAnmNVHMoCRpqvN4|4$X@}NE*cs#Pc#nUpAA@1f-c$fHUX&^l!*@~wpar&3TTb7=WgfeIWIPL$6 -p84!2)z9Vpq>_-*DVU+&mg$Qd$&}h^RkI$CP1@AHt?1i9&rzyc^>~KzBPeWe3tF>u&97Fw_5yCiHNCb -=iEqwu4_`&N+BZeJwjQT@s0J*VTQJ716iOd|R-Rt5&qt33G4(dRZxDKggHsoTe&Oh+M86n3p^5&@=r5 -o@tC-k;zO8zCO7mIWS^-PYt?i(P#H?6Jc5-ufC#`O`_QO-Fb8qP0L0a*U)JL>~wAL0kmrkM`1b!ZlPL -et(!`VUB7CF+C5>DpqAaB+|#HEO<>>ssn2e!Bsa>fn{*W*!F@CCw!vSL(neRZ(qW7<8XVz>6v{(+Ido -b?a%MY(G?vHq!d=^s5W59!;1^le2y0sXKObOQP{qu+7#Yl3>w9>VUM8HE0{W~_s-n}e^^KX1^pvG86z -1)`+W#+Obm99YQ?EemfmBwX0R5T)=OLt=y{7!of$L=it>BlAcRsu-db)-WVPSjLcf!V-pL3waDF5N>5 -ik}!)QMnT7rG9hK9!*Z&S$Z))!O^9JQ<o2!*QMwf>t^Vs|p?r$7x9DxRc`ex)Dw@9N$YqGsE%SBz( -khoOOf-hNEsxc#GlqjYW8g;V2mhTN#e~HH1wJZ$*3q!|^6Vp`78Uoe<0n$8(}W0mG?r=lKjrQ_w;N!_ -jcGpuW>-^f~EHr?uvh49Bg*f|B7Wh=<3iX822p*D@SeRYC>BamSrd#&F!hCKNHe3Gr-(Z$Uhh;l~lzGQ1h_i3}GIk7sx* -;?WH6Ks=n`sOA#<87@bhFgytH-&Qa>BQ7wU8ms?;;W3CeF&uA{5%x1Y3GrPFNAr8a^92PG5jUOJs7@=+Uz -f*%N2HpqVkYA-#ONOw8;Si7$o -(#JOE^Sa$s*>kq)PBHF`pUCCkA{9n9n5U6AwPOF`roGlLS7Q%%?x|NdccU=HtzLwBVD%e9kRr(+&9C$ -b7zKK1T3SGoPc(rwn{1FrPik9TO0Ej$)qAE_cjC;HhMu_b+!$N#Gg6Jj<6m>CWw60rdm$<05`Aw?wL| -WJ2r%&UNz6`<(_!^tMCku??#AB(=&zrW5NbxIL0HXpbbYDp>gCe(4C(y9ssn_jMHk{584&l2w3^*;sy9szhijw=B7W2i?(o5hA-5qRPr>| -1EtKhr*g6$Oc{c6|^mdLdobc5irp?~*FyY=G7ll#UmH)yehl?`hkQ=@O3WhJI)UnJS|L(#?dTr}1ix2 -Rx4BQCK~O`a+dJDMu8G#)DKW -Dk>sOCr1TMz2>TOCNOmha9godFSgUBzDh|QIg_Yi`yp5H%FeY>M0k(B8V>f6BaNJznV|OF)T$;plUw3 -1)qb`j0F0GqYkUJS}SupY&upMW&db_{Yg=?;!*QziX|4t=*{y2`4TM_~;(Kb2(m -gc^T2ujfqH%HOcdCF@=&TM{&A=K4%Ae);l-UB7ppQ7La~j&)cAo9*dX?yB^t#3Dgf`nz>yK{yyvdJl= -7soQI{r7$`lGvfw)IC3^JwdjUgo~yd**S%xs8t9km~@or|4^joqGm{Ou$b7T2Pe;UcWFeI{^DiaGzlA -57AvDWNwi@>$2@RrY_rn^tqnbFC=9A%^rBmQ+*KXcIulwwC;OxN089PS?Y<=+!7AyYjWi2wvo|xv`aU -il{V)YywQ}RWLq{ryt%4poq0X19wvMBDsoioWNEdjO%=>DD~D)D2xr|o?J$ -tTT$SY;omvZ69v#9f25zR4#Ql|FR$JFR8QrB0@TbnJlba!Dt!lWIHOmBJx=htM56HEH3(nddMu+HM!a -Hfkt`KFn^xv+bZ;94wwSso{1nJdWAjF0Z+(U0%8$=4au^>apmLZiWsYR3EQsC%4-ZZ6Oz?^mp -Qgz`v-F7~3nrUb_8CAnf9+A%{*n{$#etW}r%Zs{C)PalkHtzt@(*1bua+++&IIIlg22bhub22kBs%}p -Q%d}7jJ*h9~;Ps9_o^`g7BCbENmB72cu80fj{RV?JN81^^nhVbcfG3*`|crOk73Ud?`bbPyB(1{o4xN -aw5^MD<@0BxAG9~T=WyT>kj2o^m6-0Mr5>nDa?%S*)_1mY2ky^E2{l-YA!cCVwZ>503DbiJ2WWrKAb9 -!nKkAEAvOKd_X3(C<)Gvg@e=lCzM`U#cnn=x2|6=}DKcK3V)jVU(JG54l6eeI87uF`CiXJ!&vL2R((E -bfog|S1&&ph-?mq4Pt{Hrie>?4v1+;VRpp@A1}B@e>3isNP>i@1?+#9!XTqsj8WI4)2 -^2Kf>)sZR+S0nZ---#+fiXbay}$E$xUoQ4Cu>h43pOo496eFhr2^2q9wF0v2PBkL}A-kaT8ENqcFUP3V9ih@BFv!`y(54NgJFZ-+r4@5?)&1=Pl}Z59dVW@dAd!pQNik`-Yun62YT3L*zurW)&{Ob8 -LJ5@C)8TMMNg+gjli$&zN|0)laDXr(-RtH$myIcC&JTuTrW|YlS3$Qw1%Dq&J`ssSd+c9swWNabk^81 -`laMMn{xP9wcsD}M^B#*anU@_qHwbl#G%Ts|H7H^U+3#BJKkJDXGdc0_2yh<9YmXh(FzoXnww@My*f^ -K|?)mndVUiLOUhX+2w4eOmYL%W}W5u(;p-LDuHIhlULJ5(*=JvSc20Q+V4vYuEA_u~Inzck*bcVT-7h(Q0k(XBw_r|BjhlvJ4hRL7k(L1g~m -Ghu&MoY`4{W;bif<-uA7w#`B)%@CLt&o+|4PgVAU&?oZ1|Uo6g3tv4%@P)f*7acfIy>P#u`bffz&Wfm -Wm?EtmU^suT;t&l6t0SU)!?^El2i$mx=4~b#yv(tO@zE00kP)M51qZy)mqs5_D>AL?xI+xdEM$ZRnl6 -~gzbbk)zrckVj&gQRB+_z5*8$6k1whFBieQx$isc2JFpejHNy9iPzP+*?U_9Y(n*Hl7Cx*KjuX;V~I0 -N<_mOQTv7vsKnS2*QeG+jVGE;i+)?MIccJ --50x0=MIu~hfML;7i3&R&ywPm=_AAWC-Yb6(b;|WNdBc9I0Rz~eo};uGPY4JiEo#KNpU`Id(37h^5}_ -zgk$&>mENWL@C1q%Sf(zM64!FEs95DmMBz;MU1`v;jy&jcvaeHg*ytB7WYp{jQ3=S(oi(0&K<4C -Nd*%OJ&0cTK{nd~1hqJ|5IjDel`(?a2Vw=~3PU;1Yd;VkZ*quCaKn5Ja~uvL1B9jSo@W%8#uvACsmCx -sE7MBo<7Yf?s#vRV5!Ny{6^IOQN_QWS+3cK^_zjLSw#BRjCzvV9Re*2i4vg^h416Xno6h%2~%I;8Bg1 -({9|?&Nw-DJE69%DdPhtcjAS$@S6CJavW|kraU;%9R$tU0ct$9s;zlViN@Csscidsb%v|fdqnHR{S$p -HepP){xWV}Vy*s$R$_vr8=S3Jtro-B(`FPB^Qb}#A9Z<*C;Q_G>kas?(SA6-`)5D7>+0zce?$K&%?#K -9I*yLo^EqJKZ9ZkWrjI^<>+FX#Tw8;k)8~kzCk!}AQl$x}1igi;Ve#@^w59|X)<#DM|sJWvNdu!HMJU -@n8tKG1JEsFf=zAET2JY&qh>({&GS9?+C+Vh>*!hOBB@cdJM+` -AiTzGaGx2EROrAa;W7bj%&Q&4JNK}*=Dq-ot+5>h0v+GR2t@4)GrHLPKfNCoDgA5Z=|vooja -4LDDBl$kFHwQ`s)E2E#m{O72vwbH{}i(zsGoRASLE&(630?rE7Wyt~eEe&@tGYKL;yd0g4Qd_6tObO? -Jz3v;lNRzX8$Juz%w66={)FMOJjqGBvW5vJ3UBe -CS{b@VV%%OvoR1%AMv$D>*mqk&d2Iq&c_m#zi@nQ59ed&ZoTY$?EJ00p -N|cVy6k+cj-HPV>EP#MO^#B8zpQmRAGa-ykl^cV&7-t6iYh#}lRT;N -Nodh3{4#E9m(G7Z>1Yu@|HWE_W~-(s9p}HWMX})Z=3u^fS%1BBxNXZg>2Mn`PnhsRIW<&uSGnVS7;WQ -YO4`N{VTmI^xUivXwwTK9&jiq|WAUV>0nz2JeJ0Mc8BTv37VFqN%AgL6sKoniU*ur0cd9^14M1x^^cQrtC@QMbAzO<5F4GWT)A2dL8u)6`GY0Lo8G#3Lz)2IQWY5)HiAhO;sUcmqn_yqjC7PmYd>}r -6hB98ov28do+ivsFInomy#h}P5aNZ0Vo3=my+%3+h`ziohMO$W+Uy%-?+`-@jHK&0;ABHz^;AX*jq4; -Ubdf3b@JqBb>12E7{~a(nSA3=nN>cM!UZ0iyHsx)>m0rgTu;c32=vm?(L?B`oEz`B9+AjiSeO7yCva -dbZw)=|5wpWJB)8_f2XLP9Xu->EUv2GS(gf4iB^~3m#Nkh>`H}mRvdeEatFjVLjhz2@q~{)WJRlNHRJ -(py_@f$u-o}X4n_>S}@lWGT0-EchqvZwK>J!M^HGMu-U|~0FQB;122kJ^2K5bEP1Y9?D*6ckEUj|whM -}#KPxIL>4kuhr8m!V3_316#j=b>$C;V1Vh!u{7QCrb4%hQ|FTQK7I`O(VNH{g!>XmN(T3|{XFv;i;E+PoF7 -%jrcX-u6JnJLv@PL(@d26D^wiKk$2o -Z;EVRqQ_0`!*>5dpp!YO74n%+Qo%p8IuUZ6T@h-Dbv{gJP(j$)r=vQeripr@Ho`&!0sXU8k$(aP4CS* -T)K(5xAs8)_Mf%N#Go>(CH)b&{cjt|nXgYLZz}enIiN0$wT2LNjq1ea16hYFjm)Mp0SM%T~v$l7C(qi -)KKe0hOOC?yp0OTRu!Mmp1gDjb;f!yy&CNT}v&$C%2leQ70{unUyx`ft65HTu09}IqsNm!FQmrzeKXM -e_2g&x$Z_+n){i?p49=we>v2HA0}z0)v#$j#4tlNJ4B5e8SGEdd#Vn#l*1H7=aLk>zaF?v@S4dKWWaZ -?f3CGv;WpJNik%)e4@2?4d}VYJ-|QbRZT5!_cHU(#<&$tscq`+d%c*y}(|v_qzvI1sBI?`gEuL0C(Z$ -g8AL(oqJGstAu@iMR_lsAlv-ziOSEn-D)#Fu)oi4_!2hz``@4BJ&>M*ok9lComej=yg^o&|%+nUC!Fk -s!2K1q3z>XVx331!a{21%dP?o3yGutVXZgFAK`M%gXO*xL;_hC&4a`Q2b?SjVk9?G_;qRH1(o>5dp`BJ@1o%OI-bK}kG -n%koAo4LMPQ;rvkbokJV72eHP#qNX7Umm8d3HW9b^HaR8mp5OgqN&%qH)v}--^Pztir4*Rs`?fWJf2t -pqgSq|IExwD4ry?=YZ}+er28<~!QI<9tmRO{;c%v{sm$P&+MS20&3eV%ecVvHG0vT9Y8oX?%}g2B)Vv -{SYF=iV8bw7t)f9j*d#4-I*36*Vn$427W(Yk!R}`(@GYY2xScerUDi@%7sBM3Wq9V?dssv8S71lNnJc -hk8dcI=`))MCFFf*;MM*e|57%!=M;%SbU*srv&Vh>T*lzj9M9^g}>!bffEuy0f=_9TH=NCjBD)pB5*i -79>heZp2JwvLu8oP^rcpAJXanu>1~6|v-^uj^3~&mQ0r9Z2J6;VZR|cR?cJ8=K)jb!N~f7hiK&xtGI$4@rl~1J1 -Gg(y=3DD#;%#2h^HIHoWg}SuPp@mXZ6kMW95?ecdM% -CKg)i#lt!d_IuOkp$PDBiim)KPU}*ttlmG^u5}sPrmWy3s?cHR&Ml9MIZ6RMXSGO)A?(u8NA#a6QwA6 -4W#8pc%}mrFteh0%!{)Wz?l&jC8kaBswppBqdXg)M-g0we=`vCY+Z%*<6UTV#|*gP$9HmW>)NqaAv1H=Co&G_mdK*mg)EDWhx+RHyWb@KifhM(uJaqvpFPqrPmX#mLP -O@V|#8j7HiWPhaOWbpe{7t~_IbH=MXSM{E0Cg*Pp0YT3l2kIv>35y;UX8vODbn^f^Y_v&G&kSN1V2y9 -!1a0(XPI`>OBp4!&DL91;aMS=A_5nrSBp^l2u;+=}9aoiF%M5;VimW7oy-^?njbXNAwHk6WazDzi#dQ --`UUJ6%A!PHGZQZ)$KQ<;v9E2rRfjnP!aSJUjs}X}wRY&t8P<*hbL#FQI&+!Bch93!+;T-_u -p66z{93%x%#mumoQ63pRiE~6`H70$jX^En;b(KdZ(H!Z5uLR1Ro0~IEPVl#xiPEP9@M|(bs6SmO-kT_ -V;zCNDOw(az+L#thSK15y&j!~4kw!T*j3_i;_S2wXWts_x6CI?hO@4cIcCXNr4<$UtwBw{)M3XlO%jN -jlCoHcK1VyDLu*7f^*R;WOWF_Dsdf6_Di8Nyr6RA{K*@0ApwVoG9ZQhni> -ZCbT!c5;HDK+0UX&cLuY!=$ -EN$+2ZOy17^dne1S}(2d^h67$u;e*MwAP8Bd_Kky(a81Nw@G%zok_OaI-!;R?)u_c;WfyW8k -lg@fUk52mb+^iHUQrOu%ohZg0l9QL8!aYN%3)+w~AP|u~w0TEcwLVD5osNuApzf-Fsq9^LHptMVbsjM -_m-Ea|leA3@;#_A4tscu9M)lE1ihV^9?z64G6cNb}m`#EbovZoqLdk(ptDNOKUv4pR(9r~tpsQQ@XfN -U#N{aS7AQIPVB=!ZeqkHolXqfH$IHHTN1N02>Icq^Obbe|(9Au5||&*&b~%XJJ)F9_7p+rGt3i29mwZ -dMm9U*h-l4QpMQ;7=@xH8XsK$?Nc719cC8$vYv4-xI$tj1Z6njt#vasuTR#mGU8L;Vmwj71M40-$UH~ -L1Ng%FtkqF?PhpXR%n@SkM<*N@g3`WYB6LJ6r>f0T|}K>FXsVL*iiajlW?ZyHZV#zE}vVk#%nPixrQF%RR5VG*G$YgqGBcL=yaw1pO7q{#;$NL!ttuk -pNPEg{omp`yEF2VP4Si0g%20uQyO9f -3K*-yVk^mEqJ2f4V-&w(i+%VR%+w|t)pslKZR0H!R)B3_Gq$t;xT=t&gS2Q$G|CJ>PrV4NI_+4{DBl7 -Uu(8M42!yXGza@9^*?x`hy=nIH+I9V+~{l`bqCaPxy*J%xb+hDlR^z5<_{Qow;vMdgVj{O(@nueRch= -s1m%N#T-D+(UZyq6*5R(;Uzp0w!c=CcEpv+sPN-{HPc=n{%Nt!D49+UY6 -V}{CWe^o~f*Nh7v_3Zm(4A)FkZ|3Dv_aOT(@Ieb5+80NrAZ`;q%qilX4PK+;|bzeA?wt2&5{(Am4yVJ -TvBbUFPzus@sbmx7$)@#5!eg+q{{CTj>(XzqOc?69gsQDNw&Bbx*6Dle+fJLrz16^l?*gwbdYO<9X4s -(K7D@XDO-p{>zSo0my!qny4*lO%0;Wv1HAsJ3hF!;HaNSH(b!6R7pW&&`ilyW1ZX!xDl~bh$%O8A1Io -YkNcmwB2_;-vkd0c;Hsnctyq5&aO4PkD4Spoy4};38N$nMZMZ}*X82Pc(5Y3eT~=E2Wru}P=ioK?Y(VvkcRV>Q}Ng|?pB9fx^9U4I3u>s$ -wgcLclYp`e-xXKWYrwx4ZZvU~e3-Qsxft_QT`0u?%=($R<-n#_Fzt*hZ7qEpGpY66uv(Nc>(xtVE5^2 -ZmrX>H?L3s7pmq*B~>P@6pNM{rq6&}!^YFtE_>t^F1)$UkD8c6^}aoLJ{DlU%k8>C+({o2$|K2w#@au -AnDHBDAq*QM9eZtC*|3sqJH%M;yi#63%F=K=payMn?*^N;6i^ -E=@^gn7>l%z8qoa-Idp^8=9M0MT5Idn9leB?q#Dz6&tO!|J4pI;v|ZnX9gy%CyxtE%;r&t5KV^Jkfui -DZr2mxh{sqh^5~B{u3kSnn!<*2-i%&`Cc^V>&F+JBj -$ndMmq;t$;5;73~M!tKjHxzXc1u2m5i*S1>Yux^&U#}fYbT7WtO)41q(ZKcBkD0HTf{#Q4?y^LtmYDj --*$Qw$In#)>7QT0gHOK_LDW!+>#F}Hkdon+FG5n6n%1?!iwK)8Q;KA*0TaYxW|#1dqiIy-2mikkVCdW -@SJ?q$Q4DGnJq}X^^c0;JM;rvjlUNxsNBqq>!5~nF#L81Psi!}h_)uwOYmOBZ$n@gr=#aIn9E0K-9Lc -}>lB)g#jrhr>}pr*`=YROt~8zEu>LHG5z`NIZUhHZ$+oZMiA%1g-{^g~g6SqvY{Y2WShSXhFG=5T9cN -Hd@Bj+638Yln&Z}&#!o?(}zmGxvy{clR`#{TJV5Kms(|6V94?VyylkucqPkPeqyBbGEqiwdMs@?QPZm -8y=7BubFi@ju+Qn>K_V}gh_kEh9OKMQNWX43?IWy=6RH(1*q78ZYvvnO~>(!#_OdmQB$ysiSIknMh`m -BWvrHFJUE8Z@?pV%U@T>ZX&8WsGpkO^!>wXWWGLN_#bHokicgZ=gmB3jK=e5t`MueY)h6THD7OMfyST -ezK8$1N7H!Vl`PEVgFnRgPg5No)$mBK1Z_oskI&v@eZ5A!o9Srm#DfN#$yAD+3n!6&sniRgWCI#A<|v -VtdZ=_7VvoCH+r5_4BPCFVyHGk)V810;^r1nvZyc}fB_otNSk)*ZYCP^}Td^i7f)Zfh>4lbE|jXg*T_s4KqQn{w`bBj0C7TOi6_ -7f3x!$=(=o>&R&P&r?J;A^R$ke}&zE&V!M6zP?)c3+$4-Xfrn%<rl2|H(sA~i)Uq!;q@Z&+S`p>4LKJnL+i)d{te81PmO3L)qLLjGAf9zSoSui=)lm`!6 -o?rEUHf-Ru=R%9GlMEMIks+I{j%zQ*>J$@gv4`U()KeK=e8h&7Al`j=-K2z*e(*PG46W -@wSn~==RlsMn!?n4sZF|>2E8=H6c2!RgSF$hBxFxl1Z;ClU=tD#4fyU+pv2Cx++`sxxdE4F~MFkZ-ao -fQ+o!V;m>e=D8)Nly1HlMXNxK*cyKSM9djT7#^UX(7^H3tf7nTuYm>jykK=Ompq@z|$u?kiDjPYsvT{ -jvDcvBhd_vx8z62We}jxIrPd)M%>!dCM!$tnRP2y^D7Ko9OK!bFJ?wp$aV%Q8w%p%|or7o#sJ!mezJa -TNBo9X2vL`9S-jPd+pw^G`o8aG*l&5n)~6DLyw(p_);1)r>S(88U&NL(jNIXdlO_vL#9wPJuIXZemsK -3Ctp%jzJs4I6g&4jCK{Lh=UwOKcq+>uGV6ty2jS(!^3}>fnh`=09Iu$s+M1hW^dg4_;rV5hNS<2TL3{ -XR_b)8W0Df{@)?lU!(D*EFV?oOVV|w)wvpb9DJ%-?1eF%3rq^Q|>k?*`wR`R^*W-7&Kr8`jqG&eIw#4 -oq!JI!9OuJameQU>^&KXCc{wl83~*hU~_#7Q(ir- -GX>_@q+!jZrQOApxsfMT-f+<523s1WI1bTPeJtkaD9(KG*zTaP-BQYyr(#H -i6Xq+Q;;?{U5N`zTi7}?4zSSo1l4ujs?nt;G%Hh&S=j>qJ{u>AP4IHQEEK!v*0Y!8>`K;zLu->f38_= -uS8s#A?)_+86;I3wu&^{*S0xg(|LV(^#IU}uSn9ChaDVxMKc)6;UEr2bExJpgTsX!F5_?=hxc*#1cy5~Y~=7G4o`8|%AwmZ1|vDV -jzc|%3prfL;RX($;P5RD-{bHEhXRKk9QyKp8^qyg4pTV1g~KWirC;cfuI}D`6P0N69glM`Xnc;lD;ez -moA)F0kBsU$-1Ya;;*V}Yh_BXkcv^#Hq}83JYEG5W^yO*>bK$QP;2e@krjk*3w2}TK_ZV^=(G!g$?>X -c~q9dtf22oRAE&NR&OW%o5p#5O~iMPY#s+UwBsUEDn6^?pHy@@^}iVepq{_UnbNXW0iJ`Hy85D -qb=_mk_oY0{nDZS#V#>s(|WqPb7;F*xl(yj{!)HYK2mz%EA50OOD2>$7%C5bBbDj!QzEhgevJOMC?UEDKr%_ZoZZ7`ap0F`Btr4%ZgW+|firCEw;$E%E{LhOU|98<2NpA8 -F5mK>9VU}-tU)CuKcS(rcOjd@~zm=~m9fq7v*m>$!R**Rv5DKCfSGu2ecF`!F<#Z>BW0lf@)#ReCTOb -c_RmlRXa*%l6S%$N_R$21rZ<6t;VCv$W6@bvPQ`}q3#2LvjDg8PJohV|_i-hV(ub|9Tz`lY(nC=>#k24KOuSIq#GuusHUW!5Ev?ODK-R8Nhog8mp%`vta&iC(EKqR=iw4sDux;1ugH;tUXt|Q+S488pmgUfrB|43wZ9`h(oQiXTlElEfAQxOFaxJAEazd`7POkLK>5)>! -w2sI@>>XgDbuo2Gsit+p*|U(gvwMG!b@X>Jq%c$7D5lg}1Z`D92}Vep%lnt*UIdV}R_ZAhvc!d=uDs` -3-k3k&ugm-0;6nFQ$S0HckI50jC|yFShhytM!5`h}7Vl_>R40jkJ+&aO7kZ2ZIYi3GLVI{2r|Olcfwa -JSy5=e6cl|%vpUY`WuRQL0D(|{~qCDitWf0#)r2x#Mr;#L$O=pf$eu@7?{j+GU22 -w_A9>+P0xv=M?Uc9{iW61a`_IC-CX5cku3zJ$yY%1H -*B4_j9>qRgLfz&b>l^RVe^;MBO2#PLOF5VJ(4$iR&iOu{_7NLx?2TmvcOlI|N#AZp>SLmAsWvQ4-eoj -$<1mG=^_HBwn?<&c^WpAt?v_%n<^OICp1ocYmp3+&zFhYcDc)gp? -n5M@r@Y&fJ5zyNbI9OXXc)ZlzQncSmt|b_a8pN%Y`uNuE`5_Z?FGxcj2yY-etfyN`2sIvx8aDwm+Vfq -iikeaA_&UMh)&KPB{ZSBX*&7_QWu>oi}Nej82yV4Y6aStY;+7;_1iH&_ms-(t!E%i;eUXu9sDXdI(Fi -sqluCASF*M3+W_SZ3m6XNg -*#+6~1A-gN;3tO|#GARS+^Uv)n|C}7~um1f}`|&Rn{#;$IVOQN`-tMmMt8K5d-Q9iYW$T -V#`Py~XipsnGQdPa)wxQ;)ch_#b=idA7f8fDQ4?XpOSte&fxz-hO9KUH#sD``ByM_(;>yV;_F>@h6`i|Lnx)Uwrx1$>y)W`S#Rz-~S-A{ -AfRY=BKl*KmYRUZ|B9O%m0rn$a)X|UqOHT-s$Hu9tMKj!^QnT -H+K!VU1f>Cc5~m|&0X8gy|J77o^I}YySaC`b#=ei&5fV82=JI?XT%S{FR^^%tml-ljj25HApZT%uNIK-4v&b-|q>QDULuP}_H;ZbJMiV -tinR?>-^C~aDt9)%a2z2gumEX0lJk-+@B)ZDVN+5iEe0fHB6-Z|>!;>=RmV>+oLS04%-twZ1DX%JrR0 -PDjf`S6M+`G(ZTy8X8CePuQnH%B3?>Eulo|V7$U2L -!Q!HqAW2Qij{^kL$1Y~v#?0|@-e3v9T=Vu4OiwAD|3txF%Qz9RvZX2x?4PxAtz6nZz@>=DOff`qww2~ -3TmbW8qEVpNHWhqtz;q8&(RIar51x}MPczGWj?LgW#Od;v)Lt>l$!IPd3hFNQDH8NA%(CXgqK*%y+?p ->AX4w)&UWQO!^{Syk#UvMQi|0WKCGy8cvm_uGMIskg=S@LNuEJjk}suT`HiMJ1Lt?8II2N50bEGensI -z}-2JC1GXlf15?D__{!5nR00zB*RRJ;#9}WFC9I?^@!@?Z!EGjHEK%WcNQ0C;D4J -PIAI7_K1Zed|@oS}Hxa4B&&K5+60mIe_EO(n%k48>+CzOx*IX-Q#m4(&AP3P>?(sig!634Pivn_epoz -f6~GSo-CK<^t^6Qge>U#rrC=b@mr+50BFWeWd!capaoUW%SH5&@Ok4!`Wm`=G0M1J=1^q(BaA)-U{TF -ZY5kEKWaF%v8bqIIpx2hmvwh9{oFfEdf_kAA`5nCsWQf}3}%MHe5GND(Y)f?KQ3<}uo7pM9H?k64jYM -CDN&XfmXz>MXhX;_So@X&RB}w&gCDG~XRBww82#{lwlR9BO&gZ4`Z-P!*F(2 -l9oY+g}mliHD78$and2fDRVX1k(`MSi>#=M1>4Xz%3ROb>RCn0(MBqY&~gv?Sj1=RT&zZlDOJI5jjIR -{Vek1YNLzyl+l?*5|!#tq)DAQ9$3(l0Ln^6)2$1YeU^vqzH~Ea1)AFz;hIz8=Ik(U(AoQRXKjeo#AEs -4odkRFKfIL9Kz!{!PAha-(;)S4MDuU($cSAL(xfnCC$?6UA88c1o9#ghaq|QYt6 -Zi-hLMq0Zh|XGgqoqXkP>yoe$X@=Elg`CX|!NMjwmTAJb6&(r?|xO<$_-BaDZh43?R&N6){eSL -`UEH6i#T|kSuV+c9_BZD%3H{ve~CNiZzQRW2`WhShT5(A0S6xlkUIlQTFU8qqO=}#i_6eKb;kVHaXM$ -QUv?b{sM)Tb`U7);yc19g!T#VluCKDnNdHW>EL+c{5+2HNKB2m0}z>5~{h`rPA}A)|c3c`VYG^&9kOq{-Q5Qr&0FAY=j1vPz=UC_fUBHY4?qUh -ZS&)0YROcWs5@hxU{s%bLzfR`kMtsJ4#`ll+BZCw3$Y9wmr0Yz}`nmxKOKAh;08N_N8^AYPDyM!m@cw -F-azbGa%nKx;nE@~t`jgOmpbbcmOkbdf52Z(Nuonr2HU^LFn%AopgnSCm*)Dm(13VN8^~QOX`N6vZcq -kO;8#;^U4?LlOJSn{?p9BD(0Iy_nUNHgx(eWjx6OGOQI9|ljvUtw1zkLZ -3?aHV+_uQK1P0-1^nXj&XV$201L!&cuc3IaTK5#Z0-a76b$_xL_$&n@9}MwH+waC)Jg9@t>c{#4D}Bp -ier98`rhRH)erb9Bq7k$JzcybodVJY62&WiM#@LNZrHwfS)dyU9P1m;`8!_Xv)*8LdVH{*kfYlfjxe~ -NFYqqB$62J@Dqv0yBz;WuO_%NHI~>1UHi`h*C<4X`%p;7yOm2K!J_X})bC2V)$%FTQW_MWv=neB&|2)UM+ -bq@ZhR+Gff=7PFwT}WJE{qi@AI3wLQ43qmU38Oq~(0KV-@kT=gr^C`@ez_Vem1R4Xf{WI9OgYgFA -vwx=J9m?i?hzE08YoF$zCPoS0j9z4}R+PD9o^Hf5QAT7wGU9`CY9FMfFVGU;Se65wSJz47fRBF@jGvK -iWPq%ijT4|#|6wrKniGL{6G%T+Xyl0#9v_K!!3Ci8 -Lo>hYiN04B-veW$XRB%%-_gbVS+x$Twz4&Z0OeSDstFE(o -{Jq`;Et(;sRRXJWW}y!HBs5iOsnA_*HCqufcBax>B`ap=Hq`gDJygD8;V5#$%Sb=%zxG*^*N8L_+RilL!7MTK{CZ?dX5Z?>_pIJLwA -<^BZJLj6`oNg+~=ypMaHUEH5j%68>*LY_sM-DEJ8QrE{c4&x6($|&_RFg__pT$KuMryDTE3{5)X{?Pu -Lpk{fLQ*#y>$Sty|MWvW!PLahxZbjE@$#pZjXg8N5RbBY&eU~wnS%4a99Z+o^#%HWR^lto%fhsT0M0; -(Jb38C^gZ@tRoC_49I@-xt(!K4s?_en>d#o1Bw+H%$G4%oyY7VgTYAR-1VvHKt -jr4P})BCSx{427%^jMh)U!pi)7eTjZ^i?(!mt+H67nQ1d#rhk8v2CN>6F7Ld1`wtq#b*{~$D5Xvc~lmU#~&1VSom`had`jQ+NJqt}arWH`f6O>108Cb_` -VIz#q48ReuxVWJqK$!*5i@6{6B|F3Djbc{B1 -EMKZ^U0<8Bpqr*d}&Pcw`A&*pG0&;Mp#b`keqLU899p=bSYkFAN<)r-e3=XGAo;W{2}< ->3`PAGG&|J4PSl?#Fq3w(|0x=Kec*{SNc+PkDH_H=~6_v;XWbsMjA0SN8h*k5}!#^6P!`6$|fubI|{6 -z5kuR|KE9_+wcE4OJt1W@|K$ioj$h01f9KZ1zx~Pe@~rc@bPU7uKimx-O``3x}3u85WoJ(6Hh98$$xD -pgDD)oc9ro}9KH_mk34bei2>xhCxj<%?LGh1k5g=JSM%S%Ma1KK`4B}AEA>pv2jX{CK;~X|}SjXX89PZ+92Zt|l_&kT(Io!(O77jOaxQWC2II -QKcio-Gvi#W{dmj8SXGda|An8INahcO(6a~Q;-KZitW_c`8f4t+ej%I8hozk$O#4tH_*5{KJ4+`?fkh -vgg^Ih@B~3WxC=hI1Iip`1g)VaIO_wsI(N*v#Q^4x2b^;INLvT^w%bu$IGe4vpRN&*m_L!xRopR5#9g`>lnaO0FDd?8KSR@!hi^%8~6tS91y|c#{--JPj(*}$ -pAPC7V&w2#{;y&6FopiwgUVbo>0I~0US1v`Nse}#PLRe-wcBK_lGzDR}N19Ac2WH{sl&u@Tl2ly^Lwf!Itz_u936Y9_ -b@V0ANTe1NT9>MCM1o%lT&=KMs2N*w+kOIIFegjW)IJ67kZKDX;0RGtkBSy1!MFJdz`#1qt0(=;rrZ5 -@V3=ntgc!bJ`2f#bWK)(RK65wCQuyShwqIj+cf849_St9f`;sAGF5B&xBTL44GL%D!Q0$el!$_2at;6 -oEwKAQphB}3bxp8fzwB(t`g0p6F);vn3?afBC=8J&YB5|RkdamX_T;5>Mm0nY}Q1J5bIjR2RzBLHp&_ -})a8Pb0wmNvypE0DqgrXoc|9WI|3ue1wmsfNTtLwg8M*LElBlDBK2%j(G6j4)87w&;jr&fG=rS{>@Vf -xmnBTJRjhzT2|*B0I$^npF#X2fD3diem20cG*}OSe>lQ4-WLGt(pXxAzfK390sr3sTJ+4nOpkV$U?{? -PK^sif>CArvz$ZBV7C@2XJN`NnBK)*vA0bt-vmUbe*hh_t~;(=!n-Z`K3<9z_{SOEP3{wo32Enw|J_|$EX7x-@n*qR0W7Ad1JFq`pS5Wv!GRu=B3*_h4w5 -TMBYNe=WKJeweXEx@nf*$#L!z$LlR7Qo8^-kt|-0lWy{T?STe6~K@4VJ!*xaeyNVcpCxEC;|Qh{|tbO -jf7mpv;glh@;U&FSjxvQz%xs6u7vsn9Bv|HBH%Fqi%qPaMu48BjJ9%sJ66Fw3~>;qt!DY?0miO@c?0} -M0?aIju?ILpp`4ZLu@>e`c(#LoBS4vz(ai&3wUyC)1KzDt!RU<8uM*Z*IIaPvR?T -iLvgaKtv|KN4WgHb#>z05hI~dg9y;Q2sQm*D*f8AK*zre%nsSYw&0R-v#h8zoI?P9`aFw&9AMxJj8;Ja!(Rm2K^%mSzR2qau;eAqO8{SbiKRtoeVOr31wh| -d814_SXgBZ;#78*&4VXV+&eQ`O`X;ms@MwS*c(MU6132vf<4G;RFAuQ#Gy~js5bu8jdIId%!0HeVaCr -l(LmA@lK_5Y!T7aI7guDfK5WqQ&Y_6UM@NXR70`SvDmd|m3*M7k2FcRQ_57-!K0663`m}9Y?0FQpgc= -98Ft4}~*1J9QO{Ots*1Hy+shkghD{Qw)kg#H2?VeLs+*8`4l>q*8}2-BL`*wF*@J_TJ1xE!GM6qAcK0 -gV41<}C0>*a^=UfRi5xiTi=eKLCv!NB9iKcL59*U=D%!p#Yz3fp;0;TLJd}kJjro{=Xo52coqS1gkw35FrDKF3pkEv1gbcW@Oh3SJjii`XE~00=5fC};t1n -8j!?&O+$(M3I6~a}i}ghK8TUtcmg5Lzpa(yH^M -6RIn5=WH(mE^0e@Vd>;j1CngC)rux&X#h66(l7b`IQ%JJJ_ysUdZGJ1kj+k-#V)%D2Cf?Ms2K0ZtY1Kxy7YC=yReZXlDs)>3Tx_^55vuqsg>s)5zSpb4g)gA+cC2tfR`y -;a@q~v}qH0`st_1?%lgdU0ogd^wUpCXJ;qjD!XzT862(X@+WsUmirUM!R5=3Q0Ecx?8S2bi_4dh(Kd=T7naGZs-;9kBQ-NKQ^#zyL<%VRnGcUHWZPs5k5Y?Yse#Nq+&UVcR0f$8(}FEaNUjNf -=9KmW)hb9q7JPIW}0|cm!f>Kyt}1K -J)OHBo=|XJ3ctFb;$FLG%h~ie_AzB?11F-n>Ez`@ROO19T$(3*U|V#MDfy`JslTmFvbV^wruVYX)vWf -W+AX(j8BcAA7{Zde_A&dOypJk$AZbl!F6kz-ODEf3k-I7+~JXx6E@NG^2m5R*L0J6dDg%qmJ=B~?(lf -Sqkw0yhzpjIMtpM5YjZHa-G9aW*NEbo_V$+u<>EU*))_ol4Duc<5_kTPD?CyhZ~iD4o -sdQ;lulRP*)VL_FcKRZOXB0>$)rh>h)Sg*I-QQvZsyFH>lT0ra<3{ -q}gAbC29(ssu-n^M?*|LRf+qRAN?@J&kzxLW|bS``At+&XB`(7gJeiq4Vts;5%-FL~MLx;!*AACTL9z -9Av`sgEa;=~E^<(FTQv)>&jAO0eeufP79@mmJS -NdI?8UkB-rLHbiJ>92wGDUkjaJevvW{|f1!f%JPJ{ZUAN9MXRU>A!{aEs*{!q;GRcA9oF`e^i97ma=z(l3PcWsv@_kbWzqe-+Zd1 -L+S!dMI<_7m)rtNZ;y6KN5174mlJ;4u63hwm}a2A&0Laht^<`{4z!)zs(d$+ftFVZxqS-mqqgXQPGh; -0@9Cy^phd|EJ&XV>6bzJDoFnjq<;$1?|}4sA^j0Z{{^JCyQG(M3WP!W2uL3V>92wGBO(0_kbWMdUkd3 -rK>DX3{T@hv!X(WzHX{uCpDx}AHjUE{rdqbA9l4 -12^goN~G;k1s?LzGZSo -g@FOu+Wf@>62)LSQ;TpiRn|-7^=eX(2#-CdDZkIumnh-HCdH@V_KRfEo%T~&_BFizrOzd{*iht0mIYj -5Aq+-B|;XG0mD-@>AJMEbWQr;E)gJn_z0T+lyr5PCS9FAb4KBRo~%sYnWp*QB -Y_fyz?{(?$%O%GqP`1eI#6yTUVma#ng)x=zDu>A3komzp>wHO@okdm|4(TItj(M|jrwxF8=dnJicfHN -+~Wr%eV%a)zs}9~YnC<1X)`gTT}&z{`n=sj1HJtgI=j8Oed(p4S1InuWRR)Xws=QZdSmA||l}A<^ra5Gfr^{| -2RfQU|$&^ZVtkaN}9$rnZZvdGB<~i-BBDv`sCNq=)eBglx$Rm$DLLPneQS$iXkCUxiw^CW*)mLAo^57 -e9yg_A!kL#W$kAS@K637bs_wOf%4scdlW+&OaT(j~I7T_ -i7q`{?g3^K4ucyy)=b42;WKR8p^i7v0_PqI-%2i#x~|@f|W#Y#>X;56MRH3-Yq~9lXC=UDCq~F#}fgM -tIrQj)e5rLHZO(p9bk~h4f1y{a+ycqmcd;NPh^@JKuAE$|--!DgRgH6vCa2Mh=w5H(_OP+%Z_Q|&(_X4tUd!{UO26xRlTdqC9C;lm+raM0km*tl2{Ib=jk+(6&BV2BVH5HKh -*YFJF1pKr_{?x9r1jEIxV{bL}_wS58u288z;5$7kD`}%l#`d_P14Dj$8Fk+ye+!sCKf(D0q%e;rg;cu -XiC+6Qb+${uLenWkId}3jIMGcE^kAzT2G7#KQer#mu@S(ABaj|GP4ay%88yg)P8x>327YRSy^BWaKon -(!Ikcp^-bLUTQs!^Fs9E^_}`v)`q5ZWBbrcsnvoM*4%CmliXa(O&?ssD}NKcg7N`r?-Vu)%`|BT?}|6 -M@(G`1rugLa(_*bKYnI9A*l7Y(S#;zw77D^Y#CK?VWpY)K!+p8yOdCs&1bDX0w0nsiLyz|b -clO|2-dH?4Kk+%m`Ksz$Go>MibE`|g## -5|SHlg26FxUxC?1X-c!#=h%6pNiobJ4Xy3klyU~^X`}dp2V88|-Z|Dg;g0@wsMG_B)#C#(1z=tA -Dwuv;{EYf(B$P+t6@{fyLxOlNxb>(+Aq})aSh7B90*Q-~rna1!rYA@l3!2rGNIr|D8cmeG^hWCdK9Ws -;0>^b`ly~qJrpqu@N$KJn-#O)P{-6PU^mq?3`M4E0_3|mF+RSfmt6^VF9B&qte+i -7`W=gsH|dVsuiKP2+devuBJ>HdR3dC+{P$o+~Tb)U$^D3{fO5JUSSw -N-V6fBTD32%Q;kbPHvg}?vPZo~qEVBp4$ZLaQ4G}%R5qa_}k;jjSJOYN#9eq}riMIOuVNjp3N%c1b^| -{gdpiZmBE$_bt8~T;cQyzHWfe5wd+0c)igyKN%k?T+#77MbD93B2>g}gZ;T71LW$Q$Wx4F<+D--Iwj@pG3xgTc|~#@HmasduSO`X9wmXHC$y>KI!d{SgrnW%92+9zXvJexSej1Ir8af#((j^sC*I -O|SP6|Hx=rG@^}o6~jEmz(`R0`Ltr_p>+J|SP+BNXE0cO#wOkOf$sZzBKLqn_dk5C>i>3gnNP~2U+uk --f7P`d;vsa-;;>l2fIp~6wxAz7xpHhfDSWZDDBF}xN7)nIC9}ns?HmUQ$Yx)cZtIu -Gt`ixC#u+CiO$58swGyIFjS!ELpc8208Pe&{k#_BOGW%;O9Qusn^S(2d`hPROmXHUw$OF<0JDu!Ms6o -X5jJ3IQ^t~h9uqCO7#XKR!0Rt$C5m1~y_{Tkm-Y1XV+gvKb@(2rf@h|GY2n8#w_HGHj&%XkleOU%G{C -#$8b%4{ji6hnbxSgaV<&l)7>&wN`YWAm-zOi`XhS$%e5jJr3KPe1m;%73d?t?I)IJJDC@hBj!oSg`%r -d-59WCcX;a#@H|}O4cfdm6@$%>8REcPz<5^{5Q2p(^J~Xl!5JKVp0bg->-v==@TcDhxL?0`-%((cZ|{ -4i7_goU+uk-f2Ah}x}l3BG(k7|0Ns`+*m!q*jQ<5A^8en%w(_oGSfdzLj8+V)3+OW#ybgw04u)x97|> -oO^j8dh<0P}sg9ZZwo7Bn`V>H`VzWie|@L|Le%*Bfri{I}T;vzfUJgH1ie*XDqDS9J8Hji&1>&Gev)r -Gee!&{C%W0UfRwUv28+RDtd7@3h8D^ru($z;Xwl42OA7)C1wMre%j=i>715A>@n82MMZ&IZd%FTEszK -)~Rs3J!~fb4zx=EnBi%$R@?GPB9pLRt(rAtIxS=ljaVIk=N5=aapJ@>452tG!}9abSLEpC*|Kd)2iZ72O4d30yxgVF3mgn{91MR|Im#K>P9`M -5uFOnvC13!wicGf80h -mWjy{KsO5-2shxZ*jc7zYIWXTc}dlAb_nlwp<4CdO(4j+R%9JTaufP2AOJjG4h04PM-S`G<6|oTUDER;becrWbm|VG}`G#+Jn -LgVXW0s@O(^MC3MF0Br>wlxM&Yvv(jT$v--nVbx)INRse5ZEQ@WJc#%43f`Cf&MqlUH7OMP7UDHJLGE -hM|Z29(uumFThV&9ON)yz@8$9_(Im$Iyp}Eyb1jmWygZy*J6y}!59O5#wN|qcm(oqn14k_M^Ad>kw?Z -NKPv0fHSce>a^=c^>agg0l97=isuRNVhaY~}#0cBAZ8P!!?a&I3tXx@sfDhRt&mpdZ7w7{zZS-0B;MV -6QA^QB$>iNWhbE+adEnBvnF>BT=QwL#fN0%ilD@)?z7-Qg{{i8d`>R0>8!JVt*;)M&v%I_-IA7;*+DcRZC=cZ4eF5||HyU?>|Pf1QrHv6u5r -I95tpcmkTHgJSup$35;M(**^=nC}+@DQ77BpANA{)vf<q`HB@QrjkS44E@L^6Ir -6(%xlm^&3V|cVMc#Dbm$=-shZ99OcQD)eU<@j<5&F74{h3+4_dkM7yo3{R>0C;-1pHdG -iR}!))~V-FM$L7}y``hN>S1LqbA=bm`K?$ku`d3k?12HG9ru=td8)KfF$Ciu@33qX*~!I>B|Z!Akp8y --s#mSXiv`-Me+`))G&!=Toby^s}xz{;~VYBwvIc<*jIJ!Cl2hAC%vs@@8ZJAH^Qqb8I~kJIbD7|CcXc -E`^1K#s|Lj)?4O0_FDI;L~YwM>LW)f?OXJ<37%lzqpJNI6TcDvVEFAW^Qh-IUihn9&FHyY+*aWVrkd-bkR-9`!DE+7S%5!|LVW9ZT?jm7F+YQ{X2NWYw*G -LM4)90#PWG6blf8!zw!RA=c#h4-)?&vrr!ajD#eA!2H}oUBmC1QU^6s`pyl?9k>@ -ygVb(N#58Y7e_ukfq?b&F|d@bj7f`F}iFgZmzC$BSu{D)RL<)BSswYcw){5kNW5qA8R_t8 -qU#ki;guyuJ2km%Q*dV=d?S8|PTZImS50G0stf#~K{3|K3ix=OzaC_tbLc?Vd_v -Me2PzKh$|KBwyq?9hJ~}U`2zq!Zh}cRG;5DF){IRjrZf!=5rf1x1AAl|A)sVr(FBXQjy`uL^|#b_SmQ -e(^I(rJ&~tB5!w5Lp`|h!!1}w}Z@;~T=5~Wsr%SPC8gpJyd;6{0rN66PI-v2nS7X}&8UynkhWm6zXuN -Tz-`BxD8MRRQe65{Y?x*KOc6~1rv(>DBx{~#OuQuGLYnHnE>Goa|TR(SV{;N9Asm(1`yZH_mre{jOkv -8$tVm~`CQuITWdcAe9)8odCOPDcZMm#hSJCQ%&AF=EBB5XCWEO83&@tD!8SOp5VVu -9X}v%j*mBW%p9i%`1~o6XHN$ErrnMO`@Z)60k=HTAEM6~t;f%*Ju9uWU%i^zs<Oi5nH@ -|mk$Nt5MECmiUg;lq50S@Mr$d0eApU$kWc~ZixS+nBZbg(vZ&XGaCjhZU`1!}^pUQfGW&+z0Wks(S;o87@)8#+P1)4e`%# -mJE(Q^$-MGr-+@g$C*->;;4RI=!X>r{71PiFzpVNRNr$#(1Z{G^%%SzBVq&&|u`T=vwbPbp6m?aA*%0 -{%@WTWBOh6il}K)8@KXEU7Y?3y$RFfa@HT+=Z|Kshg|a5=A-NRPfRvx(ximBbLYmRi{$&n=ir7G_JHF -aUy|t?(yyYf>UV0}^PTZT-hEl+%}rtty})ltruQ+Ayw`F0NWoRFCe#LPq01g#rcxYWyh -;sO`m}J^irq3zQCmu^qD3*eX=nQ4GbfXy6)3DzxeTb{kQoUdPvOg?z6aickI)RdPc=t-ZDKFdUe@KL# -ESfbd6uwKh~c-d2+%VZ@dvtZ-{stI&5BT?;C^;_5ypvdkp%wg)dywiSp#pC2Qr{e`4%Wqei7pm@pxQe -V96Rs0RaQ*PqInul8P($D!BcaZct_EMKnw*X!SA*N=~nKN=GgW9qK-rjwGAU2u1V?6O=Ah@FfBu8W$VeGDaGD8;3!Cg_UIg~fnkK21I_43^JT= -^ILb^lpgeR{9U!h^};K63!u?MzCVr9VAkgYtZpSY5ooZL@kIbCBUzSvF9f1{kL4tu40K -dpcN{_oS{p+^7YlTQk~pueVmxvXEnzFRr8_lVe|`l?I1pD*gQ=4*b=e^+d9gSE~2w#Lsji0#;KYPrZD -wRHL#=!d(H01vPWoChuJ1$G;o37s1^Zk+0=T93l$|CA|H67ur$;%&|ipP`{&zkbrNVMBTJ(MJt!w(e* -9LwpXovG#)d5|=Mup63bX3RM}#{$YQ{j~_pP>rs=(=VNo|Ej;tgGp5IkUhr84dtht4#LM(lh}#vz+-j -^{wti?0%UzSe9}O8Y#MlPzRkd|R_{Cm>8=G8QT)e27Yn%01M{SL<|K-tPW8h`WmdU(%^GvN6+eppH_7 -rb&ZL>b>SpSPGf!D_1=$`FMLIW~JkAwQt>eZ|5eS$Z;b{YPv)IhN_*gp8Ybm>y$@09MvBu}t@a4ggy{&mr!Mc3J#Kp=2NuQ4b;Ki|BrpZS%~=j)W4o4cW)puq6c`Y`ycI=$C@KK-=Kn>SNuy{y+bqVjh -hJtQ|qUJEq`>2@%9A5@IS*K>}UORcu&^I2q?7|zBsR;RFK&wd-snTSvKXjt>W2iL{N9(*usp=&lLa>s -%Rr-C`~>K}gLhA-$`g>6EQpw)iAqiFpCnLa2O8}@c`C-O(~S8@e%l}OE%W+`3tTFJ?w9r|D=f;My4@b7<$*Qb2CZ8mBCvGQiAa@#__>ftn+hLK#x-WC) -%rWsG_lVF}gO|ulXe?f|d8vu}NB1s^xdFS9{ZqeS>=r#a?jNwel(8(ct(-hkZ1$5J>Mu!V{qvUp$R4& -HIfa)`Jn@9tQ|vUnJha6t%f~%r?*E*Z@v!W8=S|LEY0uxVVS|a)?EN^{ZDKC?fjxE8!ee~7TmJdH<-f -friEH5}Ss#Byp1`%S%j)~bxX;H<^zdJFc*bw7{mK&=8MIFP(%S9LC&SI}to@7g$ -#C;4YqdPl3F+yHDbFX549`eOPEBtUF>FX`tMuOe6H^k>8>J-m9x^C>P~V}AdJjrzm5`p&c=&x0;VB8J -NqrO3?SJ)b6LDYT$cVQ8`s?uU=%GV~rJMi%S;eb04W6fGrYH6uHY922Nawk}G9+>EFkL0FPuC$y!;_K -|`z5BAz3G1Y!3;f>|D)L@ad={Kcrt(6L?onlN*z9EVB(O7@L@^qdh^d4+eGwDNKQ|TXdB(6f|IW;-lX -EyqnlhuYjl$`(E2>OiQUh(UE6hS7Z=y*(T95Ua31{g`K^1-{}boSy=%OiyxYA+-V*OwZ=^5EhisF;EY -4k%yFGV*Zb@!w?j3nyc@6TS@;c`A$m^e%kvB1KX5QkwHF?|f_UD!4mFDpSkDsEnxwUh%mQ2f^nV*}#I -DcvWn*2@q+w+U^_vatUFUdcfUz+dn-{G(A5A%on8~7vrQT|weM}Jp;5C3!i{{A$7hCjU)1T{K ->|g3%`aOX=0<{BSf$%_sKx7~)5F6+i=o;t|crMUCkQT@YWCbP$rUhmOas!J4O9N{ -Hn*!SdMS=Z+BY~2@*+6N)Q*cK??Sim^@PY;fkp)o&u>~Cq))ee7C@lypj4I41oK`rqFt>1V;nKoQg^D -G%hNp`j(!3eoEbm0`OmD7tv3IH0?$>_r5#6&=ug7+ehRW%#mu6MfTsGk -q0BG5;L@9RGjge*sWS0|XQR000O8B@~!Ww@z`2JU;*cA?W}B8vp_nn1 -jsW*-+>SGH`khqlNs)syCqt6mq?rL2?FkF*JzcAC%+Sv;@gx1XA-l;4Z$`Z_PK<wcvKu`ATx~g}BU^AH4>Gdq#4ay2Sa+lRq4ax_j;IJw?z>CXyT -}`q^q0v05uWediY3Q`sY;OL3Xz%NEzTx22-qcw-#a=!IJ2?o8+3YbiVGo&ui_hHc7EZV#n26cL$4zdw(+E?y4Kn-}3=N>1^hqy<@NB>-+mqc0l37 -~c!hrHW2~V2=&+=!_p3%R@STINfE)#GW62W!WF6t6qO>>g4Y5hp@6qu5V$ST>xyaw4r!kj>&#MkQF=S -3ka2DjN`6FjTt&xXOX;-+~zHfuGGF%b~AzKw=@k$}{eyiJ&Sz119NaPdrQ8$&ChAmCK>wT|+PcB^N~t)o1Z_T`lH -KG#Kw(SVaUJ;zaR%Jd3k(8Vz>4vRMJ(kw~hL)l`}Td!0T41s_OiMd6}^!GuK{=n2q*>M9^n9S$_0O=g -1mXrN)?3K)DO9AJ3D^YB@?>xe-Q8hJ@FSmUhS;CT}U&jSw)@lzoZ1V65`d67=C=;JU5!@(Mad$nt#4A -Zl1pv3s2`TYI{=6fG4@uPS|ap>e`QQi`tR3GV|kI3v|61ABF0jQ-@G8m15k8V5oxr7D#)_FrCZbPVgK -u|y9bUsJEsXh+8h1Me(w{0_q{NQBJ1!(_tuxNpNGxNhF++4=V@E_zgF#uwEuHYUoMU46P6ymrOv7bE1 -XJHtlDicxbZbRN#s#s_$dMbNp0Wf;>(Vh)L(kwxsclhH1+nq-P;QHn^pF>LxNaLa+6@&!wMhAozD{gP -t!P&5dFHU!_^wqgqtbZnthf(MgqeG(uV#W3MV_=Idqlr(TiNSiZ%NQIWDJ&N^S(7&_cyKkPmxy3kt$k -g!Rx=u0ioiu6(x -~Cs5p{x3j(OJCm+BAmMQ+Ea{VD_=c;HeF>wrNhjy=SGF=1oi -Gd@^?(Zp$9pI&B1Z(JY4VcUj$#i*FPx>Rfui1mY_e?Xk9^=6b{NRSxZj7r>OS3}Yz|J`Z-*uwt|&n6O -^5_%_ypn_pi+yN%M2*0!Sx1CH*+ -yzl!}YYMNj00Lij#5HGuAy_VobfGArKYSJ%s4vRlnLPdG;%-ADcnmhA5amoE-dKg$_T+6Ur0ydsmSqr -Zk|pLIdUL+pmtbG{xCT8A0KJMF%u}LG;4^dDARF^r8Ti+Y31VKb*XiPRe1>fE|2;&Y!GlZGs{>FLN*_ ->cupRX%FIZUTwYJdHv^CL;m{dXFH$868N;rnliM(q{V&u*zmd&bYyskYeHQEe-)3x7K~od+*FHV%EYr -^WYXE)kPEDvX9&kPC{Y_XlN(q~sK;$wW^GYT25Sw~L5HIpDu>J~{&R*Kw2OIx?zk(U#UnC?YyQGCM_<}>NO;nGjMr)&r%UH?7W2jIhf_yes?@~SKd -v**Q*-Rv9Qa{5e^xJgd?5H)!`#stO!T2PelIb9)_(3!66NbN|FO6$|<$kCqe`CWfLg?C^oyc&ug#aDIqpXP(Y&k}XGqwbT`V)@w&-jD%@GCwWA9Fgk -;?IVkw${{Smuh3RF6*<2E>_Jjc4J+PscZj%`YCv%f0BmBHaT?;Q4ePdjAyeX=Oc$Z5b8I$9+R_k}CdY -b3q&Nw9yx;C*@@K5qovNERIi=&Ir!i*fgUf`SC*JN}z@qW?mu17bx`&Y}oGjXIcY5{~$vp~gndNKIfr -KQf_5+F*c@Gy=tas1Nz5Zlog&ML?Z#L`#!Q!T!OOL;kL-3f;yF(40Hx*tf7c1XvP9y0S)8r2wOb8dQ^ -&(~}!1l6l&K9Z4|ptFfb9f++*6`7?@56;nXF?!;>IY`V3*)nvd=VjXF3y3qlU$fEF%+HtL#7|X;^1x9 -FF+kC~x#F_ARb!l|?VZ0W-?ObWtmOfEvK(Wxc$Vz_OO%nnrsG*T<6#T;eOr+ms+F)GL;_51Y7*aXp93 -p*3rg@#gYp5vkCC0PI3qf_bA@KCFN$@Fxq^PxsAz7;g7NY<+s{vVE;%5pm*#Oa1H6UU6tWAM$f}A3jp -^iPQ&Pd4Kb&tu^klsb1X29RoUB-bRWm`Xzw$cXouo9y~z&mO5F^T8ZJTmYb67Z+2jj}6t&pImh_es{L -j*SSlejbf$jlEX&Y;5%Ef+V_V=OsdezY*Eq)? -?KIsTvT_Yc2M-o5#7xc7GdBuQYkDJL1JYjf88ibsrdEUFTN=E^LaqCX*R0L0`bg@+Vjg#6jGi_4%$7v -%(_G-g?f+X5+tWX4_V%5hYo_y;I@ZCG87PJ_S0QyvHET#>fu79#)PG_CLRG9-x_g&zDvuDkLB(;C)-n7{}}W_@F~B5!h7KyjcVxf7~FL5=+o0b2%1iqidz -Lcz4z6ohFto3}%$vL`UoHLxDVe6d64{V-gHe)@bjWCqDd)o89QWoBKi&%BC?=1e( -7st&)|e)Z -;2pJ203zOJ`kIkmH3q2%K?Mq0aopDEQRSs(?L3Oe3gL$n^n(>3EBN0wx?SkI}u@YKGc%d$skS;XpRL! -646IRc%qir4$zV-={~1!{7=y0hRB|baIPgsmQL=$sB3LmtAtxL4@jc<|dsJN}ZYI0UY@~iOrU5j5p3CV7wonf -#u=+u1TR(>B%=EJ~XSi!VXRlxTlRX}wlv}iS%$LgIk%C6=mieJrD*$sY7Y~6*##~fNu8~akE87$V*1D -zxWy!Uy78%U>ovg9qz8$S17(+h*qGEIsKUY4gSVo(z>3ZY~DuC9M-EJJsdqyl<1;xJ6)EPzrnN&Z&=B -oMYy@6uwC31H0cP;cO_GzPnCRV}aNnjF6tw{Ozx80~44I9YM!w1pD^kum3jZ;ijNp?69Ki+?TN{#OcP -YQIMquf^bofMWDr0R>|H=$j)@Q8SR=R2r*^of90cPU(j6PN%?j%s|ntX=#d)DTBM1>)B!uH2@kOHYJt -y=9QIPlJ#|S4EqCEpEtXL+w|H)qg6+n;g?rMdhJnTBpZ*PHx~rB(cL~;Rcp70rdf+Jp35-zH*)M^8rn -`|ZG6=oLW{-MSz4xGNDwFDiL7Z}OM@w-o`J?2?4h2qQ&cwnN?-ttMPxSjzTS=3GkEA -g1zAQn@B#^ip=>NxN!eD@&$FJ&DQDL+Q4IDlJ&EPPrn!9!vdXve^pRXJ@&uRfCq!h{=%Qi!BbePwwMz -M^d7lohbo>P0UQzz2IZDL|I-sj?|5wsVkck5P5`6U-}tIrc6AX_B`|5}_CaJqyf5Z9?J07@wil0{?XL -nVd4P(Bf1?%a0FgA=f6!teP$g^=n#9;Hx1E2(qxDsagCwRCYDCB%hHXqv-%if+Ad^3*8w8lcLe>9Wmq -Jm4EIFA#8|kUTj8Pf00n#Ffi5PBoSCc`_!^39!ml^i_az$gtvGKDM`j|1zaFjv@ZAeuoSNuz$LI2wCw -i5KXlATIZ#EkLMY#ayir8qaO47@gHZQXO{z3n`{;nV%hGhuSOJ|mX#9b#$ohC&!I -;odkZTM+Tu@Xzf}JdCbXoA=44vQ^}FEX2`wTGR5Tl4F9- -Z=gx4J(3!_@OF4^sYqJL2XEAmb%RMC9j_%mh)Z=?ziY+5!BAywH8^I_-TenAyGsf=f3k3rvkvGbHv_Y>s;7}IV)f@((r%Pr0Z>B8S}bsaB&d0SY3y$oD -AgnrP)b@2GtJ0D;7O{02r^h3I;awNxL9U^g9vJr5qrc{LuH13Ck8H0T*GVxQKmHmQ|~MTVVQIIG`}aq -0BfT(6>^FI#NBq~iP&FiYqVlu>T?O0_zz$agVbzNDNX1 -4(V!SP@f(4YF6d-y=J5 -1s8+U_PuC`Zlrd}PxgIcY5yZ98$j7K#p=5{fK%Xp6%mqF|+IC4Bgi%urtpzEH0OO!capD3fabC_E)JS --||HeJfBl`3qTfBW&25Ihcq8R$lQ%SqPr?CJnL4{(6lqNZ*@p~n8FUBC+aZLtwb> -{PNaR97zjyq!^*~=fR5_EOg6?Ix8m?CJC`k3*jL$=}MgG#pjQ+uJG9y9Bg6x1Rf?|1oy1pH3 -DFjrwB8UM2afm{iQWLeou)GLHL?%K%qus`Nafn7|lKG0NPVz(8KoT;>R(b9W)*P>DtW1{=3T@Gfe1G5 -{G(7ZdhA=TEY^fqC9Oht;uhxNvfktvvuPFNUNsNVVr4<(PX@G;amx)lI2JC6U$P#m{PPe>ZMc14>rYI -8h5o~s+2{luGS)`mgtO-Ozllubu$1R*#u#*66yY)1`4)vSaU?=BmLrvRSSIjE0JLk{2PtM@4|*;VTCvi>8U?Hg*<)mI#Q*mSYyOrBm&bSon200(FK^h0h --x@cXq1JKKpDK>{Ne-4-rA}mo}5VMv92iv9&yN3JTj;<_$6IHhTr{pX7Qq&Dzn6OaXZf8#a*LVz!K$n -y<|@3RQB}uR>vydrxmIXFtGbc8g7U>-U;@3R&Ht^jUhBk03o{3L{0 -LQb>JjJLiF->kYf+rc<=50-go=oByZoGzBO9V>Pa5f#&4*|GbGb*7`%94;xiy9n?e((K$leux5Z{MRF -7i!Y~jah#kAK;vs!c+R+16}9_xiHs2-*j(`cGqF0P~S1d$?JQ+b_n`zc7kbr$whwXn{ey$EOw|>Do;)yyGjYYpn2tvS -6*YHqEZ^K}Z50>A&39DU~!&5g9>B*xr`ppf*$gYabUf2>ZEi)?6=nSnDzTtxEaeWO%NIj;7Mn -uZa?Y>le_a&?ZpGOYSUG8w>3|2DBNtDTt0j8ERDtt^FM)LB}~?LIKA@>=ki34sdZwm$A0M$TXjWdrQ?bZAOmY -OLTfp$m>10_xy5kBTj*Oa+%}Q3BK`z=&u?k+A1T+SERFfd&CW=uP>C12`k=#)F}HIh7iQ7|*LTFPQVn -EgICNoGs!|o2mdl5s?EN$TF>f1E+~5!_djtl_2T-2(|+~(kKlNM8LOrHP&j0>@LRA#TAl-)A}Zfj)&R -+)X;G~XI&!8YU*h~W?9r=$PLOk9Jo+qBm_VkinMlkaAZgG4I!7!#evY)VlxMh3`?K;W6gP2a-V{?_9- -lG)utqmkPLm2r;0d8$#UL^EIg&TT>~%FVIwR4ie8H7t&xCjzNB_ABnAIvDfpEY>7o#)unAi(b_5`{)6 -f~}%^PtibvCa>{|EhPr#0x|=Nd%=5vI6Hiq01t<|WB9)Ctma@@~mT!+59>$iP1P*agjCX`3)K9c4jW7&>xkbgYDw;qwZ!igwFFzqN`i=8SDd9cNzj~3@Tjv25#lE> -srC=gPW~r3aS|;&h{ixK>fRVJ`dqQ;2TUJj!1?sMaA)ATwaB&TCaZl -lh-8_Ool(IQ-U7(bB(*!CJBXi*f>(X}eg9PYuA=eM4#{O!r -;1!YfT;9UqbR9e_}05O_J=s{|ClFh?t`?_*-61t9!6Xq1d~ly*KaP93Ox4=Ijk31n^|ycRq -YfCn52${SY6N440d4n#GL69qAxIhaGP<}+%-?p<0pQTQhceFYO3 -H%>#}3WaHFkb45!(&S|BVA6>pU)72l!VQLXPYe)*%pt016iD_?YgySX!lijcuAAUad`;#m3CZL*`=fiw>e<%q82nd#QI*R0dp(92f*M@4k)BAhKr8uPL1c -{fNLS`x&P{<00lD=SD*$rjFiG;lEP106kby2$v=Bl#Cq2d8XfQwjWR=|K#njB>TfGfa)Q(mOJ# -AtFTEv_qIfSVZ>!AMV$m2fjQ1U;q-{P9OnPJaARilk|ck@&zwA}xcGFX7hKRw%^_z(${wOjw6poYTt5&;oT?$dFD<8+*otVdUM^?wlp2(mPd2CZMmwfV#qE>4dqSf`YS8sP}U -3DR>D*Uj`Cqc^aGdpeR;8(oSKM(-V^~iM+(yp1i~j=cUkFX^ia6FgNJ>6JYho$ZUyXPAKe{ulb&Xq4o -5t;a4P}xt8Vz650?yN2dsVkxJE9P6lA0mW&JVZO7_}m_8I&wUcFsI?i0H(~(vCf*@`siM*z;i7UU71x -9no(_{Jy!7p~I*RL74dbA|}f!HMxr{^2IN)0^|jmo0!=JYV~G2`saK?v}%X;{%Pl31&*F^cB+=s&M-G ---N0@YC&I2-j@xoF270czkm7-}`%K$>E##`^lTbZxWI2%ybuo(Ky}ud1vdtl8cwoINrLzpUH)K_yX+q -Eq9a6|LK6mbd?nw^aq2Dpbod@kJ0(`JpS^0`ek>o6Y)$U59~zp3nfoLR|q*zeX9FDXHby -GeECc(RO9TnMw+}-9S91dvI^93d*Rs!loATP8zu -pzk3-dzVnK6l$d-jWAkyZ&hJ*Y%-kou@L?q0v{K}v+DTo*sp_&Z72slonD>R^-g{qkukF!j^9B0iWoo -7ysIy}D&hk@A_w?FtPsXvtR&OdLu?vxiD$Z^TZ6vfcV{&lLnsWub6dnS+Q%{s{1S5LtR4Au8f2Rbs=% -mp2pvNpoHH{p|NGz3zSg@ssTrUIH*{Tu%0W0jzYo+^b<1Ztj8i0B -eSr5D;~&nO0ahIRDIDml8XY?Xc9Dr0qq#Ld-vk)kkhhP)EQ2XIWeo;2AUye^n9Z7};-Uhcm*3*EEWVE -6#W7pC%@#U6*cmTM?cyoGSuo#)7S&<@lu~*G;Z;=y(W`i8z`fq(A=o9|%E5t7H&Xs(Q+c5*<0hpAgUo -w9j(!JCcu*8uA{jO|zb%`V_Ys|k&ztj*V&E9G-_<9z8R_PeUKW`IXNa!=c6gz?S20T;-XF2Z8rphH@4 -z&oEJW5)*d4Y~rNz_kHwebD*zQwsM4|4tRtU9_7a?aU5ioRBN<5Mqz2OUYJL}g`*OFSB>mGFQlzzg7l8!n#6hUGRMwZi=nP3w -7nIj2TmKWWuYKZMr@Sc;@oLU}T$<4@1~Mb1+#`67nJ!*LQG!=;(ms@6Xw)i;1j|K>y0F<;MC}=d@us{ -DHJH)WzS28@F&zuMbGHNuRcCCYnF%a6b -PQL~z4bs>V9EqcJ1Uq<*P)H-^_6f8^Zgbi4cA0jUemlSE5Vv!C_)-!8#Nta|^rp7vcU -@%XYy@}f}lItjmj%$Y2A3>t56Zqc(e|5{AWLZwDgXDVN2qM8a4};8W!~@@;mvx9{)o -fe6#BDNJ=#0Ji6k^L$(AU=3KOx|KzG8BH4PyuSeWyxE5TM4_12Kqkb&Bx?(>?rDAL)FQ4Zt`?4ZaHak -Y%<0)PiTkWLLY|I@W*zcMU-$NcOK&}IR&=C;@;iG($oBO|#zpL*$H9z<=yWA6lFvZ-Kxe#=6clpTs+a -i<(^9W*#h|2vQ2r1ED|O~R3Sz?HS%Q`#wCGao@ -aQLC^mhM{%b5YJ?{>zIbv~Ef&rF!5AtLzE{k&#MU4W|2&CnZlbmrga9LfMUUw6Dx-s78Q-BkJ`=5>At -1Ptvoz7zpLqu?G`(UW1)1FEXUm#`lR{j1tp7&`;78IDPw)`qS>WA>HFhkd?QF;#?@)dx^ZYGJu~#mNG -N>!bkdd}*jC7Fg9DkWz-eo13b%Us{Uo85!WGh-)YJEA5y(RTAuDYX{eR9MX;DhHA8JV;=gw@`ZBZM+? -%l+QW}=zL>eY7m^tjZ$s)vv`-6IBmYWu64t9qrI|MTf%C?l~^6zQ38$z2B-1XTUBQm@7o-v1S@qS6X4KYzLGpX -pM;N;wftJ5t`Q+aDv+hxVsFqVVV1Z8bb*qXba|w(=_*cH~8BPCkw)PPLGgVVV2U@*1;()`x+*BPA8Io%21wF)SRPn2kK&(?%aH&$VLUgw&nz_oSruy<;>_ -BTIa-vs#j!Jtx;F;tPlb{Y}>=BC!7xb|B6|qwD?yIv6H+YJghV<&;+PaJ0&m!qh&F$Qnq?Yj(VpCO{a -Y?z4;z84ENylL5kURX=DyT{|IpR$#CZVFB8Vnm6ozbI>aUORd7!7f2)*t2RVSb#ac5f41ze0DYz8JL}>h;>O>X77Ow;nxqhYN6!WuBX1nEM038w}W=Kx1pQ&`E5SWrg<7y_4PLX+CEF`pVIRA>pxRC9DphwB`~}ir<%<{Wd*AsQ9-BOEH0< -nLqZ3GXsb@YuCi${ce63=is~L+h?ZVQK+H$_ELIP%>vVo&t`yzNjt~O%$Wrl$4mjh*p^iDFU%-}`-^q -PF&D8x=GxSb@>4!1Gw0R3f&B={V##jgaGX^E>TRUaH*DGzm3|@|cSC-fT(n^NZbk(k(d%y)bZl9_p!< ->5l)OV^Z9_>YHGr~_am<%vuSNG~xF>;E?!d{K5D=VBRl9YZq0XB-NaFg -!?=!QpOq1Szbow!=d`AV0q5KllR*s2aarC-`EYKN_R=jX{J$@Aqv%&yBS(`bQhSM>VcZ-ftu<;bh@|q -`}@u_L+`l7od;LJk64rg!}*L12Gcw5fuP -G(LAkoe%7U|X7C4e4!gD6bKAMzBZ^jwJng#8AS+b0OsTKkp`?GzHBf_Q_;aM$OR~cWA)>b{r?E$fJL! -h?Gt%yQIIWyaE!}z&PIF#I{u=xe+TN(i#8QWUk3n>w_On1@X*UO(@%kT6rKFm*{DC5605qem>vqyP1)gr^_(c8;_(Pg|YX>Iirfg-Ji*It_N<(!n9pGAA>+B=~8Mw1hdM_B78A -_EvOOtEvnM)nrk-#V=Eri6#`Tc+lN9JHEzBTLu4Is;lXjkv(aF(#t#VLhlbXOOr1Fwv*FG|-*LEUM9S#g_#BavgrIn9+=RwxFb-kq3pJ-9Mvr=Ra%t&M9`2?uWxj4leusbF9vzsPhBkuYy@Z8dSZ9Mww248+@*0tH`4oX1-@lNm}=mvXB&7MK99VqJR&wCnt -{^>M${v4IvyJcPuqzda!$rLZG!Z;LWQu)&)QY0Va%-rE**S_i7&C!uUwU0Jmez{Bkb>!J3+ICIp$A34 -?%3E8z^xrbtb~!yzGBj;{MbaUB{&x5I``zcKumI4TYq~&6b#dU?Ia%f(+CO`Rl -mTOtp@aeFpRC -X>Y5+l82SG>#&+A?27Vt@fo&tLG?8S>`!3@)t$s<~60iweQ(DdD+#`mpovlf;*9e*E=v% -I0B@)Td6p>kc{f}tJ$LYE?izlBdnPae0khf9p2^IV(?&L=mCdI;Dmmeg*rp?4~I4Q@Mu?Pu1+j2N#RW -zkm-gu$mnt6f#E6GN?*X|kssHAVJz<05z5zjoQ26(i+(S4jsg*DOjjv&+J38>EDXZud -|BEh}kVMtRL*d&_dq%`lIp39ZB -$Jqsru78K%wE>K+pQGAOFPVS(tAYQNZ`MFhGG6%ULJe~;WoSh<1YTQ1h4)6J|#puqhiD5Uq35WOHKI(?WRh{lcT(hKTuZJZ_ -GMN%iUXjc#W-i67S9y1@`Ga~GnvC655#x01*%2s%x#&Qp3S5%X%_&mpb-aIUX;o~nLfJIh -hgK(AL06XSLK;JlGKq#S`BXFI$~>g*%!OE*Qlw|{a5O2q&BaB#B!jZ> -rlMjbDl!=uCf6O5oSR|qn8Y!Z3!bmgh29aj{E)nFDJtao$_qsEo`IZBR24=V`BnB;#3GCh)TZyC~#$tUzWBMtkw^h^1b#f} -QoGbw#0uJqEc)dAhP&CF9$%V~B3tp$?{joFBILjgjiu -Q>%Z(o!Zfu^jGM86_Cq}9jPa#tw(0`htwzN7Ym|j9Iu>D6Z@uORF_@Qhgm~e#8fOnaK)1X`TyTl%#cG -MV<`xrb{i_mnm(LqI{8V>{RmR1SwkPkU;a!dKxF*SNRX%_^II_Si!rwoA;l2e{V-f@l5{Gpl&DKt*y(uc(7E$t7DkAVrn+isS-ty+GaAt~yyW@h!4^A3N%0%54bEY=Z#p1^+iS@k|K|gV3t(%1m%+y3!aDF -&>M*`DINu^OO)NBR+OpO5e_U!#T8EL}#pTu#FhsU1-jH2aZJs>zb -VIuQ?L6N~wzyZ+-;){|lb7H6p(~KfSk!wzg5t_ItEcx6SWh2$85gQadz(YXwZ9_-m%NrPI%9=rTIo6V -9_!i2t%SB#HiG?$ig(QtJ9f^P?F~MP`7W0-kU29NVWRHMWa-lV?d#zn-#YM_2pM%WIa@rUf?Fc22#4a -G4Kh>$8!oW=y^$MO2yQONk<7MF{|NHxQTPMeRA|Di+w&X8BC6>aYf{`0Bwfp*loFZDGQ4qZz2LB=Y)) -CEcFD%zaaCVI_00a3|gvs`-@90ZIrlyS!8p)ktmZiY%$Zhm$hi|CXuT;V3u3L%VxaZ`>u^*6yb4~g&9 -TVzb#2x|!pdpI>8iAtn8CiT}x?HTT{V~G)lZms8K!21-Opvo05W~08!>p+16C{gz)_-B2U{$5dZl01WavNotP{ -B+Kqd7tnelwNU|P*=YcQP2bVloIFy51xPh&vk625oCNYjB`_ -|a$_-8S_8sT*qzbm|g`3*n3=-!iDguNd>jqtP9wBmxkYgJE4r9MV=Q=d)U(|)17sB`ba<)1n5jZ4x=H -^p2`rLJ3>d_fIfYsE7@Yj{gxQq4rj?Yu}IIlkIv$W3$#sH?AZaV(MO4{rmL3?rBEwoKaf!|3G*x@b~d -pUYj3C@Zr53cBSv%uh|wo*yaLo{hhDQXmf+;$)3kA*%VSsOc=<(uAgwfohRo8k#c8AQX+RgoRK%i?GH -&jx;p5hSk=+)9=mTj##;P)RlHBOE$&V^Zjj;=1$~;Mbji~H>3$5gZJa$ZFP?h5%QME{I=69Em%bs#po -IqOf!43zjt)<4ew&cDlIrP!#e*}$)_V6w#U(3bq;|X&@W-|#YJl7P|8s%Gd$YJZr)Ifm6K-+KJ9LQ1B -1K-?3J}d*QY_3zpXG|sfeG~An>sTSq11o{#lW3_X;ab1FED7IoQb;jGoqlyy~ilN?o?%)9=yu=p=eVo -t2g%)nqu$ihPE7+`?UQB4A*`Q1*oq?zMPhdMy(NcWHBJobkNbU8mxPbX^J_uaMxLY2e_2a!>(Jy*WOB -g)Dv$CMMd|9UvSY9s$g7C!w8};UL(Q48>FCH$7xL!}IuVA}eo@E|h-Irpya@=b0^J8_a1w(~dDHBA;- -sb3yKY8SW9^=+a@pH-MNTIa;dr&?4H -nXRlE}dvd_3l9$r}Izo=4|d%n37KOzkpQk}hVg71y1u=DlVq@?XWyP!}9)XP}UG{0nAoI_LMk}4T;)7 -?|$Twtg{wvGjHT+piHKn!r4Q*sN;b=!9a$a~8*_LOe9#xL3&_*+d`AXm--lvjOfjA#6@czAD*IUQM%W -6nR;9dj;S-Ak8Jb#KLjt}|G5;LVmH2M>UHhwI5hMF7Pp(Q43hF#_Qv4~b)G%NV3H9JP;zv7!f3f)xZx -$$gbyFGN;RI}lWixmJd@&h!WJTsEahO!$mk%PK!zfn%4C?Scbu^>LV&6J8GCi+s_4SZG2`aC&q7{xKr -L0&fq{k>IV(L8n7;b$?!T`iFCCgG8L%Pa}=VCITwpPFIB(=vel$=tNYxZaR%$s$mcnbSW{Vi|~bAbs_ -nvOjmxW&t!(5>) -5_dU&J6Sv-0HQ3AYEmXY(r>crI=co0HMRBK1VJiOKMbJ1n5yV?=vn0gpXa-JaYl4LFoHr^_qBOw&>e3 -3r4JYJ3rz39#r$r>&2Oik!A&+);+w6USPw8;!`6rx7J)bURez!0qB-47#!8huAFPoeN{h;c2wHeDq -aG-vs4Xfa29S4!DHDXxC$oL!M>R(4C1#-dxC9Jg!!*|TTzPG2R@Rl;hhzPr7Rly9p^RmA!xvvaLRdf7 -xabo|Jyy?u8mSm}DnBo#U>sT%a2G|Zv0$wqRy#U0rzO9^nV8M^8vlym?sF2xn8ORgxOSA6VvQI;aBy{ -MLPpwJ|pw+opFD6cX3$6UB(dM_=Y8*(nec;PI#Lv@hXSs9ULqAYYzd^2CGL%<^iMo&(vwD4gdRWcDE) -tk*c#Vc;m&X(5*sy>IJd(sp^0%SQE(lS&b?XZv#rGO2h{Hk+PQGylHdAf7VsOI4rB039Fkp|eb(1D($ -=UUedQm6tQ>2ykVjMtN`s!?_l84*Z~$m?SEc$eKnKrH7(2mAbRdUx=`TRBE+tdBCqE_bfS=i5<|51GS -a^%Nbzso&VPiVIDvb5$&w8;yjv0gum!T^A)L-I}GP%>6r=O}$nMCjII7GCn4`L4~17+D_759vttl@JB -PAP9@K()xN?N_Xha_@76q{Zke0X+16!O0(4%wHt}2>R4OUfE&rMCQq}Kb1Br1cU -!r(ohoZR7Ox#-<6lrk0e;jJZpE`wvylVD-gRmBx8w@WT$DganjtZ+nYVD>l3@(yDRJJQY0j^p-7gbWGi*^+jn -LFkN`=^b|1Gr>!vn|$6zoR%nJkVv)+>)^OGQq7bCVR=Djblq_f}IXK#~qlZA_`g4u5!HtY|EJ^1yUU0 -iW?wkfWXn4Kr{;@ZnN`zl$*fmeh{>_X3T&e=Eb-kzMEpSZnHi-(P(9{u~RTU1x7^u -k&u1MtsTRf_k%L&OA1c_)R#AI9u~9hf+X}<^B~kV`-MG!+;7_X_{mOn{!5(@A_~t-#VNGgmVzU1a5LT4MtS_{wTlPit%FmXd1 -@0M450C?HEYJ=0wby+)0i5f;BL{FVw~TpbAZLRTSyy>C+(bb2lZu<0jeSX~yR~>HUT|@F1z@ca>Y`v4{^Cf7%6 -eP)}gb?P_Gy^h_IB3AxES0)F -C}Kzzq3D+!mNTG^Q=FMsBpJf{xtxRb(i*YITh0QHt-H+cvUJ4OuxtEEi&?K)+q^Q`ygY7g1QNqXyc!_ -yYHmV5-rn43b)RPYY_`G0^;S{QWttgt{EEFgb}Mk79){zi_U4bu!GBRpSSW=o7lk;#@5-Y=0TIu)-jnBrh{DCrphXtq}&*J%KdP@0SZVcOe -t2?^eW@9 -@4rBbspwwP4UN%!n{C3cA_Jnfr$(T5Fi{ExjBjb(k>2W|AD_;u+XQ_6l^8OXo)x^DXb)lq8$*`3cEZG -@@o(=w&gytoMt20FiDBH0My1^+NFK4rFlEqFJXX7i=coY1G)u-thE(Hd#=Pj)b+ -WS|^pRT+u0f*;u-X+hvowEN35b>6(!-(Pmsy8e>0bt(3Lo!NLA_-dQt`T|{6^L^oMuFTTBH8F)(!cvx -OJ991;avB=s_>oP}`WusUk*;tu}+ohU?qNK;ul?oZ&Ku6)o0tozeyh+4csHK{&9-Uhm_Z-v3?( -6GTUQb6x|G&&VGpI;1?E;^bg8Y$cVOw*L}J8dPwliWW_zkXzQ>^=*Muvi@sU)JX0&338Dos}zx0y5dn -{6R(z)-2gJwUOS}N)+m@nOAt10o~l%w -<~RePQ$U?%_wDlv^ZRfouyT?JMk{!#IX!lTjWLP#P9RK?FnFD8<8*H!7DKN<{0d6f8IR#!EL6NM~+2i -=I`zDq)1V|OvOq^gOrsDj^sXqWKD=fR|0Y=Plc$O8X%(4r3iRKW2?gH99O23$~~6}G5?-z8*x)&L7iH -JoQfz;=YCp{jX_$ZlAS97laMZmWBYU_*ivx&nfd{{Rfdv(Q(1CP%aW6~hxEKUrj63NBEWdFvz$YH+00 -4t6ET?IjDq^Y)8q(`B<&0VDVzmSIEDt`Lrt95!#j$*?Cl5a5l~{G^aV8igC?LAZeVw3sC{ZJ^XZt{lA -9%%gUPM)m7=>Cx;$Bvy`tS*?~vYfiJ7U_EnT_#$k!j9pF6~P3)p&Fb`t@CQE4dd-H;4_0R ->eDAoe^)R(gf*_?^kQJb>g@oxOe~8XCk>5I$O6ry5p4Abinr*D+90syMj@dL(X%T^;v$QJG40*%?TdMb}G^M(lK$ol|6)(xjF3DUnjJt$U7 -om3rBY@tT#^w3qRD^+aEmj748%LA&4~82FZr2;oQ5fW_LK4y~{5na3YHkB}sI5Q7yg+MVkQvrw4=UaM -p5E5&>u=t`s5|tA=KHKx@7Lblqw@XYyZ`)d1S|||Pi|(jKk$>$%^X)$vT5+8rW4 -W)uxE}nn!GjfsZS1jUq+W*=3z3u^19M-KPvm9XeJI`3dhL@4<_@+{#LQbYEx@4t -PFYOZjrgX8H7d28h?<{TpeH97nb_kU2uz#q3?K4@#V&;FiV11-QS1k;BBdnq58>>k7h0Ru9{i1Y#YUF -Ztxfp7a0I8pAA`^@b-Wh5d9=VVS7A_lFsfmT&mV7JXxt}m`rzVdxQrR=)RaKay9+e*q!1-*WSF(p>C; -l-W3KY4%h&Gh2U*XQH_7WSAVp*6!_KK{z+H|%I@;{3W}ATg{LZ|p*PqckafY>IT%f*IsCmWD48aw=BT -zUi`!9D!n9MP}cKd2ZzErqnq%$Sj)%I%N=1O2->8pm9_R>28|nS8hGVZqO>-7^3iI9Fs)~BySOE>J&@ -<-Fl2w6M=uwnHC+~Sdyfbr)%lQRa%Rvuxf{0s%Bx-ywt&(;9luf3!~~-ui`&hjq@s1=Vh}H1WUHD>W5 -0IMXUh-qIr&9@FVQGDQP1!K6yu6M_A)fW~zJgv!=?*u?{R1->-m?=2jX?22^@lIHhSrfSCf`{T2`m%+ -6Zt2B(y9%G|9reK*&^1}KgZVW}&`Jdg*#z6LVXI+p^t3b7)D*aCtHUUYX5M}%k8*cv77A`l+1RFG=)2 -f$@l;qxnLcL0)V;DC%VI_!+N<_+=K!W)wbZs@7fez!{jsL!K<(bPtj>EF&uNl9zA -$PcI^0vuS(4JF&*@L2vSz<$z0wzuJBY%ya6n;{yBCh_GRE8sLblSmxDUce -deBGEUFKGJj{LvTd|21!0AnPB2{4p^a*w&b!pq~6X(+TOrX_U>z-2aHZw2*0aIlb*pNHLFh-hv*)i7ES6(Po_vsIji?L~9%)=RHE=W<3cy$D` -PxER>V^OQ%J!vq!WKrli|)wl3O4+2`Jj+q7Zt~o*r_UI4=UKWIMQ`W|_XT0#_DqHw`uVuzc~6n4zP4(7ZsXIkU#lRd{CUtUgj@OlYt6<>RlQsG~DSsS!Zqk}1v+hz*~5VSP%e9pos;t -O;Yw?O+n*~#54U?{wN*cd-X)3ODpeETs?4}@5G_(#CUs)A7^cYqrm$iu!{`%6%8DzxAEcvDrD>?6UX?^i)#8K;^eZkH -Y662jTf(}~*v(fn8{2nfv2jo%iduStpoae}6`VR%hZu;0IxQ0lrYjR7Fk`FWnDCdZ3Wm3qWM2^#&I>W -s{kxJiF~(Y3X>{!CyPtF0Z&4N%|(T@kg%+Auqs+qvDtB7kFPdcjxj8&D`inrDe>xLTN*=PzZ^ -CWm7qeMu=NddN$&_IQ>|xhO5-JFs@l$ISNN&yv)!-|1C9?zlL@AQYz1ymLUtM*PFj}Yj-fQ$r9@9W7^ -w~zDxy;DQ1L!FzaWjgJogqNxFrFXwawksBJ;P<(A-#}*fFvZ>IheRl4jn*g|LN?WIYQ(P%vKHn4lrCD -F!09!Gq<({s*$Xj!BrK>;rM6HqfrjvzjwuiqNKX(}n1HDLAWkT55X&69DmwE3pXIymGx|d{0pC-JETb -m5N-NO~e^dh>^+akkAfY?zTkL5ts~PvMBt3g2}!Fuv|57l5!8IUDu#6<>^AYztXHUr~c1o!c>>MZBky1ck5N6(qR%H(+!FbVn;P=B -^Ld*`yR37E%%)iQ-H1gN+|@|WS=6_N97^A=u){r-zCI~soR9N}XcgILiX8y*gZ%zk$0zBqg=kIGtt(x -}c*;)Br;FO+9QIu2*%t%?MCg0_%Mq}Ha#4v(H6G5d>w+dnG7U*iI;aaza#L9snReo|;{a7fI7lFQ5m>#!ro=+Xfg7Kv -#kRC8J?SNv>4lld2UEs@)U=e&L5m2aqbU$)EWHmLM5DZ8LFvX>xTxfwZCk=5$3sA}kfDH#WjZ9JccZ> -xtIHqTs`V1*ioOIX^AO1B+YX`!0!{VW(MmeO5*(DcjglTX2Xy3h$B1~OAPibcvM8UK2K;`wYprxCi;I -=zt~9gliu&csp@vJ4!;$mx)`{3bn8ATs3bQV*VKW5*?CXBT0bu`<7TSXrpX~umeCXqY*lE(e!Gb2cDTdN9XccKCdNkp*~n;T_&&gT6Zu4W7Rck%s}+KY!6O -upAEaJ;mee?6o$y+Z_EZ@L@b+Lm1R^54-d*8+2im7jFNPOeU!f;(nUE7E^RC-Pdwjtzg%Egt;EbvmLv??bnYk184iZnfG+|)EB!VPRheUc7nH+_JA1P9xfz3_4 -izMUVfwjB-~tO*z8lXira$f@aP${pS#aK--Rt=D%MCc-s0upRc#|7CtJi?r>CbDE4+ocnuJ>!UfO8jz -P72uE&RT8Gh_gr!LYQ(VLp)rhw3Sn32Q`mkuXy&;8C~?+vm^|3DC~Y{o^sA^*~FatPtBjz$BzSy4?hZ -lTh~o<{KuAkdzr$_1)uM_GtIqQh#ky{X52d*g(KQVl1bWa(4_u!dgsCD2j4OA(Vo)QK-|cXisz5GY7z -nN>*l(PfV=PBOb`{d|#yUsmv`bm7N%fh9hs_W`n-mw!q4=4EqfFTEiFa;bCv^d^j9d4Y5qL#PWLMOts -$HxXF;&ZSS_%U`6cJD(z^_n4SPqg@QihzO2yq8r9G_XhR2@o2bJ+#&k`#K`1jD>T-j98a(TRlsnof<-`uZ1x#-NjeBfxNmLhYA!cj-6nP!OMgrdjxYRMo?za$qh -)~K5L@}qKKhRtB{3=7S*#Ia75Y{2T7Icx+^V=!%X*ghZ-~D{I+y@E(%v%Zfwr2<=9|Y_0Rc&MW(bJ0$ -DClywm)`8Di<4nyZmXr2eNf`QW+OE?*-$h)&3R={-Pcmj@;0X$jQ4#yhY}yxDLoJ{m3*F)*JB4E`XjS -d!L_doInb|DrW~HVd4JIee&T(S$-ym5@fPGDh(QZYO!uAB(NYyDu2JTRVT2tst9+SJWy#er%6j-lQm? -0qz^d0<;8utCFV#D|kRK)9-17Ao6;6m~_Qv%VEXOYaQJRq5nxb0I^rwi8P7)cfE4`vxo;(Iu>ZG8nl4 -+OKE=proSnG{&FqSZ%IsUYm}a&TuIcXE!?0+!b|Lttb|IMPc~f6^EN#&8MqB&Vd$SV5)_eW -4jC&upajQY)`{mdgD%=63)|fuEmz3ks<1vMQM-m#+S2JDot=_fXyUdoRkXr -10FEAgk@TjY`*0w|D%kv>1e*uFegV)Kc>==TTiZRVM}NkhQMdF$Osm@-y#(<(l)jFxh(B=X1)0D$%LC -D}}23lpe-A+RpFrXP^ByeWSyw?v>-$C&V!(iN9O~)9Le*hxApC`6^i85kd{nY(oKs9_o3zd?HUqDVIO -Tj(NCTMf4?*+9kurmp;mg3M!2&^Fe6e^7@}R3rZ`MO|x#M0qN=%n(i0bY7P;^!K`yT( -5$?fsU6Qh9%6bU2x)XvS4ShePNt-wFwUCQzQpkGrTN54!gzZ%Rf&HBw}BwhE&F@u_%B4stl@B1os(Qu -hq&o>+#0w_E1mbhS}RbyWKV=C4ruwXO17uHEP#br{gsARZm#yc^iwPkq+rR{tL6Ieo43&aYy^w7T+s6 -@J7+9OUrqxOQ<^`*IZC6f}xuZ(3SiNLhIK= ->gk;2Y$SFMoy}hc|4N5X@$*70^Uy!O^L;Kqg{Aq(ctC;2fgXPOg3Uu71$k>{eS0+MX9cU}azh`bVD{t -OksmoI5tbaafe7`#UJA2I#yqxrZ3~j5AYFS)BKVcVa=rTe^5&U1QY-O00;mj6qrseh+@Ljt -^fc4Tmb+Z0001RX>c!Jc4cm4Z*nhWX>)XJX<{#TGcqn^cxCLpeSA|@wlIA1)t;8L36Mg80u_n_78MO3 -H55{5N>z%1KthEUe1uLW;tZB^07nX~r(t?}jN*v*j&q%RWzhTL=*&1XD)=#&G}yF)S`e`gsMYD!T~E~ -_wGFiNJZtT9k`~nG-sg|^_x|(pquF0;f3LmvT5GSpPuZP&83V&GM)*?{hB?fr|D4Q!|1S=InNwfQWL` -{r`>MmbWp7`#%Kx*ixm&7#@zd(N?#;dXuAl$>7hLZD+LT+(|2+3+KhG_`!;^dOFE(zvE+Zp7Pb=fT@s ->^Vw%s*9@%Nt#F3g_`?sf88^KH~s=HE=+WAm4QyD;dr)52cy@G(xo%Zs}T5iHE!Z{@MDF)Hf>bUuV)w&qoe5wmw7=)2eJPZ9V9#JC?LWn-K0bR -Z9dO13u%!$=4tm2H1H`MV@_k3y(btZ=l?JVZC_t8SJ2K?x*vzXj@z_@1NR??wFY5djhDmZGR%hSsyE) -n-Ni7o^R>RuhQA}1!$G~y>r^nNla91bE%VFo!G*7@-dcS(_-S9E&&*12FaAJz)tff|0stS*RL6jpw@h -~>+$}%e!~g%^|INSEQn%MX`%5RIWRK5o8$0i<}9tYSzypeAq={f9>}On~uQVY ->axFe}dn7^O{414t`C+QXFpisjy{M?Ys>Q;DjC^$HvD1HTqj~@}xO?DMCj -2i1En-oP6j%EjRN*067DjT%FO?0pxTCrfMjP==-P|2X%a>NwQEMnX%$aFvy;iwrJIO!FPlF}S3ub1MX -Qk~>t^CO|+IfL@MQfxhKn$SJl=idlz54i^Iir+s8$`ES?#hM=Chg$5dj+kX%#J?FJR*)N@F#)|#;Rnf -s*+3@2mBus76QYZl28XbrdE)AB(G_>ZY7Amc+~Wn7{y9G#7_H|>xglarJj -JPJXCY){4-Jwn;$c{;!j9DP-Yj<5nOdvqnG>=t}jvBe~qWLd9k8iVx$%ILPc*u8> -Jq5*wJr!JnV0PK8bv{o7{=fuI_wSZ@>gKmILq;Y8$X>@(Ro{v_?2OJD=~&=R5Mx->E>ckiTEGITv49wm!j;JP`TWP}T=u$QKHcQ}c(v9KnK -HvMY)wMH(gD^KHjWkIT0Y9!s|*PpNfCD6vph|qAsbl05l*gmo6Qrn%)_&>psgQR?ktfKChj@abf|v?2 -6AP7U$(CSqrd|_E2%2)g9OZ&JK4V&7)+^QAfrs?98)n;Z0Detha~#opfgI9#oXNhw>V5_0Pf4r8zk@r -x|kkjWWVH04`8m>4n6(J~w%+j1Hs7<;|4lEd;PYpK{s_i5p2TAX3bjmq)W1AsdwWoto$;AE=2=n)t;4 -P3%<@H7dn-vLcw^g!gedFKSwPWh!G9W#GXGziz%WFfoQ8reU8I~tblQs3YVR5GOry4AP-Ek@&V2-whfj)9#nz(_aH-tRKW_(tTfQ|Hcn{;8!-FZuuL*L9Z63x45Y{7?~ -#%AymV1fLJwqH4y6J)#0th@*)FYYE-|+r|J-hD`ksrp?94(;4>=G#6T!zNn({@Ju$Ynhxe1m-DVT7{q -9s6s^i>5Z{1;k6r`u^APKW@OXsGVM)iB61Xz1sSTaW0K1(&H?IPxwci -^dh!e-w;m+PSw@)4Dq+Di&KSs*O@V1b*jT>8O^z566BP?~Kp#6`naFveEqZx0R`+4%4^$_FJ^G&+KcI2YLTO*`WsmhIGApltp>A|dqTn9OISq;li%<41z3OAC -0tW;DRHug?Pnb4G0#q#=hnD7P4zrxDlZScgl<*A@6bu&Olw90H7L$Z;lH3WIo*E{3V}Iy6CJHPpkJ@f -*KZOT(hdDMevT+lXqKz|?TIY!^kWtk-v0yep7y5t`C5rdsLlHr2iq3bt)?Nm`w=vQMA(7zx -NdoRRFGzYAsP^lg^Btxvq@gCooA2|`1dL&xG_Y%b5*+I-mekf6Dkto81+>nqB3Bfav&~zehXfcE^pD) -DSza^$({+wW -3Z4jgNQUIFffeV3an98frHN_T(Y>pP{`He_G4qnzfPh1q`V*YKC9P5_Kd@@RdjX6T*x3PB#mxfoumo! -N0AMRXTc;#C57&xJPV|8EEx}pfpL}M9P-*E0B@G_{Iv}3q3?uX-m3)Cv3~Z>h7}y) -Dq}67bt#Z7@jS<4IR@tgxE8kO9VC8_?Xkh-=Paw0qLER#={Le$st#Y_XPm!*-X`tB77O1rxBh{TCz>; -mb*mCgfo2qufOKzTy9FUg`OatbGa1-#igZhur-*7JeKAVf9l3h96Yv_dqsEJj|47PH5<%G~|bnxct?n -IY_!n5;>7>1kRN0-#jf(mh6(Dqs|9w0 -dgN0Mn8DlVvi_b0SEw;Fmf%x3lk-kNInun1xFMgG+Qo{t;2F-Z%xi;ah=_|dr^Jf0Vokg7jS>8gf$H1 -IM^`aSK`QqZ1QsbbVK(v>M2V@&dun+Yl_;X1;w*0}aJ6%pSWZQo=xV2>N)>JLb1_%v4j6;Fn$CJ~wvG -mblo)LwT%AVw^O&onfdX_qqycmc19VUT6`f%wp<7mlpB1CMM)?$m<3U)2h%Dsq$o)b($3pC8jE#~Qpo -KcEFsLX3kUvw|!CaAyr2@heiCE+&0}K(>Fa{xl{89_jJY;AVl_tninB{W6g3J8R(7@v=`TU8_oG^ -O%V+K3RU1!OixPKV&1$s=O)40uU+}Qxb@`0_W6=yfmylEdQ%n2#xYpAD>;|8sx^3pFtKxMzR4*DjO78 -$`mKoqE|ZCTw=z`?pEikgq2D+iI@-%=XO>I=UNW+z|Px)%o#+F!srwl9R -~hJDYJ6LRlx5pu5$EnQF#HL%CQDY;bHBFF~$xpd5F!kjIZL-4;jKT=yW$W(HvQ -dwNMYs;neYg-dUA{VBX@$&b>u7^EEnNcOF6E9`U+qwHqnRpLQ~zdB&9EHLFkB$weK|2~=y4Da%pO47mC~v_)_$gOU7oqW2^FB+xW;s$Nq6Hhu38{E?nX71|56~v>M=fPAo5Sv@CiCr!zc2j^} -suFnTZ@u$iaWRHj1$SC8gVsy`c;Z?J`^t&MEeHg(hR&r;JWl$8|`z4FdG^8)a@nq{|9kGkEoK%lgnQ% -Gzk?mZA0ddx`!I!f#?NL3_stgsoff(MQlEz?jJ>WF^+>ijizC@PTK1j`Ohdx7rfBDXJX0X6q=W@RC+L -vR4ilTb-&h)$arEEHRSP28`A$sTo*0ZW8RB!UaTt3y1)b+$s^U1Gv3x{=e+uuFqg(Jf48!eFG^U2!|z -5rqlwPn^+ci90R;tX2W5>2IscOhP!mvpTJ*G#%>)=D<%2Zx@lb%fRK)3yOsnx>?haspA+Kx>YGBvX>1 -`1<=e-SLM-^GBg*B(nB%a7<T}!ODZa{S_l84bKZkDmQj*&t6Ib_2%T -3()9q^$|kt}Tw&l#vua*4qrF-W{6)>67?+qWMkoC`!B>?c4QI)ZrT3z7_^O?j -;+b>~c4`+mTTJJs`vtZllf>&u^dQ8kFv5wlv&OuYf$GT;#g*1hAkgZC7W#opKVh4Y?)@;m!9OYli30 -aX1tT)p)El{4&%vBRe_7;fw69l9>!IT!L6_rxnKuAngNX6A!Cs|8CimWF63g}sG8lPaubHDQ2l{_W#; -J-4d+)#E-R|iNRc(!FVrev1;G27sUoC|1st9%u@sZDhXG%sfL#wWxKWPw;huAy<f1JWb|5fO+O4bc4iRYCzHmJME0aXP?13c-JBVWdMjG`LTGJWu!m8@p1Y-yyT%-UQCz!l=!FpqjL0oSP=saF>zq$m0 -WILjkhX!!ge6SI*kcnsWmm0fffKN)5?qH?%{13&7-o7RS^yPHqqDitn{?rWMsz09^`8=hs_(o$b@JS~ -eZCkBUPwma=yl%-Yj?>lOK_0|*ev%aJLYBP#qRBGu>nmzwcdNp -@lmN)xs()E4ahCKxVx!C^dA1DxA#mF_V2MOcpQkKiW28KkAzv|_B)$YGJNCBo8{T)hU@U?nm_u;O}f# -ZAdXyn#|cpoN*uB1bcZ`JW6rG4f1Y04b@O;DUi`klz1*u$q;r39GlKUM8$cCFX+yZ>1%wg=4ut6*|5F -o?j=HnE6aEc^}rM&Se%hS($P#ses->w(|P${jAV22r%-vgF0@^L6*yW7Q4x(#!9kr2-IcjB@H)Gy5@G -EN)YvCamDg@BvhmTX9eB0_CR;9&$yzy@0*j|-CVK)%XHC0Gx#9FI<5wRFmpJYF|>bC$Y3V*FKDOAKofYmx&!RvYO5gj`V{{v$t -2r#-mQav9$Fgm)DfWE=T9Jvq&ff_GF*F77Ka3)})P=`Fx%iIYd1sB%~`4-eMfSWM*$y42oPex{;IBK3F?jmVfBDKNy3aLaLkxdbILv{Yx$QlBYrzYILA_x_EbAnv -CQ`Iz13AQlJs~ce7GWi~(1@;ah(&|s%efTO*}x=H*@J4MEDq02kD^B9&SF>(He3&nFVUb_vH+n7ECw| -qjr;^70y;AE6|%U^9I*N}3M0XE_PLJgxD?oATVz8Zy?lk+>&L#3PFYbzS4RQg$)~u3MsS{d#Iyh$$;BL)O*KO2B|rx@XBLj^>(Fsrdk=1dML-HI`6*;OVRBIr@} -<(JRiwH1hss38uirHI=|SzJle-ru`T#n)M)Tp~QG$ufB-c`DI|J5+HH`!Y4IF;wH%$#En?GD10$B@f -Sz4dMCdna=|1-tSd+z(5AZOW~LT;Ag2q>xv^+Uy45VhI -cU#;JD6HXE6lFjU{-c3N`3@7N(;I%on}|_?i-P}jKv}^*lNaVd1xaIKLQS7)c(1XKtw+2LCzDHE^&3Q -xH>Mb?vV|6h#@S>Q6&-=>FZWqPa@2)l#3MLuNKC#66Zr9z%u0Zh_=l>idv=AfvdIrQ8yMWOLUFB%QlTAVy -1YzYaN~xFv|XtC%Z}Xf7PHc16J*^-0(3$iYROmf#<0ypw9MVy+$p>w1DF>Mg;&baxpP{y7AEhj2_kDh -B=Us-+6dIKy+va&zUM3uF~{r$90}S1F7GG%8CVDVE>_0O*f0VOSxqQU8#aqO`_4>NX83Zy?#|#r*OOG -cK?JR4vcwx?_k3vgI%pBHKBmy;ataYEQE7mf%?`bM-KmdQ=k!a@VW#Qm}}N2Mk{SSyXK=xJ}#t -EkQiH7MfFrfnWv;c|MuNlt}kAk}X?iOK(-Or9h -(XJWFB8G$c$1uGjv?lL5i#E6KIwbOw~+ebiVhiHD9Gm4qAmv+)Y4~h*!iMR$t -59f-99E%0!ykdg{sXg_4^XJl({c>$xZaso`xmk3w=&tCd_Uxd6-6*$d95Dy;HtBuz(z+oLUB@R>r?Lq -TF)-Qx>f#$f_>B-%!Dj#_?mJ0sfKCxIRa? -!5zeL5YM^kL2v$jX6I7+Y=WtGm_+1({Rd`Gl40b?J44uW_$J_Ducc<|8r8fNi`*A!oedzHxbwb_L`CSWjf=8+IOqe=x -!89|`tc!d=%GDl>{9JZX*5`f$e+g9OuV9TY>I=mAU#VY{R6r=3|T^KfXDtc~hnnV~}IxKbrSPao`IH~u3rR -n3r`8GEb4_%?2A+}I-F!nM`sLZx2`7e;T-3}mc<2{XREPmeQaDn^5=%yLHy2;C7O%vMB6W*TL>QVz!r -unR+6lnk(1)Sw!ror!qKXA0HJtq@uAAZ6Zr$m`&Wb6~gfyKizb8lOxvxb>l1Va>0Vmh -G{HiuYJWR}Tsu@n9=wlRh9=6;!GVhIcr3FO^(zsU2$N->I!p7%oprxx5L_e5y9VOPg>rc^t#8UbS~oQ -~=V0U>MfAg1fig+riHg3ZJ?fd5T;=y5yfIZyrT`pha2@jMPdc3*&{OETApKkbOGJ6%?#7b7TDKpu8uw -kbhC5rLs8E!Yf*3xuR8oZ+IXhm9o&mYak~Y5Ge&7v!(tH@My&zBSnzZH33l(&30DhSz)Se(z3kl)hpd -AR`|CRByk{NUsasPZWL!|STRRh!vged`vhr=Sr{7P98ktw;o=ZybbPz*y3pKhp>=<=N~55~!UINzKkn -CIFP5<6GhnY?!8yi2F9hTlHa>y^4{CK`Fr!ecvA@U&1dBP0aGV|LW1&O#7IGEzZnfmkR<@XxEmqW7FV -ghI6b8B>>JQ_oM07P2!%DN1`*M`~vX%R0k}M6d$;hns`aIH?Xxm{wY45Wu%89j9Nd8hfCq;l*E-pq+2 -2xugT~R*ALmICyz^wF-yBRHxjy#Mf!E4bBZF3&Gas}E~k(abX$tIQoa^bW0z2OE*AT0dOXhflHa>)1{ -13qy9-3*jDLM%J63vlKVVJL6sd-kw%ePvY0qkw3La86P@(&VQB$a@6ieA1$z!i^Pn8FgHSPkGNr<^z2 -at_C9A%+?L%nt-Q0OCi^z^v|UsByVsl?+vGaUO9YfqRf30ffKACNVYHFj(TxGQS8c6G?h40Fd5I7_-y -jBnVv{7qY@(Lz$du#0b3lJOB-A;g)>Sq`QAV_X}yW+DjWm6g=~bv630ujJCIJ+FzOCnFon;jW8q7T13 -%tJHhqS|-1W&!VnwGsN?atT`p9jVbfxa)F@TIhsk4+MtByyjA+=}1BG_HsWI85Nfpj$a{8N-W=O>wS; -C0%t(easxH(^z?A -l?%TO6DH_n1=SR3{@W;X*`1vKIUyr6W00>*04b`q_`+fwQxF3Jy)ynpD(t8AtnaV?3SSdwbAw>mZ;cf -)ZmbpElfRUdh-LXL|J0&jN0P*}H>5h$JSzB!B#)ptzK+J3@<1h>-2 -=G$I>)qgF_G -Ry~?~i6Xts%VMaSinb(pmN$N=gyokZ(%IJPv|0oQPb1U=Ol8{Q9kbx=6{yZ%`6Q=Dj3jG-RU)i>qe1qD)k<&-^L35%|EwlrQ&qK3RAY)|GfJzO}rV-6Il -zG@gDNc@J);2m^%l$T38bIzh*y#a8d9aVW*{eb-^Nx=gAGEFvfVdMMqE@e2M{#VH8x=7{PV{P7_AxFan0_or~IRNW1)aW(r+sQ3=sDIDpFlXni39GF*mGc -$|7rRg||MR~9W|Kdy$D2{S&l2&fIkjsxlv!UcIiTRE2c2({tDJZ|MQ3Xv}$mR@X!e$T_~(!3|BWtR%0 -HCDwot+DFT)EZ0cAkPDm!&Kfa6(T7U{-Z@Epo^v@qe?W1065{gg!7FhY?W9x -52e|i#E7xmBlpe2Yi{?uhlBs57XqYyroR)eV=PeIXYnq|_fzVQ;5I0uy9`Y)zW~m**<&O5PrH2_1L%^ -e#qK2p=T5WOTErI!SG@Igap(R#`T|{GZwOH=@h@y9g<{s8ISXw#HN`-XzK0teGqgVOh0BwwmMFVg3R3 -9WYV<4A2bUl`XL~uAi1%?G_3S_SVHtTA$Z`zA~xr)Aac|RG~m4 -iWV9obqlB({~P;BO_5)kZQ0i(HB}^Jv7|hPj7jN2LyP55k8$NUlRHxq}gl9TVR}(tymlda$7Z~!_p2M|?vgCf`?%hH+J1juPL4Zt3iy~#O(5I^Fuc53u3QDV>UDw -j%2sOn`Q_$MyX33csAyfO?gbrOoFF!)&RE09C-nXBu!$XcR?fD2+&K~}O4A^!|U>)W+JN^OWGTkY}$5 -nq#ht&9H=RcgodJ`mnml+oEtj|l(L_><(&yMn{5fY~5N#mQywMH|*hiksOse?sdZHhV-jAf)iWsk_>cE(BMVg8IYXf>J`A_wCpK&rC -FWH#L$C(qVho5|-z&7QX1_KMNTDa{RFDZdQ$mrUKgsLU~oq*xQ1%D?LkpH2_P4*UQIy(OE{<9Ey1e@j -c5kunCk$*;c3A+q&-z1K%`A7ZMTpi=z3mJT5vuc7OS9?>4{5U_3IGHhox9!k3iEi}3cKJ~si`-Wmo}%HslgA?mP#}^b$#oZO1&XQ~XE|Kvtrk-K^{~WK5w-le% -YNCgQnal6r$B0!{vC%7vHJE%1LS-!lfjIrwpmg3YDeAbQl4m%e7C#3~Bz>CEr(j9h`7rr?qbDV=E$ekQIXI -t>vPXN_X;urFkt|k|IQnjvC*b$usZMH`$KysBkD0Uj)l18e1C!%)ph5XE?XMDP>@_iecLvpl64BYOs( -Q@dmN-)YpAEU1f7mpb#G(vYXEHyVnl9zn41&&-8T?ndAY^%vcb`^eO!LT=??A7!1O@wN-{Z{;#A`joe -PBxHj6+)y`yx~XY!_af94dmtWSfsODblYNlML;i!}aJahbKtQYKp)A2MOF^60*Zp3B0hT#SN(8Xii)0h3c3o}?b^>l^Y)br@s8PAKL-kSMjzqJHUd{0-G- -VzQwvbZ4$GFkyRo?Xt|t*3gPvIYYQOVY?ZFxuF#u4OZFE47lugx4Jo@x$Jv~;=bAc6mD-n>4q(A(|1U -k_ET%&rCYek!tTusH(uKAr(9|-Id+nAsbq0C%G4R;Pdy3#aJygRJ00_=$?<&H5+-^_u!=(}tLP=qV*d -RIBrf$!6dJO5FK6`W+4jQ{-w73P-z0^0q1)<#nL(q$vrvpU*$C@F7#iZI#7yW#R#VA33k5Bx801`<^` -N{^7`nud841!3Ao3YuXpkR+dN8MPI8i=|c~d1 -oi?>>I5CLhYJqZrlCRqqgb=6QwYx~>;Z4}7j+7`gfyH3$U3Eq`u+5DD+aPv2OT*}y%*2FTm*2BE((mg -35h-~w9t|qubVhQ$g!Wi1vTpr7{#sTg4M*b2iHt(&DT)md#EbqziG^@Z?)7n6SX;+rGq0uFd+|MGW5t6Q{ -U3gk~1Rc_Wli-6h4KZLuY2n8lEvp{ST5E-?dB7ZU5CpgXIi8>+-PLPRfw^|$for1O-=?0OMxL6;dO8= -a2GwmvL=m%>?F%NZ{;sYON`Wz6iO96tZWdsvKq}&N!0^Ls^tHtU>?r1CAbO|aV<)66 -Zq;FT?jUR7#G5nE=VowP{^8ZadyR;vjmRQ)dZ&gpyVU$^R;`1eX{O*l^=n!XC(`uK7UDM7(kWJgN{k)mW>fWlOA8qS?hlv{NQDr4W&zCZlm#c1} -aXmQ+mWQWJ1R)BwTCMher=u!F_4&lS3Alg%DWS97xAE$?8%Cu5vP`5>{P^|-X=Kx3bgaXHH~KpNq5>j -u?hP$J1jVN(Z#RurcpE-DnZqoou-CUA*(apR4dFhWOn2F*ksq!1h_v?l~fPx=)~Rd~GO# -=zl`ffq*x!oz{kdUwplqEfl;fj9?a%%w>NElqe}5Ewle;Y2uURmxZ%3OEJurWdIq>ojF_X>+g{Xz43J -0yeFM3P}GSH47M5ys@7cCyBit?bBq^V9O~VIxn60Gqo14U6Bm#GE_D=(yyR;<^<2c1<0eS;9k2;*rKa(*N-C04o -q7k-o&W5FmD2eY>V(t{xMT}(Zo6Ou&LMAO^p?%qF6=s{?!vEh;x23^GrJNxvw5gn5t=u9Nx7nuo6gJD -;1PhniePTOQ|$#cTNb))XsT?f{}shod|9Hbn`}FV8mMk*xy^pYag5J`j)qF#s1hzr*lw&+FSN+FQ#uOMsm+D!rkc&S=6y7HC#0}e^vYMrLFl``u%yUF{PE*P{cL00P(U2{VhCFT$8Kp;bNA-$Ha@k}H? -D-X)4eJ&umfwX1qOTmjV^m{fpgr3@OSWf%+MbFia1>U`Q3TJRp($@I;LZFP;3NKkbf6DL1yPN+l7eJr -YI{s(;V~_rqaGkT2DV)zEm-35`oDVw@agaLxG5XYE0+=mt6DIPFDHGU!UncLc1zhl4RD_d*j&6wVGw$ -PP-9j2@#OfYYMvRS3G-yjIl=J#lbTZ~kd^%LQ)~+w@)P%`v?If70~&P2rHl(|B^4tqF^4;rMK(YQsyV -3&6Zv&bUjc&Xu2FcKmP}+QNu -mSgPPR$O>KwLjLK9%~wlN^Bp#eLW<^*;Ggth8(7184>Ld){l{1)L;iy<*f-MNyeroV)GzYR -f-`7dPy2u#=6XCvwZMD7|;hgaKunegts0LVXue9bI{3UkPRJ)!Ib|AT<$>~H%_cH9<-`UQd-Um9YbQK -Sb~M2jdY71`~V?V3_gqZNch?0sdgCQaIT|=Gn0MP?{xI=8F;H^@g1r>3&clW4&MF}Gcsd7OMNX>Ewj? -1P^nJLl$K}b$8Qyv8yy3?Cj01xoG;1}M)q=<(2@(a;tIN7Dl-cg6mF7mVTcIJ>gchqocHx*f^t3Tg(qG;N$@v{s*ig7 -^BhmH#bauziwTVTV3e3B&7`5r!Nf4B6zXkCR|~H88a2(P#h=09gNZu)LJT+tOmLPI~JvC1hL-bR$VH0 -L9%SX@nPO#4Si8(kYDqJ~%-pIw|{yJ^uk35=$mh8e*k1q)IH_HS{Ay`2|@+=%SV)mtfEAO0{VwgG{yHd#AUmNMv{@Bmg^_vfsZH|nF3^FGQQr -BsS=WnA0-J%>PJ@)6761l7FnEZH2Lf-2nQD_;+hW%miliPTtt@O7wGD_Q7W3!3mZZUUL{ahNE+`99KhX`Fd?BG&+rW4=#L=PemKhT;N1@(Yp$;uR=F2zrtXJzGW)Qjh2^nMPjCGL(Q?!V -HLvGG+2LCMzk4E-f!>Dkyg`*4-BmlUESj9PFVJn$W<^(LM}s6&L)WtV0aA(*B*SaVkhgER|}1;o=W=9 -;IxpB&LjXy?HP4FEH~j30?;)d-d|CBC#6O{Pib5>$JiIq@iy|Rn)#_@X4zkddX?SVmx~p>j`u9}DNsm -X1f-Ws(7%ETGdHiXcut-^+!k+e4OxzaO9RGoZbB)D&rSVpNce=$hQ!rY5VFOJ9{HDQEI)y`)tcs?Ng~ -3B|44m$>`=4bQjcdpuy3ZP~&4zTDhw+#1Rb18pRa)R3H|6qH^XckoEBIh^2#k)D+6P -T7ySvmrxDZ7fq7mZg~F8IFn`K7}Sc1@ok+_wKqD(VG}F+6eGVph0+N`@s@GJ2^{ARr~J5PU ->Y-qYfG`Me|)fI04W}OR$YmRf~86eS71m`qmvOOS<+@Y0_zVxmC6ZapUf>P%1#9*+M&mhmXBR=63UHO+qjuzf%XqTOmrLXt~=+cZO4XbW2332_-w8pWLrD0X(j3q+cz$Zdi -FUfD0$Mm;95zwu~2d{`l?V052%&+Jy(2_|l6|kj`faVI!ml(&CgTGy{poTBXum?|C3u)`fVour)4okknUt^jVE@p~;nd>>BO)Xj9Q8=^*~`gx%QnNNv>Z;Og*!MbxfwTdLp@91Di8k<$Lc#t4~T%AkzsFeO|rTD5YAC6wfgV9XhUAz4+_ -0P6|6=H#KU-biJQcxg7G4Z@k)lBOLBIMjfZ|?;i5&3yGU;@_6#%`^marf1j3vmz)xErkPPsL32*y`DX ->|AvgI(S{BnQQ1>P4CARl9{zYETOa1f)m=p9xH?lP+%bdR`{=rE4 -e-p;1>vHx`iA}wg-;EfIsZgMsu0r&T{^x`YKe5Ph6p-VaNZI=Geo-dT*~?9px|^B?n{J&3f4#A*O=JB -mw7|37qy#M0cRk$(o4Rg&yB%qjqogDf(58|XfJME2k0$Qx_LXAw$2yACZTjdsfsxjCS5EwfM+U`-t4> -z0``W|>!o@0rfb+4au3us(}VWY)o*)zRRv|ATk13E!X}Q0rQU$vY`R(p4bdYAiO(Z`yi+fITtM-!=AJ -j61_xV6$`Y@qtq@F@mK$oIIZ|Qm-=MWg*kE94H%zS+HrN@peej!`4vo7Wc3NnX;T>p{<3#mIA!byo*! -g=oMWQ~t5zHQ2~Bl -o+WgVW`BMw5_+)qgKt+;IR~^oQB(g5xng8+QiL<_Q>f77E8eewL};&SRV4DAVTL -{$?B$W98yw(vQb}>QTCFfD^(U1n4rv)BM6CH=7Tu;gaXvmn`kM@z(~kY6NLxAZZdQN_Y=r4iSm8gRVk -I6gz(04?j`Mxqt%~_M6Bn;2qN~!6DnEx^@)*0Y~PhcY>x(ZPZEq|p7@^-F%Ma`^2bP2-_QsWHF~(@2` -7G(MBRTPL8A7pOp+*%b~{;Wsr}SoKT~@_&pV$*X_+ekxxptb%8v(?U9){|FPVilWNvbFQQ~T<1@hI0@ -3#mYm+*FSDivRkDeEC4a_wSDr4+qFvH__CZK%uT>%C;BYJ|$s%iL2zNXKhWoXtzZcr;4xUxlK3d-#CHr|j%lEkL=#gm263Z?)xk7y2FZ -1neDyBsGId0Fj~eLd=w<2=Cx0N^!mowk*>5P7>x<;O%-uRRQ8bBOmb{8 -hkNyxw-Y_Drz{#iT=dBij40r(+ic{YZzn3Zrzipkk2gLlZN@i-3BvEGf_cyngSq(&vlBtJ~#Q`%fz+0TZO1GGG3_LJEamx&w43ta?@)qi>sem8?Pa1C#Ic -+)PdAEq~~+`oW&sT2lT|e3?*?XP7KTF!%8tUbLmHIjaz+ic33Eo;z0e-Ea`SlH*wh>Ro)D{0t5T68Rp -@bwwLMECk|lC@*}w{JT_v>y7-p57k%>9$Ste>$}Q_X4eW3djI4d@f3{^kar+fp7Hn4UYo>#;g;Wh!`~ -zFm>9-PF)VbTg|9%EH(661(vCNXsj=$)f$gdJ7`pC>tOg}J83C -U9AWSD}+xI1QcDLdN+7J|K|#E|!FMVf;^Sc52tX6Q`|S5k5CJ2sdJQO5sa-EgZsdX5ot%PK7Xvy2`eV0aiI#F7Db0oB(ui1qLcNtfdOh3e9k{fS -zr`fRD#>k9kKm1Jol^JDf~o%EH|3Ad7I<0Yc|3oW`fwTZ4*aUqrfKc{%JRvsb7uOzKKX)1yO%g1LoL#; -HAug79gvyMH_``zo~<3o>a){Brr9G@(t~oS}g(wSiVeXFsz9Z*rFu)h=4cUBK2}jf&N&^p!1hs6a|fdgKheZwB3fP -Cy?{bip1z=2lv{e%&q5p;rDJ_625;TTR=@LKALZn8qy)p5Y2DN5XCZo=)P+)lOzKra<@9&MB$GJ(V-a -`x=M=5+G@{xunYrGzqe&HtQK2G0b4?%A_w{u$5~O7Ko#w8}YD{{fyUFFj>QG$H#cD5Ul}cPDDf0hRL% -hp(Mkca5DQ5<;8gn-~;U3snE9t*}OsI2c^}6s2TEjLN&c4oxZal2b?Oz6Pc~Ip`z)6vh@}z9{EBaGFl -vw>iKR`t)qtRj`Q3sExTdJ=fwhAFC_{nJg?&G -fnd+?bWr{7tsDp*c7LT=JCC;{B!4Pui^J*V6)5!M!B^9wgdQPhrG#){Z_JUC-Cykpq-B^Syu4ddsJI~ -bj>tOAKlAh5zf_XclFqN9Q}OikvpJd*&000o2BNA(MuU7(qSFdBhpK_{inrwSPMOo5@zf~&4{)q`0Rb -i;obH}w3?wJ8F7x#{TDJMXxAJD{0a)m6$ -<6vkP2i?tfTX{6_9ddzhS32#G%5^|k&lZ7hrumnF&!4DzT0w3kF@?-j4R>qmi -;Jd9dfTc3EBpf9*bq -5*lzW5wNo~Tt9vDvEnvlKjyJ*IHSjkX{;UFV^3N2k?xpmzTb>egb>kU}oCO|g8)F6!wE;DV6~HlBUxk -91=}oWTv7C>ZBRe9y?c7YDQhBiE#uwu09k;3wKmEjC8*`}^Hmkscp8}F^2M?{_mO{n^fO88O7!k@tqB!tlRi3o+WaIw3?oSxm=o>&dQ?>TDep;U?p$h7JEz)Q69RAeE9}tbj2y;ZG4!7zFkh5z$-Cb -8&rZX73Q39(nGVJm}*kXlaT8;(6(+MZ@5B$0(L-YTYyNT9a(sKi=&0lhbhx>GwL?=qU1@lLoUes{fsw -B^M6eJG?X~`ScS(NWF~DH5ZtaRBQ~TXp>^Yn|JyR~weie1=+opKnv~JU|B<|Z1pAGbKIErVm0g*VRN0 -j&EJDvG9=yPmBDDz}Q-|LZ#1r50MnLXXUBfcH@q6iz94gl5)#lbVlwGRbbg8tVOyPI;MQSbe2leEvwS6%ONbKNJhnAxj$=6;dj3pCe)k-mmGcW0pNXM}1ISzb#XU8@J^Pag!yu77eM7xQ6UXsil4j1WGNzrD#R(>Qsh6gwS -`5L8~>r&j&;C#58&+G^&X^?xPV6(=_@TQM;ucm27GYQq;)lO;A%1Wr?m-%KvoEKx@6iA -^71Z0^Gy&U9-H`H4-B7@vimIu|n)5Kgk!+1I))=$u>6u4@8H55v}E@nj-%eh6P(5FszlL`7w8>xRCa? -TYYkm+ClsZvKr!!Pj-IjBCzpIp -TILS6guUE=xDJ0p5QDTrvy1U9m3^+iRYSCokURS-x5Hvd7~&_8=s)5PMFf7#miA^5SR?$rd9pYbYHu$ -2St2dSin)xIE6P?N*Kg0s!oJ)~X~baHQrHG?Bf=nw~`X0k4>y;s{Y@|v>*bTbBAIP53~UZoeFq5guJP -HtvFO@}(N_zW4H2(3TEJ^mL*Qnf&z&mZ|74Y^7gX}Cup>{qW3qC~`^(l5($NQYmW$*6MZc^1w1oAmPM -5NSD-o*$`*9#>z-SdFB|zo3SG>x?{kJHu2Y?$llRp2v;!sgcq_dkb0dBz@1rD!FH_l-zkMiH#oVvEO^ -n10N|V&a+=d`hcmP&c|qH5nAg0J6_WRYyAOhU^Wet~e;oWxKLO%)YGaA6VX3aML=VL -_EY%Cm1|dcZKb|Z+bn7rIh0@{Ij$(R*`p+cPUKK`YMi@L;h17d3$+Y4?lxN&gf;0}U27&4-+hcWaR;)&5vu+!P_mj{0fFb0I;^{vsp*u -s&1wf9;KwDGbLf#FENhPWFBLpuuwwK>Qeo`Z}_=bssbdY`Prdiy_wkzQ6u`0YJZLTD3u6nm2p0j?fDg+QdDLCASyeJ7XqEHJ;YknvWR!s+F=Lq!VKk{ -^kNiiVQDOG)3L=F_CTyy4qz_<20oTqKv->k~mb{QYaH1&dI)0AyKUwFzJ2pWTHj;e%95f|s7GNFodAT -MM~e_+_^b@N}KpXwv5l+{$Uc6%!6%A<73B9wZoEm<)H&urm=pP&$cz*U##2A+$t{D~7oJ_#>4O_1OVn -NS795AS}1ojgJqYSBm5JY=R0mJ9vhhNsoXggv!pY2$(}3-RXObI69p+oY5*+Y*fzkKjL%lE3kCRl^?za}l;@ft -6$eOlrp=`=pB&ZWS%dI#SNz4{{m1a7&aF&*DqN9|j}7QP8>;cb5%ws84_s{db&A3(5qRny>;ytQC8H4 -UbAwy4)r8#9)C_?JXuYW_m`l#kRy*D6sjw~c6(UOpu?2?M|=NZ;Z)AvPvcYs^oeG4eF&T>iI~L*^9iq -ZfE9`3}x-J1^sT7#jcL{ixvm^p-sqWR=Ry0e6*HeB02PF1%L>m5|&1lI%%WK+zu2r5CDqOc5^VcbSC? -2Hv(GA3d&!Qb){C1H|%|?c>Nt??B539Rr*{mWnMGVyryTO^UwPc=hNG0 -2eDfesHyCL@l`9Jf4DzT;AyM$SDe+OHI<_J`eUR3l*)<10T8ew^U&7C3(N43f=P1rq1LSM)H1r`4>i5 -Jj4Ih%n*JlH7`-_FoWwR|D}Fr^|HhD#0MBgeisH2go6ANAQk`$pdxw -qu7!0<4_Zgh9Xa>^_V)MZUjLi#4IhwN?$wZSu{*$c$kGof=ZE8iJwXh}p~E;DFS&TA@Uw*)jK)2r|2K -)j8vYzh|K1-MtOp;*!OEk9b;U5r^yoh4hla_kJydkJ0gt_mq-h`CtY^uq)HRd8QrAlUKwTU8J$19mZ_ -%Ak9;3lrB2hPw2-KZP9-!`QvX#1X$UW4ZOYWv_4p~dx1;j($h2-{q*g~hW%}Jazs+cUGZYh~V-DPAZb -=@SFx~oVwb=MFpb=MJ=x*G^X-Hjyv7`lGaL*31UP%gAAqS26ZwJZvO? -re3@kOrEA*e4mUwLA`i{Ngk$Nw3Q+P_5KFEJE-?b^xjLoPoejJQSZ~}^-=FZ^e%fWdDpV&vE)t3`P7T -oEJ;4~qSZ6WrCz+7N3s%4#`7tXN)u4lCWF65FDf#~IqJo4>5|W>7pV+6L%n!rOWLTHp!ZGc?WX;wUV0 -Dn&(zyP`%k^SwExr_r~Rj1`pkwvy{K9wJE#|rj>x^#iQ)*7AM0mzHF8m`b&nm>Oeqn3ic -VFR3xv4wGApIiSYmI83Xwm`Bx^T!(3m7PDK8$#a<2X)*VzF$)}~En3W4HD;m1#Az|NsxeN7X@?eblNw -X(FzwW0W~ecx4pXfbGnU3|TjrQouk~K1^*$+2d$sdt_$RG4qr9L`$JaBPbe89gdGa|JAYd3E9=Q3&6q -?kmvm7wyZT(t`2uE|1AN5WVj!cF!xYZvHvLt08yNzr!iz9nYo|7P!7;G! -(L|7W>-T};h;u8Nl=1qG3tun4H2D2jsSg-{j+xw-5rmI}I1t}CWpwen3%%dW3hXk{v>p_X~C%*{Xg`P>Sf&m-MTA>7!~6x!FQwtT)h)Vhd^y{uT?msqOK*%Db}c2%l#@#TDndP`$Bmo_C$uq;H+ -Syc44-LlsB2+&-(N&Hrd-~Hm(Dt-@&-womyi(FfOE25uaui^eBx-YCUdRhm+X0vNgZR9+E$A=VycNGe -;zy#hE#LFE?&BSMGTH~~MtLX^w=3{(;28UrMyvuyQWxwfsS4(B-ZRgVSE{@HM#TT0nmd~ofJo1b$B3% -chYopAQitjp$v>y5D!a1F0Em -rOh5Q){x&De!x=(*sD^VI5{yVYCs*U>1^bWSaXPelMSyQGPFYk^w{Jx_BhwK`2R7vgbHnY!Q#=H^`|1 -(m9w&=4H%QP|`qSYoCkFqF8q+>WFB?RZ>i<8k?qP2einZL(?%BTQCDgRf_q!DGY-LmRqL7apM4CdEiz -z7zWh7va*W{5{*Xs{A#&UM#NB<(EHii*hKp&~^UJzQ%`4`<$f8x8&8BcK{O_{Fu{gAzl}Yo0mU~HwOi -#vrC$)cYanB;dVsAygU?%H-au!?jytPRTr*RhTBHK6)Y%s6A-QSAmYCKXE#8JGEB(7Im-}{e>2_CKL6 -%Cb>Ww83PE_Gzq|~|g3^umhszIXv@F$O`CD!Z0q*55+paa`Pt)}>$6!C>1No1se2wi*dmQAv`L?`Slq -T3mq!=ir*oYL^heA#fgA~c?f=HZG)dfRv&Qcc)!r7=U=!bKzx}Yb{6V(M>fWbz{2Axp1tf&x;FIK&Ec -dRwBt?)}PD}*pkGIX~Tp-C1AF|@vTiv-wF7R>@0L_LcIU+h!N$AUE5T_stmPF6p;4KAjF30TDdn^C}l -Z5U;;h8f&RcpyM-BSxqTH#rmYc5C(tNfd5!(HP3(DBpDF86)T`+RH#&= -*{zw9(gzotGqE;5LyuP~N7RGtp*lhgr9;m;hpDMsxEjRJ~P4}u56 -2d+CV`DZ}qm}HPW(I@*e3$g=qb;*6rT%Zb^o&`$YQ_j`h~dhSw}Dl$Pf|DL<4lO1PEJM{%w;siy3~mJ -v>c2MmLxvcUoME@m!5YD1ef*eBeM6km`cRegCMx?aD|Ms}?AiOW>)v&OofPXvWSxxk!3qu>gjNfki_s#o|fXR29}|bv{k4M#%FdbKy -FvzTD-V9g0zs^zIVLqaV*O&_n(8i>8%8SuTsDW`&j3fi}bhSu=9C5LHkk(l&GJ -3?a1GLhBbn%Z+yoN3^)y6h5xHvv&l$>_br2HMgbEdI9*0`=sFrqd=P(NcUxk6Q#zl}KunDsB*^UnUYbjV&w0mKWYj3%?Y(&^5uPDsOdL -RJ1!3L%Z9e=~b0#4DBU`RF#q~q~0~Wrosu$Z%svO;v*h9uAxrzSZ$(Cg~#&REpRF<$!T@{r0E#DeyWx -{xjE6m({j^t(&*sBW$r1$Ata%rN$BM3(zb$iq{6bN**>F7H-U7K@v79taG{(EOY&S0ZRlqags&MFn-F -L9Cvr@s-sZKEU|4RNZUiiHaTGjV+H!Qoj-tq`o@K*i#2~VTk|80Q`V8^j@S*$wZ^J|`TE9j7mZ`k872 -2p2lRug5rV@w31IAxHg#;e0uIM9F-@1CLufjDdpHe$(#TN&Xw2GokJJ1e^=Wx_X%?)fEL{)*Wf0{_u) -vux>zCV-iJS&>xGniJ=okpre@y3qmwLJx3Puc2NEg&{G_Ow)2bg}PUHfzRM+y4d(aK{Z!g*@*pFGeoQ -4p@GcwIZ=7gmkRvkvjgS=oPm~lMMZ(OD6)p1Lah7kU*0K>pjN0{aRh%-&^#Y^jBD)I<4b41aA#U@QMzE;u0BsP8F6&8fsImnEWugoZ%0%74wF_74am};?iijCnb76a0{g+UJjpErPi|F2$IW848Kmj({5RJvBYT -1$UWWj%7J@_jVoR#qHogDOLd>Mmpk~$6TDD@9mX%QG{FIi>qF|u#F@?(%Cy$4)a*UJb{ -!S&=kM!7Y+1ry=K|<-2M_6B_kmCbi;lC=d{Yiu~|u^ca7&(Qznx&=AQpHQrn(;02)tnKNt;;48vp(t1kFD#YvCloXs7&X -AjbY5jBi?zmgtoI2;=ek??N*@)OBTt(roU7kNoVH9jXPry&Vq?yyI@;cW`0!#!Os -r8-d#{+ZC*DvY=UL%}+}N$uN9Pm$FZ&IKYBozhfsQleO^w_O@627*b7H0Pq2Yh%+?MMX$6mh={n158xI^Ug&@kph;`C3!{B&R*t8;x1eqk4H2EYBUFpUeZiDrSR;7yD{~ -mPKA`Q3voAkr63X>gAg;^Iiz}TtF|!yMnCowrCNH9rV7=>~KPzM=L!-HupCdQgYy!B@f`^23E9{vIkU_;eJw -4`5o-VPD-PJB7ozD8(Ogfr`8yypWbI3!F~==QT0jiR*6)zy&wZ*qg&-6aj-cP5826lB%UXwrnb)Gy@^ -3aZHk0ruV=c79mbz<)ExyfLGp7I2QYmHetOURNNOdTlG+d40C{CnP3Dkqi)XRhLY>%f<2timtA{|5So -;K7S)P-NvMS29r8ymq7!d=1~B8y_D0r_zCw$_ek91ltOn+X4os$$@u)?#vsxxGa^b}UmB1BCROVs>{d -Tf768w?Wy5f0nXT)t!_jsp?TS9F&a|DW$glkV2ACSWCE-39}>XhD=tFD -VQfT@TpQ`xySrb~&NU^B0f*NE|5x{zuiosv3r8G8PUL8fW%#)apdR}ftf_5UKEVig%5HdH!07G-fVk8 -VYllOT=bE$)rM4O&Wu?RvvWupBRc3?l_icrD@Ik7koFGdRP>u&?wR^q8?V}uZ5k+&{^&b7#@m(o+y3 -#^_dXUMf7~{7kGH-?*Y-<~JxBMoOOI7JSoSQ_dU)goJE#lboQt;_KbF57Awa2ifTq?16w?SGmAc?%0q -7w+KpHzhZR!DXx&u&^)+ygGRlL!9EzKF5Jj7a;J)le&xr!A@E2jF8T~)crn~!$Nz0X3{(U5CP-7GET7 -13G}3x`~bkF^%PtE`;2e|XTs$^}PKu-AviG|cICZVO9Gd|z%>nOqzyT40?~%8>tnSiaV_{{I|EzVvO? -eia!(&f`0UF??cadpF8mR0-BhGqequ>TYoNe*g=Iy9MnrNH4PZl;E2UdBuRRxnjkDfQfC44@ikz)LUC -pD*J`Sv60H>pj*AwCDsbxtXN8AA(k3g`nGtDPqnBgsn-P>pJM@2-PF(S9!LBd8=uyMXFEv?K^2xzYP> -e%9wf5pHU867hEA4z+)!caf)ucT)My^p2Wgz -Y}*|5CEPr`o+rfY+?7gN;~|Khn(-Q)w~7>8#%76xI{-R}H;FAg$MfIZbR*ez49FkJo{ll^FY2Mu}Yro -BJHQ{)^=#-Tc -QGLrGN;l6nBa8nB_CeamzO-XWDLeX`#<5t?*3cx-mmXv4oe -W*fi%Oh;T|!snOZg60ZZgO#MTLRJh`h8bnf~-Ug2pbzN4xyJCuTb1;SQNk%oCQtoM?^c+s9Ny002q#> -_Vu2Vg)R2$hVg%_kTl`jw-;?6^n)p2}em9HXBiI2iF^7IOTZC8Ymh6>UZ> -in?&4M9w$t`)v{K>6auhh>?Nnch4-8LLnZ);~RwhA0Bi{HKCcN2b}Jx9MOL0_p0HZ+ArKgscidB?h2u -$YlUy*yX)8Ks!2;WgS;-)kgbNnRswd#@25!)r7~e1+kvexilsGxFRj`HVm=W@+r`J!!{*Y8wa2&%tN3 -t)9=wvsCsOZ52KvBro44JTbU*Du2s%ttx+6_>6EZd`2sgL)?}ZHo^K5H~ShrX%8>%hGx!)+O(98mFm|}1ywG%GE5{r1W9nkdUvpFNcQ1dzcC9I2AppCYs{M=|QcQUczQ+4Z`<&#A#G -~>IB(C<6Vh2jG8xaeKQTZ4Vo2)JvCN5-W5hm{oe8q)PUEnD$a@7Uh#l=K*K?mV5f>;o}XbR(sgoN!Aw -JbI(Xou!pUg;{6oveOxfbbjaQv5!6sRWylhZ)>S03Me1Ra6(Ar-82texKDcBuT0*g2fWi+M*pbx0LDm -9hIUw&=v|0sLd-Ju;T~PVv@f6jPMpAljJQrz-l?SgW1O!UFGMN9ik+%B%OB&KhYkiDv?SfRlQ|$jd?8 -!RTtcVljvL9Oer3kHeME7DaK79SFdR0jBncE8FO`pB@XqW-U`pVD>izQ7a`z+fPfwNU2vrQwBlJhOZd -a9^ephUx~dDV-G&9PF8tUDjDtBQ1V ->}7;lgetV`9GAT#S}n;hJI=aZ(D2NJ;gS`(b=u+a|=^g77){NNlzFoRG(G9}PQd<)i!;jEy%Q5l!qzN -1Ml~QlQZmE1{Pkag;qymxRag3zh6~+NpS)e#9hAb*do~9w!gsae75~oP>Tb7ejCi)8)1RUsJpdS*k^= -R&4#IF31&rCc#4CXM!ZBm>uC~5{lMwpHON7?dwj80BQFX0)A7Q6iNQ2HSjN;v4mG!;%dsj#Ok^Ck@lE -rOpv5fcn3xX?O)_3DF(~_#W#e9XmHUM$v0G9iXCbIdXl+t(=Ej}RLgfuHGD(JEPO+bvTtY)L0pOG@EU -XBGqsh@i_wyVZ|Is$Jm~3Vkpwvs?0rLPK?;0B-z&Z$p$6gl5#SQ+eM2dx9Y7S$p>OR|*g1zng>y*ohs -YZ)wbz954!1$hHK8-mf4YJ%9>PKNSd9?zf|nEr(II?)C{jtTAyK;$_a)cR0=&)OJ&`2!AQ&K$no7pf{ -h?c8uXIQ&W+ml{68<6F*S2j#XX!#K@dtjQaN#EkuUS*kPL3niD!w9-N`Bm+zeu52F0zilNN^PXBAY~X -Gzpcg_>1ry{vshEvcCvK6cyhR-Wbu{6iHoBt;+}ukz7X3RYV(HM$2#2aT$RzlFO(NfP~jbX&jOcH4DX -Mm?peNW%>TzhBz+TuSH0pq^HW5cSW#Jd>d?yR*J7};1x~A2;Y*6V`(8bUiB2wN2{e$Ogqq^s1i1bc@d -znNo(+YL%55a()v}j+@zwjXNAiq2Sb}Q&7>4_(Ln+Jv<%*|10A)eP?(-Ogq)Yd%SMJI?T8l42z)e9eymvrf5>}3(9RCG-9mS9`EGW3-Rx`Sm2*Xpy(v;*2mIEZjzZ8r2y8M23H_d8m)`z`5X4{ -@Rp|B)(k~FE1GgkVTwo)v@ExAe5r9Zfsf?IOqAbE>Aym@APz+`0xcf5OIY#o<&t->uX?Y9cYxU?$X_9 -4uUxtcq>_>@epxZhftXPc#{&QoTGY>Qo3V%((9B0gU*IjDueA`VQ3A?vzvpeGwssRI#5p2t`_9SG)SuW^3D&D -t0LS8=PxWyZesHlx2sxaeUP%@TS+V+DwYzhT}4#hsM_b-fN5^VL1|5`ADN_;I&k0Njs-l8j^?Qs`7k$ -SX3Cpk)$@ynE&{gX>yh1UMG^kUw^A(pa?$$JB7C^}Eule$Jhp_}?N;94_sYmCZ_D0(Rv%C?V-dElx+p -$DKAqOg8nZ;&C{U~*i#c6-c58{WI;45wNfXzqi-MrMe0KmWyc+oG-fTQ)aS~6Q#d@)oYSVM*vxYgTjF -U}^Xwd3U7`_KUKHr8DC&aT(ce29SJoR*iBNkZI)i7%xRNTVT%-F7ITJt!GZoo8jijxR2m1!$XmW3xR# -&ZOJ{$g-IWcZ!4*?7@}{afY_FMo)bEmo#||0CN*TZW{f<|2n#C9hIzX|;H_ -plNqbyE3g4Gr93Ht#eZ>&t)pnQl^UUN`G`VFT5y8!eP_-uBGRd`YMCqBv|3u2Unf!Cm@x@RC+GNVk*t -7+w*~aiuy{)*f{Kup{5LZmffZcd8JlY!(jQ#z7%zyib9w>el+;;#*Y?1vG{oeKiNfQm@y-aM+%P_23v -O1c-Ekd8mO?%uukN -cF2vm7^FK%6Qp+IX|H0(l6M(@10W!{rme%BH-nH?`JR@rkfc2_}bQA!2NSZF0D^_07lZCxzG7ofN*$Y -OzII`_pB`sYWM*UBqPYp*U;0vi-NT;?@=LC&Ez@s$cxw}>>?9;v3IZzcntdXqS?*b -rWUIPW{3+OQ)Y-?uCX;SX~pS9EwGZb_3|3AQB|cSva`H{Ond7|@eKPKl2qM~NAY(1$oLax757^XdG0q -lr#VclXy#Kw!?-miMG;I@`wqQWma)PkK}-~dzpX6R;cjtJZ*$7UqLL5b`?(HcaY~B#%2MX(j69{)4%b -ftPVId~r8J?GV5#;gu^cYshEV~oh9;&`C#@-f8L!7{)0|?ho3MOoXHCAN-gVr`m)>2Ivl*4FcOto -4Vc*zO($It_+M|7_}oHK=O8alP!0&Il{XUJEKCK72UeHqkSAzU0$}XvSIECy*WpI%CkK4T-aEo+{RWn -iO=~Fd^uyVXRL{O29k^vGPv!dQcGLTtmOcrdB_ynpee>GGp#~EcX^*Y;N$O9@on{@g0g23tsBqhAA;W -!Fu5>F_IW<^|s-GE(1#;2N>VK3Z){CbqePTcs$rMe+aea~B;?= -s#F7g&M@fBFT8G^hLh=%zS? -4eFULKx*3QK?o;*wuh`aHo6qjKA@i|!<)Py@>8H?w9{~NOF}=u#duZP*hXy{ji&CDATJquU$KHl! -62n#%020dz#0kjg$~!x77cd@+NWM#NDzleFdh|~r#i_n4t*f4H&Ui9NJ6O-YKoeFXl`Ym;{^5$kYIj; -O@MJ&_sk_AgzuBn6nuS3$~|w(-+I=5m{vYb%qBOt#9Ui8p-sVfRTr{$u&n!ib>^3QM7qn1Sv&faXd9e -pb`n#~Y0UZpuQPFt&$*jn#fznn5F@AVk=GDzf!6xVRP=Qv6)_1F-eRBL_&T3>Yhl)4>-lK`&e)~bppC -ZrD6yDwWkq+Ra7h>{4;TI;PHZZWPZg`zk(@4K%E<7xeku+I -@xHbJW(3cF-%r)c=fek591t5-`=x&WmZI^W1nyQhE{P*)jy6GOa@;+y#-}mIv!rd;iTcArWs_}l` -t9T5vDcCcA2_<1#Xbnuq;Ihkrd6zzW1essKA1_^=t-3HEhYtee1^@QZg4{w7Nc0`?pfLCrg|xMAy5t?F`a5jFx2M%ea+FD1gVkUUXBmZA_@47yu_K7}lmWXJIUAcBEX0LAUbeETCd@X2;dKL!wV{uIzH9E{H%ogJ0k`sSle%prw7_N31bNR`%F!o^TDHtvqO*W&>|cG1 -S&QRl2dVhw+-}HbKK0=W$}SEGvMX{l>niZ^RB0qG?GBnakgzi1&?(+DM&lQ`xjVv@FcSp(H`Qb-t5&X -NmL*?a}JRx5SF$v2>;fhM{!EQct~bc3_4FaCTzGA^A~G`Ie?dqXu{^Yn6XtasFqjrL8J@*L}Jq|1*aQ -YkrbbUPX)AnEY<}g)s4ru3~Mtse8bTo~(qCsi|eG*76tIL`3Jk2+&2=xzbB{J&F`ZW%JZR)p?qFzPx! ->HbXs%OHo>P?ZDn7t*G&I2qAj5`78Lv;AmN<3K$CwE6JmUG;Sj%oD!Tn3yi3FwAIv_?EuTCn*TL|@>l -nK<#g031{1>Kt4LUKPknA?*wcucx+Bzsq={=B)Zt(WI0pPsFpBR)MN#n2wQcHtz&hp8^ax2Y+X$TlBg -4}+AT(z$*?R}E?c-z*_6-n#oG(ZHLAT~%r5B(@l|2GGSQE1C_Xrfw%7>`rT>=BMZMy`X-=s3M!=?h*BM{4;) -Y~Hvn}lJZ&@>0rxhs>K?Xhix_KTZxrYtZxrbHxp}lx -Ay;+^-0_|Kwnk0GXn6~^A)*%k#7=>2BVKPhTcs}3_VO`D$_ny;E#Hj!0+cdIQ$T}kFNI6Ra -xLUV>9d_bJXWR;5kDRxWT#J;rch0(#f#J#e0d4^goMgK|8DSPgs2gE1SIvx!a>ipP@P4!ElwAOs{pKi ->0zgdAK**kJYA(O|bRM_4B*kS={yWvKu|wqm838v#WQyWF*Aa~W9QSh6Tw|;$jSV_e=u07j!Z-@a -6mlu7pztPzG76_D{7Ru^6=NP0{3(o}Fp)wUg-0noMPUPlrqtcuyvf)}y1q=IhJxF5#@bNmMZurKXbO) -|Fi==Y;av*5DV(D4D}|2LgcAin3Zp4ZqmV`+m%`%|R#MnR;X?|CDEvU-SA39vgR$lm?x)b5f-i*#3b7 -QXQ^=;Ugu+V{wo*7q;R1ykT87zm*U|CGhb -oAGsC9`z;V@yNi&RhyJ=#P@I32ZzY#`-aTyXyhWkBwrHqPz)gG>c;4Yz&JKPe#)3IC>UIDSX&Kf*e6t -qeR+a={dvnIvvh&IzxO?x=~yYx4RBYPtTfxw0dS_nasda2~!=@P|(vK@YM)dEm%`=9#62xusHg&Pb0; -~5oV*=@CIV2ekfNA3lk|CipMdI==3Hke8kg!l#Yft^rs`7vgxd$kVU^n;uLU<5haeID{wYhJWCO9Gep -{1L`@D|CDCt=fHIwUKA)Z>6AV4YX0n-dmq{r=`CI{^78c@DMNAUqOJ$GB>9Xi~Q{sdIAL)|mcZP`9$z -^J&G^2ozcny`CB}zqHHvOgBa!3&SQ%sbgQi7U6PjkdQQqCs067HZ2*y%+{MtX`gSwy);z)KhDCCZXS$ -qJwP3EIHRR7#^GoHeWu^P;Ee1noh=JxIX}8&3B8Olpu*nF2>h&kRvJdV!0+PRXwu&_?;v}SK!vRL -+~_9$U`5YM`wvX2Q6J^xHr_n&)cqk?j3Ft{m!Hm3dEc{rDky;HV$q8IlH7E+$%I=oP9sQgn}v2Su8I%9Ntv6Rl3w(zEND?C4`W!T(pDVBFSWwLIdVeFy3zUEF)hg-W1rA@KAqRm`B6 -F-&>4$HEub@|D5lUkMzjsR=%>;Dg0^^}`xUJa&OGT)L!7H?U5%ov>68=Po-b%`D)XVg_#>N^_y))`MX -C(B@0D@`)@;GedGs41*G=6LB5f_An}8i#2U?(@c?A6h(jD$|g!M^d3Hk3KVK+#B8rzfk@*fk=y~J}b` -3c$V!UBeGUOGpJRxH_FXrVYp6BcvpJsTt24$6}_I%muMv+^uVNUc%maU9V?C(O59LvKiBXA8?NUEm1* -&R`hL4x{+#!cM8>d9>)gYoAE?DmW^5DflQjC}k_hI7y<%&`1zWq%(d^gwN%IDwn}eUhL>Do-g#fvvz(;3)aAI!9neMqrK*j$}F>(!|iA!Nq(!SWJ -vpaVcGgrQHM$T8K -VAl)AhzAy_6;?Q(RIxfDgEU30Qyw7?f{5U?4y8A`gp8G8pyANdm?&eX6(`Kg+1kk)I{#k~4Mk&3L196 -_b@I9>f{tbCLmhkq_yS4rvh2R1S_#&MvNQO`0}q-lC=2z14lK+qAvEUHc9lJ9X~zKvzw-?mawu_Uhf| -!M>gk_3Q8DJz$`Z?;yXy{sDnO!9zkqwP8cUBO-?l9}yKja#YOdF|lLE#f_g3pD=OK!;_~>otF4W()1b -0x|Er-QqyLqXJlq&&(Y@?jC1GZ&VTf=1q&DDvH#x>%^iPzY=3vg-T60ydYHTY6*TZyH^pMRKh-_{+2> -zk_vdhre@b4>|1|sm7aVui>8$^52~gGk-Rn_D0#vns4)^$1D*^x2zdxcMe{JZ`{?0z`o=KMJu6uv4^w -!c{|B2X}kL533Vk#(n{E4OJWtQbdE1q1r>ZzxndG@*ISFd^D#h2Fpk3Qc1$&Q`7N=kR{+52hPzWoP2`~2V+hYlY(dhGa#FTeWwlH*M6(IUVY={t(xC&^Z#;3(72+%r;gx%n*RUk^8f7}apUp-EBNnB!=PreM(je -@PV)70cGuW~)J?u#VR!wc-StYl>s5BwPuX2RZFh}rNtNqjyKAft+C+jUUa}ajQ|84JQZtjY=EWJ345? -&8(env8I{ldGX}TGPsLYfseTIlgkn)U5$}xn^Fr?1a#b#w2v&A#%UIN2n2x8Jq-O#Mu1U7*zSj>#qpA -+vREPjl{AC&Ghjp^yqCH75ofj8KlIl3?x2Y08)$Vg`#gS=^MgTxyD*om%gY_PX?LaZxwHyS~r+at3cp -@Xs9>|8qBC}T&9mb5)1+K%AQqy(G8bg*QD_fVT(dFu97!66&(_x%X$ixNWQi$=Iq)bgxHYG -}?^sv^cLi*dK(d&|uH7WY63`#AsvmV_rRtzIdM^GJ2q%&hdGLNFOrV~E4s@Kdh>h$wdGiPd21VVSj=j -aRuyJ(hUNG5WUjoIm`Go%zsjEE!R8;+znonGH?TrDj#h!}%TlPyWF#+ZYmd-qJw>0Os+Gj#@HS*k%ZB -P&^_$x2ajV0@4HEorRkCC0OQI!_mKCSLNaj&eliW>Z6uAWEDjco`W{^_qD_~<BgJXPxaDb(knW67D4lbVs8u1idpb>5WZ)EvW;T5J3me7(?|b8XLOv_^hK|}g@g?=*AMT>PYyOix?;hXn!Mn%z?tAz67d-DCKmVb+@k{OEPxsT -Z%6@g@kJQV*%lGc^Uk$1of6^|VQ=DV)-T8NUNaOi&ekD|EyWV1VT|ZrNSZ!Rk-F1C@+e9>8-u6f>I}~ -|$dMAvm8-K8VeT}(${HPig>2y%pzfSXnifsRIs -p}aDb;uNQY@fn+Bn3cfh(4GAVf~-bqRKcdJ@Jh_6)aiQ6Aa7#f!lF}#BUGM%Y}D(idsIrh;gpb+ -Y8aNKkE8B5T_;1DNhvdRddeN1m6?;3t_wHl(<7-nH4v9rSWZsr%uE@=_^et4*jbbSV#3LYu)QDD#(|# -3WF;HZb;HP78J(0tM6r#IV`2X`NXbmc7-PC2b?AJ9ZhTfkYO*eTR+64QD^p}kN49=4V8BeNy##o2tq&b(~e9DlAc*vglsVDWZ>giczRZjayK$^+~~+r$~Yua6= -%@Xe-u#`H)2#mSZtJtXkSaal#k*+!|Xm7l$DxEW*Ix|FhZA*cu9gv?n2spQDq8M5f@{yM_DZ}K6|I1MA!<&NXvXvcPAn>m&BAq9I1S4OqaMdZ#^Aas@tm+sO%`p7#= -NYbvLvBBB5Q{~5?oRor$no6AcD2Nvt?6@Y -UQjn+3{JncFbOv+Iy@{F9bDnhJ+Xu{WPGAPn|Ja#i^67t7XQ{? -|=DH<8ax<+x^careu4aaPN4-Q{O^|K~nA;CVOs`5^f|Oui47?_=dWE6XKY4KZ@K~Z{_Y(fShkK)k6t8LY_%|c=-*hzYq?Fy2;O9J1d>nZ(v!P#8~P6a_7XU<&>ed?|QSc!)wD3LX?R6gpFAPoWJ3cM5J4YR+icH42x{Na-)q`80(S6!udnq -3{8PO%ygzSV!R*3i%Wa6q-2I_DShMpQ)o`1`a3Fz!U+l`6h5S|nZhOt>nNM4oI=fMEwfTMNntOA%@j6KSVv(wg=7k`6ma~z`cgyFu)p< -Q#qPuv`@$-R<~-4OiR$`C;uYmR*DQ>Ae6RgWxc_fD{^)%shkA#jd?@+Bm+r&|*eLl;?^e>i9UAASJJ{ -dXAHVgNgE!U9s7`+z^5nyp(#LjcJfN;sGHiP}7++59i-K|}^Xax@q_fL^o$CJ_(mOnkV!YLdh9fPR7^ -~!C%(YY+p4g>x6?L?Zoh6UI4beh!iWZ*1O6ioJjao1Cm{CEm -p1ZzbtBI=HS+w!MxO6)``l%e-l_Kf+zOTWWL6D%~zqW?m-W&pYf^jr -=JoHPU?^(jPpWl5%*Td|xBQV>_H0+!Op7ipN1|@+A1uefo8g{@}sGWzvJ|0{&T)FWpo5oLdgVDT!ymu -jcTLvvgO5c!B?tnq>!T4pspM?r)Eq5=9AW(g{A@JAZPZ&4Vu;JWM2{fIn_0-&x%HiZmvL3(f8K!hx+u -9Xw1amV;exHE+Byz+Xxr?yJ8zyrKKs2Sr*0dVV=9m{(JFF$X~SA9{8C!RngB`6VL#Va|V_u&cU8L?b= -%xBR7QE}{kh0m3RpBfVIs;iMET;0xTOXy&$5KBQCz>eoM -&UYWi#o}&D&g26OUy-#`IxP#qy|%Qg(5kx2qzNBw=>mzkW;HN*8(mxHOsbTPX_tO7L#%*s&}=KAugQG>J`}I+ZO-9>!+QoXOJ -C(pW}D2Gi^HLVqk=xR9+khO)OF9m3vU6vRw3BiZuV;p~~LF!rKe%eF5LWbfohu@@FkXWLe1v$7{gvLm -m~W_@;Y_Rwz529$9Yx|g#-pK%s^h_fkQa29@ovyrDb8+(?s910UIa5niz&SsqBZ2D!+7B61R%w{uNwQ -3c6{`u$Gnl)?KOE0~|)~#E|Hg4P~>UZB=0ZZ_wvw@? -Bsa~dvA3iKtl{^uA$$Ov%*V3%d=6X9SFvKgg`MC>6@ALuQ2y?e-<$Feq5PvL|0K#klk(^CR%{vNe~I$ -HOZiJE|1rvc(Jp^4%CDvT4^w^vd@lelk8{sVQfZv4Q<4Hj^EEnDkF288KXQALAjEe+uP)l=44M`L|O36L$GoOBT!8QJd|?R -x(d&wtnm|Nq!}ZV!YMEj1S0WeC*?l&v}XQRqrvrWk2Ib&)VhJP<}tkKZ^2Cr~J8;e+A{=K>6RN{5vWC -KFUvJt~yQmFH!zVTmFX#!bpOUN)VnP2pb8)UV?C*AXK*E?AHODT^q|;)f~>Quj1^+7S3)R<+l8tD1Sf -7A4>VhQT`c}e=g-;O8M7N{?{n~2b6y|((8lc!8rwcMTyK -WrLsCwoU8SBZr6to+3dv4f2OaAT|u~ZCZC3DWf*3FG`^NiJ@UJqoboEqZ2yo)=7{EHXuGcGA1fIIwmrvYn=oX-@C7XKQtyHIx;3AX4nHA+sX+L|6refqnHFgToj>jEio7gWc~ -^G1A=0R#W9i5F@gwDg2I2oKQUr}7AQm$jE=*GwQk*-64>Gs{ag~YUXfJ5Xo`Pe*f4=YXIp%@+F9-2(m -OIbB8Ip;tg9fR%P?6yLIcCX20E&py+adY5@VtwWh`S9>52;X9UAWCq-r`^jsUNsB5X4YQHcRw?oC`&s -#YTiL!cNF9ZG^!8y_}!khf10N4NW;C^CE~$+E9+czA7mV&c%SF+nX|o&D%CJQ2{NB5KP|3`deNK`k6y -wTKT7C2@^rwejE&37EE7tCnLD!(&2&NY)s$hc6u?+*<|2gb^R3?4kibLPXQ^!9L+ZQFWsw`62ibB#2R -wg97VC+rcN+M1=*`i)PVvkC=MVoR{QPtMfz8ks(p?_t_Q)dLaGU -M%dTt0?ni|Pg>%-XxOCs6k7Z$O>`^lytJvZWO&f+gfHbX9*pL^~(_Tq~#vbAg1vi0lNvkeC-sqN0LbzI>Ve`pXqz8~pa$Z|wKqe -`l+%bGC)C|oTa#4KmW_C3A -4ys-9XM@`3$?K^hs+ts~g%Lho#I&|;TvuE#~Uaj2K54NEDj@^3n?oDZ1xp(#Q^zvk#yZ7zm)upLdD@x -F^MT-YIck9{5t69@N56BNRnm&EK+}xV?p*#=X*Rn;&_U-z5HFI-o+Qiwp`Gab8M<1IseI4QZF=|c^z!n=heA|-Ur$dDPtR_ig -1*jlz~|Sko8(!_Q!^HfNjOJ2H0Bsk*`+~xyeQFCnjgY;5RZr?n!D=RdpML=I$Z36vs~(b$MIL(BET1~ -P_*sZwJVs4fY0K3HEGg>G>cfzsZ_XzRVy!`UZ3DoawzjEcu5C8h -tzkZ~?=fclF|9pwgXRlqmc7?{J7f+u)y=C9NeHN8U?PCGUWS8LQox5l!#~tDI_CR&_3G7w&fr -zcd(7K@^5n^(ess`vr?0>M`bio`^If}k@gINukyC%lzxwJcOi=N&XU}pPe{;kW4V?Pf@2pm9InjFl*s -){(C@n3`8#;8T50mN%ui&&}(kn8+1@+og4!Blc3Bs#4U63{-Bg3bI}pDQQycUJjKPBk_ -X2)|m%#tC&pzWHee@A0{P>3-ekkz1bmd~XeAmZVQpMLs@mz0# -)_AVgAiG-v~UZegy8gK6maM|MuH&#XV?J0@*y`Ofq-vmtTIVCb_#sFs(Ol-sHdj`s>v%zx?u}@4x -^4ER}Tw>4?s!sl5#%99AIjpT(c-DU@Xkz+VZVK?$f6B>;bg4&_=2^=VN8;cN?3=eA(~9O19vzh}>$RXeIyis+ytoIBXcN?i#rgR0<07DKpgwR$y`k+O&*z_iF7QVkQv2tqhugPrb -NhqtZ_)D_#8Vp{_-F91s;c7D4GH=8_xJAwIYt2fUwrWe-@bi2r#k0kGmAD1{-Zt)95^5XaNoawzi2Bb -Po5OlpaD7n@`iSTIs$H6|HZlP6z8FbIQKokx!0%I$By&BE -mh-~;3q%Tn)f(GCVo`bKT2Xz75agDk^bLNZ)xCYO`Z{Q0#04=~9{6`(Xa+&jpuQ=Bp<2>jv=YtP&?z5 -k0*voleqM_Fg&bxoi`HIt=*VNR!^k?uVU2hA(UkOTGDB-WP6SM=!OTrn>ho9s;{7d3LXrMaq`<(NEL_ -_A+oLALwo^q6P@0~W+#697E{rYvt@^T*^pY9|J1)zcI;SO4W3*-nmHbe*b4xXcqAUBYI=v^AK353QF{ -v*GYXc&5e^AN%{kZ2f0a+7^h!awym=N_L(ZQ@?>r#^!#`XBO7{Sil~Unh#3gRiIy$Q5Kmp#yCkat66a -yHL((7dYb1b3U4Az!na}zLsbha)k4MFC-egsVzLToAW-q{yhGqi&ypR*>e!p!wR%B=$3})fUGwrU*JF -D(Jvq$^o;!xf05cKX!wrvD54>fXxRKSzn9||3NJK<|BV|rIQ27i0%%ZzLPtY&(hwcDZr$QXKU&K-E{N -tY%n9YsWoZQx5C6dVgzq^YdyexM(D04io=IkcmG*o?3Nx!)&JnN4RU+#51m9hw -I}JMZbU=Z4<+47$Kr```<6X9BK%E()U9CsjaPmJ%l!=(4o)*8qgm -!CR@NCda`(N7=QP%ApR!Nu#sq3Z;@i%gbhPgxdZ9EmhVh5KP~<-_Ft8WuLJ4TEz#F&$cZC+{e&~CQYoIsL -SD|miv2%$(|A=TPUKGeTF9_mq6Aks-^RuLrR%L|o<+F$KrK#cEG&7v%B}Z_J@nL@E>mz~&dmE#_Y-2Q -rKk0iR|Afy9;0?TR22Q{m?E!czbpjo4Zy%%o1&xsZJxfFQ4x-^hqTz#uL<6-2v}e%picG^AnTD01A#E -ssViwVm62TWGM+zEnKqm#-*%*U9ZCL)HGth^@jzHM7X%m0zt+zPrA|=?@$=%w?@4x@fkNhKvmzoCiPZ -kpm)E3?+8vZG_XXvE$#t^<%AHr8>hw^7KwfxESFm53l9w!=>5Dg271|0QmjA_Rk)<3|XWI@P3$#nr}d -HnIm`P*;5E$F!yIuu%v*Lw7QzPn&BFCiMX6Ahw06AjQwN_$>MI_V{SD1Sa%%bzA1RuB!#h=xLvqs2P0 -EtJqnVRkmg`xOoAf8ejke^5|RFW>ccbO^-)s2!(iixr%ftCDlRw`sx99il+VcjPh8JZ -To+3F~F*}T#QzaU32pfa?=TQ{a{wVt2&)JtVESq%9hSzkrt{z1jX#cxv^<`lKp$ie;~dy^s0*|Qv}w_vsUGax^BeWr^TBN|!w!7$UW6wgAmEubYu1Q)5R@&qWuBj(j~yI&j~+evgA -YE)$+i}_01vbc`v4l0P@fhA$dm#by7h~-)A=WbTI!!A8w36GTMNVawx?(EZ$ID4tA6|KIMw$(&p)hQy -_y#k6kJ`kY879yWXW$2Km0IHPfr(or*Wl_CD4F&0Xl&j=%`N%<{;1yL+;T>qpe^*0^>+LgN=l`11$|4 -ME;F4;L)F*|3PMIyX&&Ev(G;E*kiYWXF@`P2x!v^4SoCe<@4sv6ZL>TLz&xA=m5UJUzzj8*Z^m=2ec8 -ihx+XueYXAB1LJ4*C+FYLwjlo`OY0XeUVH-WG&(w(FIccZ)B|V${zHcjfz#q&TQu`1zBqb&BQ -KLo)+1jvSgTNoW2G4N~ywMJzfAAc(DdY#XHrfH&0NMoLLI)G>w+T)``}Xa%RPV3s-MiPyB%hD#z2c8@ -?d>0huLu|~0w1bdPPPT!Di-a5>YJ0i2^l~i1s*GTl=(#HQScP{|GoF#0Fe>zgL`Fu2(5=+gMgIm}1Nm0u5bXf%5_J -MOK^;IR+uK9923*t;>I3~b(TgwQpf{cG5qBH@_Ofa(!}hWb+&~v(2yNksC!XM>vqV2_e*iZnAP@8mbP -*2755`0Yz#VkG{PN3~V_fIp;P7X0x8bkY|HSVC(4gqWhUfslp@XRJ7UKlS6#Ci*=JW;rs2jzGfL{l44 -_N}w(S}yzW&S_U_d597%Rh8P{XVunEjVM2eae(6{Q2jf7xHb-cO@VlWC^m4d-MUoUGa~QUAy+bfV;ro -e*8;)&kD#T`XJDu%=bfoK-Zx^vZn*Q-MV!vf8m7}ggh&47y)!EbMvs9a1WVL{0F2nUw3qL{IB3{!{5G -Nw6|gGZJWE*3BtN{>qLIgh4i2e_(HazJ3)(rJK3kN{Y81d1ApK`?Mui%_1^```0H-8D07~Q{|WB<5q -E*V{ro5C3ETV+Xh7cy`vv+Ba)AB_eJ6N~F(-JBdQj$fQ4hF>&WEmr9-}dZ@M{pwe>d&|f5`6L9+mp@fsGv~t3BDi-qhzu>vX!YWba3i&c|!mcVZMquzjBL)|NZ*!|Ub;+r=@i-LuaIq2=mu>#r6t0raJx+S_V -*rNF6#ho|x!_;HoH*uUzr4ozkzeo0*V`3(ddZR{NzXj^hMCsuw`MVAP(0!CR=O$ -h4Asf--$VG_;)ZT4FG<8wuxKd9 -ZMEUmbKGc8b0X#wf_4B1u{B={jn8#cp&jC*Vne)V-B)@6g1sb4yYM4niJ})cU^bmtWr(T;B(b`Y(MVRQS8#E5e*6=EfCy#Jo8CEAUMSAD3MI!sKD1tl@U@IOJ -g6`iD(sHk*@Pdg-Njv_*{fVV{F;-~t}teC*X!;Wvc83iGOO$#dH;%l-wl3HV3gE6mqL*m!`$UPr@sYc -Kz3TaP~aXeR0ZG{rxFaRJ75;0bgOcyZ184gc)vSm7tY{Pbpdetm;on}DCmBKyhmWE^k^d8BfuP&j?PZ -u?ipXK078`R)BI_P#st>5qIy$9Mlz_*mepD`Lbop#P|+4DY`(>m8c)^=Bo7+KeT=}|Hu?3-UU$P@s;_*_#p`+z -kdBDP`el7K=k$S%fPopb{3yJd9t9pvAO2@b))p-%Da^W9`8Nh{R4mEKguTi<0tqMF>f3d6(#0hfy10R -a|GX^4-_AXA_K}CvLX-EPt>HRr_Ur=&LJBKA9iER|3_o0uHY5%e&wuLv&!J(!5saB2@^Q#0{%7Xmu>z -6@LiEZt!0B|IDOMHvZ`7s?6~N25dX<8*{mkLCmGYuYvYq??*r#KrbL4Z~-r%x1l -qE=dNA5o@DptqY&+X`SRsS>({T3SH|3^XW%e%=1lJC>B&cr9xZTF=KU1^5Yj<)cjKACt+H26&j0N1qR!1K+~bsZ)iI8SMgTaexQP953u;_*7uG6Adr@iL!0w*Pp|(pOZj;q}S_(Z -os>$%Df`#3%my1(8JPg%7Dw_J{_@K&fAGpHuT+ta`q##d8=rdZwb$ -zCowwh9`wGFxdh^XU#dAvI^y;gxMy*@7Zs$Aiyd&yU>BCUZ)TY0(&kuiEX=y3uS#J@Hb0mM)&<-&+hP -=K@W01ISrT3sh$-aK^f&jHm$&a*LIgmwg6mG3)_e6oSB%93ou8S>Z(<425NF;>7>#hb=TYX~p+S}`UE?vQ_!`^KUuVdGq- -G1!aOBp4WrW9)^oAI5zccly(~6E+NND&P&hg#%+4*o*H!J4e8~7#MSmAUsfilO|0Pes1V6@ZsFv^?Ymo5HX&F?GC#g;|7eK7V3tJGUCp1zKQ -tq;)^c|dl2u4z^{h7guK+Z#gCM37Iy!_88(|6#1?~p)Gr9V1)m(=A5i*I99tHJ@Sn~d7yQH+sxVcQZ` -&0HvIkucIYnKL8#hky6nYwUd1m)3{JkZ^#rvOYb4T*eK7JkfiihHT^FvPqZ@>XB;41=6=(91OguEDMqwn6kcW<4%I2O6S9p+Af -Im&_EB`9fJ<)FrM6?0`8jk{Rw2`jFtu!63*!+L8D4C~@z2B0#2IkC|rOQal>6ei@L!XtCm15{OBP$~?DJP@<+yUJ+8A+ -L`DY_g(yiT8!nw2@E`+)x5-9uV5)o6kZdSi~*S>zs}`AGRFXO3=$QJ-py>5Qm>Yrt -4nGUsN^*6F)zjHzKWusOnz?kP#>IlAs4!CsAIt}WcF@zR66> -fjpeWh0vIgS`}fhQx-&hDAg~jUGO6qI~h6`@ioVoiLP*vv)J^`@Fk)_wx4i)_TW!&+vZ5d$;$O-ZkDX -10ERg>ws|sXAgX9;P!$02mU(n_P~}t5k8ZAbUurGEI#XfcKUqjbJ<7j+s4<=cckwu-$LJKd|&b1>ATP -OJKu}G|MI=*+hkD7L7GAR2l)(oV$chN4h-_~3-L?zEA%_#ciFG?;E2I7gU1g}9b7p0#lgo0R}FUYAL+ -ly|A7Ble|^BS0q+Ow3D5@q8dx2u3UUkT8}xF}>p>p}eH!#x(CMHbf+~VsgIfjn4jvdhDmWoHF*qyO82 -otfuHXZ~SAwg8-G{UrGIU7!kSjw}A&-TaLRN>o8nQPO=Ef$XIm7!UqH>G(rvnlO_4FI!S3LMZD)qwv| -3Gcv*ubfQ#=ygYt%EJWn+e{&;1j{;f-eXE8tgQrIYFH^WX6z;Av=e7hxmmAhYSrF5i&YtLdcYm86jyQ -b3$@M@KEbW}6%w%$SBncfS%ANPLK`x|eo_r`%=53Cy4)+g8JMV}o$`+aWvwDk4&jq;86o$8 -z6o9A2Ld&2hz-?BkR27NcElV5i~FTX*4dcPHZTm1I={o>bh@btmK{t^CD{O9=}^8d|W70^5|fM|{moD -!H5xH#~Mz&8W81b!BHCh%h5&w(t+BPcoO!=RHv7lJwjcMbL+UJs^WdRXw-;C$lsir_DUPX)Ib(qYK|Y -wzlRsw~6saiXDOp=se~gjlGk&&T_|&-*@~I1$lkqSIs((;4c~K%l9yi3=Fv7dkPfXs9Q5By=p%%*c?P -8Jap>T8_-&M}}!-Y0lD!W%t1!`wtrTFK6e6_dL&a-Pd*9=bU$Y-dHtKB`U0p3aEYRfMPlYI9Z_mz{Mu -LLkED1L;CYhE?RV}Zqq*l8y&irdDaXvBg`aVqR52INplbIcbM=^ta!lRAB_e@oq=IZC0TLo7$y -L&gM$%|nMBk;G=uR4_^U}Q#zrg#57!fCs@We#%wkQ$hVy`$Lj)RJa$r*AX@OWPewO^f9T2Iw; -b*^5ow*YSkfv+F+UHymtM|U^lJ#cnQ0!F@SzTy;WG%zLgnZ>oGmpTm$T0~>kMHf?i?@2YxM^41pX#p$%}XeuZDFW@HjC~ED^93);DS&MeSx2^#J!C&QM4HGga+kD|!E^*2P -Z!Z#x{4kKPn?FmK4T4muWhre*P(-3tZmj_D<9OK$#U5y7GNK<6VRoRZaW_;W{E;kEo#Iu(0C7dNG7TZ -wNnk$P)?9H{l;f;au^d2o#B;&|BcxDzqB~Q7x) -N=Rm!qFv1pgvBXJ$DHW&Tt)S!p4&quILxz)PKy#lwB9XK&9Zp}OiPWKzrqDF{8l6X%0=fcPLN|irZ_o -}}1WMd!AGF);_nbG_73OodyQOlgtd&RQ+0LYTP9-R=(jcw!REeroHL5|KQQ>BXpIqGyc6J=nBn@Zb^> -~l9-5$+y*mic5?eu!dzL2W}h^-Lg)ekUz*5)MRy8dEnj-eJ9+jz!UuqgnVknM@Sj{l%9h$8 -f%@gI;?nmkKNN5J+nIJP -|wj8G{m87PqO!dC{P#sanRgP}f-|0v**8CmD6!Q6GCqI2rGRlNqy$T6)9*-dzq=w|uGCOGhX?KTQKFlb?nM%Yg86$x#eSuoG=$TefRUJIPMAQ|&anz$@T|;NMcdmY4I*ypmUelLI`+Yk3{7=ZC@7 -jXcDg`6+&upXV3(CEm)f!^F4^IPU?{M}XBQB4B1miD*C^1DInW{Vd@E>LkFO3dqv|dj_DN5BUASKpt> -V04x*%4{L#m&7x9Nfj0vpC~8HWs27J}7Bz~HXcni$S#e%mgvsQ}RGA_DvOrdY`s-j~AC?WWQHE5ra$! -Cv>13GDX*wMeCj+LmUuWw)y&UFrp)S&;dM(VRp#IMv3|-Y#UDZ`x)m8t~`WH}30|XQR000O8B@~!Wrh -HB4;JyF=0E7Vm8vpnYkpvME0-1zY0`dr;0*bPS -0~kP)@XGnt+WX98c-VWt@86FfnRE7g@3q%nuf6s@We+SD%z_|T;7`{Dp+VsPJi`C}uN(dbjafBF_#l1 -Dl?|rAmMia_^V0>+`BhInUiHY6&WcBV_OquH=T9DURt10N{OQk}-n*tdpM2`k$F9%L&TtuZbUrS>{Br -75(fD7Qye9ezJb(4ONc2PYd@*{MJsYBbfaf2c{V@7#miOvt8;h?q@~<|YAF<~>KdqR9^LS{;aAZ&-g|M0jaKY$-Q2Zc#6-ctm@ia)}@lSKmX>?=+1=BbGnia#z5U+^ltnr9Lw; -mdN9@YiYZtTqX&Gm?R95*~#PI8O<}=>Nl<43rauf2DkX^7YDNixqg*ZZkTBW4BzG$0-Q2udjOa5#sxQem`THU9|L=dHb}_ULo&oZyKRn%D7B0;#3r}@UzhAC7Dg!KKVm&yCR?}94+SO!&unu6EKp?%67a>TLW94 -2kj9TvY-aoO*e)uT>gjs5^?C1+%EqHte;v!`s`9<#@zuxT6hs@sM -b6TfN6jzZPT6EukcVH{8#} -U4V{!)^_>+2@#SW^xL?<00(l}{S4!b_I$<;dr>uYu9mQV)72Q%~%{j;x(j`$o=PPU?yQyh3jsc -4;ahW8tTWYWXIQ(P_-8Y;)WztD0tGf#aItKc20NcpHgmFuu?h4(Xe_l49jXe)={0Invg>0gs!Ms&y5| --525R~s8XqAlOt$Im|pX>&x(I2J?NFQ9dqd?GaAMGJr=dOvxv$WIo)>oc;Sd?`IFJtWPNX3lEa%yDbReTY~Efb8T%iE;Au-=-)+FAg>TEtv!DIm%NXE=_}!NpWgE7+ -W4kU)@h(G)<{(7xb3EUdYB^#O8e^%AQ-II<9N*EJi!B0|;lzF`bD!B)-68fEp+wk&*`>6+HNUmn#YkJ -|vaUGVTjIMj>Qkw+$bWpY|~n4o@H9VfsVEI`h(#v~XWX$z1|GT99!Ca90PoUkH&ke75pt692Z1iY(#s -iOCDTukMBElq>=Jh+zBqZ2~y!678O%5MT{q}U3#>yE$e14)E+R$V`##aM4kT)8vk$UIjykS3(?Kv!-b -WsoM{eCT4~_QH1E@!CF|P~QQmak;?h4?ttus&p3E#K@HHcx)fSN*P?U#5E1G1=AQQ(NX}U5y$>MfZG> -mbiJmmTPR4bE?$l9*teIh?;Vhpw9yYCbK!QJ!TCTA=g$(?aaSmc?Il#jk&Uh -hx}m-QnMBAe*`oI=#tAC`VkMraM02bxz_P4?=~I2=Q|vegFsO8HDzJq_IfUWpV^cUEhb5ozNYh?Zc&Z -Ncz}j%r#7^SFE3Es{~ZauT)QuRmMwXCyfnZYhwhIJ=u#5Pqo2%+!rqs+>DGV({KJvCjGGvfpu*UWRx1 -RSjAiE?#wu`iS=S#0n&=JdvzZ|{MlTwUc@E`V`EF8F@{c1v6+`S-;1DYr4h`oMpKOJS(v?y_l?SAf2F -thYGs62pNa7|@%Ri`ZApQIalykz!f2MD*ebo@ahNER4m$H}obqn$W$PVUlSv&=xgfUj`bP -m{y57{LK@G7m72M3I>yb$uA<0j%J1nC&?*+4F&^E_QO3iVNM$7W%B=2^nO*8BsE@8))cQfN^DUkz$S9 -)vu+A^&PU>WD)DP;lfB`MEKAeh8WO`^gv{y`8!zRV*`;nDcTUS3%k3`&bm9uuWm?@#Co5A9X=F@+_d8 -slkhR}n!;`Oj{bv2t8tD6yWu -EC;BAumG#gz-2xOi0DvwE097goM6$7;0c2^Pz#x!Rac)fS%|yKIpdKJ>n~|OYpQA(1^S~wlDl5e?wM- -tD-Pu3SF$uxJa&xo2vbR~+gDIz4>x1mB-t}g5({Jiozq7Sa7ou!cuXQ2WRUA$X#xNbr+1;nK;b53xFOkwdP9oYx1((y57R0Z>_nT;ZgfA -$s}p!X|ADh}S+?*jz>oF{!2xVLOPuMv)ejoibQfn*r@ih<4vVM9?CW=9a>y7NbpQERtQ -a3yI6$KVkE(AiEf~3tMT^9S<0hAR_CXM$MZOWobQdW|Rxw-p=?}BhsDN^)3wX_p#&fo#&@zSF>6H$~2 -X|ZlbSU!Jo&k;?K{GXO)W!F4$tshZV~1jSD6+26;bciDwW}gbhCh`_^KU-TSMKU97Y4?8x0&0jOm-z+ -$LOG6Bp`a$CG)EV<<7q_VPFGWi}LTx5>|x?lFq@J^q&j&ma%{8bq7NH!Gf2 -C4MOwV0N71ItoU01s`@zV(2c93Kt^%?4W2r -Lr7GJvq9Yv+kRC=60)%3?NLIhGF^y4n_gBrQ{_&8tI4zi>eT@+h%S6;2KV;>*=yjMFPSb&`WH(L2nn! -LkwCU^>ESv%1fcsR?8gNr(b%310VNa0xvmnu?(HHGCn3Cb2uqo*S6s7e{C3EEPDC;MvlR?ySU+9n`a_ -G!=0t*ct3SJep9vsJk!V~UyA_3{3EsR`u=#G^gh?Xz~^KnHlM%g~DJi&b6WNnXC_9O9wcbGO)th^ru= -E8Q6mQAs#ENL?nSs{w7ixp!`Vr}gP6oZv8|5~P3HR?#epb|QimqYBmndJ?TW`IxijerrLMRa#C0ctpX -J&%D7_+kf>Hm5)ssKteA7-V0MfSQwsnkOa%!%@W$p*ZNwJihuf={@iUq|Otzp;_R}@LGw`1EFlb{SE)omy#T7LtoOwdN>7hyWEe(UoiLAWR`wJD=yQfeo4EL- -+G%$81{zJb+k!=xToLrO45WqDFsOLI*i4cSvpiO-pm`*>M7i!F-6Lw>*)#y=#oz6`N?Ba@rjgCpr9qZ -16|IMD6}Sj*4F-e$?$m4m4B0KMKu&%k5^00o@B;)vKO7*N%l>xsGEV5LpEl%Y7Y9EX0V -^K{`6bEE|i{hyS8Qfjz?owK{ABy#ZP&9DT-8TcHuNPTBtnZ@Hn^7y|Vk(x(z*1H$wHag#vA!k0*;@n} -4Tu>qO9kqm5hmxk$_bLE!E(qF&|MHqXSQ(OTnG$jdw}dIwmxwKKzI?rK>39+{!s(tA8CxA>!mpUK>pr -Ru|8`k=o)NPr`f2QoghsPsZ`IfxHBwnozt(bOY!S%*ynca^G0R8SierJZ_jT7#KkH>DWfxxnZ@WV38bN>IsA&1HHgnm5HMM2GHqYvG%w(SS)tA<}{jc7TqXEBvE -!ZFUpV`x^?zXl+^>>^i}AcoPPjibl@<$a!oXCGt8MblpaB%4HO+&U{v_*Gh7N$yJkjdHlzpb^uyfv#K -dlZ`VbNZ2ml}k6dpwx6}S+6xrj~pkN`?!yATD26`|Qi%c4)_CV(PG?&_{7#Y@vQSU -(YC3;-V!@vu7Dw^LOka&NwTET_5LUaG2nsVa2+4-0q`k+#`G-*&LUf -lH$fKlu3V>_{~5rav;g>H6L_3mJK`tN*hrKl68v#K@W;iuf$(f6*RcHL1fxS|0^}ef%WOoJ2N5f9c7k -JN^^C4$1jxF=?Q|3HCwjdjfk7YTz{v>b?VU>(?Im!TnTA5CXY1WmabU8x6<7fM8(M0fFuAy3qUHd&dD`FV -!K#xk+rLs!72bN)WbGhyrfxotZhYk3mfm`Zx-t}jcbkz6v#Jyh5O1#Cn#%WOwzh3Co%AKLz%Mq -YeP^tgarI1Ke6F+qP7!6hDu-Y2qo8tI+@qq1WX9nqgSj?sq{fzM}f?aL|Z{ZY1;z&nwEcYIn(9J1z9< -G8xic#&`vf2!+@FoaE4#>wlMa3d3nfSPfmm7!|^^#(~NW?kUZ+DVdlV*dFOq%;XuD9I^fx#PmC$b=I;46u)SGZ^V1k1y({ -d90LBAGvdoguR-7Kxc=k%?;cn$af640zB@QEVYd!u6Q+%%LIy5ASYv6>GrrnF5XJ2fhU9Xw&6#N*Qm# -b$m;|yy1qOR>qH?VF3H87?g~!5>N9{9#SpF8QWpW-!DOCTK53Oq>p+7-#Je~pPEIcnQoonhm&FZfjcEw0d9bdQ7w&`Mhk7_Dhtg@{fDroWAi) -2Ha`+15?q)eWhP0H04slD`E+p@}nOa0qWV;LP(&7{(v$IXBQn>U;pFM%Lt5g)nbLe-25`y;;cqM=^z$ -yG>2Nqp?J%iFP)>I&THSgg@J2Qwm7-s?ffoa>IM*NYnn}5SblI%Kahi=fj99lIffhamukr~x)?~!s<< -rdmCnIS3Zqd&WYqwB^JrceLQ&*sqz)o7sPPMv@gl|divMxInLK~O7ljg?k#5#A=PVJMu0usQTdcA_7P -vT>zqS3y5KN~-!uuAp_(>r;&teUlzv(eFc)wkv5x8||Po!=IR?5`;_L(YF?)sE^7XV8*AjThS(7oOcS -IiluO$cB5Qj9oqptH%DuV&|N5aq%jkX`^9o@aDU-GwE@MKK?~E1U+ojn2;CC?z3X4tO=UEjpRsDmmLV -p=1mf})5YvcmJM@DQafNK7rt8!(ES~i*M%GiHWj3NC4h<)=zK&UUfi$|D+DjOSGa5%>!WYMJA8^82wv -@uR!czL+F81z&+UURTH1aZI%}U5i|1i~v!u?D721GG_Pp>?RdWw<;llT(mI}H=t<8{q5iS-~DOO5EI; -}v}y1EdKhrw;nV7y=tDO0cZ4*cdGK1NhNKl0J1cgM<*YLCRo=+)S^A-{m;@zjra)N6mVi32s+JoA@_( -@m=27Jqyd^P#~n%#QfBk5>^*M_0=HGGfZ~E8$x*MXh#AvC$B?< -94(&SlHUSt<*I-@`$YB9o6JE3mKy|QaUU(aKh-6ahVjTcFH3a=PjG)>C1jBkGMiJ{We1xrM?HHm(@0r{q8GLZM4{Jn=DuK+9URNY8+PS~ -6@flO%Y)C+@<8d8=_#8k%A@>Z?9x5XQ~|fSFIvgEoJ7ZmvJPz={4n7uZ6}$kVnmawCx}e)4otS$=OBI -T#>EWD;9ZDTa<>?ED+`x)g8J{iSyXF~#G3*BGox9gv@hW97N1`MSxMC~oq!P&{N~*OB%E7}9WgJ!iT(<*gBqc>*l{HFC@dB0xPKHwtSuvwv+$U&@K{ --XbcIuK7j7>ezVIece{Dp9u{Bkt5feNXX6YbuH{0FA7vySRf%t81B7vwKXlE*!7tPYlUJ^sN$>ekQ%? -oD8dW+orrA0RHC#9hDbypR0s4ckB7doa`z3zPFMtpJ4J*P}i-9m5#;^N}S?WT8467*g60%Xg~QAzKNc -fIPv1}>~KuayS@uyf(LAlYSwudj%;o-U$#O-e*?_u+^X!=T3{O0C4NpvK7>T<=3z^?U$7xKzfo%6|MDSLM+rz1cht4n^EjaX -!*KfROL*HgMf{<MapnGF*U)wS6P`JSek-PPiDZ -CY>D(sncbRgZ8{WHx29ly66xgb0%C0o#D=zuwcjFlt#4CLPk-)dCEvCa=Y|hpVSk#n4E=#onmU1oZev(8?gK*as9K-$&ZSRXu~Wd<^BW( -D6Z9o{=*Pa*CQLt~#8xz$%elngt?~TqVSi1*-L-!DkJwD$4+*0cG18(I3Uk=;0^y%X^uo75X(Zf3&0~ -XRcJ;C1Pk1Pf1kZSk5Z23S4$ejj=sBoXrgA#t`jJ$g-4Wu^Cyuq=_tc$TC>Vhb&brOPZ0TiDeN(8N9J -Ukj;KUSG>iAV(2K_Yzm-RX)~xdK)unq2%Wg-;pu!FdmxK$%@%>k1B(m?bHl#T-f++s2nV5|4e+qT-vn --S0W~PG(^POF&AUJ+DJa|*nQEecM^Uj*N28~^J4iHrnIKRf98nJ- -I?P%vc~Y<-FQwUu2KmWv7d++3w*txU-I;FQ1}bwUR$xJd}AGl=%5b)dhC{sOcxVNiSr&pJ&Ig219eYR*W~pa&kfJxy9X_lff`gX}H -`9rqqow=zE`$!SYLHD96d;?P`7pQRP2l8n)o_sDq=;;yzegtL`0aZ}9AXIYFQDI3-@mM19CH96F+h;L -nI?eu9zUu=Cv}JR9$FGM#clgr5L{OVP|OX4??vC~i_I)-o@Iibqs*22A)U$N>d_*ZIdvwfmWu|Aje$t -^e|?7p-cPo9BOaSOL&?{h{N_%zZ(`NSh;&Tt8@wpBAsZ#qnr1H)Y+%Nd(}N`O_NEs3Rf%|;EgTkfT$< -sl1zhm$9!>z8?0hc_)6Gfgzlx{lu=K=U@&43-JaZFyKvQo`MLcs%?=jps0+DHUm@qeVNeZVVHc2n`$E -i8m1#?+e*i?r8k^qPR%9!+t*O{b^X+|k1;zcAv{RJSLi@pbTf3(?Y{mlr?X5?8ukeSziA+5Et(-8l%8{&U7~t`A)K0Ph(?#9!^t()Cz6u0RHELJSx|XzaAKC%i2U)_c -H_}Xy`C3471q!krCQsXUIosD-7t^8gCO|(3kji`+1l3XMGd2?%B|#(~{w|Zv=`#lqACQ)`*kyfda0e7 -R`z@wTWh5;V)PP{B?l}A}!N}7Q{POY!Ex7^&N$W~1Y;FgN)&{8mDi*s4M%)>+V$T}xC0s(7YBZd_lO+ -g|JM*YFBd$b0@G08Y&&p<4h!bZ)#eQ|kc@PpUq*Z&maRO$!dU9gFU!+yQh~j&jS~=5zX{Eqz4ZLV@qC -uY1{>2>(kP$B04|?#A2Fmtm+5Yg%^MaO2XF}3)^h@{_3vK)-AfI -|>Jf`_y?P{78K!SkZlcG|A|RRk_zQT|Jg^)jY>#B$0*}~>O#c~wE04Mv9@-KJU&X^?Fg%a$NJ(sT+t6 -%Z#jKOdnI(v93{+S@Y7>OwA6t~6sLwGq(Kp@UJzVh#cV0)S^o&A%-6XzT%Rj!thGPGgKf#=32CHW?6<{G2B`pBhFhRR6K-M5H3 -NZJ6^>6qtK+fP$FIkD=NA#EYi%`(4Ui4_d#A1^DSrnG)Hsp20x)a{bZSHMLuazq{veooUHgxsTHk+WY -LoPtF-+@fpC-h^~slyf*^ehc}wh)AtwI~I;_Xo4dZ?P@XA?Z6cE7=4O_kLv%b~zooEQWG%TQ)tP -h(jn*#vtGu|v(qQcPaN3k#ljk(QzVVa6c;`R^fZ#aBn=HfSG>cCwjEvXJJDd(V7TiWD&S@y&ieT0-r+ -nFaGPYmcM{o*u4L}Ac%)KDvVV61L!E%9Ebk_W9agxVb~CwSA;zgwZF<{x`*eI3@8iYev#8{wX|%+SEtQ-(4a{XE)beYl)AzwrxlI6Z1ahpkCuTK=x# -eu4o;`ea;|6O3t~+-EH#yYHjI*=RCdQ^`|C?x|+4BwGCYRata%H9XVqZLb2s$8a37-QNFWybG;H|u6OGP;kMP~9uo2m{P8wN- -cIv#^<;7`cKcUd<9e#~SIF9US8?+-SLQzY_VehNQ5!YgAKjm)>UZ-~sv*$B%9j`n`(;LUP;y}zE^U0u -K04(sg})w3TYB(4(MEGZkEJ)PmWKlFHgNA5)g8Ipp#xf?#>Fhw^wBl$!1;`fO!)oy&3rN1fP3T)fdV^ckw -9x7gjgJTfz*gc=Fu^9`5VcnE|cX9KRN=OK^~bm;L+%gE)c1=J4subC5!(&&1(qhvgqx@HK!j~lnd=?W -|I(^W($z0?s)hwTt}a%mgr_Q*pEQ&XzgLT%_cNey%#lOo!VO%NacY`_Kz>tSLMi$N6RF(#>C|OOZvIge1toqv9rWlWtJH)}wDJtapXc~A*+m|SKlt~24GEPW# -+Tuy1_z61#$q8V~z#bRz0tL8?r*AK*vV)L0+c7pgV#xckr{sj+So48?dl8Jd6;wjQP6Ck19>~5+0Zkg -A0U#r(O--!;P_i5LNEAKaX#g$E7_qs*Hr2I~aGyyra;K5VVdro=>9^Y1@Da+Don}VN^+q0O745xZN?u -3%tEnc#T?}Uct1ELsS_uT07=2T{*^9YcQ+?T~p5JY_Q@k9aJTMMuguB4@~9lZ_c^Zv_Z56y=fFDxOk- -6o?@8S?GOjQIhcQ_hDK_y_EX42pXozg6lno0RnGbo(-I#+TY42&O3Z>U5{H%xn9yt_FdnrM1@ZZB@P5 -kLMQkO~E$pHpI<4^8gO7OA(J#?HjSk2Gv9+JGCqcLxZ3eK;Db$(AOcLKdFk!Br@Ny+XXlBrCZJIcDb- -@VG%q7OZdxKEd$~#{q9@lychS*->LyJgErZKf}wzWU$3HssmpH`ZO&IrU>bp#8&z{(QqqbvmT2|5NtO5Vc9$C35z17Uosldj&H5KR*P5KOl7pss`V(C -yR+J&HvDO_cUKa%JmODM!Em!lYXU_+RM6II}ITu1sZHIdHTrdYMh|Z{0Fw%&}q -J5O`?S=lTe`1v|9l`S;gJrJatIIuwtv~f*`dLDVJneo{ed+%i%OrYLG|H#+h*8(>)J5lF(&4}Esd%rEGGaUgXH{fI4r^gAP?^Sp4Q4{`}3s@1S -ETMY+LGuyLt>}_Jzv}O*v^XwX3s{L-uoo{^f!ND`52kQT -@mlKc0Xy8igJ}3i+*fUt`k=d7FS9pcjuxJu)u$iCoMBe<{gsFgt2Aj&F;>HN73c7Xhg8XuQu7r%%A%6 -j|M*ixYc}vL&Kgbw=V{w@GFbk;sKvgF!tSEaIp6Sm^ -d-x2Ia)Tlbc6d6F)B3#A)Y{dlttC;gNPuz7o`7F%E{$J#@q;ApaX!Ob=-PC>#pMPxNYU7%7c<%jxyVS -x(xke|71e6~aD%6?G_Y=l_e#_Tso7BLvd{_+gI -$D6#GuEXJxniSO@11I|l)|<0oO?hCTc>?Nc4KuOEt1^^ij;&xh%j;nm>Fu9^* -S?vhqnV7@rh8$7tb6Cu)zrtSIa7fwz`YJx8J2v8w@?K|&X6Uo^h^}k-Adm&G0yx}%5Ho(NpxXhx0`k( -&4#(|*nzays_YIz3{kOhtAQP!2kr8MW&S^x&m!<>WN3DxSaKdD$1KqkwCN*{wR|U=E-NW(_8KTxQYLMSSH}JS=CLUbLgIEoHi@%pMMa*hD#7#&e)kXvZ_RCbt`clsNg_$GIl&|4 -{wr=?n0X?N#86p#rc|zh?taJwEQ=jWY34z>YOG(0X{&_oC~T{`ry(Kg0Sf;_{-uao4F>sphHgK^!O9afmZuTGlA&MQ>9+r-+p7%a;U&^K72S -qIc-a)jX3V*Lz|=hjxDG{=tARWAj2!g?#~Hl!1=ew{X7tS_^#;zu1eE*Q@wT>AA^re36q^**~+f;j+b -5Fx~s7Mpe*nVJKVu2W+6G(2VklB>_orQ*3}CJI17#R9*VHp*?>>iTK3F0-G6DKL~*Mq|I{JSpUf`AIjwH>eDW8hTsc0TBnf7>~e<2SR%o4UT=q&9-7~JA2tK);2N5* -SWBa(t{|3-);h`V)COiGzyS&0^Fx>0^h18yZIE=p-|J;ADl$uM>F*A*t8p4+ -G&XMW5~opF%VjEaLuIYrF}i>?j>N-7!Cd+PuQymoryax{4ySfasOjkmt!XS*9=+ut&KaIJ(lY79gNX@ -Tb%0Ia_nc}dz^z!^V~=mVPvE=l^!5J49y?#3J{t_zEpZU(P9N&-v=DU|ZfoA}w=E@b_Jm -Y~i9-AjVUl{9JxVrR^?3sSz9`gtnoY`x@H4iaX1iD$X5_ilt{&`{!{+eRTvD0~Y3hM*)V7pxY3`eNt} -u85-Lw;Nt_k$cE}-`x^U!Pv1v5cLoAm&*NHL-8{Er2pw=@^MXT;hF%ANT#nQqUY3nXQ-2^t}#F1;;WY -6~5Ec7&H~fZ|8WagR#7Uu}0n4`R0ghT*BbacY0Ras|6Tt`+ag1IvABR|#aSG3G$6|f7B&-Dm>*f#P|m{e7gulC*Qw_akTb#` -8<|i1`JqEX%PuK4?xE&fH=*qpw?P4h5(zo_9hIjwWWQMmmnc)r8hpyE?#^*iUpUm;*@VbLPqz~=o9Pe -7-c-KJ28#v3GvNwt4-Lf|^_t8BGmY00#Lh?O7m*^3v`BgvP?n%^A1Fx~6cwSPwao;toQ$Q>*)!0(Cld+g%7m8Xap}k_rnqEszn!$vzBFJ{Q*80OTNnv>4Ylbhxz7h5# -sVj8Tp*f+fv;GgAB1cObfHHz>5wBgeSzD%6B;w>gac6!p7o;!0+A4vSh2?i;EH>}r!eeM+wSxJ@v -id*Qtc$o%X~oSvR^_?<1_a=D^eB3)760o+Iq&pLz?ID-BSR$ZYUE}~1j;*2G>0o0g69gwu{ukhx!9>* -Kt)K^p4W@~`-1tQte|I&4Tvu;(t9y67^c-r}pNs#CElrQt%Xj@?tYv)1UnzOi`7Y?VTP%|_zx+^}fv4 ->L;SclQe`PNjNN-^{!=Crq6+2&m~@5Umj0gX<+lw(roc}ZNe#as8}Y`tB{0h*afT6#NIn3NUjm;C{9Q -k!jrU)`oj?k-83+y%_3oL!8{{C-B!H+IK2C};zFWtTA>08txAOyPERUUz{X%`e&AucBvd*Hlu=h6F6W -z!MMn$u6k@w@Z7x1wdPCabtQ}pdekk1(cPSP+@}M{1SEdx|Sr3w;7GMhxRFDbs33r=Do7M4vO?)kz%R(yeW8nQkh$@OdgaOF;IpVI1NRy%q{V02}H_1^`Z$l>qd -6xgYMA6+^kuLmhOrfp8^r8L#JQJAc^nLZ8u;9&KK<#~44Gy|mti1_cdaKW;h_x@KppU+iEm -hx|5lpKN6xb}9wffNl+gX3bdO!KRj2!oyTY)T7b|`2R8e~_aeM(y96DExmYmpL4x2#vP*`|wM-w@l(x -UG-MdRxFv7Yz4Dd?q|^oQikzY0m}-jp1sAk@dw#1~k1Khi04!(l;1mObhdy6LrTQUSMyP#Y;a`9)WRX -!?=l8u2M5wj?x4N!~xZC6ARdg*MF7}}P?E?p99(YZs`H}#mSLFCd~V($ -vZUX3QIXDrVRhu&2UfeiXOaiw{3(Q09~WD=A^;>yg);+k3$hS+J!;I@ -#Q%&AJdAZfL3w@LD~SvSjcwa~viZ>%Fm9J!1}D5_=2Ql;5Qd1^D#tH6T>6o#x>wc;BG_d2*VR|M@oRC -7a4fD>9$L?d;CN0Kd2PU8D(f1{|96^2JE%W}~Ytp3$Xv@Vd=qzOH -y%h^otcdy<01@v?RI7Tlr*5R2`J@>qmYAvH-R;Ov{SL?fT8Y9i -f2Nv&H98kk-at7O%57NI3{OYQqE~8kD)eQ*3_F1@8C&ruS^WBziw3E!vND$9F37SS!%$Q`_R4h}yQ}E -1p-0N#{}Ec`|4r`?U`NKe8bycHMcj_G=^Q{%wrMGz=8=ZQ~M%y1sni&XxyfCEwl6&K@UU5hEdcJ0e${ -R(0f!%eLXR6W%kFs5XYDatik$Z~Ozixl6WpBX9gQLxIBq(uwx -tF>F(L=IQU4G4i&#KkgcFIA(ka1GG~%QCi4kqQrOQDy`g72xc$jYq|wQK0Rys|9}gXX{Cft3Uv|sLeY -}!uItNSwA9kQgK%0ar&k))DNmVwxG;fiC>+v{3PlTJ<0~zeRe?>jdjG$0&CcrflJTuC&}akK -4vvX*->2F-_#x1&jVuPd7H=+ZDb2wlY`CxJ!nFRI|a{8VNMb`=rU&&G68s7!r5nzqs6y#flpS~rOWCa -y?SMIvMywJ!&PQ@yFtikoqQvPrg-bBN@Zf*i3QYk<#ObXUS1745pN*b|AK@{Z?WR~iCFtXMoI7hFfw4 -=qzqIzKSF^d5Se2sGk;Z_D+Y4io5aWqYy>4Q95;H8elRIH+`c`BI3C2-B6X~paGH5%*x_d#ZeAeCk!i -fc)jzqR`hrduWF&Ps?b6P+6Nj0NB5HGgvZPK+C3&Zg;Srwx(7tDv_|-`+U73TAe&rFV$0wMS2k>DF4) -T*Mm+tsW4fFo-$razAz79p1m%L0is9zcS{4vnyuWR-biwke}LiUHJbLxCH-LblwizPorn&ivUqrlDm> -Ux{|?2=j^`5Gv=OiG?QhW(r5*6}jWN$!3nqdMTWRmVa|$0J^s-s*MRYI?gG@aFAN?P~LP$Vt6zx+C%& -_JlH*pE87^%$)s>vsM+ixDr&z>)dKz3KB85&7)}?=ZT#4tJEi?kp{vWtXECv>D< -FxN=EfFV~!9mXQ}_yqX~UougRv7uBc&qEi9lCs#A)Ce+O2yG@eyqKZBI4Amxj`-9xv5wz2e%?UFQtjv -47q=Q|+!iF@i8f_hz51{(TXStI!j4>Uk=58pbZDtz`Epo)+gnk((Z)M};ZS|uz+xhra4HxPbGr4XN*D -MT*=_Own6f>8WL-nc?=uDz}v0tHN+`f2$yX5bhAS{?Gll=kmjlcOkkjb0=1W}+d$)GU-sXGotGM5oaA -CR%l4{!o_yvLhs&_9XnfP{VQS`uv--MDFh{%v9na{_qFgNy)q!1-`#u9n7(bX%Ee3eVi -(job**aOQ>Xl>`3nKsPhEQTB(}-N(6WqZMb_iTCGtpc4+Xzuk@Zu(i==LAgiWa9}g%a(=hWis~h?!k$ -7sa;J&Dx<%KQ7w(hP4jmnG+<7;j17wY$)gVyuB~Y_8K#V)oNe2XF&K)G@K+oh{Re12iUzJg%X~07(#!92dUgqWt`p$&AYTwzRiSl^_OS`CeQZ`**|l3u`OVrCFWDL -((N!ipJ90RI-Qq%@eUQnBSJSWB;=S|~&2xd?c`w^t^SV5SA5E+j?Wj%tESX=Q=SkX>Vn<~Yr!S^G+`@ -eY+XG~qw>bN`PX!^kn8V|lL`&4xX24_MmdgY@0{PoPyt53sbl4e}4m)w%r7`Rc@nIWB`qoc~d70_9S* -*9qY|O1KxOk@-ON8?K+fS-X&y=?t5955`%3UuEL`t<*k>MQmd5YY|1vVg#2obHiZ)6!xl?P -{I&3qS5mrO3lQ%QTV;nkfZKAKDg->;tMCO~6>*b2$3>GL>yv>COEX9n2WG7xVl>If^EWI100lA`8j*K -p4pCI@EDvoVp?v*sO0?+-7-@6GlxvQgAYo8GJtoZ)Dt^t2tyz$*h`_{9I_p)a~Ewqr=I1S!oJ^ce`bT -0Dq)E##|&D{FABX6Lxcnk=Yh(5)+!QS}G@%$*f$rThw>B|s|qhQM50K0k*M>z&Rje?RzhweDFSQt3sa ->+GY7o5vG4P2&SI_Jj9kAWWUJ|qZ@2vAiw1=BsX4d|;A%y6F$=Jj}Ho0Q=+Jl!~{fpnRs -ph|PTL;=J3CD$v<4m;P-%XOYjYPjKuS&aoeJ=Y97jaO_!lbdsEsnPM~kI7F$3fn)3CAjN$P9J`2d?3< -zOkuZ|w7~A750*;*tQBii+nl^}Dk*FVd4kY|`I=j$m6diAL;CxGhM=xthG9I(Ds>q)?k3@z8d{P+;FE -(YgO#F7*|KGY^Q<2+ymbrd`))_9f)X%cbNzIC&7g8&}Ds)K~_6WAJ_;&Y+-x+7{H4c96T&8R_t=*`6gyaYPO^7eKa0+ -w=J+hy4lZmS;bnsY&}3E8@rO(XF@{)Xvx`uu-_&{Jm=W$tev;nDfaOD_)wp=*u+o|nvM! -s>niJny3QU52U7avnlsq!lEXE{F9|{u`3O(#1;wa}PrSU1Io{V4gT&etk46NEy~Lt_jnP>=8n?@|U(^ -);CMgc(a;>taIFb~HUz*bHsVV+dQXJY%wOeb7|05|5@95C3tttL6WgrgiBigW<;twDWcqVp2^sWoDH1 -Zq#WmjHFdS{r8M9V-x5x)guIvY)3zL5xkrq_rM+bdU44;r`V0R@3RA1d9G8;x96P@64-sR=e#7 -iO2CiPUcTD3a9%6NSu^l5nrHw7@27{u@(*|Gl-})&LF$vJg|Y(hc{qNgaA|21xbP_9&x3yv@6f -<9D@PK?LTJ6tynvPkv*29qa)fO#p+jGF36eszg_CdcoaWk#ZiCzHyrf~ccJ7{a%h`ioN+?3y1Ui73qM -$?I|4sPe9H@=`6gU)RSR352w5R$24$1o0LN~%pBpL)L@eC{^)gYysP*yl{Iggd=*rx6NQgESHhIH&55l`<9@r68xH$Cizwx2+= -#HPxXJR35R;+!KOAjE1IhCBmH=%kGZ%0v}Dw6ZN@L3>lJIkbCZ)B>eu$^7{%>*vpF?K!@1qvg%8y9%K -DIpn2tOiybi?QqCK`tKntkB`7*s{+=SL+x4h{x}~WwKNKQ&>ldC -xwLkdF{)zvEUk?E_GE43Snr)r;4|cyMzqs**rwl8g?ogg$JFfo1eY&IRX9Mr|KE-W+MezvtQ@H+T!ni -8Q{r&+1Xv#~yfR}m^p%uc0a?9~KTvdpckh>oCW%vyO75euMEVU# -B%l{p@?LD!9c!P&Ui{JMMLO%nDd@$wlKWe9g#GuR_}*{C;RR-WGC6{d`~keu5cuOxJn{R@rJZ?sYrHc -*xS%sjw#Ga2o#g&5_)#+HYDpl5@%^%k?wryicbRD6YF%F*dDzS?EIW?~!qUg&3Sj)!H}?w0g;P*hRyQ --E*s1mwcT7puqo9ep)U!EDZiLKB*hloTy7|RUf18V;?8kZJ37Yadb{EwBdr=Am5d~Puueb^2gH<4UM= -y1LWBN2+VZ-kWo^he0K+RD!0u}1ght(1}A(OpPAH}aec_WXT!b`h6bxX_T@X~Hy?H0urUfL(s+qE=r_ -_03kGW@(}7k$>a%c45UT3=rw4xTLhFWHvmU#ed?CM=bZa9#J*_sy22BdkS<4~*5~dfyTzB+X@e!QO~cRgX=xJKp{0=Bq_t5%$B`N9$2Cjr9(Cn*$=#$Bm!Lm~a%~ -BIM_aj~1bsP_>q>CnN|{h1q@wS%yIIMLxzMsrzS4$Dt8q_D%am55p9A*pU?UDDT((&Xbt}V`S+80x2t -A!+eREb+N2D6j+XhK6GLJG$TooHBiK~v=)r}VD3dG~6#8qEsEl8CzjeH<}K)z902E5yqGWEhggXkG^*$Qz$y5sGi4pbVvMXtc_?LD=VIpihz2ZFxYiZ<(h-SOV -zZ0GpYhq_Mx2YyIV>~|JJxlaA5A+NG(Cj7f<=CW!)OMmM__Ep{kx}*AW_662A>HQxfsBqU<`@Q7e5KN -V-J3LxCZWUPI)h3e}2S_IM;B`W*r8PU^Eg9S5(4H@&51Yegy>&}$AU|hbwlhW5(z2*auJd(@AymbDwY -nJoZ$LGv_B$m=GJRwNx*=>j3=`>VLnw`)yFLJ2xCnDAWzdl+-{^V_og+!69GS6$_n|VpbO+tGkJ)#IS -E@^Qj11c4iWzN?|Nb)W_Ou>qM{$Y%>@X)v@AIOp3uE!jD6Z&6G)IR{2D6E;Yuvh^CG&)qlGzQDz7Ej6 -v;?Jn<(d-we7Z8W1izDx%fSPWD@*V*-AvuK2*EsWov&OQ-iUWY8W@w|t$VUuvmm+QD_N|42RH0{qJWc -2o5D-m#L(*)L81)P#x<89hKaR!`)3KGCiC6RV(1x@;Y)!x|M=WrEwoGOIm^O{@M{%Avv7-MOY1 -=m+trddV-iW6kht1CAiS@p=l70|Mf+JxLesc`)_xO7Wx<}5&cHpS6Kfy7qZT$G=j<1Xs9R28U@?<$v$ ->UvH$y2ow{F>Kd7`gb%A!vbz(Tgwiv)=MSJ?&zH5^GQKNLKn$m$B1yYYe{<2Ef2xOCOtA3;v4rP*#rI -Yi;x8uct#N8Xj~nqVQ`z;By~+Zm(v+d5XJ&WO|o9R&FeV>O;?6g6Ccv{K^$WWwK8F!dM2|Avvp+K!(9 -Z&oxtf(}6UbcW{xXXlZBA$%y>O%P*XO&E_=7PZW_!484MUqP81)$Ruc7(f?Dy=vkZ=CCCsErQR_}i|~ -3%9Iixm>kj8*20U&8eWQX=naI1qcq>NvNeeT{K?l$lhaH$){b;VOA13n1t$;vPcn%y#wvmnObbMr6<* -+4#L}L?AGec403IqHs&sYCM#W(To93~s1K(_?HccSy_(R1mhe+{t4`~QWkk!`lAV$v<@${uxzYq0?8Y -H#y%?28PDZZBiXTIMc~chot(WFz}-+HNLg)4jd8!3GIGgu(^D%JAYqxk3b3GeAciw1fL-qklHBtYd_e -h_v}O?gdwcI})NEdqUR}Ry@zc{7hbvM4H+6W_dCk3z7=`q}$Hf0P{KvPB2b3MnF|&>Q}t>-@Hb$9{ -dmmpKRgzXN2CoWD(c{*T@NWKM20aeaWtPZX!n@I19EWTJ%wqoF&<1M&hk6PlEBU{8|C0R0or17nGFBKM_h#5++<^&82Lk9OP -P`f27~9AE#-;86`i$>@#>T|(2B+lumdiC~&=a-l!v-f}ORgnD%=Kn?tcT8`?*zN%HN`K2=L$L*aO&@cLRk4%YQ@ydDb@!t -2!{2hhx$WW!lJ)lZ9I*+K)mTc>B(VvCI7?!Z;uAD&V1m?`4PnXvXBwEGG(JH>QWO8j`SE7-;fO(^kKq -L62GF%1VgYbDycx+B2oDbKWYe=izi7N{e!6vi5uYEJi|XWQ;`7s-G(Q2OJ%n!`!nYgaD8}I=_$kI6z_ ->1q>x6!>8N%ti+m7+9XMBQing{>8`B}x5F83oEL9cozv8nj}+nCVCuPou;Y3y2y_l_9%o3=d6znhBUc -`W6n3qO>5!Fde1caQug-aia0Zuv61tT)weR~}xG2Jmmt``N!|{T~VZq(+TQ>}7a~YLhKs-YEBO_ZM#S -kNZS{H8HIZ%H3VtqfC*TkJ#b87~XF%-mirB;runDwkOyqN4zGz1%Lb5?|Jrnj{Tlxzh~I*Y4+RK;+Z} -p$x{LpJ?m?~7vk3%$PxkgpA3)~^}dTAH!%Sj%!GK+H#H?-0%69FtWxMU -JUDaw8FL^01XgAYJDy^4Bi`oJ#^ZkFHbIv=A2-WUy_jmdHckuOj&h0tRdCvXz95w1C=|RsG4T|Shm+l -}TJR)5p%q>o>RFo69$kiF5|@j!u2U^)+3V>q -M93JcobDjk>>V){f3?POSC(*?Y!>Kh{OZ^g3I`f5%-$c!(#?dhiQz~cF9zen(bLnT%3AZCaJ-t%KM5{2g{5V7yMR)S6uLSb$18Op|!#R?!auo>hO#|^CuI -Zc-q?pB|NPi3XR>9I?LziXEwb>nQE=R8K28)tzJ&`^@|NmzC)>Z-@G7E&2oQjako^@!Wd`8FthuuboV -Zk`bKJUGQU4aO5+>pz&}QWal6$6DSK+>=$84pPng}dGIujQqZ?#(>&)&20nLw6i!Dw=_ommj=;T4gC* -o;fb+;N-H-`@5DDuck6OBB)4@6eguDC_0U`lWPjz20nbxKX|`9RNsi8Ww;d^vHBI02WbqcphK06MgS|BNPjB;atSdp{pDFT0UO{*B~w -AkEaa5qFlV7U#9@EIaLN(y{84uMPJEh~w1-G#vGYH&N@umzP+36KD*5v}X7|RJS|*mrv&{&XN?LZ{NZY0Sp&Z~`^Q_p@h=p+zlW&soJq~*Fx -qMknfqbiTfjn%)HMpm{=SHNvOQX}>pK@J8zIDv|-m7mN`_*r?I>y|tf<)EgZpflDh2K{-xjLb`xa|SW -H`^h8)R5lCc?m>Cp*r&HEbRqXsw4DR@rp&>%wL(AQorOEKDHXS*IPsqDBGX&7LVnty~V@eQ#|;#5oLO{I^Rj|4s!FWdisw}uSNJcsAV9M1MRPUd}dVF91dQ9V9``BSUD-g -LcETq!Q&DmH;cEAs?mRAvYyR>=@Zf@0!Gs4_-aq$&vlu_{9alCAU;$Q&g~APbZ*ffOkI0!dcBuMqlSm -9GU-rYIF&t+2`m0;gAzlsbV^s+GM0C%GuwD!fW#m1hM`VpBE=oWJjNzrd*;DXRrebxBz!aFUW@7kC|? -dkXvn;d2B|Et!%ja5{^qqzb%|@FaoLt71y5z-i@G=_7DG*U=y)Y<3D8v#?nJo0o*mC~s`MZK2Zd)3!vzqgi+i7D0` -$87pj>SBka;HVMM!tguOd%@ASpmas{NO&?*iOW35sri-xotFW=cMlWn06*dL1=`L*C!p07pFk!P)*p$ -J>PuMJ4>1}{u`Q2mOa{5YdO9V?rSdL%mZIWPlN?69OY?Zq_9}ek<(->XPN9N|$I%WUH){*&)jlLuEgI -Sm*tYK-ZF-O4sSk4g6(}2J8>PThXMs0rZI)?vm{FJ_nxMP{_H)u(v_Zr>AHQj>8?snZ^Rd<2pY-{r_n -ufbRTi-g}&Zy}YoWJT5)sVmH`xe8JH_?e_xVxdK>~`%;e?^;~XZmB>->C9suf*NyRePNKJqCIrzT$+s -C$W|mQPyMTJrtAhL2^Rgnhp=I*zuU^oS -O|x3=W>C9NoVD)@70+UE|7v>Far4F@q`5wUleKg6_4WKwG;P+I$o>_S42W3y?xbv^PdL(8*|+ho)+pN -x8)^H!ngTQlsANXjo{o6N3Vo-nJA)PH$it)^h!`DoL`=+t!g33}%F&Ik;EOe*sXRx|Wv;a0cbYQ0tUG -rYXZqc`k0sJ!(G-_mde1p9mZRDZ2*R2^TD+1@$KboYgHccc4c>Y4`e1WxLj!|Iz#6|GHAP@Mr)r&fOc -lV^R~Iagq6N{vqCr|Lo7>>iZvR`?>0Gc3KLjI*zc^judlh=Hjj)0!+MP9CU7l+OI+y4Ml2t4l@7Fju5 --d2WL8Ej{SbwDK6e{O3Rg@BM}5s2xyDpQ9VV?zyf5BKubvrGV6D -k2PsjA%eF4L~JhNM&r!@Inp0o`>X9DKoo2iVvOI4Mk4YVUaaEX -#U%7lF)LD^`QN{bUrC*qT<*MDdGbLo+ao(*+vMKY5EDda -t&Wo}p#o}S_nX%YG`YVqLvE?`pVa~us%LGnRGz_*m+L~fd7J4~{%o_ln~S%q$*}s>PU0e3{kS+3(cN$gZQ ->&4iv4J-&Sa>h5nx42nxT@`8Y@~X;xb}I%Va}kUy -jUhIxAY{7%Jc8rkk8SDq3>H?rKF#uA%Z-T84=Wpj&J~>2w5?R(q`OIeMBG4KeIQ#IKwUE$#Bqev~Jg5 -5?_1*3!_#)qc*5nb~m8pC8(bctjM7*e_JI;T_nSnqN=Q(?kg2&xfYF`cq*$AxV(to7&0)fTNdUeQu0^d3~S6pKgXDq2c}!pD -jhyEC_y147$|5>MIc0lq9qorE980FBnTH?7Amc#Psia^KpAxBxsM>H%|dB% -RaT1z+F9y@@8k+He;=z)0GuNF)aSfFHF3CjRKKrSkmJc>&Y*nPajOOf}QKS#6G)=9y~Z$EnFJ)e`FQq -@=qikSLWGx=4W;Dj&H>mGX6?GcdpUT904#wVDJQ?3AGpka$EG6)TgU2r^eGt{^HOVWq)YqWE}5@C+g< --SB^^Gbqcjb8?HP2eJwvg4=b<$^{-^aZhgH=5X|UOZDl^Cn!03q8h@fI{Yo}+A4Kv5Py=#6KbkB+iXh -t!DN{F0~*vkS{18#l-%eshJ%CNfNU}`8$VigaAhEMru|8;5$fkbYxCEc?%JA(2^B44R`~hvBTWr&dfw -(eMNJh^s9qLhj-$ifw4`sT@)#<6==e-OxI87nP|0<>s&A@r+~=Rr@B?+b5vKBsi(F|`N;rFCBx^)!l} -h?8Rt#CSpH3!NbB`+byodI(+OoyUPu;ptxSKtC3QGP^^{npj@U^rp3E>%bT(ssk!SgmXs*&_Sp|Ll+k -MbocOybKj-TP=&3aHuYev8(o;A5LwXLA3z>T?>TI{PKojsa~~caS~e=K7yGomu64p_?<_t4ihWPjUCv -zV78I!(Dow7j)nqwR-wz7?3*Y;O%k#jP012G4l*nH}P{E$iI=4Tl&%T;GGx;6S=Zwnd&HMn%eP>%HVdVy>QQUOK0jso2w59k@$Olh(Rsx3xJkj1WT -1wJ4aEX6HrRly@#9U^xNBV -9%J0-AxjNIHKeuY29&%hFw;$!T|IW}bg6#9qpAkfJ+m9d`+3p01`4XCk^1x2v;Xx;!+D}KH)LYYvwg!<(!HcR -A6j~76FY;6aF8Bs#kt7&N&eO4|jIO{|SbwCax>?u)g8EKmr=h2t?O#iVz4rsNtBf@@qKoqmWt|{Wp*P -n?wI)THIe~sSzFh@8MAyu+BRK`%8_grY5^KG~CtXd&Wgxb0={oqve>_N1nHdRL<6D_rhrJ*fSdRPY?|-ivJe~>N)7W?4I~%*6w9@x=fpVU(OCdtaZ$J0kSDe -RT!TfI(LEBD;nzwd5rGnc44tE$@)z>L!U&tg&B9e8HBHlr~1qLaZEt|VmuwI{jnTjcWlS)snm)nA!~7 -zZRPBi4Ge{8hKm1GtNx-*o?w>HgGO6Zq7hNW1*SKvTu%{plh(-8sn4x=o#9TH`b%)2nw2QvI4z>n^31 -U-IL3X>_h&jMKTUuZK-dW`o}73`fKGCf5Y{0*V>R&1*qoYw8XDmPDZGPjtgPpdQ|XNPE=_w4P=D4c~9 -CLAkZMSBtHXz#f01cL2K)C+Y4mgW>)?YE;?;L2Nl`x;o_yPOWS*RMPUB8fAnNBrqr4{UJ@7EExG$X8F -+(*Cs<%C0c?tp^3HS7eWm8*V4p_-n0B8zwBObs#w+|n>pzziyoP)Gh=ducA(XK0dEglKW^RimyMFN8>2fbJhm -aXIc`cT$< -*CCAUz&#=|sl6WS+q9r7sE`FN~_wVJpiBRe?>HS0iAMaxgTS;iI3?cQ=@a|evvEPplQVx(Bquht`DQK -$lpw|ncq=T=DmH*OGZ-UchKbCE7=)pS`!eHuI?Qd; -tE~e-9(qx_VIUZcCGG2=&B29SH>JitOMrJ=&;Jj_4MsC$JJ6BnQg5J|LSR;)4R;nH_=O#JVPjZtQZ`T -f7F{4kuCA)Vg2dah9G2(YqaKK7-&t|XIL9XV+Hr#SGY7ebB4RAM{oE$lBesw2qTy^0RrEpKjDGdJwDa;uwQkZqA;}j0lU7139X}BR$C(~u;yW- -(;PtKlryfsDfm!~KUrA? -%2(jvPx;XyLOts{c(w7@{iX9-VqAPs+KEEL1v)xG)fm%2^g;qNaQL&OUD3ae^IU(S*zuh5rcf3jnJIUBoPp)W^_A-c -9meK`+TdPVxzN*{eWA>E|DoQH(1a(k=COBEgI%Mt6hYT&$kNR;n$<)zALdX=F%ErO;X;T2P&_50Ie$i -dSUh5&0#nh_Sf*CJ1(keXhiuhtfG`I{XVF1f;$FDo<_JQE>~5h>vXnDdqn;jcqS6+F@Q{sxWc3_Hwve -MNn$r;GAeZ*XN?g?!pF)_cdaD8?uiA*5n}JJ -;)cX%8n+#Ko@?Qy`QA}wC;7vmRBD9X@;vRmdo{vl`Schl?v?*2X)pl;dKx2)9`!Rc?(F>dyQd(&~3-HGaYw!r6r=y=H!8{!TeQi -G|dCVUDpM)Dp9~s>C-5nOuPm`Pgs!lpbvAYsk^z}GA6g1YY>0b&hRo4;%`p2weZ#GM!6a--emo=;bjA -+r1c6N7@#KYK_>1lnBCQMa>`V3LAN5ol=AhmI8twb1XP_e{I-@f2?dLVJ?-#G#V8RFL-j7!+*MqgWlE -!Ch&g$Y&S`XW3u3}hc@00W?|svvf#%RkUb&_{^a@UCRPV=Es`rYKqu{|*LubJE%Y#q#oDH`%K#jUEQd -|zC2ckVsaXtJ88_Lm%UiK!L^87;4P@~+vdUeLey -Rwa5au%~aNGgsMK9Q9rjAW!NhBq6}MUFY34d_PwYyu@^N4;|ZV5sJ{G&+sBrOr}Lb@xq+VQZ|(eca;y-r|0P*2ZXyC*M+a-cU -J!D+#)}w&I9dbN!9xnp+0Y`P$5COF1b?ZVBefVqecU#qB}nFNwlHV#O3;XLvbNUw_3G&n~M!hFXC)!V -^khn9j7TA%L#k6rlF%4V7OJLH9umopi{MyE<9H0=7u=A0%8ap+&->Vz;L%TQaph4~b3LWw@t{AMK8e_ -Ln<7hqRrZX*#*n^NP09^PJe}F;wp2I}LLTm3R4x-JYp@w`Zfa+cS`#^el=o?;K9ez?hjaMTV-IX?v+@ -Zz=}*fqYBhjNVYu6hPMtm&MHUF5xyr@dp$;rC03JXI4}BK^~0Jwu%xsMG72R+TE~|nQKbkeuxg6nrXu -bV^Yt(X2Z^8i~9?{0OqN%y8E6g7n??ZKPpx?-7O9CsS#@4%Qt-dEuo)|L0^~d?zc_s8?|`jwp4yOP5EAT;QoR{Y_l5#P -FD>M2p#(gjs$bZ9AG*&y2BU=9W{-n~6$5J#8L6bfA=8kg+WdrLaYwfc$DpowerXI*a?qhUN5rnPoL6Z -}InRU&QDRHBF@|4$(GLox73N6lvqhw3F7SX%b^?cvRbnqE$j3C}r1*{o4ygf#JIpd_!t4EVh?O+sEam -R1V*i`V)n8NheZtyuC~qs=fp98q;4rR)|!joTNHoB}HCDYtDN-Vd~L*^Oy+QwW{^2Qfb#}kCo?c!=Er -c*0!Y1i7hFy9Yu}74oaG(rqF1qJhOCJenssxdZ8d@9&JyNcyICCrtMFiSvrmTHiv%Z$xL@&=gn~?xJ6 -3TP+1OQ6g($^_6(?x=Tf*ggSM|=|EK!<0W2oGQIU318^m_6bsZ -Q|yt4S@MK4@zIqPShBtlUX_|7uc8t4H5WtaEyh=bKn(+HPV6n<~yUW5zV~l9{$X#2(hsj`y&P?e1auo -3u@=w=#KCUQ=~c>|$B@E*5gcT=f~s|3$8KGT59PXQ=e2_FR1vCEvU{uHidW2UldiIiicam$*rkNLJ%FzsY5M6}#5J4anh`?V%yJ*#ds6QzPl?T}ZQjkSc|Mz2A2#!7^v>S+Kfo2mJ#A0m-8m0kKs!iP=UwRG) -D<~a_YWp_Gc`h@;mO1tUNl4)M`LL4&9|aarOO8^2GfQ{87+p1^aTKNiR+cTVliZ|#n -$yCoEFQYvA){U&uaw7|#s*abosI7^c -v~f`nD3Uky@v1)cV#~KNU9fb=2w_g<-l*Fm0%$vkGQ@(uXomEa_sXsckkZG2ih_XgET5C`}bV4s&57# -2ZVVU|#d6{!%YOkBz%8!N$rTSmFCpTVI#^Qr3nOd>xeUOIb-DBop+mHi^d3ho0P`q9Y@aU_kQ;z9U8I -)4e-YpsVdvl`}D(F{SKrURTjF$T@0zoXD_2+lLFJ8!z4|yF@0<22s6d8jJyPNF{p^3qJ%QU9}}ZtA}374L_R94Y9Xm%uGa~pwjkGdbMh=c!pz#FZHn%;x@%~7OH< -GB*M(JW-9zU3#)Km{TL)C+>p4-2r8Ccl%?+65LZ{m6l=MEt{6tcQcP+~2nI)x7JD -#{9nSTORwI`b3r6wWI6ygeoSg?qtgp*0sXvf+fI`Qf+a)j(RqLTo=Wv0P;VyU{9geEe;>#O_cZc6+zO -F1=R&$HAQ8ACc5Bf0c8*^>#1Ehi-3&V@;Q}TxW_>p1NJ?zw`$5WP$aODd8>a!TMF!++!H!6Mp$2Gg>@ -sGDm=ObX@@vo<7PvNhzt7gF^~P&^?+xD|w>~r7pVDSnX3gkz>wQ-El0M@-Y{jy~Fy>0CnHsE|M(J -5E%)QWfCu&;BR}SK8ppOswUNt9%@!^Z|0Q5LdNJn#1nqFt9`V&d#E(l|sNOG-%#6uPXtTj_K;Vc{|l$M!m3UvG; -o5x>GlR{c|yXYPB$iEsjbf6%OIX^e|hZ#d#q=-CC*as(Tbz){s;AiU?n-T{`w>{w=@rv@edxW*wlj;5 -h*%*+HoZh8O$n>vw@84A)X!ft?T5UX}vuzI1qWw>VZ|Kie$bV+2qW2@z{S6*8%i^tqi~~xy7irK$7qU -q6qBWP^Y_=m*dUZfuMc|FVjOp&MI=br31+%NP*S=I*OikFA8XQuwAPm)_b`GcDd3V?6fiy(IU`#4;kl -Gv4-2t`x%zC}feN>tIBjuC9j3MUd~a(FR+ -{Nky_UcIw?t-Ifk{27X_N{!b+>9x2$eX||EZJJB3U0_D){+OPl>};i*pa+!AHGEu4J3w4U3ow8ZPgNd -O*1`>38IhBHXjzP3x7z1^$K*aFFI9etp^B$R+zGBdrp9{7VBN(p!lNFTcm0GmWw{1J?|%8N!;liP^X~ -66-Cw&u6mM}nTIB6_h5>E(o)5YPWRY?lQb+j;Y0V)OX>}Pi1XK8Ui*D6rrqqiSg8VTBepdJB7jLIg>y -IYG{rjycqyGYvtAsQ%eu;ubIwd_fS<(Niwbn76UEis-UKONt&zHP&FI@AZ6O%WqZpw#I!$L -%Weu8#Ns&bqBUqm@f18fN9_AE?pN?7RxsRiJJBY}8(n|NlF-Zl6%Ew6l6UT%Vhzq -PjI;4};h1PuZ0E#8<61r9Y=F@0*F??H1s%|pJEXMHgZk_=c^Jjj?l;fGy-l@*~%rQmZF=t=2=-+{qPT -kM%9aK~IukPcHE(MK_rZADTW7Zie?&Cra-%>(bmpt7|NjONwT^sXnP;IbJ -~{!3Nv&V=>6*!YDfMNdWLIa}AF4PvosajV}5yA{5%4INsCHJ0&$A9!y>BHZ+Qo0nV>LKzrO?Yc~_($#hllT5+Dm_%d?{6 -AS?h7V&qq2F5Sig>?^=nh*GXK7={wPXOd`;VTJ$ukT`N&5g-#ut=W!qQrC@JG{A2V&|uk3-%gAES#^7 -lWr;ii0+F@!e4inB2Mx|NRk1SxCKN_gg3E55H^l7<3dScVyj+yNlf$Xs)1CMMERgZc3!Ugt~31a^f#p ->DWmF|U+y)`}nM@AwRUK#$XY`Wf}0{I?4lg0I=cBglWBCT_ge++QnaPlzU%cJQ)c=SMHzDo0PyXcAWAt!UKaPS6->9W~5q6sc -%5?WB#?n%St$2Q2RWYSa(WBzbDcT_cs><$E7N{7pXT`0G#|uXtJG6vt@Mto -^Xw`M%g+46|+!oUG{WIi=i~PtS!0xc*8$!@ -fR~ROwA -{I*A8a2j0F-Cl%aY#x1lQAL-}K#x68j4D1SoB6XFj1W+~*O^W78I=hLnPody)Uo(s78)NjO=r%P;kQd -RI95DBTR;r0BW)4w8EmCu6Q5v7dF^LhU}myfdYtnOL#fN#BWdXm`vG*#TyjTx%wn3iFyC3(Bb_&(Yl8 -Pr2|A;lBnyy>8NR`Dye2cP9?4X$zuX!-IM=4O2M-RN!Dy#4qBe(nO466i7FtCVLDqGtX;Fm!D$9Xnm# -VyLvW+2foA^Xg7~KX$)AZ#xl%p)!hl^X_yu1kzTWEtZ+wQv$3t7OoFDSsb{@tg$3(2j|2SB2F67z1Ce -Q3a?lmixekv71^hpkDJ;!D4pB8%D6uFivgv(en4o+kdp& -V7ubc@=b4PjnFxslW7t8^ssWDzll-H%or*EFO|_W-3o -^z(7jSwd&AkDP7aN!=Vw@nj3Unq5lEJSk8qMXm#)RL|>tY|AzVEF^nrz2~%5R6_tQLzaw;CBH0J{g@} -W68YR^%&X|4JmB#gfBe*8Ty;kjAj_|%VQ4ndD{lX<@CpD^T7w#o?k2<&vs5MYq|lH -NvT_Z)hV3WB(KPpeDC->5-AGa-iNf6Qs)CqaZ>pj67x3BIA>lAzq$mM(?aPWw~J+?;j;LB7Y_dZpo!b -{G;GnFqGzLj(-J^#-bFFGezUWlEMWU`{>q;Ijqok>&l~n?6p5E|U;flBN8qy`W0r_%@-mpKp>953WiM -WUSV3|1LNF+K+!qyR7l36WVj4YN>%PZ*XqFj2Y;(cV+e -i^NVr+TmnE!|@FNKuB@7rKU@r-;k#M?%1rn~1@L>tJNVr$Rw1_>A=VX}mo66Q;Ir-Z8|+$7;P3F{?nlu#cdV6=ooButXF{@B#am=m~f7gs(_gC*cLkp?AH1_!Y$lt;hO=ZDmu4Qxu3? -$X;^ko$yPl=9G&Yr)xvhh_STS?5Ld0leMtlzZQM^X(Kb(bdI1^N+vKjdE^`p5m*r$W?|)iO(z^VSO!9|CD;^vPcy{?Fy^HW{Z8vAH;XayKI05*{nL+3{E8 -4IwCwfJ-`0rJ%YPwx!%mK5qkE!8@gkxO4EBT(BiSB}loE(<|csMapt`%$l5r^R$sH3*pBGo{cP)#lyA -;)UM*vqmq#8<;ho`IqgcSnDa;_D3|AsgY)9JEToz9l!dT`Je_Uxdz3f7ixI-f%SJJm)*__Uh#2e$n=A -8IP%i=$snv2yxGeUOsBhWxjc?@7l&>rE-R2|rG|-tT^T*+J5t1(9(xbZi?%CfFO{|{%91br%gYmS -MHF*6hj~6_r=xzNExl`hhTdY?3KsI3=-|}zylup79mb>4|7Xh2R2@~)7PpM=JXVjQNI=Gq^GIarz(NV66)LYgC_dCT|094XD&(%eOhNSeD!sy4mmo(d@xwl47n)_(+Hw$w=X)ciF{#txZ!fe#yljZ@^ocgUWmud2l=A~ME(tM}J-`|D#q -BNh7W>uQENplvj`wl)Xq45Ug#SOfV(^|bW7KcA0a{BTSWhStN2uY^1mY1HHw^Cx3*}O$4<|8a$mznVGYnR2_z*ZkKIG?`e9G)%_uNI$1U!$kd(ZZu#S;sD3Jhs$Zpz`p$+L(o(k -&vbM3HfKm=jFuIP3LinXbi|9~z3d3gPI9-ms98PDFqflayOM%N#>NP= -Lw!C7SkHt)vFlCh#bITbn33Hr8hr&}B@<)Eio%#NBe*OW0or3hiA)#U6oedF@UAlIQ>fR%|XRqFU`u6 -K@958TD%-|tIW3L((clGcQ@d+bGB_@r&=Gx>jV^hYBzivXRX=0k$GHJ3kJ!48{*7Z}fr%j(RbJh*B=i -GSH+<72`TwG$m-BIdv-La%>>792iTfSl?`~UrCyy7p``*)?=m483-p#Z}_`?{``L7pBC2mKP~?M1-~ovwBWzH1n64-e(CSB5}<4S^ZSK=ttH^U`uB6`r@wCa -^ELUp{o*9cbYE`%rRi-=cUv3&=(YD(zUuCZ%Bo-edUf?0_u86u_pHD7zTe#c+Xo)p@X*7LY<%>0zu)x -O<4-*Kho_$2{LCN!^z5Ji^4BfTJ^#XsFTK2V+xAypeeG{McGm9Ny=U+1`}Q9=_{N)u4j(yMckK9EZ@= -^IdnevMdFq1?KRR9i@h6|2Is4h?O2ZePbLYSOs`2Y@{{HQEP0cMAzW?FkkC)W{a);1yga3;HeKqC%=dQi^UR1ztIV -pf00LHa`v1cJ-ap`VRm*9x+^13u6{wm0{k!`wwK|jhYuFS^m;ul5$IWvCX-I(<-aOlRgMV!e^vggyUV -);1|o*4sw!l3LPB|V`D*x%9h#gyyBy&WNp?1AUpK~YtU&aKF^Ie?6%NctHi -3&EGSSQu}2*&Is?ix(O5Ib&D2m)e|8A7@tT%tNyBT=t^ET;W4=5kI&?7#(|nyUpR~*u6Dfxk#APX0(e -^ZgiCr8$$;dl@7gJj*Dzgh_TRV%q_{Y8B6lD5Q5$az6RMkzmDf~aR=Z+zIGKaSKHeDEM<07AQ6Me3D9 -4>I0qPVgIIwWhK@k~4JE9!z_u_4mPLidwy{Pq*&&@J1%*yqsXZsxX3WWV+8oBA@vc%w{KCTGcw6xuL$ -$zd%0X*6q1fQD&{0yn*jDV+{I|wqb1W__&f%GctU!q2x4TLpNaSf7G95CF-%KAeBK(p7aZ$7P%-xOO3I%JJ2!|<{NE`?arlF{d{~2QIuq1$pNFeRBg1v%7wDnwzxztB@ASP(N>o -N8YO0I$Bwb-Gt4udDgAEtH6wnL{`|sQpPzfx`chH_ls0xA^)IFKZa^k2orgY%I-1gXrG<;_MYj1xvb~ -#^S6J$tx8$0n5%#==S5&TcetZqLtDbeu3u9fALRr`8hPv?DQ2PgoVy$>oAJhqaTRsy0ZvtNIW7c)@W1 -U9%CFl$R%#hTH8AgTLBm0D~K6wV#C#f^**OKk+FN%8sjN1R5+-q2`-__2^tof3Ku4~a`oe$TQ9bK>)J4@s@-zn -VG-~0`U(HxEKK*GKzMGzP%fmM_2>f&+e(aImIte?3C9@Vb5?zXMgilxl~Izda!U^H`WPb6V2b#BN@va#n|}M0_wv2SeP!7>5O5_m>0>6Gc -o5wJ{ui<8hh18*LAP$X4mxz6ZtBj|pBfjHWn63e+7eTD+D1$f5#Yv1^HMuoR3UJ3{pD$p4-H_Bhnnclc-d3cgt7r-8Rl!ai{VIqlK6oC-e{kDkLuAVa?jwE+s4I=9l=+irJ+wK>*I_@{p*4 -H*PZpzbzve5Xi<3w9h7rfIztv{bRKmucGS^IN0gf|q!VccpGae)R&IFT;6&ZPw@UiIfDY^)n4i=5;B~ -Y!>S#FXXc+5uAJRzme`W~ke=x8Ak&&HPBxpyDx}2A(cVf(n@3xP9+s06Y3*q5J9)yE8@HbQP=ZLBmeS -@BtE8z$EgSNLP+T)(6Ybg7*9koHXRH4pPwYEXJm=G3|)RV=0)2lJMzI$D_+Aj9U1rgbiKK+jt_5voZe -K1))q@|s;!k+yQ&wZiw!F55kf%bp}{@H#BRF19WHay(Y-`NHE8;Nof!Mdh(zAvOvU*D-NpjPYitlsoT -g69ZkI38-}eWfg$Jy15gCU$nT4VT~zXF#~l%^&1gS^uO -w)?arMyS!%=aUAf|`eV_K{Z#p?evYxfJ=a>kdR`OC1}EL_KUkOV-yUsa@1HKOhqp7PZug-#K+n3&G@$ --=W?dY-$5`N%1Jxlpw&;zqMQ@Zx)aPv8E;#%WL^_{BIybhP&bk08%bBhHvuJ}*zR-X4%=4D7dX2y54> -R@_zNn9V>r-d=MY%=%D6jRt_379V##->+g(Y{qrJ_cLvt -Kb*zav!kN*z1Y?vtFh+4Uhzm+NS`olQ?HljVlnP-KxXys4uCs%j*@*`yJCs&D0d3g@b&2|2nB{_LgN}!NJ^7KijpyXiZm{~5 -+*(CAlEUl=dR5MMnOuycesjY`vbTga|{7aur&vs_cHf5)ChkmVT7vbRkCY@j)0hJUMI}y`+epXwKo$? -NS6vs`pgu(10Z4Ttj%%ye;xwcK&FtJ;OpB#tNWhYV2W=8_Fb*t7K_#|LfaRHA$&r+6avy-%u6%;vpfz -schv!8!@soA#BwP=yekqrS-5f~CM-C1-)A)?GFnpM1{us9E8nCvo3N^W!6C%KAqiGrorNeeE~hRCs4wM^ka$40~a5T8RsM -ehIq1ay|~Z7ulRw5H$Ig2uS%R-K3&Yi1mh?BA1QLCDRPebR(H~R+W?7d`jAzKDBFR0j)@FfB&Cc$TE -eJWxW*>+=Kq*2WBx;su1t81keav7VKJF)Z__Q=PBWGQu1w?A1D?cBZMkn%6Iqf+Pn^)pC3gsi28*&_l -v`{&lo#e4kw~4}$BmCt}%@?^d&98NLi~KQ`C`ymyX*T=M@4x!f&fkuD{PggL;xLD~*?2tvZB;u)%2F4 -I`$}!imz^qzU_bk#cyvGO>vI2oKkMs1zyJLH^ZThE)j3kjq17jU3F(Xjoqeah9J>v{TpT6MbdsTqmylnpJApm_z -uZyC+WXj^1MpIyQO=Dbgz_jNcSF{SoobZKPLHkQpWeRwBIWEJ0jiRlkU+$LKd3LeC6IYAAaihulE0sh -W~fd|3}0B|N0{}Xujt4_lbKP|0?+J{Y7;66YjA3hZB9UqSSpXK{s`TPI947BAH5}uK;UcwI~JR#xR64pt0NWudW?v=1s!q+6+CgBzdH%WNEglpT-ua -t0^giZ+yBwQe2wuGq?CQFzkVXTA^5;6&c11=vEv@l`cD4`-@y@V$utdsD7gxe(CEa3(T%Oxz3aE^qj5 -++NSAYrV8MhT-OjF3>zw0W_BEvo2W8zodEte3D(!fg_6mT-g0E~CF%n#&|CkT6@qR0(4xjF2!u!i$$= -{1VnmxLLygu5nk)_{-M~{1awFqwoFMCM;7`Z@f93ac_f`Db{QTul3$Mx -R6Dbd==~pekQgy(8>8Gs~jgX&~e{~WbnDMWHE9LKPN%zoQKsgI6z16+x38SrwzC-JR^AA%2HVx0hd17Kw|+BDzF_yOEFNbpZ^dW?{j9gv>S=mR?Q -0H4NZ2EGOGIKFJ)Zv%#2h5Q8`2KWL#JMb3)kKvma1wVjehY5bh0sb&d#B~wy`K!@KlYhXl;poSS4&V- -a^}uTZ$D%-eOJM<i9&jm!LK}cD16(&s<`Lk@MD!uBr?VaJk48 -NJer7b+nzKICLD!9nzZsc-MIJWx$sK{&~EhvjwpKb&xsije -yr(C*-plaPxJ-55WTxC)jy{h>PB4H{&aS|7?Qz?7;1Sx8rjHF9%$OuMBu4pgtAl892dvQiVJ>1FkcHK -J3>6zHO3a39uR8Yp`ztjG8ETumav`#`p~O_XF-X3x3`PykM632>6@@`PUu!2$(!c&?Go-lJHOPp2_Iv -;b%Qyq*d5=1Dq}KIe-h(krw#L1H3C;&|e1lV!EJ7@SMa64$Khv7QnCZJ&CZ!DU2=8LS6zd2i%h-=Gm-zHOkk^3a(-F3}j>GR}GIllWTL9m^0eK4i1RyQ!5&eWYj6H -LsD67u``rjn$KHyS(SQo`ZA&Hv)#x`Q2#LHNYXcBHma)S036-*p~smVH5lx0{p57IP4n%LyI9J3 -JW-@Sn!Yp_-e86{~F-B+ZoG)pY?!49Kt>pFsKx1hrJ$fRjIJA1gt9+{1bf534Y+`0AQmF`AzWxR^B1v -+5~7@0{+o<6#zb3CS70Jls0wMu%5PxLPYzr_)Upz{dd&+l0IZel_5RO``oL`1oVO{z<^V$7TCQ5 -Z`Lp*8@KN1mXo=3+Q?h;i+v0-0`IFUkezCx%o!ecLRLp4?=Fw0^YR+^FP=x1B`r5TfbLfW{k4FeS7iH7_-l|e`~>_B^>+u_Sm2d_2X}}z;SgZgodWL$IAy1xlL`3fPQm9 -Uz_GQ0&vAecyoq$d{{}$IAyM9}fZyPI4ffvx7918l5DY(paTf6jm|BN95paS%j-l+LzDEP@I40^sE#O -`6pbo-*8DR4}Vr&!kF3SJAqTba5=D#QK0$TWgAM<1QA$SDeX5e*z>idERb`rEtLAJ0bc;b{Odjv;*fc -_NrNq~DkL?1?e0LOeJ+M;oQOYofoUIzH^N3u+QB<`n_foFnWN}M3wnYbFf5u`g7WKVFsv?n-M+7rA(; -so!PIKk&7PVlhA>CFCli4*j%7dV~0A0=^uSrR8$AaR1LBu?-diPL%PLlP%Q=TV7If^^oD>X -H%zF604j(z}ru)ft?`#aR9z*ckYlW-s0YOXs7b407T>?HgLw3_Qb(sA8Un%R0<$8Pe84|&dvjMl@5OW -zytSN=wf7{Mk_p3G*?p3Mpi3z^I15*bxqj(_EB!-fs)>8GD&+qZ9LwY9bEz4zW@mo8mma%-!cdxoKrO -kwPvL*-%2uz$&tquh8@{pwU#W*K9#s!D!+AfRs{tq2Gx=&a -%bNZ(#eql!Zs_H&^h**Oi@ptj)h0`!Kkvr%A?u%;W3LEh=~B@+T6Ca3=p;@A(Pg%;|I9gfr8xmOtUlF7~foS?^yy0Y#v{& -*zU%SI$I3)4`{c{(Qqt=-^w4Pc3IUeE#@?@EP#+SE-yw$g=)(e)-+}mw~MO-PyUS`a}NmgJ);Wnzb`OGwDx&^KZ+zeX6RyG+$j&J#^>XS@YRS^@*J?%_4f+*Ae}ds(Q -Y;c?;vE7~}F4{rjsCLH$+cFF*DZpXMh>eg+{Yl2Iy`lfGji;Wv2jU=|k_#}X0}*!c0|naN~g>FMcQcG -IR!V>jGz1H19Y8`;e_-^^CzO=61{En>IcdMjJJcrkN09K8KlzI-`*%r$}i>CW-&g%v5RVv&Wdy)BL1U -t(g9I8xcGtH!cFm#4FbS1n{)H`v*}d#13uCvIc0J5+Y{Zk3JPr?LrqRW|w!m5n>1vU!J9miD&FrkqsS -w9_gp#W(8{mCgNJWx4e#TX;@ot5&UI)z#JP-h1z54?g%Hd+4Eu*v5?;*``gK*dPAz2cExMwrpW9z4Q` -q%U*l!HTKq?E$r^ERrXS&%3go{b$0OJL3a4?VRr1;G4}S`Z?lspPqGg`{E&Th_5^$D8D2eR@G)HAm;^^1F%+V~t( -n|#7|L->IRpMdb!A$%6XgH~f9!Y@VmH3{xo6`qZ+# -~^*V%~hwyhI{DTPpGQz*@6P|Tu*{lcZ>;Sf&#i80>!;YflH?nl5M&88Kk#?p|`xR4f-^kQ^pJ(cG2bg -;7v`=^=!e4{%nFzlS;mZ(y9l}3}@Gl_z4us#2@QCx?4-oz=!Z&)uUkwUVK%o#6ehmtL0ENAv@G&SfMy -l+akt+Lkn#!7PS6TDDD!cHU%6>Sedc*fd_~8gY0pX`3d@jP@f$*yl{vm{a3gKTw_}vJ96yZNWc#ltby -_7%{!uLk_0SG??;jc#c>kxhp!rzYYYZ3k_gx`tqCw;KpPKPu8r2{dW=f_<|9wtvVO81PcG)u+=khi3nCQLNVznVM@9z1Y ->bWhJpHD#F6%xMTue2us|F7CSdtxRTQWoW-iy`y`~A2C8uh#5G*IA}732mOqU^a&aB`*!Ua4R?5ml^% -x7NB9XQ3Y?ZPzjxQJJ%u~xF=n6*BKK}x`%aOpWe%el5PtpyQ` -Yqv8J3Lsy@){1=pH?~hlPdp$)p&_J&XT9zt?3R=93u6JvPwLMT(RY$89uvlzOr!h_fe91lXU)$_w@5C%8eP-Vk|w6 -b2k1hsmkuPWbhF9pK7UMnL~tjaF477PiN&mp2`EUd?xt%;CnN^@>${}GF>NBsa#B)STC4l~`4df3Q#u -C)UIR33K2c9Mx5hs|jl4`v3HJ+1CHJ%mD6Sc-)t%&n0+t#Y*?H>xw5$m!C~J)Q(icB#MC6z(6Xclg<4 -p9;+!^-QCZ?sNU+yf*59pgw5YsKA$F_0yp%2ldo5r?rW*L|Nvf4PSYVFDvL-~Yy3?yp*HRHLJ?R@Qy< -;vNFHsiUU9;ayIx#`oV^YO?E+hp(9N*y=(H+u%rJFWzloTOMA)u04P;1=>05dn&u(6ES8e1AO3t -2iPNzJi;D*^ilTMV~?>XpL~*!6<&DZ1wI~p<&{_XSmB-8r`aPIZ*0L>Vej6(?8uQLd~9&$lhf>zPd;I -1&YWQ$kB6N*caDAY^;djs@ZERcu^)f@k=@&@vgcqv_JdD58$W>YjTJlU<@#K7bW73E-Gh$qDHf@|$VR -F=*fjM3yIp;Y-K&1Uo>R}F|8DdNj}9>#GkQBZ+x1r?{51%litrf-KNsO|NBCbO{G$l}Ji;GD_||^zKj -W1Dj8p!vj#D%}?!9{T8bGioSM=U1dT@MvJiRa3%h;<|bgu!!`bTu`+z;if=fK#(gNF`|kBl%}6&_Fbp -$82e3cryN{o~`}<5-`8!(!w6hQvq0L+9}DetiZEj*SluiR~vXjKl>;MA&dBk{!u}?pn>u9>l++M^t(s!GN;&}S{;74aF2Mpjww$i}ZI9i1BmtRNAr#c@$ -$iv?~ame7-;#>wm}ZpIJO6e(A`6RR8|{NvQOZO28q(!NF)*_%oKI?w_6rKuf`|4QLYoSN;4Y-LPNipX -5s2BNcz+?|=XM+30s({pzc)KKt^^FF!}$^U3-1=g$J3{`T8%zrwuq%m*KQ@ZA3W``tR7E^geoaq%)u( -UJ~bp&&W@Bl4rXrjEJGkRd|`0g|jb|H81*bLY;Ta1DOId%ySId-q@-t?t~pQ~mt&&sFrN>bvj0OAA!$ ->C>lG%)eD~M;cW0vmYvo(txyneEj(F-|gD9Yvsg=6BC)pC%Q7ygNZ90#0%wXi2MlGuCUNmk-p@2@#4j -aEiEnIGinBZIsZK&@1v-LNkrq?Yp)$b{DCjd{~K?-p>E&4T?K#Ywr$%u-)GOBRX_XeGqtX+PCa()823 -kEFh(HzGYIqh=bn3R`PQvlmt)9gsi>%!YPZ|X>(;Hy#<-ezqw6ejJ$m#=tgf!UY1F7uB)e#{*&IuB|5 -5(`{`bGD7|Yx{Xwab1km0&7zW73|t*!OS`RLK3>ih4%&-q0DaNY^8udi26ojS$MlqT)Nn1@4@xo^Mz` -s)^yyB|PP`TqOw)o;G}=I`&k^Un59KmGJH;<`Zokj~$rzKsSC>nQ9$%0I?a6qolS{CkZPYnvAB1JB+MdG7su?dkhx_}{Z<&syZ;K$M9}O2h8myE*?M)0Iz4aF -VsBTbx5Ttygx5_KpO#EQ}0rnTk9d&rrKf-@gQmMl0W6g!Gj0+N4y_6aDdm96DLk^oYFvT0F^hYCzMCT+sj|7s_mqzPB@~fNe5Lm{& -iK2+oh@_YE^am8>;%pv#R=CQ`1|hD}8>Jb07Y9?AUQ{OiavZjN#Xzy`=o$X&`<{<|J2259I~%PB`WLM -<0E}Kf+1oByZxE$^oT?_$K*N9zT9gRn70JYU*)SO*yKn*B(;U!~;mfUR522Gz|Hhst$ZbRo8u>suwR_ --1v|1kG9_X5&zn!<%RbBGxdb(0hO28AF1l(6RMi_4&+a1KptH4rmBuY8j9aj)uxN8ntx1H6LxsFCVmn -B&CShJme(dGCJsbdsH8L?AFfCX@j~T@cx*2nBzKZIoDyl6__q50+B?_isH! -ZF7t#!_S!TBz8LSv?QVb18r6c1joy*& -z|GV$L6ZJE#CK&9rI3n>R5{@5!_(9%$c9pCx9wN)9Cdd<05)Ba}{#)ekzlhw~Byt-V-gEU?WhU0@^B) -|2#wK01%hBgvI~|=?iyP^8fDQf1=kn{WyDnPoc^UL0C*e4dd*nJChsA=dBS#;W4mKpb%PAzas?Q4|D&E&{XbwX -^F}24)!rNVS6!TV^Lo@PPsHlww$`7;2_D^yeQF8U2M~XcoEWuZ})rlZJe -7TA#sS^%)FSpRq|jcbLokEu4Pz4F95WR?7r~o#8kl>4?R`*fy)5Y%1ACY&zcQA -}n4EKJf7(Dts#MS4dgN{w=`?}+wtxdXIF8R-W{=`s~ISm+y*9KlZ}PfB*jdFM}6$qOZ^mZ -P0G9VEeK6$<7$(ZWG6}aT|W)q?LIIvMe`I9#aezis50!@Sw`k?2JK%P -;63?C&qZ@i^%pL`mOvA7%<>6Xn?-?^XIo<2*=SLmY;t5Q9jwbT=tg_l-+at$_`hbH+l4Vjf-K0i{Vj~ -ql(E%vLMsJz%Vg}`sblKSAAyu@2kFFj^Dy_^}kE*yz|Z>IXOA6Kr8x)4wRIX7z|$dIulPgqEq2HR;2O -nzFT}p=H~xWsc%Ph{3?F2}h7Bh6B9>XOV1X1C7Peq$4@Y}EVPKOsmvlg%6+;9&)7JPc`?P -rR;=O7+xUN8c{9 -f}7e_@M0+ZdzD)#t^k3umH#=gyrMX{_@*OMkCky{;cWetgcjapS&FJ8Jk)TU#r4+;N8t8#YWHdE^m!; -)y3@>C&Z!9`bwW1p~eSKVfl@!+-&MiX7q#S!3VALGo4|^nWX_tSLMlV-z|u2KtOmT3&P;R*6<1s#8e1D$pab3TPB7RRj)j -R#*=u84Utcvwc0QP>{@IB!@Xs4(4wP+=O^^>>-74RnJb6(0-QoH}Wo4z5m6d(7WXTelGiT1p5hF%OR# -ukTcg-t}EP(;N04KD8BOD7g2>dW|kB>%Is7H`T@*FV|yaP*wq42-^h&?*n`VS|o?pEjK=6?LZ0}uQRo -%h^xkD2JS#c<`7SIYG1(+wZ+8Md}#aX>Hh+nO)A0Y~%!9YG($^&Ow>%{|DUeP>yJL${EBm8F{5vuD4J -o(>r@M2d@x4IjV&{Wsotqok#!ndjjF80-Xt&3nnkh_8`*=;VkDfz2yh#8kXrZONmTTyn|vn>TM>L=JH --^dp;0WQlq+&p{V8=YoO)qrU?O4wS^iMCskTx8Vb?b51ypNU~*h!yb_%>;ZCxJ%)F-zM(YHZtH0O!qB -g{%dfxw`e@z5GW7ZR=btwi*dOYKsvibJdV0DH9Xiy=)|xeI4E^jid(QvRjUHfsc%Il4`61Ru56}U0g6 -m>~mG+ntC&&prz$Sa+A^zvO@Cbh3&lNA-4ci-*geaI5B&SQK4wA -=oO#d4%!X<-uzd6PX%&`4+4j+_hUb>b@(GM4)%8I)~&L9`En!AR)?A3wzYZUCLSX*wtt{Dv#xXJ& -VLW>E%bZ+qBn-|#y0Kogjro(ZO#W5?*|+7B3sx_uvpqPK3#W?^8O3@p+)t}$iMpUGMj(3hsD-BZT}A5 -@Em-wJvn%WEuxn|4+<>Mu4|l&ooSbTZ~e#SQtk1C_@4NO$Mofx$QH+!UV6#cUG@NdMc$zwJy3aEa~^3 -o^n2@{YA0IiKVZOj62D;okOTY?zLPyB=Vb5UgRSqv2OeYdv9;JS%_&S@LouIk+7124ZhLaxmb`my5wF -|21^Wy}WL@RxXN?h>l~?%He?8B%Gx++6icb<-&!mjUGx70oEIUn@Ta*yI1JGsZs?y;+TyvRNFaE}S@ah7`&=h%s3>(A{(`OaZ*e@|C;c -JZ|nD^l;%`3IffhUJSqrlS&G4{U3&R(FkkW7Ovl$;imKQ{(+XYV)}bo7>Kax&PVckyEby;VF^A!y?J= -I6XFM!SodV>qU`~Z-~6}wV|aw8o>H*UAlC+L36vQs?(>iXBu;!RD1im+NJ+dyY#-s=d~K!PSO~d&oEr -0Gg{+~V-r4g`ef8X>GKV6Yq@WKBl5?uL=yIy^}lRq{eM>*?$dHd=1UK3kCcVqsab$+8Z_n_L%=eR -IEQ~Hhcx#+J@6Q>sYrxPNLUw5e2+XFj2XU?4TrAwElLIbfA`2+qDyN)lyRujt-r|=s8Gwy9Z-7loaL% -)-nHvJuH^7Powv_3h2=Ab#6FHExeJ$Wwc5=XNqHs>L3@(%iCBR+Hbee}vUACFYJXf=+7$%9$nd+$T|J -rC>&{_E&p-zfPa?X)Kzm1wI{RL{mTbJdYv1fSXdyzb)CGJh9*M?5e@A -R%uTrp$DjGS4sW=-<;UZH`y346hyzD}#ji-Cx;p>O@g -2Q{j@PF^T1k>-LS42&d+PIZR>f-cQ=uMa&m%IMVaW|W_Zt=)t+-t4*PfWI8!GiRaD_5qXi{$&n=ir7G -_JHGC{!G(1q+dl{b)#F`UhVc5&?UT)NX%Yy<&_iN=Z=c26yJMfu)H6ExLdf)3=+% -`e4JB@`(KCKw|5$(F!iDKiKKW!Sy&>Xp=&*UUy>AdY*bD3tuQBM~2Jb(u6OrW6BWn@uKQVT3adFPPdG -oT_heeAP8M}ww#rI+Vkp=bxS!8W*&*{scC|K0f~1#KgoI;3z36nKEX~n3rQ>Vr25<$)*lmQBh% -P7dH1{&pERH_TEPJBitu5xTe1EEtRcyn?ldqnI}ebx86pAYD@R%?EK)aQI;<4mK6t?_dWVmtPmS -}rn3EuFpw`r+*(zys_8=Rpg5f!)StLg((?yBGO7)}t``UtV6GUQ<((YIAP*3=I<|OpvRtx=L=p{dPl} -t^3*j5br~7ti9mA#7&zv)%cuTp(DfCKkU!kxpOCRJ!c$uCGal2w -zc@}H8tRG&(^428qM|pX9#x`)Ts;w)+FZLST*yMu;53W1QwaxmhqqfG_|44M$82IU@pO#gtR+(Bcwvn -2X?J1t)+Gc&$vHllX0HO*JxUXrI<@-jE%QvD+4X*Qx8*#aGsC}sJNLg^_t4#z}2f)Z?3Ja{ -Z?(%muuIqeRSQrb*=19eSQ5gy~dQMo_fkWukZPd-|rt>U0uB^5C|B4S|0|VRj1$ao=-n*@7}%CS%1)L -G^zZZKo7}{k=LN+Aj3Xz?t@Cu_!(aj>es9WXTjKHXQ5bPUMf|ujC5kDlwWXRViKcTFJ?w9r*J5e6Sy{ZS$+R3@A=qi=;k`?1-&9L;j^hHaV~i_zI)%keXY)Alyt36>Za4z*`2<2rhQ -LWcV5KvoqSz=QBmE@w>|NVYn}Lo67z`fTf0DCbG|u%Z(Hl^<5x;}#CNUz#upRgSSP+|t&984DDypQ|K -Pqe%6!XOS6^&;ett&wn5-F5McG+7`Ek(&c{%;_$4<=1PS5X^ojEpdO8%7b(|V1alHET&Kf8C~HPKPo= -{cF>GxF_kUB*RU(>o?Q{-6FaDk^qbUO~S3Rm=`v?ONwNJu^RJY(ZY;v>EPWeI_qsYJskjF)k%9voJF& -V?suL%ZuKZZz|GL`3cUU8HE{HQCa+ri%!oUoKrYuaz2Ul`~f=o#o6NDib0CI*TE^8=NE^?~hy1A#*UzSyx*uMt%pQ(axRzOJEed)=P819gpchw -7T@n(LzKWAw~KJvT+q9J>`$8jJNR)q0%fQDw^tvk?p_m9)3+wECb=f -1Caq?4?L@Oz&9%qPeqHGA=I`#0^7r)j^(Xq1{VD!5|7f#|i~W`UwxX9`$FJl6fBY{{O9KQH0000803{ -TdPQKvO&$A@}0LYsF02}}S0B~t=FJE?LZe(wAFJx(RbZlv2FL!8VWo#~RdF?&@bKAJFzx%J?otq(*NW -3JMUOS%p`kchM^J`*z>?GILaT!X2Y{nAFAt@_L+yDLT2LJ*jNXfptzP@?o+{F?FEP%ygv0qs1dZULUZ -<0-u^lHyrRy@XznO_emPBz4Q1}l7~?2butlYDW+bPdDXS> -PS@3SmU`#etXjo|@LpxhbQ)I)yn_#-@M35$t%_v4tTOm^RS2;VX@#)Ph45YnrDYY*=VFR&(u~*bEkqS#c~$m}{66&F9KJnx -dGPiidUf>r@c7`(;n4f($HT+dQR@c@3X!A01lZS;9OfUWYlx%(F~~{{BqFK!o)1rvm8&KE{) -4G2HRm&jf#&MtP9|z-m48u0$2l%Ls=#gei)rk@$=)mqVJ3X;KViw|GVhW33hNKx+RT -03n4n03#=W9(7Njl5?!5-Gmi}-30?|Eqkc!S>wB}Z>gqtmm)S4V$_mi#>Tcf=eZ0;DjX$JGo*6~Zh70 -#-?N9r&N(+jx6;pVkg|-ah;?nJ50XP!j4@DfS${P2jhk_lIZE`MX#AO4D{o(@7tr+qejP11)Jb%_@I@ -$V;=zs{!nJot?5;@gI~AO5b}xBQueGvG??H=kza7m=L=5y+=mP9q2v(WDLV9uyb(s;z#)1W>hp5g}`7 -C76QIZMBtBnnDNLr-h}cEKze@Ei;wdYD8Wd;qR5WnuQlD1ocR3+rkrrVAhDEgPZt@|Yz&O4nu?hh!Fo -(?MHG*dKmx%h$2I`e1=blF2)NWmm~1-we!7lc9zK8fgKxmpaKkvyMLG@qDRgHma6cWr{V_WI%bSDOuT -Ng|!(40&6T0~B_~^yS%fsmW=&y(V015wDALyk4x)8AYrJnDHpRyzksNleu0}HPb+jH~n&W_@v(b*wXC -JhvSK7{;X@K8b+ -C-{^65*PS|3t@>5;p%$+n;mEzS!;Oo!|}=4;fsUwL+>B>9cbYB$@w7=E_E8do*$hY|8kw*rseY=51$_ -#|Ili5T=*Z#hr3^0{Ov>WA-#ME6Qzp2gl+5SwX4S80;&^yeet)iFCTsVj}PaM27?dfqab`Z_>BSK^e= -CJJUNEyV}JK6UQK@E$DgcUS3a@*tPD$$6FdFJXS%Aghy)GXTjIrd8hhEEml;daT|lp920284fQ_BWJT -6P`4aj(~l?K`PlbBQkV{HS+OR6XeN->`qiw3`jurH$c2748>4$b}jpZ4z{q{!DAUOb%=sG)}&I&OqR4 -`dM#K!LlKy$xKb8kYdGuG4NZT;?bf1_s=^1BF-syKnTtXt%C}jJ4H?FwgQpSJSnCXL~n8@77CF1A@&6 -U^;K`ciqpumc)YVTmO7={_1)7vv<*=0 -||KcC(uFkW#qpLmrgDsY;boQ_=aiMBn_H@~70QdiX#20Y_LhljDc_hIBr%vPXT%b~fxUXlG=9&cqJuY -{bfp9`X#&iv(l1WfcSv|>mEG{5n6d?dnfQrYC)6CZP-HW}}G?}-Bms?9u}+@ -OMljZ%e+$Cq8R9$jbI4U|(Hq~<9<;exR_%GY0iO@Cid0YL3|narmomL#lccqDmKRn$yG=>?~Ur{1%tz -Z--a1bv|OsH8pUK=4G58TGj624@ZUW_cYy{q1*tO`jG^BmGAp@@NIY%p_Oo{wvTu;WGeFW^4Xt(5@N< -K1Tp50i^(_Cr)_~=|p(T5@dc*l!IINZ9346giatt4cIVFGW==$aGfpZ(}+6*CHR9~hVXbx3I}YR)=&A -G-(Qf#dTIX%LIg=@DU983{#Hz`>Bl%-H-7^qiB{G=?oc2VO;*#ul9|+iy`&_jVN)BykO2JYa1qeo@Npq`;p|Z;ESiInc2$L%p|kbeDOV1e|PBff*dvhzq+0RrxPvI5OlgMr>0aHre@ -ey{XB)GOj6~wl`elpg$(rvh+}y0REVQj_3r2`lpFIn{Z6NKSDc%Rknu@x;G4kb-)1Yr1f0XIAlEAMc| -!LfbrTW0Wa$!yPjlG-pE5Ugco^n33%GX`f6G;Nv~}yY3bMx$`P7#M(RJ*Q*o^Zn$m{~_)sIqX;O4Qgr -gziX6W%yI|xX82JTZf$p@FWvEXa8Y2Ilu-PZV2#iYa{q@Z;6po*_r?W0V~ldt4t`exG%7Q)F_Mc{Lrj -Zq;a09^{cxVhar5wK30n3LUZSZ;OimDSmW!3Nvh9*bmR7*=jn(c#HQT7Xefa~PT%tk1S!rC4$7Y7=v>|cT}Gn*BzZlSPU=E5i -8dnC=-CR1$b6o^Pe0244?XqQcjL#eQGuUA -SUq=iqtNzavK@ZUnFHoj@daV$pV#JX*s}cif0qZW6)yfO_PdaDYNqW#bkm13NCgh`t)gCHTl}z2$P7h -lVi5XQ~GvM#BF+c1CuBvqDcUjB?lXJ9vs&%y6fDL%Ui~}P29bMkYG>~7;RKui*cM@Nh-qH#-LE=s;%T -w<)SjCRN7Fn1X)`aA$mFNDUoe)Gf_ONM4{S8Cm8NIdr<3=3tYg*J)6t!dZ#cBQQV@9Weq~Y)e_?kKwd -;xBuyu1d&*(ZqG&Gsv9B!ZB$9B$;XGTRv8v4rWPyk)8JLh(`Ykq<4Io4eIK?Yvz#T>>)j(8dg~)dB`e{9JAe{j!X(k3LzR>gR%diXlQNoS+hjyw=e@>{@^`E4 -IVyy4|N*iyHDLh(QKo;okm69h1-TR=@D08Ot%;tzO(iZ -G>RJQeOOyb9lnFwg6g#2nFdzkM*4*=){=0r2<=VK846{P(Kbd$>iLx0{6WP*C&IDWciD1`kPL$C#q+D -I09LzD_8CWenzwQqe6-Ky31=KH;-;BSM>Vpi7!44TyC<~zr5D*l|uLEGEi}*%R1XsQ$A+-cdCC1v!QIMAaz7g_ -x58s@>$E*`)Gx2k2r%F~@h5!A66|MyTU?%vNY4BqTU=(IQ(ROP4^~Yl`cI{3lxl@c+P#+EU^cxA-BTY -)s+{YNP0B$BvXv{>PQ}Th5_$J7kt}L4{a75hLkRS}?q$ujM1gRRW{@LM+le3q`@}cfoD@3o -2T+O0km2y&cQ({$(*w!qKcWV&&z#u2G8AV@U%{SfKU1ZcH{;gou$S}b0uScgK7QA|W@b>VfQz+b)MDX -F5G~h<#yf|;`Z(k&`1Npl>bYs{UNEcs~(xGPg>6%-O!)(eG*igzIKo -r|@F-c|#uyok~T344P3xxHL*ldko456E%NVrH+bjP8f$QJ$?eWr#wt*!{mz5CHGbyx$THW}ZDwPLp%Q -W+T07dQsl^T5Y&0;qt@5#zn^<6tl_eXQuLl@RyqLJbFZ86hBCurqW}Hbe$7i(w~;wD*sr(k`8aq!;ku -`BBI3(i4brYrQ`Ax=U5D+|;9nKhn{mrd!h0C+VHEnSyEqXA0R81_r_#z_`_m1}ouK>pJk=s9~A7P5*& -W0bZCjYCEu`5#AMu5H5Ivjh^3AeJ45FP~YLJQ*+-+&3AJ>-s$vjyWXp$Ansi)XRwi8Cur_1b(jV4h>; -8-s8=IJ$N)h@fxxFu0{LH)Hece$asu*FRW<|jFlYv9NzfgP4a3osbZJ}Qq)DBTO_*-Lt!?Ij6*if>&D -lkkRk&pp<*?>RP^P}*Wqe-~HVcTsJ)+=Q|IjT>hae$3U)!~qs_U>a&InfK@!N)Ignu -)--@~`*f#8nq8${mOO#aJBp?x0R4&a{&SjlI$7ywnbh*Ie1_B-IWe2@YQ*)6{J1p;LE=WxZuGwr49UB -;Stp2XHs3zbCJAIL~{pjj(8`9&l6!Nf)l&|Z)B1kc*vSJO2I0#puN)Ksq&hRLZzheR0$mMp?$BhO%FI -!e#Dn3_UxlAewt(yy+R@kp6ntWU)7>#$}gf(^ny-<-%>G>KE+<{@|?to8A+0fj!RkY|;ixszR*K_m7! -c-m@MX;jvT!h|1SprGYiL9~kWw5h%3ipjtT7R;Y%Fg*hT&HTc4U{$n -7(O~ae|zxy_2C(QIsftC?2ukd1AiOw-CJ5san5aRD>cnsbF-p`Ps>?)VL`IppL^beY4~7Dl9(NEh^7< -LKh3uTJ7U29L8N?+X^$os7_0REnCH3dDrZ20qoZ -95mONV_4K>R9)O4rMr{4XXo1fa~&?w6Q?OqPaJs+)0baM{ccg1-lDMxV!*DvBZ -8Ytgs$6X;kU_q-tpHI3V|@7VW`$mb&Olp^4_5X8d04e!7zn*1kS!68_wghAf#vt{BP^bJD60Gr#RCql -MIIY_6M&8p-$N-fHB^Ve5tqF*GV~jxN{Ud>`gv}&~4(KKseAsx7Z-ug)8*mI90tH4WfDs -nGx1iMzNg$&hNJGXq(m)~i9~h^hbjtIiLp^k<^8vB3=+Ev5`neWBGW#W -YITc~3`{&3?l;~0_e0BzjpwyyzFJo@OjzkNCYJk(^RT@HpPQqPbVypV^gpN7ACG -zfQ$853%?++z3vPxc-K(C>Y8p1%EPM46|6@0zwhe$3=dx@L_Gd`Q?6Jl|V68vghZ<@=8xZIf872Ndh5 -SfUtAD>jthYerAY4Swcz%q9_jX>13oYmIX1H3$_PZeP#R#5J#t>U|_ogZyQ<;lGugMh8)Bip6L}G8sF -xwbyQh)Y{>tzh+}SZNRTv-XbP$qrJQU>8g)(g$WkS$y>tg?!;JU!7`qjQmP$h -oLi_?JsdLOi_4Xs`ccA72gVK$^#pSD0)*Gs*{ztbzp{a -4zzL;de{o3_k(8L3l1zi{`vy+Pvrkwj>_LfdRAi2{Uz$FDd{$X;!z)RpBncNcQ~cbpjRGD-~On?C+P*j6Ti_sUZxY6QIb97;X0T$(<;gJq?q(tmNx|SB@1F@1#8Eu#KK6KEsKee`=%U=qZoHv7H -b9VI-_zCm0w6Gg_R4O0zZS%4{~PxlE5w$TEOcvGq|Sr&yzD-a6#`!qw9Pe~I4IiI -{R6UGN<2Cm2Nlza+N{KaweOX$`F#By8#(b=uR`p|3C^|mUOgG->sfmVl5KB9BW$4+#HIC8C+Avo%!v1 -b`O_v1n^Ck=*Ica*zy5>x4R1_1T*MpJcB~W|&P)i0~#&Ue@I1vSYkDMwwuE__um2V&>e0o<{Qbuxz+V -=uyw`=L5-@itW@*lbw0{aoWG3abvW2zfb5kmWWgKhFLzsux~ZgTLbz692(Tn)ciKMX?sbb2N}u&YN4Sfy-r3(E(}FsJx5*c%ao*)h{9FGIzTX< -4b><%&bc;0Z>*rjM39F-;6%HPxc>&BLGebhk(BT-#DwNv7ByL9zTOmR(RpUge9)7-uT}@DJCV -wkq$ucTjMQP=+jpA>Hxo#6AwtLdE6I>_O%I!KflC*~*(>x8Epx&@U}VG?VKe3|PUhuioa}nzC1svOuL -aH^sIu2_UXrPX*Z}B9?O=%JBX@S`2?+e>uI`Abf9FX8Xizf;&T_-Xh3wE}r|q~2vwzr;Qd{ov-=Gf{a!8=)M<6;)mK8e2FsGBy -sW-|k_BhI!G&QTV>KO8?8_Qk7C_67u8bvj}LrX>Dxl7T%17m%LePQPXM~oJe2tBTm?+j -T6qQ2Mjy%(sWy3*790tk2$}Slow@+>^@*onQ@B$HDh3YhF2P_Z^Vs9?4;>nsV`{+l`Fd30t_QXo2CTD -Vsfx1H-2*jshq~?5Slux5!=vv(Wjg_tFvJl}@pat5EaP)FqhsJIPh -^Hvbf<}N&fKFHV~31Mph(~H|s$d-{4}!Ea*h -edBuv;+Ub}o+hl!-&K779_vChnmz`#Sh*!zdi`bv=g78?MX)+n9+Ebp6Fv`;az^!X^a&%54b2ZeHUZ! -ajrCuKH%de-jC8O>p?gm?hlfNiNxAkL%|B-o&-h;`VsP=jY&>I?;#kp&H!wuU2 -7#J&mpHzw_z^^O0hJs7mDW+kZpiQqhryY)mmRxK3XmPLAK%#$7K^G7LfMdvW6u%o4r???P| -BcYZlJ4qHjd|f1&Mx%J2YMT;XGN)>TOElAm~S?sN&3vZ?j~|k-V^>V-)GxqI9#;IWzlmfz5Kxl$~hpAY)BAEO1`0k&;*b!k|rKVSqeegLS8JkVt~=sSFB^9 -y+?DM6gVW4|eZoatR%2_91P5PsdF3pI8PsNdIv?VC?ow;$^;I9W~&Zs={IU3}zq0_v<4lQK=0U1wuTM -=PCUM`F9AjQIYuWIXRp&iqm)1R=Y;I!u&s9%imBkNV&NiDgO#bJ+1r1L>k;C6_KnZ# -f}{+LSp)LMYcBx>U!Uab>mI38yXrW!H>wZVOyL8%7T!L8S$CKkk*BnH{#utHIQC_grhMyt+R7(L;j-j -Euu$3HEsGM<(Xn>{)7D_E_S6B+STqW8%hu=6Eb4SS`2l`suj)D6&?#ts5f?W+VU&(u)%@B0(P)>KrnF -Dd+YU46O+4oVf---GZ(Mt$D?0B_;hA>`#%nd@-A!lFDCSS$!@1U~$=XBYBPM7@)PM7U^Z%J#N -D?<>!V}9`6VUY1l~El*&Cb6ka^@Nj~~y;;rI!NNZL#CXWPaU{>x9nc;wwR&m;l38Ez~>a_8Dq&44&wV -kO#rZO2Z2a>KGx|k43a|{t@dl{G6d|5H;V8Z~HHU*xdF*^PN9HY#$bV^qP%A_&aTq1PV4oa{^1FmH-H -E@gqECfYENdH+AgDQDQ=}}-CB>)-X0nA#u6f4~%Ur>c|t$KwQT>!m^I=C|AoFX9FTxV0tlToVz((Z(f -Lj9y@_eE!FiRn;jR^U7+|JjgcO@ph9Io8QSQcA}`sYcjU7*OnUR+gacuO&4ai^-U7XqCh3`Diicdc|< -cj~^Aaa&`o6)STl*#M)?Sa2NYXvC@YRtZ{Bu~JqfSLjBnYoK3C( -MwAu_=+K~txEigfnb|Kr$s1_b&+Q3$jC}+e4Uh<99Vz$y3@M -&lL#ICfNVco*%pMDq}9ltuETv@Ui7sy_4av-WeJ8P&tZhh+wR@f)2uTsn!vM}daQ8^T_q>Xr^XLhMFgnnJPq!SZZ;wZvq-33h -@@^^DW8yvXp6r=-_I3ID@dDe?lS>S#e6mG{RoJI;aVB^1lh>Etfrw?QQhf2Q)ADWHSRm)8!w_zpYhG| -P8+RVoN=hd=<_Vtkqa;Poo;@CH+WUP)&JQpm5VO8=|&pgXy+?`&dG71`VlTRS>H`K|^IlW-VIwz -sV)oFNZ(hkpMjCqqZajjH?RwB9od!uEBPX -`-2) -&odNIQQ={gWs3PRh0JU#?|Z1l^A-SUWr-|-=#F@hy=;IY4I^m2ghkUte8+0v^$w;}46c^juYGYXj1Fx -~cwak@yW^yNL+*19w>_F&?7h)#g@B-n{|Wu;DeK| -Re29B6w~YemHlwX1cdBG(+TXOVHWb|TwWNk{%$i&1wbmbC!X327y+Hdfnu70A#}Jkm>E7u`VH4Jnm7# -RPYDP@k(K5+b^7SrUyhf}L@lc7|n@RJJdo!GfeSjDn){{_re1fA{Lu(VtlnTEw3+l>h4Y%D;i)(;`VT -y6w3@{uCHNopg}<0`#Sk_hcylF)!!Ud1qDXXsPjBP=g#(O3(+FD(4D}(6}y(R5@ZKLo}8~*o$P5lbw{ -`+voN03UqpHrf2c-x|XKB9NSUdQdMdf*wX=wYM?u0-a-aV96Uclvn$^@Q-h_Fb+7`IG9V}nr1cSGGg6 -Za!o+g&w)*-U91;4>=WzwdSkS@OX7 -l6^s!Q7It0HYtfT#m6FstNT+CO8Tcu)wZb+w90K@PItx4-|6E;`C5F6V{>q!Brbn{s|L^x*CLZD*qIB1VGJsnnFXE|JFfJaWXzcqTH&c5cSJ>@+iQmzlF-DS22fANYgJ3J{tmiPGH2$A?`HXv~V*f8rLX4G8#I^ -*~Awf}33+=AONX0A{2L@6qD|LD%n&Wn>brw4D3p1(ef-X8pL&PPgZsRV_UdGqxSi!gQ+rgTH-YyBirb -fPV7E|CQ(5XHRfkaUxMe$RylJXtYab>bzJkN!H#Fr&9pa(t);-S_gzJNX)e)|1@69mBpDBcWI>eF>tx -K#mqVuWf#fU)1V1-oiK6gt`LW>&tlTK<57eP)h>@6aWAK2mmD%m`)?_XZ*te000sJ001cf003}la4%n -WWo~3|axY|Qb98KJVlQ7}VPk7>Z*p`mUtei%X>?y-E^v7zkHJm@F$_fS`HE4_5CpyP2R$J12Pm6(yN0 -Y&#SYc}Jubb?j69>~7~@B;vyr0oD^tZf`i{@Twk|k9ElbU#qVY2FVA3b7eSpPiNN$))=+cf9!dWW+a- -E)*mQ{Vz%UGur<1X$7d3k!qg8G)emRx?WeOTIAO9IZmDwS%OnlA)aSVwNRd?WOm6nf@}gG#1N7yaiYac~8Wy_KJIwl^N+HG={s2%*0|XQR000O8B@~!WuZk~a&H(@b -%L4!aB>(^baA|NaUv_0~WN&gWWNCABY-wUIUt(cnYjAIJbT4gbb7L-Wd3{sCZrd;nz3VH81cjX~F}9w -D0y(Tf1_T(=p-E4}AjmSEXj3FZqPO_(C)rW!rr2~5P4YcGKFL#9yjy^@l`@ArXsKR&iWxR#Q&`!ibLw -y;$X7GC{qXS?_D6(o9UZNKovrDQa0p*)Ybrs?nj(O9i12l@T5osjg3biORIqy3?jJYzPy2_*T}*~PHk -nNBh5Xf6M;>bHK$%MYR#huBNG-fa-(&06$jI%BfM86WA_A;Wk?%ZXoC~cvhb4T^q>xACwX-MgZR;dva -|lVTMXCF^_GrSunEhakk?ZalgcSi0IN`$khKAu;VneX$>ucw%8;}*&Z@crRD5i?eu<_bJ1OggvXgd>&xe9~%-gPm#4Rf3IX88W#oe~#2%q$sb -9Ct+k?pFiVgugtty9AsHvq_3pxGm%qeOL%2s>dWJ-CdeP1uIlm0sbLOfN9ad=Bc-Y7#c%yD7EkW~9K} -Uhcx}Z2DW*e6cq*A&L?|O+c8j?+FqTviP56kr4{`aeAKW2uK -)(LQkKG-CuySl2n-d#PX=J7X=&8k}G<@TBB+Rfwtz+X;IPfpE?YJaHn?R9IC7c+DAS!e37l!+X> -FUTt5+5mxiPR%1;5s2XWI<0&kT_C=WGSw0JD>me7CRa)>MstY7YKmo3$sKy4u0xbf2}?Mjm9#2EXdKO -}We3mHWD?io!C2`jf5evSLuF0%@}vi9I=K>%+4X1Ap>h`Q?nhE`I;lv&H+5Z{NOo_u=LD=G=U!J9}b3 -uk5}xuW9Vdx~}SH_3@3Nx(T5QTT%;@a+3Lox5de-J^`-_(^oHRx`XQhu-6XCnu{SYZ^oJCojuSd0mw|Tk?+1cuV&%LI?JFd29}7+`BAq?AqL3+YG{# -#DP-lbJDzO}D8UiWyAGSD=Fp!73|I&~A@{2Jm2TW*SC=Y>3Rw3`iY3-{*TfBZU{zbbB9&Y6e*Bc4(GX -RadNO^`$iyz;v*F0QsHG*1rmJDb~-LRaOez8h}JFaX0IOz$GOE{v1QKmf-;>Z*#C-XdRuUrKv~|3j}V -2%*(+5Z?e2-2m`P6Kf?Z0w+$hon*IZDH_-ENh|~48-IzeflTA~v=4P{Q+PNugxoxk{pMLwz(O$Wqr?11eW1;#}rtsxYQAzrJI?{?)ea> -QY@&I$YO{mOXm&KG>li6mb%a=<}iwXSpx37EMO;%&e~M>V_OPu4HgcR4JxHpeP9`7?Ry8YpnZ0JS8GG -o0;?T2#0%TAvLpEEJ1z#!e+mSg+)Xo5QO}W{UI_?eZ<^Nt{yd4q!|1G0u0m}BA(omd1O3{8S@U=vnfq -pnhSk&dB+wuEr=lyi|#Dhln>jnQ-k)^>?)Xz5?=t#6{spoto;m%8;vIO?7+e%_km$B_2YGh!A#Y)vhS -e{&m8g!b_{t4y9heS>ZUS@qh)TuQS2$r?A;|Z6)8TRW!j#d)5&UmowE$2`W6f{QIo(M8lw+#sMdnVciX8DmpG;PJ5($)tS;`8EY1!H~ZC-M`vC9q^$7D -W>lYxPbsI|`<7?i{od94ygBmP$9qSN}z65Iva3U(|fp-%T4;ZU1B)o1sT-BTAN{qesV^|3i%>U%MN@{ -NA-jCdtkHn=~aA7WD^slzZ6MO<0oWE6R?p-trzq=rka;Nh6DAJ+32+uP)`@b`KkTf+H##pvY!G{FeRa9 -a|JN-x-OwnW7{NxGYbQ!J|SK-iMhIIU``IZA}?>6a|+nzg4#I-*mD}c(4xpW3HCfzcv)thm0JL_UBuv -mJOa|0x`A8-f(r`4vtAkIh`{?nyAEU*4OmuSh<)JDgrmjR8?k^eB?0GBtzfk|WoM{ALb~?mc19(hmanu7Ig)x_xSjTN}TW==q{^pi% -V^IJ8q>r^SD{8c9|xvC{ZQpi_MIo2cA68{`qfpcK7( -Dtm?FjKox()wRbz~Jl!sGooCTzSvzzEzQG=Ybz3$ey#KuKUraEtQBOM -WW^0Ov(HSY+9D*A_MxOC%^gj@vzO%{7*0TybdW^lD_sBa?Y#;~A -M?Gu+Mv*`@WaNT(WK`02Xu59n5MZzDzpWN#M~@9EVr{PZ6Yr%;@q{$SAG+bytV@ ->8t1$tJhc8;$Vm=N8KBb>CwAmTs1+hO<@!SrFE27tZTufOQn)}5Lk0|E!d7*eOM^p$lAM%u&PHlv6>g -afBwZ6IVOhRY&YR^Y=raVCyxu$W?asURK#kP?c0mxBQWDo2x>r9iE02SOWEH@ -!%3$#f01s9K#IGqY#(WO*n3y5C#-!u5SbiocE1%&>swbv_2WV0RJizai6^-XKYYU2Rk7YHlH!)mfE_k -E4x*QDE#gBaFZONQWdFc&>&f*L~0s=7K*RVeYSCeV5WI5{eO@gY#i5n9MqOica1D<^0K{q}pgX%ooelQ -sEZ<$Qf*u!nibWSTu>?2K5r_b|Co%HM%G1PFmRx$E!aa4A;yCiahk>_<5jgE)Bv`s)!#RwV_mj(Ou?{ -u|bN_fC*f7TXXvK+i(AKxV##MWb%Sf3sJsAH{=vF%ws2GMkT0@3bir*bCJJzXJdQLEf->tEhI;Q7MSa -*y3u&PR}hIpOo`wkZjOYX#LkcocxI0h;#A`}5qE@)o31FvLONezx+A8O0yrYUM>_&+rZw=sml+ZgfO! -&1m^)?p{`I?L<_+uIpDymFkx66{6>@2n0rD@6|z{F#{-t0c5E3CcT;) -dcxsZrrtdDC>Z;i6r>gUA6x5MFv)R80fVkY7DV4_q%6dz9birI;!w*&dc6 -L?sURkE;Tr0jF}a1v@5loqpd_oS%La|Zo-}#t|gNEgiSN5Gt?wkuTro=4Q3mWe+c>!0Pb(S1j54*0Jb -~b0{}4?0U#c0O^4xG-7<)PQtWZu=IbP=gpg~JO0a=vbFRJPm%8fq6oREeO5j>cC7d@dw(E!Yf(5j9dG+oFSF#YuyTex}mpT`!0_y5TjY -QqINT0+W`plw`m6iFW`;KP^-pfu-`?U#H%nHz8}%c`;GPe6_8!=mm=_&6{tpog~*Jj!t@$(ejEs_oYH -D+(__m#K=7?7@fSOFAs&h3$HVjolndQI!kRGk+Y|m21mYf~jIX74J7y7*h^bz)3L`CSkWt#{sjsnJnS -gvk4{qh?veN8m8par$oavI{bbY52fu+2ut`r(w8*`?~rB!Pi>OfFw -roa0x0w3r|qOvzV^kcdh4^4&xTEsoUSF`7Llgg>gW#WB9)4v}*te+5YX!!TO63_PP0airX`N2HgHKowG=r>GT&Gu0t1qLo^offFY_Cao2v(Ulgx)F -{M49UIHlics6wd!*!xjDGif6g!+)=)`celn6|Amh$iVM%W`yv*$5rJxszmnKBibJkU{m)J-}Zfxel@G -m-zmY6`eK!F0(ZxTkxH5^qN2$7NX33>;!%?qQ>$!@#X7h=I1BBOj4egC@AgQ)CPRX_?^sw$W2k=Q1(I -^QZR!K$Q(9%7J&h64gxv&MzK=3$jt5h$k|5#CXQ{{3XR)N{Nv{-CAgCnS|`-kM|fc%gc*V)$IcdU(8% -V_+@i@MN)9|_z-)|99)M?vRbN=g9frNGKpKTc?vxQz*IVo_=o_GGE -ruvybAm~{!~Q8n>T^oJp?w>)*XS}Y2gV;?mI^r6v@wE1CgEQdb22{R@hMbuqXC^F*<%UFfjW0@{aNr% -t^ELI`RINo1o4^&inb`Yd|(eV5}hZvwFrWp~0xVNb9@lJ$;^4nO=I=a+B7!w2d)MZL6tEh-MfJV@?k=Z -{&4D2Qw$v%~Wf-;5&&kDvV<3-9pKr>~OV2a;KZ@{%i20?MubA9`Q|1l~LKc*}%bRO(AnmP%Fm*ze1gs -i^SgeETj`34;kXkpIkUK#F=rqEvCqB=XB+%X9nSkCA~$$!PIWE4jR)2YF` -(-gSb^vN^Wd-^@T&&|8j*}T^R>1r -~Tr#fOstoZEYL3@jef3A#4|C;Zy_alixPHyj5-Twsv#JL0b`t9QTm#_Zx9P*g}Bm9$74L;`(t!U;h-= -dydki6ThxN(~?QUnZ7@7&z+o*=4odQHTOW>h1KYpseB>E^HnN*L;km}JIB&UkxVmOFwB+n-+@0e_$P^ -#3Ap3WR4ewiaSD7InqGYVrKti$A>n%ge>9H}C%Z{KI?9Te-Bb{esERGm}I$n7O$~!d#7W+}Y)v3l~!? -I%M@@@)5JSR6QOBi4$1@#UICDF(h*jEb^Y0bo1F)XWS2!9H_#?@CpNAJhG3Mk -CrTJdX8{-Lw8Y4H;ld;08w$}!IUObw#%fF6+F9^Hu5=Ol2)eHDgL|Q`JRga)wB$2)-+pOw*?_1T>z3S -rUz!M&-cbG5EE@w{T{mRk_Pmrh?HLrY -V-P>CI8Z$3yd((7mtvV@hadq-!MRN(Ea-Py^{Sv>Apk4m)VNi??lK|%?3>?ES>&w6i~Z_(xoKvd#t`9 -BXKV&`pOI>jBK6D>W2t|(~*osL{2{ZTa=b?fBY~d`S`=z=P&;F4`n0^dI67ePzw1;NW)n06T}8M9WRk -&^q#iHr8pA7m%>{R2BrN}T3s>Ff&Hkl5H9y^bSyRLdqCVgK(}@UFEIst60q>-q7nMVscpo)W9*8o5Ux -P?`FJ;a*G`7(UBE}wOBTogh%^S|L6<-r`S!*PAoqHIxl(?&hC-s7~PwGDmu3kd~XVH!77(dOue<5$DcsQizWpX9SCl1uj?9xWPBSNpC*i)y7^*w@4QX=$az@&#wdU3T%HQ{!Ye -(=_2(tT>{S~aSm0}KSz|E)ztW*sD3@2k@T*9o{*eaj65DiD1%Bw+S6R>Z(D!P{M- -!ycKvILo@%b95^Irgp}V^f1*(9}Hr9le*!Ow)9#*UHAOcFXkMV^7hvA<*&MEIMHejfFI0Jl0>af8(WYaj$WsYNe&+&{LUtUmGXG;CL@Dcupe6F`sa^!dP1k;^5GO*(i9(djeVD -NJQ=GfUIO}yjivFCTglgA702R?%9y&1;w1IGn6MD>D*o}c*oM9=46qv;-2ZnRh1*(Nt_?D`Pr*W?p|@ -BWHG{BrDZos~j7)7mSIPrF#w{^X{@@VN -u9$(6FpJh=o5MDR0M2)MbWjJhG)BOI>B3xOZ&ASY6GS_*fF-B`h7JcsZ#L`YYKKv&tE -dWOafLVowf%4_ZIb88oHZ=fI%j=EU9^%yO@(@_kE|#QhTK#|}#`*q=Gn+DIiOr}11Ca0ctqW(`D>d^r -7L9Ga*A{-`Z^?MYTepeu%?ze!PRwEF0Psd6!d1;y<}`E*bXsZ8lFIshN5#CX#mD|P|rLaqvoMm0Gp_Q -peB6MkX*#d4KbhPwl`YPbp+`x6}6ufa7zk&jW;+~8o%8E#7UC9+n=u90E5H5@@%`<(2xtiu;@EW;t^< -or#Qh4BNRIc))nubU|XMh~A#6F-{_xFy`hHo>EfizIb9Kk<3qUUzit*sS-!jj7_rneGAMp&y~0$+Uhh@4JL|NmpB+3X0XM&!(!b}w -L=YLbxERXU6bGzRLTS0><+YsxHy$e5bY`{NyqQ`a)sB!Y|)i(WMb6j@x$Be>KLT|Xa4p?$>ZF-A~8?l -QHu3{GgIiRMY9J|=PD%XwtAI*0}llT&*PX76SlY8D|?glF#8Mn`-9j5Hj{ufY70|XQR000O8B@~!W@~ -Phu=^g+8RA~SJDgXcgaA|NaUv_0~WN&gWWNCABY-wUIUt(cnYjAIJbT4yxb7OCAW@%?GaCzN5{de0ol -E3?}z)Hy@l}L2rxW1fQx6iSi*4HHVv)nX$wpXDj$YM;9T7vY)_IiK&%?tn%AVJ&NcJGJPdu=2V7z}{< -o&nrvqh}))WwSWF+-7AlAHBvWYyGu8+sjsWd3?Djn7=n*8!ujNu+s%+$9KgdOW8P^7dK(f+1sp4XJHX -%X#kzZoU?a_dj}uJ2SIULurQsmy`vAOCx>r-IXyZV<3nh-*6a0lqlgQ^icEp@1R#>me67guw$~VZD$s}kG!r~u1wp|Ja|txYCjl1wIShn-O`?~)f2*=Dks%;SWo;gWm9*30WKcRv;8<7Ifo5 -r`8K&aL@-f{jG;sr?`c3tV#R8STyFn&$%c!F(g41z&O-EX}@}B|N==m6-84n}~4ECwkp|{NF&XX0-+Q -$$3%cDYM(rTeTTSV`C$X9<-Z4A#>dOfZy_{EW&BRWy8tw$zd42Zcf-Qg|rktlNT7>B(pAjc0-id{RRi*?3SOBJx$NU<;1B)RdY?W -u1dAMYVpmP!pq+w35E78r&2ZV7U-~sk!J3FkG7Cl0sw~D4^oXmQ_TsFY7(d+GtAjxic?ho9n)*g@+@k -kK_LcUUs5%e!hy%&#zr5y?pVf*zz8d#Xi@ZrO#Mo-C`@{Tnp@;NY4lj2swCmy$fy -@3$fF3P``>zn=bd^kMSmm&14aumr6MK$B>GiHkCW*Qysu3Z9BG=ha(1*UKcE0$Wti*VKH{tf(K>D3bU -Of}D%2%t6s;sXdR=8OUedY#K&a_#A{`bQNB5+$|DmlSz<^RT3Az7kESVasW(S^_oa1&{%%)n_vcYQ$P -(D8Uf430siBAAV;K}44{QqcL)XOkD}@~WOhpsgs{cJtJ>ehpx<=sAQTf(z)CFr0qP`S@7ZL$_tU}qgK ->asHDCE+U{Z#)XLd&mgyznI$=o6<=QqDMb|4rl(ko)iJh -w9njkuXqWnQ%a8e&JCu4F&&wJpeG)K4@wqngs$>AmNFryMvSP#?32Eh~j -(_W_{*c&lYm!x*si6NMG+x_pG&uHRbXM85~IS>a$)0KkSlQc^;L%~sfJ$gabrB$`rv?XLE+$UeRraj0 -N8=&d!PdMKw@G$AM~qlvBT2620FrdcVo6S|%W7efIY7)B6K91G^W!i{y^MW}*G3tYNm` -IY^i5ECm#<^#)n5AV7rV -Cfz(c0N*;VV*n6NYTF# -TI19*mS4}ZjMLLvMiOZnR5m+`@gHk{~*b|A{BD98;WuV5&7jvgqI03Y#C@*Ai?IW>ybYPl7bKC_!hijAb>P;fdG7YsO)>f1 -B`#=8Uz~qwMTL9gPdz{ZH=kZc&lGGc$Oyy5ZFkbUdMTsI)T)$8$ddl-gw!`qSEuLG-|Wie!kM_&h8V9eUA3YCErLZ)yztBy&_(ZN -(!AP(vgu)0%IhZkzfh-fBz(Kip(Ay)|MW7AE*xZm<#(7^U!g($zp&kD?wNOeAeZo(K-zQKFe=z)8Z`s -e14xby=RQ>{eN8Hw#eC;WR4?=4E1oFNt{b7#u6%u^$}Eh%tbA)Q(x~9v|=Tp6>PrsJMIo+cU{UPu@u? -`lTUoJ6cu?fz81sm*zuH%}m9+bl{E}Y%;qA%p`-5MPPJZrL6km00S>^7 -@-8Vt^BwZ7Qb%c4oi>G;*-(l!MV*yW}&Vr}29(&pX()=_ntF!Hmi+au4=)2Ii(RHJ#LoAvLWB^nLXMG -)Xi*@@bt!09VJvln#1E_qvPQy`07y$1To -VHhGCT$u$U6yzG?+L*pJDK_M7tGjS{`~Dg91{fFWUjp=OaNg{{;q3ogNB7?i#(j)Z2iJqwztXIzAJ7vrTxC8a$W}Z -x2#%*Rt+V4%S_kAE$H=+Z>4_4)T!sbbA_`Z$N0Fj=jY0yhE8;MxFcJOo4a)%^kZp-CEE55r1OjZILLg -$k*Y`*=s^@vU@&}}%9*Phw(J3)@IUoh9uo-G`t-gnB!}e$K?X||ldedj0pFHu%e*<(2o& -(Q(#s{dpuWT_^ELRecQq{f(T|u3g;UT*05L0Y00|9*v-aFxhpwNUU(3()7iUrWx<$~2gTGf5L;!z9>8HLI%l=86 -1m<$0*DAjz)kfERgsyZ;<`87`!sF=Jk&$p>ZXR1Hr=_xLumRC_hYDYrk#s+fq8eT97Vw1Vas#Fl=_n&==x=FF`T098q+3( -a6hGO82;3-h4eYuwh(CHH;jx&E{c}P^LsuFLg#U;l5QcqXHLe_u$i_(~iZRGanmT`UQDwIz7#3XAF-YIvG=C~YL~DyP^!qQ8vbJ7THlA|?mcrv;~(*Lg9zsZCBKLV&z7* -!n5DaLw$=PE+ioxA{`mt8GZF&NCAh9lR~nSsbgzviU8-PsiVME&a_0&56X!td(BGQRc5VO8@Y%A^q5G*j9B+RfC~p9sp;415=ofmR$1Un)1; -Ss>-tp7)9Dfdf%_SSAfD?VkqPo9#}DH^NZv>Ins|SLJvYp$H3*-(W0)*%eOXc@kb)>0K3@nZ@};5xOT -Ijh>39!edXF-%8{RDcYf-xe~ygP@4h0dNR5|%=bhAKH$_F44YtJ3VMoO6#$9T7&>Ci&~K(@;sWg9_#b -k=msDDUo@cmP0j&dh7BVb(d^A4%gi}IF3+li^l7%zsO2n2VU`*@b;RhY{`0MyKq@y&pZ{-VOiax -GOI;1Nl2MA=x{rMN^L8mGW_ab4jhQ6%SO+bHuwADulFJ=jM*lF3M#J}}USWgIwOufa@mK>Yu6)?@xtF -+gafEU0}=qG1d^jl$Z84ukH6T;1tByBthc@YxZ=#l1^Ojur(Wbn|9l0Y7$ypg;fDFSH)(|9_#6Qnq{e -X{b_z=m*|_J$y+rhYDYD6OuT+;#ge+arGa -mDBPz8Bi9s+tCaFzAZ>FV6`79dbxS|Wbbtpr{%QB*VBeE!2OqtupIHJS&C)+66h55RfA6 -*i$4YA{{0`sjAB;~4y|y?r8ooLF;BJd?bw~Td4}0%^**`e`YomE=RWHf5<0ES11*^N6XFNanbf8}FTW --EkqMcrLUb=z6`}OlG{UZZ47_P9Rw-~%#Rnc4DPGe>TwXucW6dGUEvKC8? -^c?@J;H%TO>WExE!goRIjaSztjXpvgZ2uBGW=*t7pdT|lORb`+mLE}8L$ -*tUhtW3)RpSeyMZ};eRSf{gG(K458Y?Cx3?gtIBp$yb2nj%0b7A3Vi85MO$;lfqyQ9+g4-s3x?p3+St -MWx@1ZJL+(D7yn9dT^F3!T3P*_qvnKgS+%#GP -6{>FuG+I2fECay)inf26RT@|f^&p|CyHWoFV%9M)ZOf=61(>z`8kwV;1gHnt*1x3jEgIJ_?IjOWfhiL -hq>8{8MYz=ov$pT}tp@jNoX)ZvK?gtHhY>p(1F?FT5L}kgf{7*e!=l|np+J*%%^2Ak=Sn7ykcl1{-;j -lbNtRvVc9ttic41V*sY-^eqj2?{It&+mI>M-^tW=0uW!W-p8a0^8z>y;B16Ea`aXw?JmO_xGl9?}DC! -?H`oQVZIyhAcwgxCCA0~E|^9%99wbYsGtt3pla5atGave%ZGpbe*U8);RUDM8^8m$HZxv7!8hz&V*SP -f1H@NK;j6M?+&4vb9mj+6DWrIuh3~)F13H5erZ~Zu|b>&S^HwTAiI$yKYce-SUVfL2j#?K4LxUgBKcl -!(hNq%LKH6Q~|LIRllqs)HaH=3wObHkHN!r*@k_qC#bYL(m>N%9$-!lq>vUUB6uuHo>xbLn-!61ftl1 -yY&7d3n+~uEf8YY=s^O~v-3J7Z-xdW*7EhPrQAq<8jZArx-AK`bvzMyG;!se{^D>o35-8C}5~rlno#p -{mXm0eCS|=_>x_@9!%&eII9wxUDY&EB5t$Bqz5t3C`Xsy2|PYroGyl+Ce55DTwO{Q&2xEp}&W4qfKXy -dW!^co8-}0V@hi4?Bju`NlbT!XuRRk -s0vK?hT+HQUPd=F=>zGbu`VyOb*9+vO@|Q7$CUZX3gaXtY+l#aJCk8FnZNAd0FE4VzoHFeTXBtUq~cW -MPWls*#hove#y2B3b9 -qzMJG`{QNCJHzc4WY200}0A%M6(z$eWmg`4p36hgse>Q*+}j% -V4UZM%9uda5cz%BK{9NFG4E|?i3?BgCRpi9Z{>ILWi)W93(Lxmila@h;pRR=ZZlWy~Gyo{81C)`+GwD -0ve83%#3M{6R*b)u7$UQa7ma0v5QS^tS(}QhE*Rr@SMB!NE;Aup#!_zyqyIN6wB5>g+r0H**BEFAoLC -y?x5vX{>MCD!Rz-X9Wmf< -+je=U&nH0kAIr&Od#^#=hz3!qySK7mu^mT(9WfRgi-03E%4F0 -@Dm7dHQRyWaLJG3nC19qp%uOl7IA_MvZf&b|s9s|Et`mQ$%}bo0%-~W-TuHTvwdD;`Ma32!kVp^TWn~ -o#{Dfx&9zYxp}QEfb{+I@$&)nlK|R%AFkWQkCu-=c6Ti8GI?bl9C>EoQU~44GbhFei;yk_`eG|Mge{XG$wt@|vm62&2%raIP=M)*OLgFS)M|7PR^S3sqU}xw) -Fju+{40iP@WVf%kCR^ZJAEpIQ@XNvbt)5zRD;YDaC?>&U#t-`J)2C17>G!7m_BgE|+>_LMG7{nJ9+Z;~i>IG_1S>Gfbz) -(xG)jh~wC_zY&2^p)GIS!+RNX5XAsj_4Y9kAAwi1%&@?my&3PXAB{milHAY3RG@#PisPA&ywE#F(6~e -x#up1!O(W+(C{prW5mj|lEbu%=Yyvf7u2;9gU80137BeuV}pm;io*q%uhy9HiHBj|h?iT! -mV005(ad%Bolm1mfIfXR+V27vh0>#YV6v}jF|5*r`yo=AfEp-C{T_f(8zm9DQhULl|>GTO5NZIB6LHt -}4O38q26hZf)TwhfN!vvHXMIede?$5O4Z4T~wO4eKej(`)c7fyeiF0fEF9BfRyv0}$q~DtbNJ*uF5+a -&&-BpA-c$tJ26e#a7frc*zqQ%>OLN&BtFAC`tokcCR%m5p -EI>g6R>iB`K({2&=>nJzJNo -PUgAb>Z)7_IF4@im&UKoIiERdEp=4+Jwonf{lp2kUB+yNO>^o-)^2hW-U-Zyqgh+%g -GiDZ)R`ci`Bd{CHbB&;x@R18$&!|6uFh*I7iA8+Mgb!9QKZ@qY;PQZ8$?LcY>e|GcacuOPIxFQ!*HKh -RCq*p7|gPW%8B@_0SIQSoI)2V`dFbzey8d$U6gs�T5_$T7GC6d9)BCC?vG?K?-Eh$lq6^)U^+uC94 -m-vja+^ZYsnWuxAGRCA;AA7c?u6Ry_byLEhhE}psXWw1X0OnTwp`@ypx2H&l#Ul@f6WT~X%_&d-j_# -qwHryxo)!5ybj9~Zu}NZboNnGLSPd1iW)?&@g*=*#8p+`D?GEWSsqBu8yGSxyR*8ZoP%tIxeWTB|O2n -Tgw8E5qyi#v(k&MHo;$490u|&zVJ%=>y8>xZ^TbR8}9Zbk-DLth^y6DZ?p`fQnbYB#(!SsD2H2K>F3g&;cqy`%1W`JO4K$WsT?io0DAwm`{4OQZ+o#)Zuk -e0jJ*c_^RRw><&eNRieflwM5-82LLKn9aC)`oYf+;e26OU|ycKwC5d`?gvuCe19^5vyzxON_C7>vxaJ)yU9Q-<|f(tIv -=(FP(G+`($cUmi5H-CJ**Ac6$JL6w#k^94<=4E|DwXB|1f+Gd8W -7YkhSeSV)DsV>T|Z0&*4>q4Ad%@b-Q%9{u|2)B)}pPr*{o@k#O -1P<&U;95$O9KQH0000803{TdPDDZfmJ(TOIWJ9p>)zuePU@$QoyT@I>880VCDAfBGO0sSaopY -g?swh*;*FG?wCCRQ({5vl1O@|OFqjz(W;VCK{j;$dRdI2d&Xd97c4PC8f%rUM+!pEVs*1YLd(rOB&Te -!Z7iIKnSypi}PUg`MbNKyVGxd8gO@4%W2lIJE^~$J7%B1+5Oa~jA@ZwEUT&HE3=2;Y_WfWZ{MKZpPW< -{J;$+RCumqn69QGOXsuHs^rz>_MEqBy&a7D-X&8NkTLRh(vNHjCmYngE7aJgTk$UYTE3H*t|*jcF8@W -j;w`031#8$?`hMs<=uC296Un->t5oZ0B66b$ZfXG)>|;V3;9XC~>agMmK47l`kuR0X?gVbb=83SavdB -P7y0rB$}t!DYqzKWJs`uWtsE=2BP1OuJdVniGLI7@?trjr{z^Ynx@#ocv->25+6>I4C-O${+bt2nat- -5BgM|}C>YrGc^I&{1&(_a$sm^8%bTnG8fyTIx`Q|?m&+mp1Yq2#+!X#RbASdo{3DrE{FIuy%;)p`26| -0+WYZLTTkg?ZUqFF)oPSQJmrO=cmRHaV#tUbRF=L95cjZ+Ky-qPLE$4;`3*RfbhYy<3n -znI{f_j;OKQfdU5dj;MF15Jq2ih3KnIg0mi$Z4*4lGe*hR9JijKRvlPgWr7^g|mwq!n>pML+ -J0p+0i+m4=`SyokB}E>`)B{_5|ym95N`J5_{^P2>yP1j$d&+34<4h2gd;K9IKnfaqce*An?)Xa#<~lW -HgG>YowHDQKVS~PcvG(8ylTY=PZe*5fw+uyeZNuK_Ul^3M5`!$5j*;ldJS|QVy{A#>Qy$8I}@M2eA85 -=ReMp&nf==4|peUBK*L+ox%5moetE9m%tYasDMv3AN_T?vy(hRUfT6|X%DMSfrDWss`ei*;MX3o;^A< -6XLoz|aWwpH@6qnw&MP>7KD&L{FbSe)_}$`j~qloPa`kC+k>3Cx%ccVutW9&jIid+F&4 -)5)OU8q=2bTMQ_>U)uFY*fYV-Ug1XJew5@V8A!ijpWNDSyY12VNv7-m -xBV(V<-Xtp5z&TfE}qEl(*OOH2W06w7*NUX?{~8nE{^yDta>5iHbNafpMMW6+nc6OmM#=up3f!#4RG> ->_^>$N;p52>4z%zYUDRnqx2%`4j&F5^lLDAJpaUE?y2|HM+65TUdGfqSfX2> -mug5v;ILCn6nDAEJlWM2|+}Wje1?T)=S|$&Yda$TqPG>Ngvse3 -9Vfs3!yZO@jveR1$6B?=9Rx1!pR-@eRTl3w5}&(q3173#gN~$B299*PTuj`fL()WJ}y-VU@;{Dk(Oe9 -iKk``TXebhfwwLa5qqCo@BG?3U}T`kxvrX$w34f&-2Nra^vjq`RUmUsa}J+51huUT_lsdn3fx_PTr1S -?>Tx-$Rb}UqR7B`6FAZ=okX*2Nn?W&5{MtLNglm-EB^Xr2RaYj>e240|Y|QE)UA#Pcj{qJ&URfRIX;CDX(2+}Ev(pV2=vNoNyg8(vho% ->W)!A~6yBXlUabT7Y(1TO__~d6@dKiRGtgj18BAq5`HTO2oe|fFz?FQ?W!ej`*#`B-fboqzD@|rNCa* -<3>^qa!IJ4t{}YZM;^s}f1N)m|LcEj|ubo2EdRRbJd~ygYh&stZ5y3!_qTnY%5ZG^A^N7pet|yGm!vd -|C2n;|jnUqvO+)S3;HJ&T+@60wsuq=Xo|GDl)4GC5}5kH&vm*R#nbH+&t$t&N~)js!F*4u_O`X-v9JM -cjrrR#AqcBhT9;F45Q>r1^YZ~K35=M0Y7>F>R4Bwt*$iT -u--@cX5Hv5NcCm_Egtm<|Fazu3n60!ncE*B)l?QNXDee(u%fWsFfoUe0~YlQRkqXYd-*h_!IAE!uI2q -+}HQu~owhQZ=$we=(6CH+V^L$J8J()y9RkXozp(&=pk#zKi+70FU)iU6i>GSva{Y}E1EhQ@Ea?%*0op -gs?4w^DnCO{4=NYu);t$0CRT>_(;NQPA`kS$~X94kB5B8$=w5AQ#0-${p~MIXXOkLD+N_adm}~9r7ym -y-a^6Y3~}v`;I$0on<=3w=@2;M8-(J>B}1U;c&&5m%#2}!p67J)wICtb&jU4G2Xpm?MBl`}L=yg6#xa0lkb39)rG-UatisyrGY3h7*^zxYY#hrY(i&A0DifthTOT -zl&k~?-uODe*Gz+9-{&J(*J3mYN=U_oGCT=0=yuof?{6fi9=od?a_-Uq -7sjGOsRAeNjJi`psyuglF5>+AQ$JabcNkOg;#!szg@hS3PY!YGWr4@Z_f@7UT8cbyHrdIEx*ZNkG^>O -?(FE|P$6KIWP^-R^zi-RbKSI6lo3q+S|(_*G3vak5rJ6CoKt$@C8i?# -X3Xcdf04Ql7va=gTL=`m<*%_`tgzJ3U(oM4zZLjI?Vp9KlSfH@yNjF}i);~)sGVR}%6`D#WIa=hqy>IO6c@DS%o4Q=iBV{)HCgEvgnp^@O&$__yS+DCy3f -n%Kvht#o-gi2k=XnNOC+ri#`q8Eolcv61q4hkAdB>{IGENryfvU=88XTMf!B4tgGgPEVs%4Qy<%c~+= -VSCB>Wap>jVN}@UJn%alefo=JV=j-{5nXtA -t)2{~Nke}H|FqkHEpEiT2QhYw+v*BWC+LNZBpq^~*nm6qO^()uG97~yrdlmg*m9uufuAaCTM9JL13__ -~-wad-OEgzOA17Bumsnx1?yI)=sSnztU?=X%e01V+lBOgq(b-g|hi4_79eDDzrz?s{?r*rk8a6rgA$w -tTl)(m^PJbdng-UfhDL)hGMdqYlj0&M0{R?}a;<7H{Y?gGHkbt6wJ+~V_{IDNAb)G%g2kfWa@1 -qw+rf~_2$v9Kx21lLBNPsU<=St==Lxd8A2r2F*#{Vv1U9`<_M!+{pQ?DUW1D;Qp0BjE$R0s$*5wCG+cu8RN|BEzGN=H@B|(F~@+(DTwu1thJao0!a -lb9hB_TEb8#C9K&An$1NhFqQlgrXNb^xh_$LsqoOTd%n!*nDZogf6=26;C>253_qP^&=#VvK`@fav@u -OVS1w@b%E6LsgQPMmbq)p;$`C{a1Rr0eGmt}}SEyTqbQRqs1{%1Ls^Nw$ZJ7x!fU@okJ+WD|DkrlU@n -U>{^U`%FcKGP&GoVqx?!z8@|A_0|De~~~6IEpR_{rYm;qJ#C)6ZR68Lw_-9BxIZ)ag{;Ze2(?U)-Y53 -ldegEGDoSmX#7K_wk6*-2E1}>L7vnGTB0;b_BJNjMPtnqZj|trK*>fbne+_*BhKppnVoYdXg1W#ThoU(%SOcv_qbf$h8+Lhm-R+9Wr_T^zQ| -bvL>xzj-z1gRM`!BI)PD2)C;et(zd3q&s@^O*J$NP9v0X%7MIDf(`%(|zk>0QB-PrF?( -f=2jcTmc&Ta!l$;<@pL>gcwWNBad2h7v55@AT|y`U(g-@`}EE10l ->U)ZExFDGIsDe!#Udui*n-{S|?B;ov@wC@5hhCe=E#Ks5lVgakMi@KnN_lgE -hfCv|ueWjEL`86s#=#{cA?D%t>&I$OWt_;E_Xs**>8|NrLUat#YPU?UrbC{D@d?+)dX -@IglPd_D!RD-RVwgJC2d-kYFk(QeW{_uKH-I`#H?@j$ku#SKZ0tNXYLlt&UyVGE+jg*YYpc!SbK$+tB_a$gH?G?EnqvQPMIQg8 -+kv_X@Ppnagm)moE%L6TTQRqA$PLru!bp}NXZGeQ&QH7$YoJ*Az8s*7r$2|X02230n#vZ+i1VB7Nqe? -9a(-+)dMkBPFk4D`xnO}k?8($~n{+$@|AMt5*lBYhfBkrM@{B(5o;`HSB7h8viJyG7iJHxlpzxda4*i -pJ8&5TIGgb4KC3&GH36&Zrwvv! -k;{O(yIq!GSAC|M#5+UD%Q^dmQkMMO&&NrgY3E51lHAMpsEzB0k8-u5bQSVS6or=Pa|fj9(_Hhw`4`5 -v#yd1exO)S;{}@9#z}RPB$?u$ruG_J3|3Jl`OEt+fFI9qRn06(retTlia#erkkDH)@iP8B*&BF?mO_V -#ZkcqA8xXt)B#R(b&wfuA2w)6#T#ZQ{si7BauR%W~^ePtjMRuhd;q!yUR}(T|mOKvdyl9MnljYBql}ScPpE^V@qFgIH!64^?MT@Y}k-<(d%>GZtV#Aw_2|wCR|HFiomtQ -tygaiBsKU-VOcX(R)+mUv9hd*zQY>rmBVqdg^J{Fo;sG>Bta2`!ut3(&0=5F)J>DU+tGhbLy+Z$prTr -AN#!!Ohi7x^woPGN$X=5Ggw;c-HwA6vcD<4ac0sx{c)zYGyA>c3-w+tU7H=8f1jsg?|qZ|yZd1^-V<# -*2o#5WiK+`bnrmUUOJM1z|za -4Y^i$D_KyRuXr7LOkqd~+k3CUe<`jQz!sxp;@_FvL!ec5saWs -1F}=kIXcRfRm|NsPrH7=^DjJt#}Whlr`zlG?9m#H#CqBJb?4!CzwQnn{<<^V!T&nZ0|WE}^2guV{q^B -@-*qg5s^0JhAO@8)(c;IeY!pvqgVd|aVUlBNdFX?Ps@9i;Et@D-I; -qQ;mAOhG1mt~ccWi -#0pf?RhG*=PKtdm`$duG)ecJnQcN;C$s8r1GLg{!}1pwi!zF|k6n*z!IZ -r{AFFw)vJ&<3s{4`BW2`VK1I6H{8A7{(1+Gc8UcOZ_p9fa$85@Ud`Dlx8S^^&=la=tpCUr;oiwSS4n=6y#lL -%+9k2ULvQFDz2!9H{BhrP5^V8KvFr9N@y(t_$4k$1S -+QoOHo*sB)nx*%Bfiqle8D`|?8sO}W7s)JAk%gX_NO)YPvhh{X9=dClutGpY&BF&IcVmWru$S#HHpY& -is}e*&}y1tj3dE`c3yUczcfIY5ZLwg@bqP~#3>ESgzxi0HrUDx06;r-a8}(&*lRQUeZ*(ctRJEElwK~JoIf;IVe0|Ftq*e -2IH%Gak#nNaFwUJtw@n>3DFHajRm!5E;PMQtzY8qE@C%{#vq88!&nlC3oVla@NvL1^1XHd$j3yIRHu? --Q_S5cHu6LJlGDlYD`c%dE1$Wk`ws#u)yRZ+fgxE5tv1obuaq-5Jal&Van_Rh1{G=_9HK?!f);HR|GK}`TYa>t&eQhnA*fH^nhvmn)2d^& -tabXXck~df;8tv{7xReEw~wpx1B}Q}vE|b?qq;Uwdl!#DK7FQ)Zt4HMm$ -3h1?yuZ5N@FZsAj6lj4Iz3=q@vI7O?cu9-eyugD|nITQ>b`;$lXT8=WPhN4`)>$Lsj^ -iI6iRQ(YKmyTw3-!?ydH_hnputXtRc#xC+TZYvA^Lsu4tHl!*w$!m -K8$dF&>#a-Eo5yyqfxij%oX~2qrzsMh0s9lHTILoF+dD5Q+l54f&mjHO=LT-4;b1TiBZ~D#(HlE1C49 -ZL~Ri*K9v}!lwF%iurRiS<|+amdGb*fbfi4M`+>E2U3P>RLqVh^ogJI(8n-9aG1#^~r&IKd(_v`vav! -Z7c9z4-rBGxkJD95IUSeO#*7M8D5`D>V0rYuqz_@>|R=*CrXHaPKqc8SL*>HSMA7w%!=4{f2#wDz!*R -Mfa$BT-@m_C{&UDE;WI$p3Pm&Xw1;rFD-WixcnXQAu}tt(%A4Qa-ac?<*B%`UlsV0+$PYE0 -1XyHS|8zawMT;$?ycb|S6u{H)ATb0GRm&A_`PQ&~I)IcUJG3dr$;c2#wme)+E^P`6gyo$qvXf;&I+9p -N?_h{cIe4!*NcG;88W%|f&N&p2fDUT0$}Lrn#}#VQUE6-M>(~)vwpi5qd2@rUCOyS{G$-12216AL2xD -CJI?cLFV~s#O0mPK@Sm>f^Ke~qIHtQmGA1{f+E`WdXgzwB&g5%*KYkDuzE#Nwn~U9DHT@v|H!9nYz~{_x|gPBBeBLU+a?# -W;jyao_!zM(p%e9R*9xaUvN)t7Gq4|O~v$9+dv};8XsvucK8vk)w|Rq3cXVW3MlFb-l9#bG8ER-Dj<3 -|Xt?%seU{J8($+f}XcJS%6TlMOtT$qOHICR7zYp!j<}PXJEG>l%@9ws3e%;M>&8;Y|qU*e@f=3!eJI= -wCIkOV11y6E01^`>3=X2iRmRXg~@w`er%#o3@`!!qoCm+lSp*1fg{XV -ee#R*O)~x6O>ug6eAaVc=#3)AMa*Pa1jmszbJ5B@r2vIl*8MsTrF#U?$mT+SW$hbB^_iP^7>mBdGahGBfO7tkiSHKo>LDX-UDE!qjLoLE=#dGUO8B-RqlsHYQIGvZ6XKsmOsW7+o^=Jm)GY+$fQCd{cJ`^+b@T! ->fj0Q)n3@P`sq++PuUf-x|zbm_ZgU@&&N~pX5=&JIvq=WZpBBB2pZ?um_^TU~X)+(EsV!p>Xa@7 -rVLBUBC{hh@<7LItr`P@N$5Apq0l^L6}>yuecUJgo&kH1qdK=Qk!g|K2=2N)Gj#-m89t8UQw~2*rClYl@-{*8EMTfyveyOF@h{^5R{kAs-wd -w?ih7seX1akb`80)uTmIUW=0BU -Of3QOpNNnNfh3DYHd(bkh7xf~-<_Qp|ogmHM2%qb^K82Q~Wuc7l)E403w1sX}Q~V1DD8Z4E9!FR(ZsE -EOodR<~W%W?us{`5C-ac(x&>vx}LCSrz*_1DT7Uv0yAPs=AA;dfvAhv6wIhdG_TW>_ -#BcgKu^z++)W);_aPVu -Q``-W852%Jr<$0ga=k@T;0&BWjme{d4;@OfiAy9h5^`FEfTlq%s~N*bj2&R)(OfkGdW%BQJkROwwqxX -}Tk%@JfEJ-e$r&{}AN%$qRkvs;aVY2>b5JPol?^^@IUC80ShH@@e~8fB=`?8bn4!<$nXaUjS^lMT -+9Q=OZ2#gW^c=h!@M8X5h@nKehx1Qc8b -di*m+WamhSs>_Hl8J<`UVND()K|$Ev@kGhs2$H+`*EWe&_Wa-v6ANA$oE`gglwjg{CwB#BUuT%;zV~l+RBM1L5^g6refF -UqwKiZGO=3&AO%IQ;gCb>(i=JJlsw2bsNk(dA|XWjqm%!|NS|a?lDmsNf%1>c~k@Lg(d+gJ -b{j}Qs4%+-5X;%pVMa2z`L!CQRe2_IP&IIWMiM2VQBVrqV_AJdOwl`&+AFZfjB5@ZmzZ@Rv5X=9 -7ug}$4<)qYa*}EVdNPL&7`<6*)5Vdta$T<_o=G>M#q~#)^KbVllj2j$R_+P7K_eEP=3)^{ScYp3#UV* -7hRM-%`X4^+C6U^kEjs$(ns_B7+%L&(&sMSzd$Mi4IXirL^qvyI>5_a3Cgl+}fBmpMqzrnXT|4d&3bK -^jgMu~L7`C|&$ac9<&v0~TuP@743c$6N81AlBLv5C=RmS@40!nTgDb8@e_cUY%EN6vs`r-hzXTy|2 -*PfBO2PE0|O}W0cwWZnA!`+oF*|lePtZk3BaT2=zq}E5Kt(9y%#Ymw>^zq|1Q`JXTO}8Sh-J6zZY}Z% -)`?!Znf)-qB#x($aNatqD`>?I6?|r0%e|Cd(Z*}|OlSh_>ID1` -rwRph}Xi*BM2r*CN_9SvyFwVey><=dZbexONfT8C}y&&?cbNh49cCyLDr3W69&`8mj;KZ^w+FZGD}=U -k88vuVd)-F>o)}+Mw+J_Bk`ZBOd)xJUD67zl#}dQv^y+-hROSbgl0J(eExsMgaS(ufSMxBrhWF$ZA>% -$eper>{3kwwGh7_47Yc8cAnOw0hD0N$02$lJrvb2SOBH+9R)GtQ*wI)YqZarE8vtC6!;=>Ray8b35B^ -sgDe6%67H3Bv$d9FM3L4A=(86y2`CDwlq_?6Yk;Gmon>@2El7S&s(ntZLaCxbG%xZA4so}~d3Zp*4ja -hEDam8*T^Ow741%pI57H_Dj_&A`L8A#(*L<6_h(Ewwq7nB3snc8A-?>OI=V|HNof(Sjr2b~fk@)J-Rs -I0{e4NbEEHje0@u1iS0M#b?oOgDI{#5;%84BoE4!Bf-j>$KBoIN+bP=C44Vje3Jvc<5zS)|a(H)kB8LTE%@JqXltMT{WaUNK+r8<&;HYP(*bMDr6sh+ECTl{DZleRK)%ZzRzxFfBvO=Kq&;o -hAo;2jVa$0&YWQFuAMhwX;QJEh#`KP|?VutU7gJ7c&b#EB_zNcu>xd};Er4`-FwHIdppiq12r)~TfH< -W(B7J?0XXb`IX}x{A#^7r=Y8kQSy*hY|scmG2E%AYj{x@#b0V~wno3-vt^L~w2p3t9wHfQ*?58dOsUDMhctc%dF~R(gMV{wFxH;V -8>7LXEGzLP-Rt0derdI)4k#2Cm$^oq!jy?G-WEc(Fi0B?2O~7*6mFs`1UYRg5e*I&hkpIu2{v}*#pJ> -W1F6dmBe3F_h$#IJ^g4GVh`224D@;U#3?hg%M73F4R;?oWyC2}7utQaH+<*-(?xXeIaFtVo1!eYjq1>wBS~~T1pFG~%{eE@5nOpDs@Ae+VglUjYp4-g0+EG(16!_j~l4O;F_l(bp7o+@-`BKpcX^eq6i!enNh0yZz`u`3a-ot*E=rL(7l -SEy9l6xzZi2uB%GQPAhWi>fK>E>z`!UC{QS+q*}22g -_}1XVr%xP96gk{SUR+@(I`pH!(NtreEA6eUs10uxQXrmaxckwUl<}# -Obsys`s^UtUeOqba-&MIC}DlC9nl&MLJLQ820Z(SwE*h2JrD^MR;&}y?=o*424d!C@h$u|1n;bMKlqi -I;SMKq=$A)hy5A(bECaS;5g-nar9MgnUWoa7P;3s3T+J!W`FWKs!1?P#6&QNcUHmP9hBI`KWcXst%~d -2b&miI0RmRlVlY`bl8Z&}-9el`gRMqU~BF3Jm6e8IjzTQo|*#`z_gh@AzSO#F#I0jQ>tfAVs3GWV5PK -yZ*y$;tD2ppJ$4w3G@33D7nc)AYo^M?TDiGmI_$89828RJc_3vhyj% -Y5ip?pI=(?Uhz`7m(QD8R1P*4kVb7?_?5Vu1(|7O5li?u33S1(-&I3h*$*|yP;h+w1>g@>G8qY(fLT;tn3BaHv=ts4$)r4@iLuPm^Hv+G4;%=_bpTZhG!Z!At@|O -q2QEMpR)W$9?_CF5ki8+jp*0Oj;ElE%I$I|Dg@WKal>-2yl7BJGO;HHa+WeLdC+J -FoLc~6mSh***mlXZML-D8k0pw|Ow6NN7f7e6409O -kr4g5L%RBUT-j8#p?YbbZjqo5!jk}z1l|t&G{CLuUQWW%3Tk#b*#m64P{y;V=-S+aQi~JA2lAty~BiN -oXm0pEDNR=I0dQTo+^#(Pf5duUfilEY0pJl!P1qd$vj-ZK=C=_6+nmx(LM2XSuLL})X0UrAJ&#&3X2fbgj4juG -a2TKe<^3wScBh7mRof;;chf>u61-j@CdzADdblMIArQ|iDQcd52vpI;QcPEbrO;Hqt8pQjU?K9}+JO-m1YL--;gs&_Y}Q8!;)VgNe?M&Z6PYlSfY?nARO0Xo?fa@N -eiKou1ZM7__=?d2^6&rZH01Xq&b6b>HkE*L1z_$zLr?(x}BVV2i)FpM(QwptVVkt1%;RDYtiEH22J5x -;KsPmHYQfjG%Zgl3>q$$Frq3(3jO%x3RX0O|?>Wpi5~NR@Qt;$djne5ZEs#t;oOwGv_Q0iKIBt-V3R(4^@LKV{{wx1&{u -?s5m}zavnkGsc#1jDR8f@aB47d2x#avt=;NfqV=f#v%x^3fy7JQinT!J{`4S_Ykrj;&8h_Z2hJ)RQNS -tEEQEVAk8Ez6~eYw>ErkHV3vtnW6ihp;PxTq@Fc3{Keix9-r96+A8n5@a(z$y3+(JC;0Y@rw!4p+^`Y -OM@MlXh0L#8MEno5X>3NjXMi*n-8>jlqnzN_$4EF}LxlNseVA=JsSyp_SUzoIpDQ^539L-K4qVC)Hk> -$bvDb0xHO(mq&-kFV6jCqNun5EqZO9MSD7J5W!VQw!5FTGk3e -o`9prX=mJq~}z|I2fVdYafg_O+Jt|#YjNk!{N$T9(}Z!P^}d!mvO`Ew#BZBB9ObZxNbkpHcVRz -BkOql&Wwn_;#Rz26>C+S)%qK=;iH=zt|D7M-vreSF_jD}x_j{?w&kt(zvN;LJ#bcYv -Cy1%CjF&CDWy|8(9hfTBl?Grm}IDJ$Yf56^-;cF#d9KP_u-90}J=yrIw)9>^?t{MV<@?mdp_hVn$`!K -{`Z9_3^A@ns45!M-#VH2^7A&6sF21d%g+qkaHo#FQD8<8@KIl$3fjt)3t$U0rAht6C^T;E+jcQS2%6SX;8E|Z!?WUH<;()Opu-HBP`ntjioJJMTTC5qL;}FDU_l|6{V5QxDGJHh8{;5YKF}bC|ALjTkS{~41fIwFk9mv--u|Q -O-g4#M}7PH+2L7Z1^hIgn&C&Ojvg$n-E{*auW?`RFwAVok6Po5G0k@vj(yF_^yqX;+Ed_I3*Cf4)~Q0 -%X#%ZYPqk+Fp0bZt4>Wp=LXQHg`USzosFzT7uEHIuCLYQbUaF89yc$zxfdnvOOlLBNPi -B1U8AGM@YM%e{fI8MIJ}M0`Yspf1BKUls0f&xY+~?p)6i=*uF -Rz`7^X$_)6^~DTb}CM;)bb#9AbQtb;iAdn+CWymm+WoMiL;u0kd^q!3imCmB{Qeuync=%&Q@|VwM^qSL*(a9< -@vz@4$<v#CIQN;Om56MpqSC^dOUoUOgrN2+qezYz$$T$?2} -QIkAMKqfDuV&SzaU~48u{nm>7tZpVCDc@%=z_V3EMMvgpm@qh>@@)V9*__7yCMh0c@D30@l>x)lM79p -twt_A#^N<4F{EV?>5$XAKmtF`C*8Fz8|qSDMlvVNQD#ck@SVh2gIO3Qxfnm~UmO{I1FAom?t-qrp>Z> -7NQ>9NF=t1r$5fQwactr#hGph{IIaNm12s)rXNP4z+>Vp?Zsg?9=Tr9=WKf2=yslJ?=^o^SXFw9#`<) -Dc(A9Dn-c?K$390>Tq%oV2IYgc{fuNo!RL(s&xZ)LvmfLJdBkeV`*a3)Q>K)K(+Xh71 -UJeQc?^uwY6>75ia)~-A;7m+;Dfx>-gO##C#{YbY3G^#-AMH0w2dJ38!5=wVTc@B#NDYIvCwCFb+f~` -UH8}@$-88o}fL|erc44;W3J+@vT(v(k@Ht^HaERFp>qX2Z@touz%j_(Frx4zQ*Bl46!DFtPx$ffsDcW-0;9)s -$+OdOT+-y8G5)b%jO5KfI~dcyQ;hMjEvByz==%+RzZrM_{Q*n*Vf$n_JpI{db{`??nE!b>Ky_(Av{81 -QK#A(3V+CYDI#^QW^&@{&p;m8lybc5U;rAn5U~HGD6GV^aRW`~O5|^lN)N>3r^gQ`e)m7~{GX4Rm4!z -2mXK8G%;*!)qm4jN6WCX@WT#uEh$Mt+C=NS(eh3N|bvqnRKwCJRvk5#p_Zp>?*;Ly?YIJs0ouh^N2RYWIwiTbp~ZZf*$CK -6@336n^x(YNNnCPTKoYseVU2*6xG>U2e*v>J--5H-yRenp4z6TWm|v~M&{`e-u-EFz*GKTC)h#>(=*$ -B#umC~A6=rtVD5DC*R#AyBPO5!A;zmbsd@#z5dML@{WG2hbXGl>ZYuf3{b)_C)Yu!A}(0O`u7Zw^mJuMaPNl56y;`*_I$TA-ClPV*)AGOt4xs3B5btuX1TA! -r``Ue(UT?%C916K!-e2WVDLpxGjsp&mpzB2f8>@$}_$oX&Az1m2i7E)w;03<2pKE_S0=R3R9%gXU95t -zBVffhB}zh5KiR&ri=@a6shy_dngl#jFfjH7qNJp}_aG`i@h!kaz(qbb+~6Vp9K#d{Lx0={7-HObT(f -mMR)YP(LpA?r%{yEfWH}qM`3H5DW?@2C>*s_O|p74+^l6IZ)PT^lLWlHx7i^?^{g}2#?wC>7oUJ@$b7 -^ZPmw6eYdf`mR}x%J`Q<859ShCW0_{WA+?q&hW(ccr?IsU^rtGJA<+gkefBTWsJX5f8CBWLs+{TAr -Kui&53O4`pR3Q6)TWpBIiq2z*!LsCwra}sk+1`JHTaJgUe?0GDTS&FKE!tdtWwB+};ePhJC;{<{Gp`a -4dm+SEpoZ9CN2iV-K{Dg6tKYc;q+2l#TxZr^`V#(BfkH$LMv<(_vI83aTe2?x$zkL -i&tAj=B}23`_c1ysnU~Pix7R6j?$=F(!T0>Sp3v^j;x+K5_^Z3Enf@bq;W(BNZiW_vfs<)e16;UeB$@ -WIoaFq2tj<>uW5yiz{(|Y&-Xu5bz}nRD-c_!uZbq0SoDDI7ENW5*y_$5rW6bCB;9UpqB_QDyJ -G*{7qhKF98ho`9H7%!q-=L=3L^!d>VXR$`mvS!+QlKaF90aCVYagCoVws&gB2=YbXC-{{xdROUgdn2x -*+F&o}C$4O_Efw!a^Z&gq*sf(k=pEJbRy`yS*+6~}|~fO4x%yeOng*0=^0L_G#JPOS$ER7YaxIaJZC- -W!3HVY-a-jn(w#&(RVj#&QB$V~WZdpE0zk7OFubCq|QE(V|3HqKBzZ@ZI&`so?+j=WzA7uQlGm@tgg= -?(nG*;xp#&TgTIt#qK<$@HtT0gW5UeM)}u{``w2~?ezlHZ|t!393Ko`!9OoeyR(uej;NN%69?) -TilvDVmj13lBMb;H=lX<5Ywp%=Zm#u!DAL@sx|-D&gVZpRC!Xk9l%dJSVTBR}b4>=}4A{|Wz*H(yx6w -nCz1I@A+U#n!$QG{evsF*-q8Z_ZfZ#kw)Blma*m%0Ezy9H}l&XbefZFtDunbT6`d`g62J0{l7)g)NYs -Ro19{?EZuz_{-keV&n&Ru -W6=KXHmC{Rra#lj1J~=t+yz{Ia<>VgDl?3WU|%z1Rhn^gp88$9{nN1L7xD-f=pd}_B)iuKe{yPL;gNp -*MNz{24uZ=xJGE1Qk8%InE{2xvTvU;C_Alk*xfVIu+wZhuEZEwcCG@;O65Uxlo2OMwwa`=n;fP#OG~o -KaQ-=QV=XL>&&JK#zf=2Q8qJx@&p56LNzeY3=w^94a7K0V_Bgt4=AXMC?e+raMfGWwQ`S+GFENv7ggdr(bhJW#Zn%C;7@#6Wtl)*vamPgSk}i_iZV>(G=j4`8e)0SV8Qhd0#R@v6Pbf-CZ -DsbyB+v8zWJ(R{NZOR1cz)-OqBp -^7l7p=c@l~86&~s9*4A{@j{b|4Oa1P@zV0=vJ5a9BmTT{1F_vDI6Sd(v~j#^=oHk%oyuKFY@QNvrc{? -IT90bNo|=|;$0JHZ)9r=Ho)78w@cAabxk;iMOhM@3kt1Ds#4B8%;|UAO>qq9WNX6R4xyxtdc{#Ym@(zGiccX?l5U<#iDRw@SmAQ@I`80tCDwlU95%Z|&aGDLMG?-41aC|4qhcD=HVsB)v@e5|DCYuoMx8 -q4AOC9hV>O>{dXXcj)kK$mxQY1pAN#q*l60?NyE!ah)8k>&W~e$6o{fvt>Hhq2Z{kjJs?WO+AL1@dQQ -ksm@_Si67`MdTK#HTeC`|Xl&dirw5J -8M)0LMsv#d+Yw}H%17iyQuq90keasA@+a2A%6{HD*6S3_7EqpW$sU8r@U2-7*-3;Vg*QEG|Rh}WAGG% -CQ_3_+j#+Mcpc&!6&2#0lx~7tNdaHE5WZz$QVMBj>*zxF!WGKfg#%sMvvxm -Fl!xqnP;@dLX@ykjVB(a+J8XLm)KkNhs6hD5)Y93`!wn=6$j?O}4=HzJ$*Tp-!EtRe7#C~mpnYfL(sft&2<~{sgP0L;Gi#C_5+ly8}rVIxSdFGijCM0caei?FquDivx(7?w<~3~9R648=8SfmM_{@sM9q>^}Euj|TGb?5WKC`d -J$D8}m9ezJvju<*7&x3Xm6#LD=!xpI@GfPy1QjFhAp=Vh{wW+6 -9#7N#~sZ&p0_&M(!?e$MrMi_J~*WyNM60Yf)N$Y3z{bS#!@JA{M-<4S-{xhsJ> -S|!i=L&)Evv%EfVX -4~to#t7G1b0k=gC}wVTTpBHS)P|`6$Mfi!l{r#JfPl>|40pH(oqN;%y=kXG+HyZem(?ohd!*fKLp?0q -*qD*c%;dgnOv!Zn-p(%n6X8F5`k&^$-J=lpgLysyjU2vpEymvau=nJn(ej4hthN6=h*1Bs=Z2DK@_o` -yr`H6mjZ!Ue7%ZlJUblbj^u4WRT}r}`GVS0+PF}wau4e=*0=d;NBe@o&B0*a*2-*A0KFCvjYS@>mqzI -Uo4yIGje&n2@sK?hFIwj6-b#_SC#MIT}JnQcE=@1&}XixQhD$c3Cc?Cc2iKk>cL}e-l{`5%eNT@(9GF7Te -}yp?k*-5!Uc^ojUsM;vAT9Xq}RqJPS)W9ekGZ*dl6^Ti3>9~qnXmz<2cr?O`+%P{0EX??qC^o^pV?4mQ!iHq7R_YJL7APgS=sLF%#| -3w_g@R+(4hr^OI0f$$$|NP_Vmydf~fAblTP3sY?;XiCI!7Wr>d)t7gi*hD6BBDGld4GzD}E<-99Q_5Q -{iyTd~2p>6FQ?ZtuvuC-)YA_l*H_B-iy-TwxUQ<=}eo(_}+*#~UR?GUj3E8XMC@@>am}5nu@Drs)k#h -bnNlB$8F6{H2ckr5v;Dv9#^=(fresm0JHvQz7l+uVU(zgSdsGm;o|5dlfn{J95yyZwTdvBGRnQ+#*zK -TthdQ7zaY!5pug=#-O6H}X}*7nk|RlSA?)!*W!Q+p=aPC71xP`uH=Xg9?k)kT{^IOye12~a0hJfG`O) -z#I0X8?+o)D5tJL#|}SKXIi}9UM@Cm)zvVC+DPEYc~@2ri${L3}b)OX?Qx340WkoJzQWYGI9_toz&=4 -Q#H8+hKQ%HCCK^M8SBU!ieA#0PgS>W$^E$+5%`Kh*tmBb_KbYM;yGU^7r)q;Gs!4F3KP~>cu1HXp>Xi -#s?e@5A&H<4c4HrKI>sp}=GmuOH&Ohc?9bz3;>eczsEjX@hWKJe>6LLrTDe+7VP(?a$-mpNBTsKeFLF -8Tt43&4Elp(l=*NQIKd5L;b4hWvEXV@{wt&oEc0w4nfWqk@HTZo_9%c=s#Rtz4bOr;Kk4lg^FroP$U@ -1&~wLg!q$J029_o8@Ui*si2f`Qw)G0zjceqCTGy|(mvs_(32VQd`QG0NEV0WWYU3>O2EZ+Li2%hVcI$ -k@g33XrYGS>T6)fJ5P>X)s$=cyeX1`G&$OlnqaJTPzu+q8XvAevF0<_jJ8`71UOv5wby-VRLWdb8unb -yucM3@0jH28|F11S57Z$GVz*sT7oN!SLE}woQum&bfjFM%p<(CRA^&-juP*+E(=O;XTpOQiyRpKc%Eo -hT-(iR^A5!=adfhflNIj+x8Yqtu;(pf5Rv<};ds^Mdl18Yd(5`qAIKs~Csb=d{Q(G*C6Miy*5Ah>kv+2(t(@V-55QXfzVkL)64c2 -6)YuZjbyC%t@>c-5PA)z_aI%TsxCpm%*+(YIkL-hGr~_>5lx9{A`K+DZb?JF^k`=U}>mGtJ-9_E|M7q -YQk!LJ0U1O+UBbZte;a%B$h=3koY(uuB(}_Y6v>Wl4*v2l87&YIm*`tcxUOy6tnZ*2F;tz^V!6)%f9FG45EPItL&h#c1D4x;j!{6Ci<1I#c@FN -jKULHAVD3ELztCBz#Z2GGe53ey2-h8h}2T|l!(JFw;^+ookb#x=H$q^o0_+0a5Ei+oK@vZqp6xkkbXi -!~}1A_h})thr5Ig9kN$Evr5f1WJv}LF{({JPj&v+4Nw9nfXi!Lo1MNYsxZFWjR}^;~&t;Ax`#W-uW3%NRyIN_p*dMUsD(-@Y%V=?RTc(qE?(Qp -`@L_7S7Zz>JRKS7j7WkN>)>y7)>{&fV_k1b>ti4Jz)*IBhqq;a?GWt!|?H)U!?6|cfd5KbOjIkQ6lPK -v3+e=liLJ6oE%Zi^o6ehV7+6f+x(dEMh8W}<=H@$*4r6C!^PwaEIZp^yeR99&T8m|j@@wEge)1pJ{3B -`T{gs~vqn?shfK7&!oDGURhP0Zw+_9;Oe3~U;9uJ!n|Ey;o4x&340xI!_Zc*;bpXS)g2wp^^e&9dDUx -@(_ig=TNf^D7yTy6zoFD(5&@;GH!ID?rERY39@ox{sr#PDnRJTsKcxxsz&Cx -t%sX*j6`uENf!aTB0go=>e5?y*HL~h@uU}$iIR-M76pIT}{c9I%{8~fKOblCaCr0gGPTQZk+HGhbDO6 -ZMrveq(x_G>8sZ3j~%8sTW@K37a=}jZTG?hF&ibZtg#ET9%~vFF&@IDoCRt}u<2*GcAbQLh2m=XA0*kCAQM8H_BSc1SAn-!Yo*NQHV%dJiytMyOmh2>6i`Rr7!~Ec^yUK&t -z%eSLN8<+J0TTjt6u{`{x28WEcLjAa(hDJhnXPv}a;s3p(Vdja;8lR$a5Iqxb@>>eME_%kgRP{f7;QU -*IEna;sot)9-)Yw-{2Q6vf2;!*Ip76Jo?s`M~@XLahji(7^T&U6_fwt)12_cECdL;(~Esol-_ZW8F$b -l2GnExS?xMTM9zO6%#V{q>t9(I!LEd6LvJoo^rld>jopboA8V!AE|629{=(cA0tAX-U9#(_*e#<77&G -f^3ncFB$WZ&db^2_|Y(PSU+^SAFxi`>0GTw-Z|?t--gH3K*_D%!fTq{4gQ>|X{72^7Yjpde3_|)9ui% -ExehG(bgFGL=1#^6u%dbOVX&|s%2LXRU`%^L}(gn6=ULIxVlSSmGzNnCg)66LIfH+P7DairKd2>LF3wa -!~yGg=Egw7GbjG9v_D0o`&z*k(Nv$?oS^^Gom$)A{&tIFp9q4=Qj+aD>ZKsI_^*wcFG)YWMNdb9ZZj^ -eLd3{WxB2TH8zlS$JZX7&Yxt7!^xv;daa?wu!Ih+7YHwQ;oN*fTb$YHi#q+UIMN$oa8)uRIWv>vIktm -%5&U#q*mYd2V%yLnW}P~lV56z!x;6so(pCWvR3L$&oasBkdbh>BXAQ8b(Xv-(E;n=6b}c2Z9sQ= -g_(iGkrd#Ox8R86dy9)edLabb=EbZC{9O@D7vpM|S-j?*aVx5}5qz_SXT+xh?~imlb(+S7q&NI`wSGU -m1%0@yDP19H&(UjOr?xV}d>Mx3xDe$|Z&O->nq3XaVC}@M!KG=T(JH -ZRr27uoR9XYxL#X8oM$rOE#=hn9K^ZCxU#k02R4v@`^aj%4H#*K;aa^JQsC+`*w#FAJg1Oj?s!_I;xZ -jc9(CWV94Wu)U*y=)y>Pd4||Hr@B-5pO=NDydzlX#niGx?OVxLn?VBrgEJnHBFcl9u*O#HWwHp6XQ^W -i^a6=)i;MmZN%3drDF0yad2=D@t2n=sNqIe268xp`sSSa%4>`G!-S7~7lqRhmM}9Aa3;B>k%C=k4EqfNnnDdd6FK;qtemFDXc1N&=S79p -*-u-8Gqg6}@MSw#`dn2mjpO-dtq#P>_=qPMI?ZCf{W=4jFT-Oo2Lr#Y0HFj#X8fnDY1$&%K;w2sCYjeAEXBq(g11}%O^-+KwFwzbW+1T^7`ebeU__0 -&28{4vF&ZkY8V3@lyc_LaQt~IXJAJSD_>#x-MsS58mM|V<acxP -l84{Fu;Bd)5LNFYc4dvcHA_l%k_0tf$=4+1VlgLOmv?yDNP@9%1)ATJo#jR)?xP=!-2Rt3_=U@AdB<~ -iHh|<9iTOuuKAJ)1_d>Nr533JCB^%3XtI&RJG%Id!Kk+L%Wb{jCF2HOT;Sx>-eKCGmqdLtvXX9ZZ0Mg -vbxiRxx~ksE{@~tE?==%$#PnE;t*zx@#h)BsyPjS(D0UA#tANoBf -)kRUJWd1yeYy*YQe*&_K*6BDKNRMjvS8T5cfLq6Z6Dq77MOLebR2ssnBTM%BG64nu0r9sX{TRkQq -NyTo5SJG&ZFJ$(aQwm8x-Vdmll)dHQ$LSocZmQoGwl(`CVTLq!lVL!xua8@hDBP2Y*=zmTWV>!Wz}tpd~u}u+`@v^G{;fHN(HM4I(Vvd -gl}3;7{kaJ>%@va5wZgi>F#SfXBYhF%`MPt7VQqcY-|KA1;B@rFXDlsTq(6;ae -TrEZbt&GEJ9x=S5p3#ju(PZUM4lOxqD;Kq1?j-n$MtBUtcb8d3{tnZ`&{s-uWvI%#sv}+zeTSra+4}&CmiJ40tF4nUYQt5sDP}u!eIkOgYOa6tCvs9)i+2;H)1VYSqm?XW*>U*M^`KsQ!o6~ -<;Hf4-Vf^Iy3AooXCpCMkPaGjveU%s4O9rV8Ajr$6v8BZ&u}Z9j~0?jYl3b-&ia#74T!iNMuh`v?_ff -u?i*}nWJGI?1&g)WAer~%g^{8XwnMeMmV&`FXmvF7=FLb{6;#$tBy3&YTdSXj6IV^Z8WJ#)H -P-liV~6YK-MhY<2LHMRG-!;Wu{m=Ee3RC`5hE(&~>r?lhhyQF3j}n|Ni=HMHgKsRIP+_*Ra^1pXu|0D -MqORbt+b|L%*c;=Xw1PZW8M447N(k3ly~yafh+86iQLhC-}ur{^CR ->YsZg+$GCB6hG)l#qlaHOi0Gpje`V}u9<`n(b-t;>rzwk9Md1cjM&=NDGtt|JF&}qxja)j&ZVLE9SJ} -!c#J>ojD;e7WIt&%Hlj7`mQY8M6zt0~y`wLJ@0|XQR000O8B@~!WbsBC3B@_SvK|ufjApigXaA|NaUv -_0~WN&gWXmo9CHEd~OFJEbBVRU79ZEP-ZdF@+mbL6&>{;pra%*N#zucRf1uh3;L;cHc@Y$xZJiYt<=1 -4(c-o6(HIp>}m=`@bLXGy%+;v}-$;e2J>I2WT`J-47Z-li+s!`p&tz=^loMUfkR`i@W=EKRCSJtd|di -xS{%~(=OgEHjDM@)OlDfnsqB~mWx63e7QL}8T<4?m)`S!wOGB8O`TGI-mF)ffv<**R$uUef4<&q{z8H -$CpF)Q{Fe95YiBZr2oZJPchzzGlz^N36^i(6K(lVZlUY_q6jvo-GG#n -b;3lgoz3sP`mE0d6(+&7%O0H<;dry|W&X!KOjGxuUGGY_F>o+gHqW#HtnP?r288oT=m-0_ptH05J2KP -l0a8o&J12PZG}=zf8*d_oMRR2OnxD91wSYCYu~y((Yp30&Y4xVauHa4~ui7@UKUWI`(wl1$hy&^x= -W<(S=QDAySF>x|8-BFej#{^PDVI0|MifHtx@JCalBGkfVh^Eq*%3N@m&qiV97o#2)0t6PBkYEW3C%NT -R;4l-kj3I1TYJ#7ou$g799wM7-;VhyigEK2~aEiioFKCF;nn7T)%5YNhB6U;CL9f(vwVu?2Vd>n&Mmm -RKsc(!={W)=b%OTCa*%MMfA&#**4H-BTt0cmL} -qQyXoyVDX_^&dL9I&Y$q2E`uEC5D%RHkwBg8U`SVo9tzCkr3#4?Lm=10WQqi4Q$FbgrcS!gCV3u#arV -;SL-C8_0Ld1f}oGDd?kvoU6j5l8QA8Ox3E*xl?c8SQLYY9=L16XMuGQ|gtOJt50t;+T2Q3Bw#1o)8DU -a*JW^!PMMhm=lJ%MJ%Tn%Yhi_i4ftrg(W9ga=Y|$f+e@GuN?)HBB}G)}oAaU!(7g=IT$BlQPv*LN5}2l#niA -6_52+IrbR3op2W!d9zFJcJlr~7pl!i$4E?TDHs3(n$OiD7D?Nt!R_>~#IXq}dr3+Ty=J+z0H_8_as@?gHUO|N@R>)$#jr-B~4suvJ2S@oXRs(S$PR@^j7IrbCLj4%MNV%t5T?pa_sIH2WEt`%mbwkHS9Rc?iI5;nP(S5ZJ#g>N||Q)I@kl4MHTt0K*n)m% -}pYBXc+&BvTpmed-QKbdJ7H?%qB*z!jwT|PY*_%72szwf5Rsr1h8)4K4zxwa?GF*`*pw*vKmak6N|`c -2R8Zx;sj*3hHQX^c6e{>}QXUZ`gm_0+-}`6#sY=;G4@hHp1JpLS2*?w&z{11#9eI -2q-jsoA?jI^;roT!r*t5N3r=VY5m%<0w5M@>hdzh>DO6Ke1ocTC`SfG6+7WAMgZT)Fr9u?9cCXUSlX;M)Rqm&(va0li)*3&WwzME -;EDn|K_=sx_yYf+ZX0eqOk`;5p+fsIe&;^G6ws(OAeMeUu{g#?1J1mil_@k~31!nO+)BmD8DCl08c?j -AyJAn4G^|FILk_{nqf***eazXD25woWCrF+x5fX47cKB#qY#kPg18|YswHfmF$TmXNufNa(K9(o;Zhp -8Y4NP8lqbCo8gIZq*`THuU~TZ;#>}LzgUWCKY8&uy}W9FOwX$8AA-~1r`cpSN`A#xZ^XX%)#X8lvjfi -6wNxTQTy#z&6@5MQ(w%SCpD#AUR53QQ3%JziQ8sdz%f%q>&Nou_emZlyb?+#KvsgiFbH2G>E`}-mn_Z -)O|4wzI^1eK&y)eji>xWhQ1s|GQ*{9;mjo51HrH^mKQoIr+YwuIqv -T@atk#3`<$5J94yLkych2wcp!jr(zW9f6rI26*AMrb>Fj!Tphgb16su|f?()pLo;j~yJ -Ko_~G@g=B)>Gj#XMP~J1J*bFgE)|=d%^!^xN>mipzXFhG~aAQKfpfnOj&obBeI3Ux^GDgw$1EJuh#t? -UoL3XA(r}gW3w0@`jwO#gYHnW84Fv1r>auxX59~>wE{<@Nwrv?Mt_vRr9|*QUsKUNjLL;9x+uNBmFq{ -=e+L-$%u#=D9ReQETrwsCm9ekar>>11F0*}0gW-0{bo@rFm*v5+faQprELDSDCKQ0 -^9+joeLWeeVOggMDW`k^cWi&cwwLd@tS8Z8;@+=6Kgzad2uvL98C`M9&9dXXQdIx1)M>cu1^IcQN($M -%lJ>oCRs^78pnM?{~pCTb-_tuMN2@hHutiVe66`^K%G3zY3()W7w4xwgCajoj^+XMH@Q?I*NXh8$W)OTw>E0AVfJtIhlh(Q;?{BK@+0VM4*f+9JHkh#6*LNfEw~X0F*(;RVDP*FkuMQVVHnYON160G-Rm2uMil -8wNSJHzwtp~Qiy>=QKKSI>3mg*=1Ms7(GvNpB?_qpct#Nhjv`cQ%uZA@P_UpmY6C?D_(DJkqeSEp1Bl -F3Qp_iouV7~Zgc*QkVMrB)1&aVbi_}E2*hM9QSOPUkODyFwV+bh56c&stGg$3`!WULUOHCu!7`ayPGs -1^q${0-Qf~Et*N5=a1Um3PnpT*%1rK~iw{{p28ERz_;6oY$ -pg|DM4*f+928b^1PMoA@(@dq12`VTKMvqHfa6I63WER`2Vfk4@ftFO6bDiq;BcVA2^EfY!Ueel2zZAn -sxi|we6QV>SZb)6e6Qhq4c}|{Ui$#D_Cruk6*X`jPz&6y$?Y0$*W`8`qEDDm1${ycM!P@_3~CCVI>Bh -bpiXLHDZpxm28M-Lvjh~n7@9eC$2zNdNR=3rv~Y;ku#$kQ5nOeHX{#Gp(ZFTGuSQhW6jilAh45>DUjz -IaY&wmn%xi#HgE(mjqz19k1R*Gz36>^=6zv}kmT^OXGytR_KpFtj0FVYqG(e(3I5Y@^hWu&ZPXk99IM -R?K4HkYw`)Pwcv_Wh%f(ArvG~`>0<x-AC -xD}vt9C)Vo51cSaI^^8PX*S6NPN(cSP>`#rH)uJBEk5AK^S2oIJ)xy6#Y2t5`a)}^y3&18?>lN2ewWD -I7JhKQUi8V(ZaaSi$TYVYU$=wK^Sy?1e$=34GO$20E>3+E><>nI1jr7Cr^jds$=L5M>>w-yBe}JSeSW -FZf%M-5h@KTU5tu4d_7OisiXmD0?I*KMLo3wB&|Wg^3g5u&=8;@Ktq6rkQzcCG@=UhV#?%?P&Ar@V%R -7Gg-}F7Q3Kkc62rt8vN3677?DxCTFjC%s=#{QPz7SOi%N}Q)Y&H~>~6?Afi8l&2zb$v7aeTE8R)gZOE -8EDz$&Okpr!L*8fINmK^3$F)Doa2pcbIj0huo3pbe;kr;AA_hLAe^ByB*m1kXVPF9ojp^nj=B|E@osInE1bwf;Ll*-D%7e((9*c|ULd*QLu -k500auiSnyW)rP*%mfMf|6SdwwJ>;pkoe8X)A#E)j8@;rb#N{naMPNU2=IOUyL -EE^TnT?DMGY9%npBjD%gOI3EyFk_fJXaJ}x2KNwq#IuR6?_K9nA9XFR(}jt3fSr#jI;JIR3!HQ9iW*w -1(hk@u4*1mn9R2X#`T}y#zw13BMvic;S4#xVvA9-WhK3pB`k!@aKnm(czLyEmYV-NJ;mCttS -`(R3L4FE>xh-S^_1G_+Vh)JswD&27HEQ6H&A2OflMCfeyAkN+(PogAyKG}9$#U5;13iev|On4GTMAs8-$KBXR*4nV&a@ ->ZTH@6DqAAYi-+pI<32nF7vei#Hru%oWxiEi#?$Jgr4ceZn9^3)uvYdh8Nd^7NV*t}m1x6{d^lDU}d- -9PL9;dHJF(}}TR<1~DwE@Er(X0dXV3I`e{r~CiuY4-woe2K4&-MWpD#!in0k2G~Jh>gSQDrj;$4EGnW -UcG<+{`|dvzV6?=n!B$13Z}gJ1Z-K6#37sST=?fKQ;U0AQgCX0+x~IPCcy{e>e=?*ZYui-&e7F-_`)AtK4jA*i^_ZY5*#vK=C{031F!44n8azqGnl<8(=?fGZOLaie_W|=C -HI%0pse_mXV5*#7HXm6IM1p&%4$8;>4&o+tBNS*$JbFA#jvkx$f7Dvl6Sl|zI`qVUdB2CUvpNJd_)^4w;X)X1OOh^^*hfhUiUBI{Fh_GF7NjUKfM6~#0Ln`0dY -0hGI9DX5Y6!loIaFq2B;wbNLq9CCR?QZ2-bbWYXliY#($YJO?$6)}6U(U`>>EE+2pAiauSAU7NeciUN+ -aBw-$GYu_ZhNBJp6a%zy6u^6d#2l->$c~*?S*c8q1#^SwwJo?jc$9R+m3YGk#0NIZO6LpM7N#jwo~19 -s@u+V+nH+H+f{A!*V$E%v2B*+zeR9lbIG3Lswt4Ys!5t>ygj!{u-Z2J3=9KL7>KqqVpYuxWU3^aB_)r -M>sge|SX^>E>~=U?CH1ug!GS!+z@Ig6AFwMhUs72RR(X@oprtPJSrc=B$dWYWizt;46kkg*3=3jK8r4 -AD%L;Z>Gr0?dUN!MG!_COC?V85a5>>$QHCsotm!rKab_kRUD8t>Y>kD$R$?86I9pI2Xn!_DXA|I64cU -dGU@2{Qw0B3(ha31;~X8Sw6FJGFI7rVeS@LxFS-p+tM!mStgDIoP=mQ>L+<%igN1Ojlj5p3Mi7EddF@ -Q1eqLL$qv$#hvvR5$EX#C==t^UrC@4=<%Tv`tOurepXKKtd -1?9PFd9GSsY`(e|YRpRo<)vzQqgviVkCy#>`YXt+fnbSVuO}X(*g>!rb*ezXMKzn{B$ -=+GTh6As8^}(uJ(7~;t89y)TwJT?EFs$}_ifez18gT9I|> -5Bs6q%^|zIvL6(AmC%~u(P$6I;R>Y`?Tls3a>~mgY;_Lepj}SQ)0CECECJvEh+X|%94SIUL#$oG<$*Q -rq6_q^AAXo)(Xt9I9L{xiAjDelGCH&_{@oZA`gg-Ij|gd -iNrWde@w%2NQ;caIXat+Ss2YHLRzxhEJHhU$JW_{OCv{n$D144fMwCe+}T)odbgs9Zs6mihyH+(R&sE*j7$;x9oMrU^h{BZ<+LpJN<$U&Gu@JzbNhfq(Lw?W8VVxzMI199P9lzbVH$WzV` -b!Z>o+9F77*BK${0AKi_T-#BY%thz8Ft$1jnU%hm$w)LK(77E#V_yPW< -^sg*^@VA%!ll!pKexBxlpXT&HkE~H!Lc_ahkF7`}!KrV%jX&_CC7T2STIl4p^M#6|czNiSsNI&f-|Yz ->wL&&p*SsYFrSEab7NdPQWnY1ZPVkpr3%*gAt&Z>lGRCw((ysF3vyls>rj74_IF6jc&6yX_bRv!Q&ee -yU}cxWOD$KvQ-I)Lu1Pvtw)BY6j418v!d@9fK4Nu(NbC7!126Tvs_baC1Aq}FZqz2MX6j4>CWq@it4) -5Yw00|dmUr_CCKv_w(-q@gl)3uS{T+?buxNH3q;2+kvZ=O>vyQ>1OefoyD`vfh0%q6Z=$;Q3|56c8j3 -^iQBrYs0c)UOV!wABWx_tGG31~|QRo6JZxwV%kfevy>&LRker&<}T!AbgH?@`%0{Al^98vIiJpkpPbj -;{FD(7W>o6LA+>`U74qIInn1S;qM}iV -)!Cs32|Ox@P}mDsN%mhFcKFB!y;t5LM=DW(`G4ROlgvFR%4tJ;K(&;&t(DvC~DIB7|r-kuxcQnz1{sM -yWNfrq10dkfb|wSBoVk=QtUVqZQP!Bm#n)~C;)4G^qRfT%O$}39lSY-Zi;n_-j@G@f$8Zzu=+B6ih`n -@N^}NnXXwarAWpz^#O7drjKnd6>dNCNrKT)ea>RHfT|fg6dYU;ojnG#gRRM>$;LJbvuEC% -Z0$W-)*88v*&*jw;?3LYo(gwKXzjKNC6{luu#&>;0iRL)XfQGg!Z)uRu;;G)wA*D>QjWhKP~!0g9xUQ -|*1n!!3F!}cae*aGd1tLuY4v8~ElZV=AOGSO?2Ei -~;7F7l3(-fPB{h`6qYXiJ80(r1GNO~CC&7Y4yJz3-5d<(q&_Efgn -I~mYe0U2|^%ZeBqC?SrUR{0Vnc=(QEZ;EyoEd@>9Or3eo2A?Ago6koJ$w9-y*nfMZX -^$?B29ouZn=upm=Ma3xkh|ELn6#VBR^H52-%7k1sh4p3vnSGT&?is{^)~1j!79>-gx -n|rB_TO;=7j0zD)-eH2Ry|b~)hButf)GKzR+B0hN@7&Rgp7qK;%~`XKgtxnQM1gR?0m^~hHO_uGQ)5* -5f0MMxJkEw)57kh>))QaxHRyNnE(RH_Fn9N45_iZFi@BsXAtV)k~`D9HmWX5{ -5#?y)s6i6PsyAzy***l;|<=r&4HOmvNz*sO*9(+_8;ax(e@6fg`29XuO%FeA+!k$MuutY;>7K+TUv1_ -!xOfxT|hlPAw#A3EaSrVTSvid;=*Y=7VfKqM|<6I(X7*#Rq~$>nCG6InFwoGa$Ci -d*=yJEMVX2b;Jg%3Yl`x_OeZ_RN!{(9pfuUN!%R9wN$Jrmd~|YjcILBUHzw3{-VljydX8!SE$_gBmi4 -9HNjCnmc;xeqrXZD9B@AHp9VBO;O!;1s|GGB63X+=U_Br23unS%!-l -it!nH%9zN-Y^V=wm7^=3M3#^Ra2vm!-%0Mn=NIM3=NYxtJkC@~;;i)I}!%DgH1 -1DnA_o>p|I>Zq*y14j~^!(rF=DAqXQ0{*S8sTc?iYgloVWf&!(sBXougS&F+-zU{4B^uA8L~QdC=0Bi -BF5ABf=+agYMTXyA!0;b@RKO8W0IRSc9Z@jmyU33fS^`sh(2{uz5YDT+IL2Qzel{ggZ=9eU;w-aWBv{ -*neSN6pAk}v1b|DPU&dvgPR(;+EPlIW@7r^_sEI*tM3bMl2PGhmLtO`+Lz>L9RE2S^BW -HF{)wNoi0z*MlFe5=jwkjZt(?&*5?+u$52xO-Pwu4#<%)hbSC}VdTSVYVlfgMzekemvD(K>dLYzKpB* -ZE8oxM5ixnf~N+Cv~eH+DU9v*^p3JA_((Qbxn@;--6#26iP;^Llc(#w2``R>xo=#9|d2G^%i^kFWkJ{g7V8MJ$Bjq^5yQw-Tgb -v9LQmT*?iLkjVHCqkRKqY`OhCKgiPQ62o~Mas~@YYM;frHoo}5Ol*oglOmWS;Gj;kYC^!!ENt%FS&Ly -8G_HvhMsblJ8Smr~|vi5Mb47(3v8E*-f*P=A4MyGEmiJq;ZD%(N6i6e}^uQ*x_EN|M1E5E*N8@Gfpk- -P}WboBCA`|LFf6X~luP$j?_63}9Qgd6kP?6)~*^!2g7}DfLCin0b1tkhb+B!LNdU4fRB77@*9}z$rgECqiYI -mgawBq#2G3m1JIOm`c<>UI>!YZ0kq7~7ew7RZ%T@(#)xPDN=vfC1`$n+i1OJ!#D#}m)r~w+1dX6@E?5 -hwsT!p~$h(nqsxq1JNF;FrkjRr=VPyl^v6$b6Q;cpYs60(X&I2FI=-Rxbv}c{(2Y|`d&_ -2lq(?Wb4==~`lvR}~v0J)0fM)379v_}ONL2gF;LK7p-I!rd@(b1|Ng@U_&cXIQ*N|_F8&ONk|I}SgxT -51hPQH`I7Nf}9UKdBy0o&W#InRh0|hhzqp08Cd{Q0#7qpt1_>Naukse5+{5CwZAHl57H61gOo0l_od9 -WDf$85x=%yZv_H7Usa>M{iplAAqr)TgUon+h*royGy4C>GWzOo(09>_$&Bqtpjfh{Kw2eI>$E~~4~~= -v=7B}+H^!X-%NklTfSyCs@u -BT|FY->E)s_Rt)U`3%i85myU1-P^)MB%MW89Ql+5mf4_EMlA|QQy}SOb}Bc-vT+Rq`ex0O>os+-Xz&h;+27=0Fb` -II2d}kpo@u$74TG&+Yj(=D!eaY-@8o^HlJ(t)Y%T4tkqjaqW7&GVi7x)r -uOPhzPvL8V29;@3Mn)QiE|o_5**?`u@-H*J9IMEv4v6BM%|hb3#z(X8Bi)(c-7>)LWp==I(=? -bWdfzW)LJYlHSYQIr&RL#xilopa`19r6S`e!RD#$f08}=JCB9Q7WjheXq%9_25K4uww}wZwWC!g=uQg -pz!S?(h!w>ZA^Xist)}H1tPH`EKU^=veS4L3{bZdD{j=r$ynd5bnW4AU{t-@puK$|0IREW!9gWZ#Y*ak#cBq*E{oqLj&$V=0aJJLRrwS-V12?QV^bNN`rEy -)xBJlxmsK!yZ+jNXD(f4-E?z;CJ0CSj&vTDUF2(XKGrH}w5!mB>mD0m+d(Uk9Y -u(b^Wj)?^xS7`W#A;l-z73GEkI2{#E!CLPy2td1*Rr$)9d=bZ?|Sa&Q>-F<_gs_BhAm$ifH2dQ)GCV< -V0QBm!W#?;PyEL%O$q5{ERK=RdZC;mKjnHs}2`17ZvBAMpVii1`<5d^) -p2?BKHZ}T4!KxqtpuI`IJFDJi<`#L%`N?0OS~JBg(#M4LG?UcV;iN*<_e)8%5=!u^7O<%)s#8k~ImSN -lp@YtqinoS*WP0ASc!cb&Pjz0rRTYP}8CtMcZk>j6Yd^G)%i^HGWf*TI -!tJ;#*kw7LH{2aN3tGIpnT5l%X|u$eNo4m=-YPZuU4T>uV>+ -`=R2$-2*<^@Nfq7!cfR$h)qdtC%e(+da^E-hHZ&1Gu(p3JYI9J)u3=qK^rB|5-*aXhaohrPR$@$J%#Q -`tMt-9@48082R^Okn2Aj+t^JR5vfT^Q3%jkvLA5mYY7D>TvG76C5N9w}7h9&}Rh4I!UhX!IfT}$=mQ; -dp`R+VMAfqGw`T)i$TUSd5c0yHDJ> -zbDU>USdTUGG11AtFCPs84Sma!B<7y2CV*8s2m!w-6Jb++XMTxSr!-h28X39XZRCni;^xF1RWprU4t3ebzpNf)vR(gVC+5-i%`KQzM0a>Xy3V>q6wrtP4eUA*(uH#0RrCv3$I -9PAI%%UHfvQOgeporsb@h$T?KkKuy@!#A#v?lc_Nh)65P`EBK4~ppLDqBc14}NneWSpe5)B8;mT{&J= -!k9M5}hQVh>_Icq%1V|r@dD{j7B|KK?Xk2Eak`flIrM&UROkv-Iv^9zvIt#FCdL70axTSn_WbUK>r`? -{v_}M-Tq~>ZsEy4q42`#TeRxip86bYD!k#mKq?bR_b$HS@EZ=?DDOf6ARFI4XDJpWacbx$028Ru$4@W -|8eX87Jdp8HpYAN2OoLhsx9POu`*YoM%3zxTB#=vW?jINiwOyo!^ly=EAVfqqrg$BU=wsQHCTuzusez -`w(de~#!LOzGF5iNNn?|#=5JP6LE94U_ixKxpiO*>4JePMPrdWAJVDMG}RqG@E*dkAyJ2)ZvYFSYxX1IPtZMQ5KJtPh+FMwy -->X+SJ?OD0UF0Poed&QJ${b&VrBc+d=-jMcUFh)HO}%{!OQL-f20t5G3&Lno21BJ6 -iCbcY5Yqn5ol%PaZtTCiK5xt+p4xhBfmi6Mcp-BapI!xL$bm#e`!;1`>Qnp}ne%Ef;|MG>R)T5k8W4ByF^g)|d}8ar6Sl2pIr@o#aX -gp@jpUXK55*5ksad<+CbNaCka#mE#8~9Bz&mWLv+@Pfy1Dy!aQK^VuidONe%yD$tNjgdM6Uy6;0Nu(t -cj3Rb!ptDQ$tW6a0@J25aU9+-ka2YZ4qJksnv+cCDm(dUD@}!O}9S?TCitcr!O`{u$--}ilYv|IF-nO -0gwSsgljeUb)-Gqq#e97u!TV(}&ciBn|JRHsUD|Xb2CH-GDGTvoq)OwIZ?U-R+_;#Be)0MGAcqwE&ib -AZ4$+(Hr->s tTWB6@3X*F$*POByRRP`UG^m`DPi!%{9gm=q -K`kk8{-O`SpYrd^$IT_>I@>lQsts9gCuHpq#9siQX)l`~!mi!}o5fF_&YTRSJu0Nx -Jo?eg>&QpAuF0h_>w!O~AJXeq9$zO6w%O;57CRFqaDN;fov9X^k_^Y$Ep7Qu7~42Gvn}5x=)Ix}NjZ$ -A2UqC5A#cq(tP%|RRj00UVV$lu7A$^4r*4O7LVlc9wIxJ=6}Tu`>6e>tB -@vOFt&0rG9()%J>!bbrRi(C2G*H1M`QpT@=dK1DsH=z^y~Cl;y!&WZtSI2=iCn$Ko(THQQoYI+*all4 -wZi=ZEO&e*;iU0|XQR000O8B@~!W#71fszZ?JnBr5>`A^-pYaA|NaUv_0~WN&gWXmo9CHEd~OFJE+TY -h`X}dS!AhaCz-rdvn`1w*Nn$0%c}uxwTZMyW2-vXD5m6X=eM#HtyZ*bv?c`2}!IeQYA<`YMbwV&jAP$ -B*B+Ny<&1YjVu8NzpSY%elTLrJ4pyjPXl5y0{_HCE#Gyi6#_LTi`n$|h{ivUEchWby)gNe%}tBGoSK -1YL7S|s81+IYbZF`CCbJypdm18*Bk|WS^EnMZ|K7i+L0K)^nK&VopVD`y@yD~D&dW-N{w?(`7IO;4LU -VGF{8?5ZpmP^SH-pYABaBO5JKj7BSr|}rCM$e*@x%A8@as4H>!fHHI8>IofX|N}Nq*p8_FrPJJ8yx&dBzchHb -M8jZ-?w{LUAIO_zp*S>@DfJ!;m62Xj-N@p*io3YSiRS<%=VDurivt(370%FM8v_J&LJILto5wCSPN(6M65 -gOQ5EVNj|Gg=P+-A_TGgesX6$0Ab`0K#LVwEzF1#P$g=heRwgT~OOtVQ~oIH1MOzloQ}g0xk7yr0S7- -3e@f>sBNfN1wp+FKzso&v2dtsD@JlZ1^5JkM+`_Q4MkwaE-&ZNcVUhqj3YoiWg!}oGR!P%d8L0xG(st -H03KXk9jaOtnt&x~t0VFs90;JFXu`Cn)K)d(-f>+yn5bXX}m^rI>UO#)e$jJpP@vN=xFZG2gir+%X*OVv# -j}CF(l~Hai}UO`iE#ne~e}~G&n=BUc?~duu9n -1HRsM*vRcV^hnS0c=2N@N=g86P!~(8Q7nREsV%3aH1~r!6$-s2Y|uGHwJOWBrcT-?$wxheki{$44hk) -J*XAO`$N<;3FH}7PW}KJ1ov&D4s-XM{1BKn#33i-$#H5KW5LF(fKm#HkI(#`5c(o*75NGFVciONR22Q -CkRVdca-Ip7hwjq>X_?-H#_BUOZ_%h3gkS&y3N73B4ni_@pcc2glm(WA-&jSlmBC@oa4c*{jt&jZLUy -8HfL4|V$#|q}ti$Z@`u4KpzM~icA@K(!&n?uS+Ll1_6qdm1b-M9#^^Wj$%CX%hetvN+4 -i6@6UL`BGNDO41)vLNKzuX>rpiBU427TzzKV>2erZcyCd95Xb(U541bqtlp?eGfO*%2%A%^2~3}S|3K -Nxzz=D@LrJknbjN6lzqyLZqP=-r=2GA#Hj`TYKUsu9!$P7Vgg?@qruJ|^FuC|rd<;A?=MLjaRp+k>>& -Gbr`s_#Dd}Y8h_)8X6yMt#-w33^an(2G#p&={=PWEs^{ -lt@xSNz?-Tw-BLU(gD)5@0OH!Z9Z~oSn*572!ze`$wm*4!OEvnr)q*K -KKiEo(lPw4TdvUbLn4Le_jKX}y%+oVKNPDr=reT4(Z`^R~3k6Ky({!~~*U;SFW(`|C -G9tdI())lQS2|w5QD{M^qocLAxv+mjll~ezr1`i{G7aAzziQ|jFIEo>_DWKz+dfs^zRQ~c({_?SajKfU -ub1DLGKBjNf2%P+c5zoED=nyib1T(>(|UGcz*`uSHgY4-N~997D=0jGV|vCm8TQ-G) -ofYUL0`>PO*_(V1iUuJ0K+%~E642qNte1KM)D+8 ->iwA^`&ekVz?^ZALBx#8HS60UHwu0nZm1%LNAIGc&~5bV4XD3=IF+D4BH>!|^LsTxs}xd3=SQF_%Tfx -n91=0OkcCm~V|EY*+7}6_&`^1agMYFVx>oPBP^4n5YquS~?vwk2NzL1 -oBq||8b6zOxP%i1g^vWY>tfx6c=!A5*FP6&oEnqOCVF4qZI=>j)2L2fiDP^gl$Rz8~}K(31E~!f0pg1 -$l(lfwv^;=G{)qJted*-Gn$(0`j#%(HM-1e2ouK6J57c~Lk*uBP>N0D4)%Qj`A@$tTYZFkI7t)bJOo)r6=;n~xxCXvAA^jY!qic)Xh%Y%VrtUwdus|&c7Vw_iKNta+uz<1GDMc4pM -#2qS5VTue(Sd86&lPzsD5Mic%S=APDPChCti()wMl|{ce1`=`SD=%SZaT2Oo|BLrL#0wNGo&rHwgg#2 -dKq^h1!{F=nM#b82b}p>Wf|bwt$uLe}lu-e)hA$QAYu4S>0XVp$V?sR)TOl~`Y!?C}90Sq`MT|gkPYp -}gAsJPc>XJow^x%ToFzc~!?VQI82e`b?|B*?hG0qR;^>}EKL2+dnowr-If*!^j63TYF@Q}y0$ori02DsS{yho<(_=0!ndkR86{f1$R!>ecICbXP7v{vc()#*PH -R_Iid^_JR=Rc-YMmBUjfJJ)9as#b{}XDkijOI3)PIf;aZjn1808W;gQsl(>G -&)C4%=2C7jJ@CvmIwxj7P6%IW;vXR^GY{C#-R#wrney9el#3n&T%+=24e-U3SD7}QspB%E8fRg!j}QS -kIZ_zwN#^HgxySdF_p_C;<+jK#djCBH+7}R -BzHug1PM~vu>m7@9EPPv!-m&yfpmzej6KL!N%0Y5Pf1m(;jYlx=L;5c4z$G-mZ_!pm0Pn%J25h@@a;< -G`ugr{Dfin+FW38_BJZ-L5_2&KPRlV$Kqv~_l1QB+E=zRpeK~2wV;(~7yp-kNnXpsb%5;Qk1nj&GncVkO`yZ$Djpx@=Tc&51u12HCROb -L-ag?_Fw7s4YpnuVEzU0j}^?N#j{z+uz%_Z^lxeroHCfq(uJYC0;Y}0{Cw@2#aEH|J25j|~c85JFu6+BfWD{*=q9`k$e?DO -O@HcJ&QHF>y_4|>r(K>eD_>+je^k?|mS)T31{dM@3`z~-~9lF^KKO4?!3y8kFSLz1%QNL?Ok+DKl8Sh{j`nI*_5+tf)!ui;zM$XYD+f&{_D_d|5&_#B~O7c`@h|wOSH7AYF$ -f${hSAL{aLnU?71%4;(eCqK3t2mZhjL!VRe)HZ&5QFy!x@xJU7tW7^$S1N!E99No}1Fav1m?>{ph9EV -!E?q?5zLlq&Oo{N=pu$A$*Lo96#V6 -qoZr4LN{z+_bp^?}J|0+Yr-T(RA0H-eM2gXQr_?Iwg3-Q!2~IY_0O{ODzF^7|7<*$oSJOf$eV6~(@Ebx1a8|nnjPh~{b6yr -%9*rzdn6{=zeLi!A8lVEY3A0Jdu3#}Pw$PCEAj_pmc422m}xd-as^{Mvgg&668~9sWXC*~sx5cGB!KM!YSo-yu%+rHj4|>}Gy^X9Ntz^~ud{k6>Z=lzA+Sl(Hb@T -ls5`;r5$$9VKHvXdWc$8X$8ue#)y6j{D^M}tsYsACe_vGV69$5&p1tHopNtSPndHb;Kj&XkI)>Jb3oc -f1WUh&;v{MGMMNl85R^I~C3Glk!Y{-F-HcQnVne9*r-4(x^M$|I}iGLx;|7f6-de^1?BU__WZ~oQLnu -xwqlP<^zBnPAtv6E`3`&?TJ$x4aVP{H(QEps;|fw%46j7EEe)3I|CmW2>6EAy8*vpG!r@^7kJg%l=GG -)xR;~G5CHgzp`7O^t>k()pWLDMVf} -c*f7VsrC7~O5s_}oBbaI5j%=gvFMHS@;5qlGj2opI_POY#jBQ#gHOr+1CJJCp7{2wd^x>0O)I_uKR|swBH{}8;+ZQA%%>0ltY$t9;*WJ&547J~&x%9q#CjN4tDU!=gVl^D> -}Zu`-(aFs9RFXQI -zqYiEKUzWinGbF(V)31)4@vpgG4kbfzi|C;Ug;l`AIw`yOybddVu^zB1_j*1HF54JaYAA;u|t8Ft}FI -*CGJEa74a)l@#nDet>#Q2FeYpe2W<4i`V#*8HN7L3>^z7D;J -1F=-dS#IFO$CC<&0#@+E4M5sQA)yx^K<$GkF{Gc(Ncjo3~A+JpN$#{5oL_>oI1k;47dv8H^RhyyIpl9Ldm*R7XpD*BZHRufv7Fh7VqS72czZRbB?Ptr$!e1-XZTPJq*>*PuE_++qBdF2~s>n^HFPgJG=chU&J#1G_ZkY~8zTsp#hZT -oschn#;#!)jqi3Pu6fcK&b<(J62>rlVvqovMp|_aJ(3&hp`kIzJOmC>PqMAZ9Pl4g~2z@BsN?`x0W*S -bshnt>z?KX^bf?mhrNCG_Pwlqg8{|ob+5t7H)-4t(tmINU8r5x?|2EU#d>_n-9c5VuBu<}&boGIm3-K -FB+5)f>6HS$DcIy-B>}6mN(`bEpImjk(k?b_T({QGG>-zqxH2TsO0u@38N^Z>flAe;;sxM*o%JdE+ -+<9n$h+{as#cNfUsT-{mELC$D(+|_jo*c}duZII+fBsPz}uFJs>JXWdVU_+?b#74&A2{AOaOn+q -5O>|z9+b*h-24sw9Y-Y**Q=P+4G!(4Vm3#)d_t)F?VNpzqB^ziQmt;SOHE?lO`FO#=e(KYJm$E{_B#L -GB|a6q4)H1O`ZXe?^^1WUb&VVR{6c(o@$>ga-L7AJ28M%$Ux|tqetv1_cKhN}ulu@TH`?KwWkC6+MSO -}I7vttiH!tE-?ag2FO}PJ}i+exN90VjE-JV!{a%Z+MK=^gB&1V4#>SY?K4N`(j5NreE7eBY0Sr3ivy@VF@qa(LirJ%$ -?GC9e)0EZ@c7UIDcfO|8Q9eRhWMVl;8oEtvru^(Wrj0gJaqKn*+Kl)PL2%H$IJ%9vqhmGNAECqEa@)6 -yPThiOpG67XZb4h$CU4&v4+(D%)IH-Nq|+{AAG8AzHc6x6p?CcS78?{CQy-Ot1`c};IWxw0$aM{eN1mESh}+>JoQ-kK(Vk&RqL~{O&$M6&P?o~q=%9oN;bl+H9 -$$N32!!o65dnlWxDg+v){yLKFEHt4rVo7ul^nw2irFL_91U_m`0oFW?mXAO@AK(gPP38d;IICl}k-4T -S4Z7S+Fk!9<0`2gedn$=bhGLhMQ~zU88ph~12-SpYqAJf9E<|omZHJjKdp-#$D2C$!INX_mgI^8NdJ{5_$tg8ma -_@vw;zh1YrZk`=F!^0R;neixYh2>qiKHHued$MD7>|2o;UCG>MHz!n%RVE=*@5DVg4ftYV1k7Wl9HO2 -`qmo+c!Jc4cm4Z*nhabZu-kY-wUIUv+e8Y;!Jfd6iaeZ`(Ey{_bCKP*GIM6gA0;VKbHiTUul7(5* -mI?1LK!v~;%F$fQ70vE8EoeRrg6OMYoHA&4yA-NWO(Jjbcg3&`_n;~Il`4suaz<3LQTt{R7V_)eje57 -J7lQfQPcbcuN-9U4*D!C=Z5Ze63@n7`F!Q{gQwwbEMFS^j{k)F!iXwb669a=G(r&a8(6pr;kB7FCAMA -ZEp@3Kyu{Eq#EnP~ucHmCLU^p@`L5D#w-!ADxjXoHpzBbzokz`!=t%!h8#6qdRi-3B0R>n`*PLptOT -lS*jVZI_%UT{@A?y`QqZ7UZc?{0Xx@CRl)=bq!7()?qIS8H%D5k^pX-{T?Vfe%usQ5NhB>STO$x^4Ry -OWAvBiv{BS!uzx;_~DxC#XR2{smr<+m%>kO^flsqfuq)4W3))Y~d!7by{-vr4WiyJUP!fNUT!eR+pc_ -&$ea2bX$cIQmVvywFovW?QPz+x_xv{aZHrj214pe;m=8}smGvt8-sD@s2;h$?;-eGHL{o+SWJpk7y$y -kRM=m{fSpI_Km}8A@&H(?I>9tP`rhIA5i^+D?Ys)INcK5fozC##OpGG*PrYJ)LdtTs?gLeA3Kp_9+BO -o7r<|ZG%@AKmM}C>Nwl{A8+{))}r}_$8A>)kAO{t!Sf*YaHlGjoEs54P=nIH;rCQ;O~XxCROA`#cUxS -_!nIM1qUa@kh0tArt+9|)rnS*Eok*e`4!qt!3Z#-w3g=1d9@my)E{NHvL@H?=S0hrrY6GsREAoORg;o -!Q!wJ$JXF)t5NgNQY22m7fecf|2aJx~`xHgFnsUKx1RBhx;Dp7e1-tN4T_q06ugyg(IVq0as=7P`2aF -isDf#0;GkQ_weOB_wLW&)ucM9Gj|pQEoyYccl1JGj0EF9=A#Z+I@i!*VXE0}G+Jo9X=Ig3&|+-j$82a -MZ68V*hLt@&HD18WkMYJde3Q({SkPIO)~+2OplCv-V066wd{!GZZDqs+5LeP_4NLpV|)b*7nz};3tK%m3 -|(>8#VUw`Idm#&!sI=vM1V@`V-iYo=0f}c@Q#C_Ry7J=U=W-?bvx;vg1X1#R1TD# -_+oW=K@a=@anH5$*69S!=+_I@I4HKb=gN8OWLsiws5X0XzQWxR+I!LV9V?xNsVS{`=HQKZ5GlNdd!?5 -Nnf=MLpNYijI_OQ18@;6dlZ9YPrwblvqIXYrbd4#90YW^E-N@o;c(>sQDmQ|tm?HA!>#kaR#xdVl!Vy -w96NYa+XJ_|I{?)1AK4I*x%hYPzhk2g*3w0bt`&7YVav;i|+Pw8Jf~TI{W}hendd|r13T^QrE0HfJ8>NI4tHY)xEpuTcl6ud?*GDd=W4%s2#V+AHh7-G`us-&mkE9Ph~(@;Q -v{e`@;qy5DqoBlE7_<0i1&=b{jYbpL)JYwd8ng(Kz8OBV6b@vYzXLa@Nm}C@WJ-coAk4GxaDKbNbf|g -3$B=wY_7xc!-o(obFkbCEMzjkFn*tx@v2anMpEB$xJE_9iE;4eStjieS -ri?xw`kg?boj?Mg)LBAP@)y0?0*{u6w`zwkV4-3xE5q7p*sGR`k4ip2lSn{#O5f-V36eD38+Qd9O?&K -Mlg);;0BSFU}u5YRcqA7A4C^kIvq|>iwzrE=@x9xBBZpANAD#9w%iSANVUT^L$nC@wXMU!n{+Mp275@ -ME!qLRuzWc`gt!4H?il3LGLyyR=v;v`s&rI(-)7Q*VRVJjTcA3f#zwGMoGanpV!EqLF&ruYN-N0&9cx -h;`@WTodebPC@6ET=~E5rJ^kick4p3!&Q!I9x9rw=;AaO(cpFDacn~H^v}NUzM>Dw=Y=q+HLHn4fZa)!HJ=!o&}snRa|HQT(ULO_&u2s!*6kzN -4LYHKyTPiMot~@3EA9%7HL`*2YI+w^C3=?9Sj6fC6O>`M&ilriK#Zc+b9K4N@vwSS9LGb;vh^HJ8EuA -zv#VA>ju(AZxO|z(#X6By)>hIyfk`oY@Et{zhRzoYiv(>IrIFM2^5=6X133gzXdS` -Ri^>W6vNTU{tCece|6;@MWl9>7ALuES!b>kQ-EXnCi`cBpjC50_;-INFqV#MwJvCaGTGdQblCn?E~r* -43spd)+O4hK|q-epmzAR((|qFvCy&H5wf;NN&=l}{e|h=ShqEUy)Q+>T7Bb?0?x}^dX1&oP-HvA8PuJ^EZX2l!|J1O4aG-f_X}k638?{&aBMnpqcQrzL -$!Z>a2Jw15lkXI#~KOn9rYS?RGRT@x@_XAj`HolhogU)PbdDP>c7v4j -y#RFtq>FVE6r8RB$3so#KZO^UEUf5Cc&g6WT3TlJ*L6K`>qCtH8LX2{X&Tz%iaHznTF= -GZL_L(;z{3Xc0kwTqMcq!C-X_Ba|v~KPoOH-k;8raiQDA$p&d06e17EzY#Ag8DH%1$@CR -iyn&dbUeRNyb-6dg~tYEK8FxE%WUvWOJhjV4MG<1yL)H8K!&(V_Vy(gtNoJFv9CS{g42`+BI5M>3m1=+*RHww^|+ZJ;Ne;RsDF^NRPsVO;y|l_2;{XaG?)ysx -9<3`y&`g)tVP2UffpQyR3`%yu7En9p2Um(`2BJ3w*B$Ozv%=mE4QoX{sZkr4CCL|Fm0-wT^y8-L_VnO -4I6ODG+nsQ*(1A&)D3PMiCpSJl?5YZE1Ua+NO&%JqW!lwvM1WrY#RcwFOMmUPVlHr{cJ6aeMW(rTe;` -xoq2m`{Np`2lUGxFE2@?M32)b4r<=MA~b&oRdas&sFoT6TuEwzYRKPlNlvvr%2e_Ll3NNVDYCZQi75kfvYZ_U -iUXVd`e}@nCqT{fO##zOJ;lP6HiL6vn~h -6l*c>2Ur1@-vF_a8BHM^LO&$hjIKM?QJSo&X@yPW;4W+O{)|4yr+YS=F3uW0Y#?d;suC@bz)hN1pz+vKW{q)<&$4ZLbcXgF4thGf^ -8(AuV*EVOA|J2=>5OZN5AR9&Q3%Iq1zI-BC&?%#s$ZG8J^%2szYRVz%hD!cl<&py|B(=O}V>?!eNZ24 -B{OP)Hy_&SdE%4k17)uLQSS9TbYZA)?Gp;h6P-Nq8K-`mtyrF%yD^)+qF5YhuIb<0k${B$VX%N1FWF -*zs31*Jj9VU-#V6b=o#`&w%%O7v1`rRdY*)4^Z50l}1Omap`B#rodlc$8S|+E5B+os0HI7_LATMsWHr -SU9zp159DsrC@}7e-WVSgnHR-6H15drzie>52B-AD=y`FR-s%`-VjP)PXGw_1us|Ma#KNO&KX&%ym!_ -qyxp&x(z@t{nCa1kYXNU|)o3~GbwRjA(6LWke-(!bJo64bm{>1z}EOlc9_g@Lx#|MlpR7HY*&j%zga@ -alhy&9~otb9;OH;&${R&6eK`rqk&+cNM-p0`iL04(j7?-YSCXKW{JEGWpHYU0~Sn_rKBDhVV{JldD~v -RQQ&78yi2qy{K6+eWfBvzJrwt|IK49r`%6BYR)#=sD-u2(l246tk~1PRkb~ZDF0TA@Ym_`li7iZ3)-A@e5_>c2 -l^O#h{aPp6#Y^>jBVfwWRDJDYEElPe&C^n(Pr*v8Su$<7d@?=W11my!h)!I|#Bc-_zfRm?bX@_h^oCr -z3x#sqpe>pMK2MPGvvEel3|VbDdGRhbT_{t2+03H=PcO?55bGb83@N>@({Rvi-hNfN)P^e!5406~Qt~ -%gsKj_1fDf!eAdhER>78M+JjuPmhA=W)H!h9tV5WC0x(LJv~`OVI1W9X38R3mf0S4TBPaTG1NAG4~5= -2J%D5{%d5d2{BRF`vF%{>jbW7?JdKea>1KyXT7;A3lo -c0)?J@_Jg&U-sJh_jB~2ym4$vfm>5WObscvQIvW4egJy+YuUR0Rdk=i*3v*(X@@v1r6)1CF6)vG#R*+ -Y^?YAbTLn<(D1qF0{%9*Qcz?;qe3D_NKOD2hExVdCvER!RB*bCaa??A=GzY%>3DPk-N?e`$|Zljdo_Pb$)UR(aqevI&Y?Wx&~>>$}=PRl*& -cDv7`x?8(7a?9qc@}qU(bESgItlGeR(C;xk)T#deWeZq!q-N$)sl-2^JO7_;zpD;;8Ft`s%kf(6HIjWoTk!%R|Y^-n=IAQz?SAi^Ro^8d9klEaWq>0{Z{ -|o;^JttQT;5FsHkF08t_2@K39O2st)nh)~)5a0e-50%y&zz&67>6VN4rDi$$p{Vwxy-L5GA5=w%CPD8 -pbGw!P4Qb1&53gjwRnYDbxtnHsz{EvF)GkRMy*#}?U?RDO~TxfLl_ -eb@2i_5$qQXMZcFUc#%`C9-l4bY-Ct+fEr-j(W37%T0}qB~7g|9)Hl7Bsq^I82txt{OUB)kO_6wD;BX -FL_OL|DpZ?Y`)R&@wDhq%`f1KXl<~U)!z-SZo8f^8ejiDseiXL(K^x|l2U=t(>IPQ!Um|6AUvsn4Yhu -sBg|HzzPzOg>)&tc--5=-u>L6|Sc7h(pcYL1^M~rEp~$Zqou!KMtCuy*sx7|~L;{(np2n_5EZ*Zb -yIgV(bUW2Aq{(b-fUb7C{ofL;7FD4}uzT9~0#9$lc{ -m`Q`0PXB&e|88mYQFXdlR41#=&-e9DLlFewO;kAnHA!%4ejA#o@K=RevGSTk|GcbzwiIQy&}*_vNA)q&Wzo?n#J&F6BofDb6&EZJ1Jf;^yPx7mlbnXhyTESIbx4=7o?*rI3+dPv#Y3FD%b3%0Z5I{vl_cvt20Noo@S -w@PUTnak)2$YrYEd&<>@HQ=(5L!w#pmtsP5}jzMZRs%YM+`SMkubbdM=d7c7+ZiUu|KYK27r -Hy*O3o=-Kn$wXW!yPQ{|ZxS$+PZIHoki?%wM0FUFSqVr= -d&WxwBl+5YMoaQ3*`<5X7hTvd`4+Rxsxb8A8jtr@I>3GI(+!{7c`(d%SI(~OtTAKgdd!uArzX;cim%eG=T(nm$h01++w5n-nNT1e&vKq9*vl^PeM&_?W -^Vit?HF^9#LweM?R&L5r2Rf65^Y!fRILrhY}P?WS*RijK%+;&sy1JH8xVM9Q2 -Fdk;*~|ZiM{*B&+F)bT0+TM-$X(9btT%2CQ&5NkGWQUL4Ke3Aa0NTB(>^QLNsa=msu28MC&pxqD{5%J -`SQ>TR##-tKYIrefLb1(0y2i{#E^_;?q<0qMlV|RiOr0ZKP>ns^fsJfbw##HaZ|PM}wANh!5@8r%8N| -LiN4PhZHfPY8HYjUZ3H9O`FXz^!6gUcZ<|7Y0T>>{4h36NJvyAhrv?YHVySb^@}=t)PINllb5~T+2@b%d!NolGO-mBgZ=a+AKZ{ENEYt!U#Xqr51nmp_EPTzn2Zda4X!%^Rq8`tHAlb)*h0VSzY(h>6 -ZTeZ1+#J@oHNeOf~KAQ2j|OtLdQ8Lp8KoNUgw}YB)GD#o8I8MEvpm^_$)0hDHabqo&-;rnyGp+{Ff_S -UX!z+vawbL+{$zqS*cJvr@NKD+j2$nIHqj+1Wd#`JdjjG-k3+n;9}tY@EFX&Cv)dJ8kC1sp?s61uoAo -PHP1@K0HQU^(+`@mM%Y@oSs#j^E4Qt&UP9Moc6^r3C56gI|*RZD#<-)7EHlHI}1h@3p?h(bjKVZfwgn -s%-Oll3>Y0vdZz5FrtI;S`SVj<`t4Tf&tS>meLKtg97@H|udni^d82Ys`fI`N~-Z>S}3)` -i};6&w!w2D-><=x4Qi9|YsR*_53uGqs{Owe%%))&cA2dRzTy3dYx-pMh`CCqV-pdSkOAJV}>n0&1|5Z -We;e(Xl~oHu3$dGN}?E+A8}KFrc@#4Yy+foOPhNFJy5z^?}NxrKx^624_VS2d$7s5<2UE%Q{nE!44TV -vw`2Ky<#4F`O367m;jgE7}14C1ilT8Oh2;FDwz65V_>o*E#o-KTjXHq16j~08`b*GRwC5 -a8M&!Ju}TjEGos&_VUSIi>rHrV7(O&R>z8k+heIQfm+wFPRLj+yGHliX(v;I$HvwW}nhS;mjS4S5jTY -5MJ&H*EZP+~=gG_C5?@5Lxknqy?GS+e*h%ks+1v!$?Sr=^PxUS?F@HB~%0t0KN+{+*>P{4#QUh3-OW> -oLysHjT4J#EX}&C&ECb9HMK8O`uOtGJ9qQ;T9~I+eJ$QBvl>P9*k2%*e4sRtLktqEVgbd>d5<{zY15P -1Z;Zp$v&sk(F6|e_Fj_`yVQ_>4zzG2;HH3gbO=PU%*v3)3Rdf-9K_**5Y8SAF&)f| -Q^SLWLV>e1D1B6lHK00n472@WGnVXSmgYwC9_)!G`@)Z@CPOa;rTO5E*pdBXGVVV{C@@)SBWU5M+!&9zw?bBZ9KA1+{H#Q6f@{t#Vm>FFq -kRVt(i#z?4+Bcj_e2^WlVT<1h#ugs+W5@V_0{ORR*t0-s3MDV%_zPfR*3t1%3xoh4-sRBNrgV}g8RFb(^A38{g_n|Gu&l{_PfsJ -BD+!4Ny(-OZ5l~1m66oA6ghGPfrx|woR+ -f3Iw+GCABMKm9hSvy?bq-heplMF5lF%8Z%OXW*r#swx9LFhFCpkCVVz7fSA~8Qe4W?yy@pvlk -09wa$2ZXF+EjaDDWIRSFof!5a(#-xT+s^yR`&%E)GBl*fy?AW`$uN#=n}YzhZxxw8%!(|)$eBY0zK@i -bFWSbXnD!g;MyzQ~Y}Q5?;)s9ZzW(HQSn;BKGg(HadI{XF9}-Dva~c7}6?%{oB+xHEj-KI(09t@Oo7E -Sjc)SFAKuY|-6__c5WjbvV5 -YS^Fgb0&X#>opC@NWcSwfZy<1#$pD>0KcZ4nnDbRK=58|fSTAFM8iCjhejf=?XfcQeZ7QZZ3gglN9f? -QdVDUE&d+4*LSKY%^M}FQB6(HDu~o~FMbi9ZCW1G#2t*4Dc6vx8;`*Rp;@L0d4>TsCPIVj*0)Y_rU8I?8H!?4$) -`t+BFtGy1a;IKa#bqGYPr9VLpVs%Cs;@q}Bhmdv3YoM`M=d8GJ&dv+oK@NtHQhCMtGy&YKr3;45Y~Ww -SbR8W6PKsmL`-^RVjZXfh(^WJ4f9cquF;HQ~{F{FLMfS_E^;Z$+H1+&dta?T#{_1TuBxR#`f0c{WXaW -TF8sv7b%>e(k(`%y>f9>?zv~nT1HNw59*64r3&zbx!L$rt?UwG?zK;4`Jk(gES2)SApUiIB)b}QhrUT -}~HfvXGYv%`70utbT*S(Je4-M7AY@?HIbAh35VNaQxO-@(ylYJgq7K|40wIF-^=FT?5)t`PspkzC4dCa|1R^xC$k5I2~_S=dF~l@fZmj)XIVs@$=@v5j|y?~a(rMKE -E44to?)Z1LTJq*$URauL7`be0)RRGs4NFqu<9;Ib3oQTQAfC7iqt=Fm#%LSvP`pzVa|*;^cIOmXn=mX -`)ISKg|Hq+E-gKp)|@w_&Udw%7_A8N9Xh34T*`t|pGpu*H1a5vrM4Z^hmkB}y!^hV6G^F*iMbCs%6>* -gLtBB0BL-uB15ddB@^16YO2M^z_9$m)Nl5X{jz(k$?37qGTV9j&$s%%Zo5@Z+vN=S(DiYhBW70c#FNA -xnA+k9%-X~@6zv7V^@YFSon8oQlZpxPfXu=L_nKN?BL$vz{CrEf;!GDhm4k|d6R%}JHqf2BI`sNr;L= -gyl5-ND|~iHxXy?zx=6{u(V$D=iivdC*s3GjC}osn+9hxXO19NzElxb_TcQD-np|Ol4w2 -Ipf-`PWNN;FoWwK?Vp>j@z7RDOCzJ>1i1IHGDHDeu2Zt)GAl-4+~GVZb^p4U}uw^31EONa797Ak8?c@ -xKd2Uha$b%&!R?DlpTa)lqm8y$e?Oluyq`oO89DD!P3tSLdi!UCOlMU$b -dYUye<|Ok%b=vRsvI$)#oJJu_h8tekX0Ouwo2dE8T!Bu99TKra|g=}p=-EZ6d?k_%{6%?4UN?XH}71|&`2i^g0hr1h~w;coHs~da=wfLzdz$BEB00IDV&O9(f1rqB{0I -N*j&A*a4JK|6*G4AeK3zb1krF}{oZz0z#s)x0}DFqfJOZD&<9*OWkxEH>-%-&XMFN!7V-BTpVzn@?>A -wxJqOJ1kXZyqt>42$BSZ9kM+rQj;_92}RhN$?bk+g0#*8I&<^WT;)R`+pyRA -Dl5fk#0HN3o+3q81wa!PBWdt1w4?DV?o-&=0Fp+RqS~Tpw8f%&2~_)y$~&2hK+{-TFX4qpNzCL}`e3b -2IbwyESUl5^j{)qeB|-EBt4pg&&{@^ErUl!h7V|D0|hl@eb>IuD&{2B`BBwzx`mL`fRM5u^nOPuvxQ%Z8hZqSX+5hOUVdVAkJBs&Cv2p%*_PW_7g#?;)U~-p ->3I9=qp638_3SpnYMGQ8Krhb&0WklUR%FXhaO3?WL8i3xylx_3M<~D&V^T8(iym63Cv3>f;XKP?#l|l ->5gsY=9&M5g*(#VL;u!|IN@^Kg6jT|8dv7+h($|VO|BIQRGkteS5TO@YSI&|WNsHJMyqt$m{MR6$*Z%aPpM`6UEB ->HV{>ri-#&Fe>3s2n3CLYxGq5GSTz8HcA~?A_xk$#h}5{^^apYcU0a!NyX3djIN@5oQ=ZS+>)d>rbsK -sTNL9OG}8b&nL?ghCuMi?wD#KZcL{?*^7!%|4%Em!tKfptq69V+EoNQ4OT^A=Z@k6)u(7l=}9=Hs#31 -%YYlqsbb -ndVY95B+6ZgIN|jlg@uRtovUlP(-sJ)YHj%yiCj9Dh<+&F8PguH#2rYl&OB)Qe_wF{zlE4w+h2Tt`mv -7#GeAjG3LIIq0p!y=MnJP%LyA);!UAq+1-VDa2*Nkid2sYX{@V&Im4KFXA^&g~MqvJt-eSimhuosgFQN1X|}*CnXj#(9Q55dBbF|6y>H9!bG8J&F+Q^pro<h807UFx`06{37sb^;R_nnc3Y;L5CO+!BjpB{&0Kj@dcA!Nh& -4>n_{sl%92!5=z|nX&)TuFvSok5GSP4gT0^#8}85JB^sJ{D~iFz&*pCIF}jsJ%195g=zXHUi|_Iopr! -ctP{YgYSY!9Y$2HW^^@IS90mN;>8}~QpUhO%jT@!>nH@RIgP-NL5$E7POBW3eF<a9 -ME5>5mVLP0%#M`cV10{aBc<8*^d!dM0r3K!WCkD*ZZ5Fup+ -HFZp}QIau0LB7t3|A9n!9_l)_P;;QB7Rm?8vrvd#VV!SK#J6vu7C;3SY6(&xFP{4}^vf@_p&8+P$dixjphU-VqY26Z!q9AtE%C4s@irc9mOMoNy$!h)7^zJJjlf -2*dWA`Yp8&GS(mN*`8o@8ZpmMzVgTTK>Z~hRpV~$~J8tMKI0PfdLfoM20g0Z7BTO@XPd}d2vY=5|vN5?1r4>IU~fwM -q`P9C1TV(GwG1D_tfA*pwOXhV&DY};ta0K)N~!o&AfV52|XW6gzLGbd8lte8{0d@o@XBN#)@QLJ@Q>Y3-tFirX;6J{!@BxxJj4xjc`SKG_5uQfUPI$l*8?MJR}f-Mm7i0cj;}Flx+(w)q|wP>qt -Q4SnVzzoxc4TnW=C3hz!xQ=(}c`DhP6WH+pb_&*upxd8^bRXcqxd`Nuv|{4Grl5(^SV&sOXr85;F%W$Tg3z217$X9Wwk7@BzU`1g -CmZ-_$=wHr%|~AOA^DS}Xwyd|gI2m+xHo*WrcZINrf)?r8iMTBy(giS_-kn~Uj^N=84 -gU!EA;V+9Ck)R3CqD1q0NiJ=$-o&;xSBVg0iQBF0G!!*Qv%NHf2M8)45w~+45x1S45w}}Ki>m9U@*En -;cC7II}?`9_h4tj;`x3B_?+Qj6Q=F)QH -vYhS=er-C!6-EWR7CITY*=o1ow7hi!RZah}~M*Qs_Yk?B!GXB}|IKgKl9!*yiZMR;qz#reyLO?Le9wC -V0I48qP2dm9a3wgoG;$Pg!I4+To&eqp_cDH1g8EHnwm-iHgf^PEO5NC>04en;wk=$HYGH=`lAD8Y9JA -|g6r=QI&s)x&9 -+zz%pOX_wG-364Dwun>K6Ye!C=_1VbkCRHknv;HNwt59Z2LIJ%NJtS8mkD3})koyN6b=1m`4v$AhO%> -(^4jcApUUjm}LOHgf@UO1y(wWSnn+;DpalsvZ%2X9b1~X)W~dfPe-g#*33+1;?s@lqC%&atOL0c@9ZO -%Ru!2Da*LlQ)8gL@J0MG+|VWckl;BcTtIEaLP`^fz|Cs-7aV24J39)h)=yq0iCejTP8h-KCs)QIIp(% -;xayHomb|Wd*1B3sO*oPWqz1q@^!4qN@OqPlzEhYLHZOg*NEKFuBV<7Vu9KdmeML7 -%}0OCa?#uwz6EU?@w7Uh54k*9!$WylF-ehe!16ZeVwJKp5&49;yt~WXZ9nczE3{2%GRcqMZsf>%#a2W -JIe1+wTG^iztUyO_BK+*xnS1tUMSqdZR|eUHSMyU6(UQG(H&uT5TtS3OuzpIn7wj -iQaazYR#0|s`U1{29pNGcmEj7S#%UqK6^I#VjTbT4p+^VWgZ7=C|W| -^+8vABU6+;tAla3l*P1z}SYoXT`@l#jC~WJ?^Ywe;Y1@Ooo74rX3jMT3|01a!SatgwDEP#1xS5qoBOi -KvFi|@%QiwQK%p92{UB6BA5{(Xf?p5JdCN)F+oM6s6@WNjB4~EY2<|?uL{md_!jEMiO4sDky-n3#8n{ -~%h7FrSD^%#DG=h=kW7ra+ -utZ=EXF96`miiVChTe=Lj4rIR%>=GQ++d33^ljrbG6LW+gJT-nEA0*>!;c*xfauWu{?qvcG@S_qyE;* -~-Q`9$HJU(@~*AQ4HLX2abk^b3zKRneQYA -)fSh*~5jWp9Nb=C!6fzf-SC@unT1_P~8ME;Kd@sgA$85m|QFboC?GOfhKH&jH+Z4X3!VExA4X91{Qnd -F9!gND$v`wNQ~x>u_IU{X}jk4>DJw%V?rR;H1nKqk}HIXp$_pdh6W>d4nF5%qaQP%_#b@QMdtZ~VXaP -c3p#UxjqM#^3RQ^1hTNCXnG-xlEn|V005KJaV<6^?7!pH=0zqv|7%^%&4JCBu1XC?X0znLkz8zADV@8 -arZ=OI(%-I2t>4SA# -rKFWpC{5QXI43D)N#825410S#RbZ#gh;*K7YvwLOO`iAOq?Vi%6_qRXS8#fKw27|LbrL2wwD -_;*0Ta6+05-V#dEQAZ_Ay-)WnD*#Q7{{*LF(I}wkcHQ=`%@AXP9W -L*6_=<$pA8@+Kc7zvC;<~4ZO1j -0+)f0Ys0wI7R!ryzJQaD4hDlP5U0FHgeh}I9a7``cpfBA;V$TOXV*dVpvAGiuzD$cb7IeTvgnh(M1hP -o`UsE4n^q`o;D`wv8=vW+n}DjAbSN4|h-TiQ$*;?3X>GDZZ;F*#K&)&Ns)mAJu$>$`B*r-gK-}7~Lux -*ELpcg_OmL1JBGo9iV}}C^gV+t;O;afDnq>kMl4FNlD!1b_V@8U2%!D!FHJu|0VQL&Bc~w(LE_NiU6a -g71v6Yeq-CS(>x>sy_7cihpSJO+1TSC@4*5aBm3SPQqiiX2z<6cj^n#XjT5c(xN7qCbl{y-gKA*9(?W -kVrHgYuzb(Sa!fz;VpkE%=gBEWZYYgS~j2mI(5V<`%;9SD_2ZK{6=4h~-WhEVYnO6c9Zk==B!xwX<0f -%f-;A!qf2y&ha4(e#&bm*W>(@)!4?nzEpL@L~C!8W9lC*d`7xT6AS64n>b5OMT?iYTOPGQsSi^!107e -I#38aDhJ>)*kB8Q$w|s$OK)t`6+wa81=@+A@$W*iLFiQ*`;lMF_+;;3KLl9t{l0g(H)wD)s_C$lZ&S; -V6B`cE?5W+!fcAxeJ8BNO}_HJ?Ru}ebkW@jG*+vWWHSiHr)$}@+6;j}X$hOXz9CzuPT=~%$YX~H;JA3 -_5!RSe?a@N;JU=9P3pU_Q@)go-W8SLGwP+yl#RpqkhKPigJ2Pe7=yOdOg}5i-BXuGC<9zT%MKNIFESW -n5-~bT2(Z$;?Bv-96kmwp;~qxM3mJoNPG6=2OQVE9f2Gut6+R06BGJNMJmGjx=};4)N%Pz|hWYLQpcE -9fWX!aT-=5rPVx?NOFyFgsE@D!61xrg>3Efw~#$}A8X!;7`wZc+52cZ^zt$b1M5{JGs)MsmxJM0K?n# -bRUbB~2Lw^r3OMUR>9wU1K|4>{C>YN@1cVeqO}?h$BMF^#!JH?J07V7Ib4R%ET_Nbzv15rSA$$lW_UZ -D{9AI2=r<164vT=X;aGeH}UO6N+>MWB`h>feFj`>En^P+vmsOlXm!t=s#JlCZ*TXZWJ_q*1m8=k!89D -rZMrgCZT}iV55t{CLQOM$vodQ -7QfH1Sr@qL>wt-US>8g6OLrpzi*JJxz5F)l1PE~x^hm(vRZyD)zTJo6Wb+Qqm*yS(Qm_Yt2}PtCEQNf -QG{p&&Mo@%Q6mY+`n}jkE*6Ny-yNk|+`kWmcPzjkqYu6_;R}Uq^^(D>3Ue}DRPDJ9H)ez;1AsIN~v@i -+2-c?m6J*-2K??4Ja8?$3cMr=XQ%mo&CBxEH;q6ZnK6>Z);+}}#Dr9c)*64B9`Pf%DEgar~(2dY8@FF --6#O33_+lMhQ?GRRML@yZM_k~4(Y0~1G>)DuWoc1B1P*X~+H4A5r08w%`Da56Va(#x~B7@P3Rv -kc~g6{_0t*dwn|j3@qSv2s2I$n}leh-F%AKM+`c5F -!emK+{#LeEe6oBiGYk`k&0Ij~Pjel#{CF_k_8yJkyg4&qHpphSsj1*MhU8xe7B! -jKF9^0qT2~+Ux_K_qGtdfLgm@UckBs+?ZCb%Nzu!0^D3W~f2*PG%p6#pj4Psf*qkt2fX>X`%Zr$W%V)R+;N@JFJib -@OZ*Zll-GnG4JsJDf14xJ5D<9GT6!Ta8}fL>vKZc1%8%DwCiwks|?|b)b~`XrO$vc_`p?HbV>~XU@hsA&dF -l$`UFt|vah;4!@GqUl>hS_vtF%Swp-2xwfQzky|1P$ -Wawyvh}YxhO4>&{#<61kQGi}nAy!>*a)*QHm4nf|sVJ$D)~R!nIs*JiH#y8!WHAPZocDDY#3%p@q2_b -29nGk6HF%yTya%H;hC!$c-7MHt)49}*po>TuwIkm6I}V;}-tTBHwIXPuiABcM22aLQo17cpcwz4A3?I -Nz6`ipEF-{D+wFp+HuR!Z#G$wcAGu@D?!*8P6a%3A*}ReXoaPe;8MJ2I%P12;2BQuoE|fr(+#G -`OHqbKrW~V?*$xfhD&&?^W~^U67s4<-phH-sSm!=%X$}G99nCR;d0E8vRi5O+Ld%0(f{I0S0R-Rt9#b -{E@tP2r*`$ujjn@~#2vxwTLuK9_HM(@p2=n?au-+bdtmPqIu2L0|}`lPfS1s -2!oreARw_A|TML1B;gQJRH&#D)<73p+MX?5qyqEP?2Hj5rR?{Mhw1o!|9FQkiqmBrar;x8Lfc9bO&%j -a7xoe=BR?p1?rG6@^LH3Var|ie65CRmsYO5d<9E^eOSJ>AEgBsTXbU`VcR)kINd_`2udL}pTTt5+?O{ -*@^n$K%A#0v$nXsT=o4Ls4CZJ*#-igcpv=Y#z|#bWQ8hw5Ld7`O@j-sgAK1dhunJBm93!jW{Nd0ce2o -fD#SZOaA{%BQ;LtqWO05tg8)RXlXr9P&#Ghb*vQFUHR|sy%Dq}T7wmsyS{Zk=x@E^)DDq0`3+bBUH}eVDl)H1OR+zL+@auOn1HeER)+3S35^*Nl+&jO%yt$DFfyTP! -eA~ymcN|qnVPu|{L~!!c#714a<)U!>!79ODjk|VtiVs@g?rQ{n -O(_sf@pqF*qQ29sE&a~n#4#f~hZ6x~MOqpoI)@XUz>33(i9l^}NEK>}-&q1WAT_~uazYD!xf#?dKA$p -d<^Z-Y9uFBda{xyTY{amc1Bl^gC@1L=Sj?o55n|+NusEUbh{0lx9TH|mr}0PrRA9Ifu1(%eB}LlE8Os -vl8S68gIOdwfjP*&etlUJ2;Q4iAqpsajw&&%%gS&RKF6JcG$9V_;>MO&CFok|-c{Hi -SvU_5`!xOB^+UMSOXy0?urxT6C5W{Rrz?;UVJ@x+T9`53sc@9s?mZx(Ln)|IVlsU$ySz5D?H1ZjE`U`u{9&EA -H9V#>aa6RFb_{o9r~EtscSJr23*(A}cg#d?U7DwJ43M$AS|8^M6!1wTxIr@M-56Ml){V~lX^py+G^ri -3E91&tCR76c*-`9uYt^(t;7goB1SR4H!LRp9;4r-IQcdTQgYt0C!w=0m{%!OJ -r{37h6LxQ{qcTDNg2s=0i1QABy(^rzxOu=Tx2BUzGf-U5y7H$x<&|Vbuk)Ja?!WqPMDVjRj1r$kL*w%OCSyuVkq(Uao=lphN2KPVWWdBDvpB*oJC@bVopNJoItFax_!b? -;dE@%f9ErEZTc7xZoJH2~F~K==XUt&pnCb}mC#AJ7=Mqid=$H_avc6;&NCb~2qr_-}Wj-(*AS7IhGaF -LLj)lYgmS3}j_Q}_7aSUIIW1%sF>G;PiHl;8iBo8F=`V5}i;kf=f>srL48>#5J>+~FLJAozsg+tS)@gw5uv_z)j{(2dSq7NPqgqa0BW8 -IWWm4u3ePx*N6aM7(3`P)XlC;J!F7kj;k<3VA^cd;A+t!A3!O*$QwvSA~6 -ufeyE8;+JUo#WQntipy2E;?Ne^a<^f?+a8?q%8y(lnYx0LDolZhC|iGk$I))>K{j^wwlg3oGV-D~5=mUo1jz2&+##`rieB^;m%bomss!^IdyTeA>cl_AJ5ggV#cC+ZA#5?-3qM2HEv8 -d!2a8U^wrKgeToy9xxIEGQ*JHGwqLACBWV>Kld?|AUBy1P_tY;axVE)!iqP4e5XX5qN&3?+mu4x~JsR -os=5t3x2fuwgjG*VNGo>vQi$BKN!{2_$sp0MiD+Xx6=)mPddSwHcdx^L6<#fo2_;t$#))_x$k@q($C$ -#@1-&eMj;}5AVgEhrq^3S}<&81HZ`B7+hNTA|rL!?C>{(k$w4vA9Kb1g)d=P;IL|dMed6Tpc&bGv89F -vc;gIVTAwN&;Da1rI`T9__@yIH$m7<0DXfo#+b_2Xfpzcx>(L|S%&GljxDJ!zr7|6!ufLkx`%~{ft1| -t&entQ4)vME{8U+gK4)ptg9rv4hPhJ8xXz0u%017s2=msZ%jT(uYqe%rjZ0XJb8#gc$MOLs$3+n@R)W -WFU+y0VV&RT6E*sGTAm4QwB4Qz^br-N1o$AB66ftTs1g -+caHBR{k|HSz<`(^h^aGfKf)`I(zo3f9W+l-iiK6N2h9@`LQBMt&IcsgWPG+sbcBJRA8z52mkL*m14H -MS2w`m-m|xiu?F9^$P`2>fUeEAL^}ug9i9%qm*A@hApO0j`F3a4;DrZ=qw3pz+nr}mmX@+xNRj}>$#* -LlLqoZ`SjtL+8FESK94GXz2zmdyvX$Hyvpl;`ZsjtZ{Xn9=RJluZ2Vf+zvX|TK+EQ@zdn2P=+Pz%7tv -kSauE5d(Wf`hdsokTi!|$9J@4K0qNJC2>oC`{$zMc8xXzzGQ$^c?e|x+tip{s*d~L2SbvOHEz`mvYiy;HC7F48>zL2U)qKJe-1Jj|NEpM6^k>+$1{UX+JH?{*a?J -+;f}`DKl1*9k0@Z}7q^fMA+B9wd_OZ(R3D55QaHB6PJT-qc -ZCB*~7f?$B1QY-O00;mj6qrt5)^6wxL;wJ@&;bA=0001RX>c!Jc4cm4Z*nhabZu-kY-wUIXmo9CHE>~ -ab7gWaaCz;0YjfK;vgr5x3XWWRBcHXDWHPh6;}hqeB$Legp2?$P@1x4cm8p~G~ak^NRMVYg3ZoVqBYnH}8v)rr%rP<{&P5`QCbgVuaUxo#fW#5MRbrZtHvW(@J -#}nvk8Kz~`-{FG*KE)!Ouvb@M9!>y7FzT?F#PQ!23zmQVW42=Xfhfi%ahSYL*qi~3gW!sVQJl`|2a_l -)!}@2g|0W<0P#l=@0O2hG+Ukm>1Q@_6Rjorm -#L@sK$9B_<`cxICaOZPQLl>@psYX@eEi*gTq~{xQGIJJBoIWd -vgjgWlMME@EUzV#;dGgj=pmK^Jq*6*1z9viF-5$>4+6WmNZIP*Vu&yfcm?eHL4ZO;A)cV*qSV9B6zC? -Do7_99QT+tct?P|Jz?v6BqdI=#Da>n3vd4rCtJ()#ni{_mV>#73t$ykjj{-UL8qofOMy0A(XIkISp?> -v1t0X21do=b(l{(KA_F?w;d?*COc}2~HDj`ZmjZMG%jH@1xu!!@gBX)QWy>Lv`KmN283eP&U_VK4tNUHm8*jQMC7C3 -csH2t9N=Evs5!#~=+*8t~bLh}(vzb_sKJ)v4Uw{#!B5LLzb*#BqhOH4b0E1WP#&e3{AJGnd=Zv{M$}U3GHw!-1)J -4-BomFaU@R+Slez@cfJ=gwYE5a1Njk9s>j_C(G9GiA%n82KAh5*RX1<$7!xgGOeytuI1rHYqAP1{F+_ -cFGg00blHNox$98#FTN{rUXnQ`d+sjakEH|)s9&jQ4vCZQ1Dm0&m%J{w#zV6p74un!N;9aR8-z&A=PB -PPqXc4;9VQ%P9$NUJJyXrQG*y0k`d@QXD_a^+zZ7bt8T!M?|)K+VzUCd^}eG(rK-b9gA8#vzW)Smj~C -_X?7H59^AFNt@Se*v!$aY4S6W3{Zn0sTGxbX)mS -SKjMNd%CTX=*%8QMsJKO3*(d97wV7r0HgX7>!Qua6$N!h40)zpyhtgcc0Q?;B8myTiqsZ@21&hM?QLP -bs=EI5r9~%0UP*n&|#B>s5}nfvp1#f!Kpq!@4@Z-12QRu{&qEPdB*~-^%RVIvbJ(a?VBJPl8`8-U3JwybhVe47s?1qcDk{7FQ(WX+Wt!r;VBLlUyE+cqgQ#)!jRMlx3ftG -m=NPEX6xLP0u&Yw#9IvYJXujH-9TUuq!p%}p5)oe+9tgtI+K<$h-R0}{itOhW$vM2~T8wj$nS?GA-Ba ->9@_Bg(QS0#r^6DaZw&JXHVQFk5EV~`FC;BCMBy1#FQs#1s*J9g1c3}BeBbZDQ(eH_?hb=&R0d$q~b@ -PGw{%cQK|wm{?EXyu+tgZs|yhXWhRsnI!4YbD`nJsTj&49;mS!7`ra+0U?WVM1WfoF(hU749{-sAuUs -%&%bw-ESM1pecYfG}z~Xm8tHxgB!ZgZrj`22i#aVo}z_5uzpC^QH(7XH?u+ehy`U>z7o@8SkSgX>js -#9T~KFsleR_uUX3ck$_7pH+PxZ7MV?KjmsjuAq$)UV(4?rYHfh>!+zeZhT+Rl#I$kANLAr!kQ6we5 -e`6R>;;E}W{DcJ>Ra7H~*l>AgY9*#2LL16VQ|PW#a=q1c%#z3u%L(LACCWPBNVlf{2ilbzK^6F^11pS ->A`v&SVo5UMK1U@o06)@W1`VJSun~9xBNI^+!ulzlfz%EFzholhKwnU&P$VNeb(qw~7AOhShW3~FvM9 -+7D8X|ZN*ba1%yc6gHYY)hgW!0|quQo1iw=0bssZ7UBxBBjK{~TAj}oMvYzpgk9lU)17KewHfE=wpNy -xW#*zT8;D~uqC(OHQ8WWyB6mFKaEMd?a7L>xn}(u_Z<+<^ph8vH+ysZaPDG(2&4X^^D~Ja;$;e(t~nX -elw?CXNa}JBpyzW)P^f|nc|i-0v5H -b!fo+WYl1mfP#WFUZGIR-<~4UU*gXOXc -k6YWu{qHc9fZfB;1I8iXUc~EScrmav=(3$#S0lKo86Yu@$93^L^cCTUY8)+ulk)J1_A@{xVxY?kZHV{i951bXCaH9m=mps7VxdL~s4vNp9vL=&t;xsd?RvjmR>qGYYR#-+>2(W~ -z2Maqn_LrSKtPUSv1g%BT3ltzB;tWkSF}Tm<>rvy_kxLO)fI!MexOxZuB!uuxDEt;9Ee%8>^F97G+Qb -;M$jIX>VC4X+B`1J22odt(Rua0zw -7N5H5Kv%tszwdW8KRk2(ig2&%p~eevkyi+`NH{^u!4U#RAU$qYDpc~wh7Vu}@boM1#vqz -(>iuy6F9rj&;%$q*&ee2Sh;1u!~PBwR~m(q>_2jxeWQfphx607J7F)Xxu1&xw8hGz!2Tq9^3RfAOQ5< -2jpW&>|fGF{5P_Js`-c2m%Xt~i0HDiBJz7qlW}`0wy0 -Oi%^7W@{ep3ttWbde|QBTZ_mt%vYIg9K|X}eiaE?b=yA#amWGV0S)Nj#RX1QUKVJ?9uCC72IM*;`Iw- -9to*pSBBf~`ivVYDzBglPt8S#z4CN562^=cuI^%-!Lwxe^{QTEObsm0e2TNK{<4vV^2%yB+)l;+XKGt -qY2?BpVwD{aq(GbW=SMtPjV|i2)(CsL&wZcv97Z-Fk1ZHtVXxjj2kdl8@#I7ZPL1;hK=_ET%8#{*0iP -{s8C@z*#y(Iwecv~G810h^J)?R(Rz*h7KJ*}uUz^vt1ngO_l>ni81c%Qvg8Gf3Gc;Zk$t3TAnOYHIhx -uoXo20r%^c_0Uatn7*<3p_u=t&rR}h(<3F{S#Jf6Vx8TVAKeI?YM~Lv=t|Ke(Gx9vh7qBv4w6es|qMb -I`oDVN0p(g5q8Ol@-8cnGXTeUfVMpQMT5faSO^nr9+zlbiwgrJnM-&m+<1&`1-UlxRMQPScXf4NU -l{TvZY_Hmwz;+gxL8p-rJV|{66f3!_t#OAPTZp0LA`XYH2VP{E05!0C4SV&sIUiZ@;%^~A3oqa3jJ>! -o9?{|>0rlZT-KZONvHg#9FGUz>q|)=#PTwUC&y7;NIo%-psWiZI<=sDViXkHLtRchFr&aQe1^LBm0a2 -AJgfSngay08?5ZxQWs!4KFA#KinJvr1gw4Xqdc;q9*-RSly#YgSQrpHLMxl1u5yf01SrsE}lpv?n5pY -yN!jV~6q0*B4s+?VD98s{$NLE%eC?ixV9<0ukbw;W-6?M%iZVv~4eDtV@lX;lO$)iV68IiXUi95J?oI -iOIJo)asKRN6B*)j)%=XCRwmB2w4NtS~;j2xl -YFuWn|2oyQeJotPku%|m8>C@ef^l6WgLd9YdE->lUd_G25VKMGQSnm2_CHR5K9_B1gk~PVDAc$v^7{k -2!ZW-NRXt$3*+k3KOcsWbLPrh(*_I_GYfXB34g*g)tvl8uMTxR;y`0?Q(MnpdT)8i+Hhqai3N-eehO` -oPLEqo(d_%q04kGE)Hv7Vt$W{3t7GadkbGOAX+>?fTS%QWDNgA|5BqvovqS9lY8lA{l#Ui7_sI#Kt06 -otPXJ$^d+`kUT$K{|=@aO%NxniW08nnuM9suY{`5-2W^Aqkt*CG9Bo-O=>=Xf@1Z)X#zRV21wm_|H#z -4_yNS`p!3Bd&nRah}BbXg37cSevWo*|2k(eyrzE|=wKmX#w+%2Et034SyznCIQh;9R4t9$ui{9 -VL<;mEp{Xfhvaz&GUpi9cZUJq4zLBKD~E?wEKno4=tN+Mrd`aCGKc>SuGX2uVqiV;(2sIp$)2;-O4pK -#b*97%gP}-^J7*WY90<`ew`|0f8R1Z|D}%+k;>BF3o^{d*>^^|vUfFbYQVlT*U~QBVBRdz6DwP>wEAR -6KZmmEy==tx?q&p?ysFWE;o==u!MYT-ErWLPcizv>Rj~%awyX%1De);#r4%5ZV@07>xWGEK?Iu+vn|u7ba|it=P1}DNNr;bc;uR -Z6~cO`^$0q@3Oa)afzqK^wOvJ&{iBn?YLU6!mml_D-`rmi4Cy++x12!fqT3cTR3*P%0@^w#V7f@&?JC~My+UzLHW- -hgbLtfU0aUQx;|ji)nKW%*V!JIglCo4O@;CJe;!M57lixf;m>GGae1;~W1;6M`U?+fr(`Nu;p7_cdnCS>tTA7NI8NNiPhZ1CJ{evDI)P^ef8*C{iu5`M=oq*q6|GO5`h*l!WSp6j*myha=~zFgH@ -Ja7h@|3O80-HUDP?2=zF=w6b>4#$Rw6y-sEtwET^Ntm~yTBR0n-D@C_^su@iO(*vO^CgQwMx>0Tp#_Ypj)j%*QaRvD5;;wV|vJn`<^b#eUI*>~Pny -Maz^tIpokZG!9Sl3KaNbmq5lG}OGpJ}Pgi{qLeNqyJUL25u@Bdi`r*C8kS(gIQJve<%jQ9~_xDe33|6yUjpiDg?KP%uOv -1P0Kl^K5sQA$cDX~*~(Pgtu6Z&BZXYE{|3g2p-Yt~{T;KObM4#1Na3N&*A}kIUSUE}@o#{*XIi^ya^b -LA4KAd-D}_Nv?;hf<8R%_>z-&5-Q_?I)^%U(^jqmirwyM~i&zYI6Z5sA2f=f`8-Vs7t9I)Q5j2@UVfo -^f&c-JNme-lKX@%kEDJfu;N%}R;c@!YO@i8bww$Eik-UESCXvFhyYjsz!#$JWAAmCAKj0+ijoBw6$qJ -6HEmCff^Mg-Iea4)gpQ)U>!GmI6k;a_xZ?@ij!bnl)?U+zTlg{~JhhGAKZo$>5o_aFvMAs321kZsh)H -l^Ml4wwPjsJPC!k=d9Cf^d`^dE)U6Fd4L+Vy+z64&>p|xFmrl+?EarSl_r1p>=?~q6;JM~UB9Vkb*+l -_HvzS8c_O8vwd;}#?A|QZ-lr-dsp!$X9@am-A$=Sy=}#en(4rqhsdke-z+ -&SenehS!+6yv(akt#^X!HV5scmRZshIUfj{)_MDuMdj{nYZ*c-tbFCK|I>PF~Dd$hOUiDE~1H!COvI7$Ve45&!fBmK_}%h$mq4}V_kSGC`+* -t!>-;AJH|8y9s>3JF(SXs{sFYI3ON#`^YMmVU_DJ+OWD2xqE9TdNRTDXM+N*$*5+-1hvrMEfv`a?A^h -mn!FFJmDh`$lY#?}HX41m4=wzsM -OUvjW|o4XZdTl^^*l`;=$-yfNMI%-&WK({vDBM@n)G39fSk#vXsD;RDIbPF5)RHov2N-+Gt-pv@cD=JuiH@EK8y(eWlV<$ -Ff^2622IK1bAMys{+_biUuu@CfycT~|NXUlxTxhm`+*Uc4z1y87ub)*zfVvh6}AKI-5jYp4;1@U7*nn?EyOrAjVo14OGS+b7n+nhCKpV-k_k>IH9NZ7IW -hGd2@AqTzqs?$*L^|zVS`Nto+_JK)hDDQ5rAUu@|SCjm^>AIA~kh`zCy^Qm>Ja6F6|Hrs9f~1G>KDK; -D#cKsUA=$jepi74znpK(0zaLc8CQ(yAaN?DH-$NRb>Ud}364Qp|QhG+DnO=PhPWp!MLbL-(7ou5D=qy$Ycafl-%s(i`rRXhaaA~f78-j|DkzIToA`J;J^7Kmt(eM1N&yo=-DfYX8Ac}jv -C7o3#YA`q5GpRl9v^K9{st&%uxk1s#T=B$kI;-ewY?VnA9XCO#CKM0-)x#KxM;P6ap -F3$s!pkP_7%MrbteuhCDJaC_<+13k}x$KW9%48>f%(c^i+yd$CfGQmh+~rxFFj|g~UzJ`0((O!$) -<>(Y{thD-dju2oaf|XT)No!SIVIwT=qBSK+2)Be*`b|TNlu8DAn-HGO_EXX#S}xaU(MNaipMXW0zaEy -6C+UMaaGKd?yF+japt@(#!4f;Q5&1kN##`9j8^W5E^JpLRit3K@WVX4X{Riyg;=`}&A``Q_W)J3gs}h -WDo!E?2G2~fA3rOoz&fRluiQDh+?}%o=IVuad_=A*;)griJWdW$=Y-IGoSsZzP~5b16Xr1pnMcxY=i0 -1<^{E+@u&_oUcwE$~?;FyA_eG7xHK{%UYnzDTiW1`Baj>)dVi08|5nQ!VDmMowM9ZdEO1520=LS>Sb6 -WM{3eG&uN$TuKJM89Rk9t{9Vd-A$x8Z_rlTBinfiwJb-mdne2?9%UOGFfPmye9{zuJ3(NKtxaT%G2$E -9C43Pu9D*y!|q|+O~iqhHTZtpg<8ndTvDL=uLX68pRVARM&M_-)^+y_h1Par^`jcdk;%04rNxtwyX|8 -)1;#LXN2zrslLsYcsqQxFM=(LRYU9c+lq|3_)Y98zGv2}Ae0mRqH!~h^xo~ZZb?$L6&W6@-R)g%5zG3 -tb%=zUkm`$;sR*a+#cPWbqnZ_`T0aN}4HPTTw!@vsgje)SU5%e#1_b1tkQvC82texJF6^7mza~+IHh! -#++O3jq62`3n?$@x(FVWSBF5if=Lt9&ftS-7XqE;sA77bOsyM+O2x749lu1Rk2&GIJie$h#vyt3}-k! -$Jc`?=+aA&#wCSGf$iWJOu<>(R?Rp3N}rj(P$3PHpX*Q3j7i+;ms;6p!v|hU-WiWsb$e4QE-7up@7_` -l2hT&~Dr)JuEI=_V$)|(mOJ@d!^>3&R{WE(hx5|7~Un_IV -wv&!Ef2T$#}vq_l5Khu5Zfw|UklAxjaqV$<0Ua~nY -0)jp*c6F=*F`&pQO6y#(Fo)gnl3Wx(qT}E-`Mvn_;F_&hSsoQY!%i$I(QAz+f8qPMFuR_@cc8Jl0<7$ -SkK|DF&R8MtG~ysdFV;=Fj7s)xaVHT=wB*@V>NaMm4?OF%s0HLDVl{Kvgyo6@eY;v&_1D|sxULbpv=Y -9|Zh4iv8Yiyh+9u?|!_SwrIG;o<35&OkJ8*T*TLhw*mK|pPF%D98Sble%YunMfTCT+crl(eE>$!yQ?) -YFJjsAUby%$U~gnz~p);nRqX{=blppR;1xrx*iTEm&Wk5|`ZQ0{qLzzIy0rgVKDx)iH))8H1k9E|#Fi7qJg4iGP(+->t+L0Mc-!2!1@{?9^a}#1EouMb26_@mvK+W{N%BS|r6}@?6P|+vTRUH8U&vA>7k8C?Axvp|??AvW11MXCqK -WyCaK-bA#w?sdewv3Xe05X04a}C@yH0}D>Yx1wCI(rskjsh~(pVuL$Ae%3zzeSp5)fUR$@glKU;H)QR -`#KAD0`aVt`I#Nzr!pPt%LtSw`vBL;pCe9QkW%$BxK;mrI2_j4K9vaOUf%otBELN-^08QE*80?WEC8t -_Q-jTYpq)i$B_WAwavkgb8CI^k0h1rvCOg&3-e^{d$OTzfIHflJBH-jl7(bD&O0`sDxP$QhW1l9;GGa$9yjdV%d#2hla3=xUIIgp>_ZhQ$&vCmC4x -%`O*+IO{>a|Hg2&64;xgX!cPg88XKYQ|>Lr1CfM1{ZQHfniqbd^*lMK2v{&=xo=&+0jLTrX6~zcQs5f1K$+9o8>u2;y#qQ5nywE5p)6L(0c8mb7}BU$alsC(q4C&T^fwSVT#2Z6@) -WN{?VuPp>P<~MZqGx-*45d)O%IV#G~0GqDTd9GPLq{8UqY*F)M$bD*}lsTvlkrGY~>{Vr&&+{F9~>lR -d@_+nwyLPfHG5u1fr0h4R;3&B)YD^uW7TDd|C48_3pp8=QM`BD{hGR?E -OvheInr!iSgB$Z8ft+pa5T(*mQ~gbRHxiMbWkyo?3YY=?mOBz -rc$7p!8c+GN^5AhMu|6t`A#&mZt~nZQUfDJ=o5#5!QK78omdR|4sXQB3}o+^<^)^(c+hYDr6G8`Ah$X>NL=$OKCT6;3XTEf!h9h9|R?T&XX?k1jHN2F^K4ia3SXk= -JW}eyZ-mrFvY&f=(7>~fcV6}mUCRYjv8fSGhMkMcQq18NnMwQR)aD|7ip{DiAw}l@ccaf{^B!fklE}J -}?qmPr&_)o1vIO@eA?FlEf=9-H{G*^?ZL9{K+ZLquuWx*evL?ycU7whXuf(}={w#M`Wd+gx(d%;IWfv -X&oqzq7<4R?sa -+_0SEzMP7H_9-=HH=tqj(v1Di4AjAo@7(y!iw(R!;wrtT8c`_kUsYoF>X_>~_|9dqJjKG -%N9@!CApy5s0K6lAwE3~Z?SYT9<6$dC=&s|!yOKu*h<5eq%N>^zg=6_d1s#78_Us*?5SvNFwClOOH)t -V}bSw>w)!kMNzY<3BsP?eEAxb|&$)40625Twn!1tbnQHYl8GkK4*O7npISciXMpTi*!YsJ+dF;QFQ -Y9MTEDuzq*f75BNS&}4g^H_Nr(x9Z%eB?Tg#xvvZL+#&?&cJLSH=HPQ%K+DM$xj_-(YBj}y4)^KZE^a -UG4x?Nju*sa}G1nXg(nXLGh86vRjKUvZegES0#UqjTg-&=3f_HFac#pH*v -{B)j$CeB&sia&wD7`7T5_bDCkY^DIh}H2c$OyX;EHq@z|+)#6J?Vn$zbSeX2B}UuZvCg=3AmDg~y6yA -a*ueMM17sD>VudH;e*fAxAtIlKaj^ILt?TaXKO;{(drR3&*6Rcn1a~cxJs5zCLZPl^1Di>{aUH=z1OT -+*Qd^-d1$zG?nZd06u1`A6yL%=sI6}$e%DG?mvU9MOMbZ5=DqchpoKbE>9>-fTB -d1F5mkE1D%G_3>@Iu3KV*!C7AFDQ;xioU^B^uCQh-i%4=IIasZ%Kg3_2!ina*~h&+`Pl<8n`@$e2xQ? -E0Kw^1gVr|7G(nLV&h++s-)mk_3#@W+;tY)A*`s_RJo*MW|+7$8c>4Li%VGzX_yt;6u@u+=!s?suiPL -MlxFt2E2)z(m_-O&W93hikvDPDd)B)vUvmG_dIVAXN>c37Eiuv)#%>j*_`m!l{39YGe3^+#)EHjEm=o -}NY*7?JNJ>D-@?*AJ!3nmR;dyl;}^UB&JnQ7A*gv8ox|uFL1V-Xi>fLCx$LU$TnVQ9e4jC@%RYII{gBE{gy$7L3Hd-NPG@MuF1?`nc;mZ8qhEGLrYQd_2V< -#az?_2ZcDyeo`^2)9oX70lkFdme|E00LGbV-I4D8H49AAaf+gvX3dcJk09)JQj%$aj)px+9f_2f}a=E -=0NRvv9{6_e855dg~qCz3{z}eRU&#Md%ydWLcDDzMhlMAf}nDz_&4rkfvBOHcbmG8FiHpP!Qo=CJN?F -ZkzgqJQjTupD07HrNFbjAa1k4U;NdPS -?gB#U$5+LE7FSLhC!Y?x83uA9WZrhx>X&#l&>AW^g6O99CTuqT$H_4}%W$nz+8K%jyxH8N!M)y!W!^B -2|@xNdL9-d*Uk4m&tbDG$iY$jd{(=~@t1@jxJ;8c*lG7Y -B7BJn}pGv&dPGl^MkIKOuwD78xVnW7EZ33sV6;p#bJw&8Y*D#uapPxAI))A{`vbQw*+CU+pU{jc=~Q{ -V{zMrZr{^B>~LhZWoEZXnpOvHx68LiJ(w*3#VACS+C3G;x^ApJ4|n-z!d4x4E9%XvN&3Ta)4Uy7AFWHx+BSx5gU}wB4Th#_Mc}wWhzb%vij%$9Lc9?VEOutkXyB^!ok-4V3`q;wx9lNDGA^%=tn7JHtRvp9 -7caKnxMSM_I(ewXRqO3f9x*DGdpx{2s4^*A+P^j%=~koMku>cQEz~38#z$5W8wi%~f7f2u*760;1Zy& -mcIU2rJfBSjQww$7W6;wJ=_icZvAKcZlV&!7hxU@q1f4I48Z}oO%3!x}!0EAu!r#mZC%W29H;?8WCx) -!{RJ^ZxJHxJdnyITccJR+}Hm -JXS$a{~wMM+(ufl{2y-P+tPefORAc7I=NtNL%Wx9d|decJZ5_;&{Xw63~42yq9d=n8JHHlFS5L=%8et -*w#&EuUVIO~%%0i4$*4|Kb@^-zCd&XUvP!;6=K|e6e8>WNC1fts*q6T4k-NH=y8`u4_~`M+bX(?d=Bw9D6g$E;E2vd%=@YpPLkEhY4;kbNK2tYxNo{c -rv`clE8ruO$vD-7TNDQ^LZWkd7i_Q!3x&p`d%KoCw_T>s3^YcfzUXB}xjXgLTS~fz+9_^oI}UjSh`&+ -&^o|cj-FuzWqOmKy#;vdSPzJ58Zo8`Ld3lWv5EC-prv7NCfmu;Yy1nvk*sP-M?6#7sn_M?Cxh|cTZZp -g7vh^!${WessFX1>>rDs?TXVHod7l`ca_)Yb7~rc%zDqkdv~e=(prl?ehBu?yG0jS@Zfvm>DK%2-wh>C7($ctu~MDv6_{83UB`0OW#xPFc&zyNs59}!B}m?7n&MsZc->IY -db{F%w-;#6Mo-t4SKy?6J>Wgowr>psYS8N~DAk*KuQ<`(jsMDQtB(h3yLHbaCIm~j$$HAM+8#&xRKDa -XfZuZLnTcXwr_nCa+hDT2k$YRgK)q(FeYSRBfo?24w+;GDma}-4QVd_}utk%1CtFH&9P@@x^Xz8^JA6 -4j8(boTx{PP^C&?z)KP|J8n49Enm;PA|2NQ-jukhH3h@eEo0i*ba{!my&$&v@_PTYSxL*wqyy;sr=jglGKzA#}u?DRrg{2rP}T%9OpNubnjrJ1AMe%| -s29<}F-ECu4=V`aI7As(N~$9|9sm}dn7{q(4r-ek!Q(+9zy`Hmxsr_&{@f_QdCoQQyY&maCMA9_G3s? -{ae(KZqwU@kwWWSfMjPf5-H-v&Nj|vc_Bb>Q@7;3rekbw99wa%<{z*EY8_lRIPt^*3G6< -5L9@*_xyWjodsS1r%)kX28&Ssq3)FcqxHpZp-7bkxUUVWQUOPkifRe1P1W@H_ -2Izv`xf+JVZI2|N>_3KLCLLN9)#l|Iv6Ixg(ly4GneCS1|nLCO!aAUAV&Ib!%_%d!lbY55G*4qeH6nTnUQP(FDxe3}M1+wo=T_}4VrxE)EP!eb2n*CrDJZaSH#n>xvTk9Ru-4W>io+ -q!UU;MO%k$d;tFFc$d8m06SagjbO<=Ie_kb_ISmIoOdn-@XKaQ?!4ZG|JPwt6Uc>+xXZjcrlujjA0Nx -V6@`g_XD5?558|+X_Jn!3lAXL-mO^fLLp#Y;{3%XS>T&e(VAL_3{}V!3wdycQ2EwcJu0NmG0yY-Le(i -(Sf2xoGzOKa-Ty`anYQ?&Z}JA*pf**Bz)EA{$dLB-3w02Y(et -?8<_TL0VJ^DovVAnDQBe=0n4J`l1;)TuphcN7b9LXcogsq9Xv!9x$QGV#`8c3;|4^!DGkO>LMBwesA; -<$j(-AZVpg0 -mebr`-8)~PdNtd0as?2&{iR2HIhaIkRRywP=b6BK@C*fgZ=u39mXns36oy=sfBT8x49jp$>=w*` -Pxq3$l;k4Br@HVtTn8~(~P%b)_5nL-yf;K13?^Cg`Uo?--hgPt7nU<0e`;JMZVj(-dpPyC?{(3TbkTp -@8ISqYvXd=e5sOzI&C{Y=HM~m+ub428H4PB3psoh6`KeQo`YbL*1Tju(MqH@F2kh*0zNH!1 ->s(c+22it$;*l8sCnyI1SGM1pO%&(D2E&=}>;chC+aMSo58&UotXF{7~6-)*w}*jqQh*uu`~ZCi}8$r -9h(Y65CQpx$x*X{Wwckv}MIm&9Tj|IIe#+3%(NPy0Mt}ZYh){%X#_(Pm_TK>)(#1tD))lj%x)mZ{?wKDVN?PUhr -|KCPmj?pNJd~dL}|kkz)l{+LLAl{WvMru$(Y8r&)|tSHg6-Qtdl5eSsz{rDRj6FblshTX%NBqVOKNM3 -=f64}hb(;(yKK`0IlQ59&jS7oid4d7vEw5UdD8KZ*-pgAAod!A;Co6wb|g$3qMUd3cVY-PIcn5W&HaD -+5%`>oh>n!uvd8IRgP`QVum(;~6W5*9XD%{y}i#j+j$F7~c;yZtD1c(asnTI$}(^z>0aA8d)N+<@JIc -4LGL;;i<;i5eBo_c`dSS5lnhS2Ll8y0S9$`v`-_58Vkz1qu`fcH7+~Aen@tG3g3$}d~%M*b~z*G-R0r --hYBpci&_lrq1sa<4lW^osCSyzpC*haXyn}-3Hn!jWD^Pk8QC -nG#-KLw$mUnU!_iks>O{aElvlDx0h=e566v+~#Y;|Y<`#lE$Nq~eX*}F5l@=%t@gY(9D0MI;7S0o7LW -l`oV2nb(gXc$$nzneZ@;SP=7qI!5)jC*ktVB -K;OyXqa1-qLP6@=3oZa*!16rJN91u8hfA90Y@V|$rXf=ggdRK&(?k?BDQX1klt-5_TQRsdBC|A&8BN| -6Mb2j+2iy`FV0i~PX$W-0HavM4(SkOZ;GGv75dce<`imZ1OPMqFK;wHrJ0d|@@JcH%WGv_-Uh-}=fQg -WzPJ-Xdv|u%tR~ZYDLqVp*^TxlWJn>s>56RcWyYU9o^NTyrH6DiM48&SxJZ8T4#e)G`$pEffZ`eljfh -}mbc^aYvvis%TJidAb*9lywaD4;Uw{X3N>pQsq4A+~R;wJI-#WsU0yvgC6!8N~mJOTVCfd2&Wp8)<7z -<=_3UwkLP#R+h6@&>N&;i7N>jgt_r2ri&8qRagL#^h`w>|ao{$*AfnQC&F~pjc@Q1^R))=ldoW=zVsRhxT%MNM5hyr${HkB(P -1n~h-M2~u%9W~Lh|>p_`$HSsA;}=Tg5F-n#TiN0` -02y-nG|2}6_05iZwT7tC0%7_Bl2=lz&k6#v4y8g_RIPfIK2m7h}fJgi&dq=4)qBXP*^ -{)qUWRGzt%$S+k^(D$x$nur**CvTeu${EJaFSmxpv}RlPr2|dL50JoEeG_HnBNC!ASyHYbzZH_5aXR~ -rg~b>A2u$Y11V2HxyKU(d1VPM`&ZKeDbGlWHDv8)54B-%WYr1V>+MT$#G9AifS)!S&Ad`I2JdZT$ugU -4{uq}Y4vpxK^L&?CsO$pa|OVqBXx7k3i4{d~vWydtjKrX+&GqfxkW@yg_+@{1($c_h(7p(BZY}nSfgH -3R`iUEiOU7?NVtosyj;_PK;81cZ1rSF}24x6+oowX>rRcP^c`1nGcdE^E0m+TRR`*J$D9S)7T12tem{ -HpSR!NU>JPNTqVDtf@SQcccphyiwK=X;%a;ElG%h@p-lg5{jX{14{yBrBmF#gc34G5qIYkp}kT$zuAq -G+`t1r$5#3d5~s>&x@Vk1R*&k`a48C{VQ0?|S~6j0vqIcJek;2lUr6Php7*olO+5EN; -{t^tlXG<1y(VM}2`Rgx&k>RT7CCEx_2_J+VGDA5H%XH>}lfTgzAB->2F7#>XSP~Wd(J{vc9#(%y3=|i -oa{0@fFg1|fwBm}t%7HRUz?4psSVJ0F}5Q>TbrWN?*BP5R)yheVzxVRv)GOihrA2O&RK^wX{mfyC3H~ -d!6jjpQ^(i(xb##Ev62j__6;(V4yn~U@8;;;Ox^W*H|{8-&MmQM%68cE}ECb|(xSG)+6qG=oybRniPs -H>3`l_jGQB9;I8Ngh3Y;fb;v!^mOcRy@BP -K-}XG=O`1rI?lme>t)o}k5p6)UJzxnPB<7K{N|@UVo+T`Is<2~B{ZKbo7$96EeWAqRCl1fsmx*cZP!% -}oq_zn463;#merRLCN;Jbl3YHDgP<<{*fFcUOh8yE_P<4@;J~kVP -2ZWT^q2Pek)bj>Nh{jRRCPexMs6@2ijaq*oOUWw$y|ofGm&FtXrlC|i^onl>71=1%zTr+9Y}uEaxB#k -nCYq^y)&!v##o`Np5+erd;b^J7B`F?o7d_>^fgULuCN10bA}W^=(mt{;04piDDD8 -=ZMk{PnI8xa_XYNZ~A+*q=bc2Cn5qNXtA_W#yP$!;Q~BeZX}Jh($aBj5Qv)Xn`vd7Baa~L0+P -Jz(1O$;tZVx9FWfE5LBue$3Z8o*y-5rsM3y|Ed{L7HI^?cn#k}RZy<_6WJSLfwh0;(W8z;UQ@Gp;Dir -A3Fq4e*38-o1{qm0O7LOszipu3OiycJ|eGRQF98c -Ysa>FHdxWf2z?0zowOs!!g94LW0>FkoyKhKr{g*_HDr!wPvJQoZxL46kPM@u^Vq?tVB_Nh~5S-gC1A3eBC}PQQOfJWZF-ELqetcmGu(z>$3z!M{89Q;=&`B5M -E11(9Ize!0HO8Wd(xXx^IVzQ49F;<-o*F)D5=4_wGFVuoJVXjaeoO<>MdZooAV;TfR7vqP8= -BSD%fYJW=mx`0b`^&bcU@dKV#C$#vmfWo+xJ3{^F}l*kdMRb%3QNv;(01KOpL`!q?R&IWq2HWjfZqgS -9Y@3-K*vxT62cUMB;mg6Vd>$<%7H@6{#mkSw4$fGF1>A@^+a00M%R7bQ+tGI${dxTppog^ydJ9g;(fs -XCk-MwyE?A>I5Rs{dHo5|VbP10iN1Ci$=2SNp9Uzl&iCitowbs$`0Vc$-u$wt-9@Mg` -MyVEsjK%>b49h`h&BDI|88y4cw(1lU)dE?oo>t2j62aJ@Tf;+t(_MJ%+ibB=wq?4K693morVQ{Lahhc -=B}=oa)LKgcow -J$f(-{C{2cnt`gi=^@-0{ohB|QKs~8Pyx!y<@rolxlrxHU@KWe*eqb^#kF&U`{Lm@@74kUSrp8ac<<9 -tLUi}lBJ~7UtE6A6d;NBcPjr;#TdZ^kZTF2XDwUpF82jyTg*_ruS{0QE2X7y1y*6S)=1q}ZYssjDUw?Den;75;c&_0y8e;%lrnd9%VBm*J$|6Nra-Dde^y -J|n2#)P)Ti0p{2h|(kMBQD$XlrH5SOYBM48D9iDjd6*gdGErtgGUR}hk`{Txo4cR&V?=+QUg-aR?=aT -f{Sx4#Msz1ccP{rl>~Tj!XsY-mvf5DUvJX8v%9KDIq$>_Fvt4Wcdf>eGTZ?MWO}+2q&^pOR{`2Q|?gD -BO|z8cf^fNA;5Pq=&lPf_efm$H8EjV>Az!$T^hEsAX&;pUsip)OtQo>QwWSx$4W?_)^P9|A&m~SkmQx -h0Ea3f2f{rLiRdS+q}Gia)!Z(4A3wGxiL6U8X5F>7|!_hSTAW>!buMYe#ST) -9uJ$pku8<5b!8^SJD{&mFY5f%SU?}J?I;>@;g3_!C7wg@lJA7}e?97*(21utSiX8k4M7LF>hKwe>9I% -^A%i05J?Za=r?=!a&Z`XY4Vh3#?cDbjw1O2u*Y!<;!8gCx8{&y4Ht&6?bF^VhmH!#hrm~$sP=lLf6$5bTnHlWAyXOB*IeonU(O?ns#U5>OKShpQ&88*Yn3O#6?rl_o(q*x{}Bpt -0YQZtM+y25ufM|?dYhtLvw0CGtl((h~x>9esy&8LL41k7^^o`tJdp1xRLN&@409A`zi_gHSx}z%Pk0_ -1Al$gVt=hD{>Teep- -`0mK%vRVD>?7e05G|TL-x1mSS@%dHX2GneNspLUZWu!`(Ahy011JrCSFTEjgy7WYFs91b0Ok81X*>4lST>V5wFnOy$z% -g0~HPnTC$Z~ym_{O$7c{pEYl+J;0ZJR`;@6aWAK2mmD%m`?B0uMegG001EY001Tc003} -la4%nWWo~3|axZ9fZEQ7cX<{#5baH8BFJE72ZfSI1UoLQYeU7mXf@S -O?43EZY-GiJ^89uJTvPeH4W#5Er47sv1@GhC)9r1K-AJXHqf$@J>+!-IIitym8 -1#ZUZbdd|?}6b@jSo;u0|XQR000O8B@~!WXpG-gfdK#jq5}W`BLDyZaA|NaUv_0~WN&gWXmo9CHEd~O -FJE+WX=N{8VqtS-E^v8;Qax|uFbv)GD~NQlaZZ7*0Wx&BTZ(q-RuqC_Qz>zZWRUV*g2VmyN|w_&O^R} -p`1n33Sq?kU+75AG)Ea2l2aaGi65J3`mvaLh{UM>?8yGybp+oH`A{!@4+04-f=dg_lB1e)()A!`JN~z -Wv5qM_8YPzgf3Q{c=i~Eg4Hf@BB5rl%YfgvWeq`n$~9a{K}2dM;|ZJ=kgv|m33j}ud_8|V*?d|Y)TX5 -(;ecsuOSM_G1cE%FC4Q^6W!=#i`JtAR{h-;Nr!`T&xhw15P%+(|7LW7?Zfv$4vPv%#tJZ$E}f=`lHKle!E=B{X-!)B(RdBBS#ztUUd$)yW^ixR)_ -H(OtEcy)aRqRvuLo?w$is=Edp`lD<30e6=POY>#5q}S_G7jh$ZmeNrAeh+x~$sG77_Elb;KL75k&~A# -nE^qQ_Q%B}crmAVGe8iXO^jfQTP)h>@6aWAK2mmD%m`)^BovEe)005c<001Na003}la4%nWWo~3|axZ -9fZEQ7cX<{#5baH8BFJxhKa%p8QaCx0l%Z}SH47~d*h@51=@CPighxBpiWlwu63PG{yM6E0tBAw0t{f -br+JMkh#%M&Hej5rj#7<$mU8+nYVHQ0U#k-_XJxRFuka|NwETC%}cFnZgB7PYgC(KsrKPBdD>(c*>wD -!C!}wv{X+20PUHh`tT6CVRR-8BeVFeZaF&t#^i2LfbE2C#9ljoFSU-)%mh~Dj-FRU2ndr= -oU0Pe!9;>*AY@fuZ@UoT559x-6TVJ4sRc{IcHjd;8i6M^zCo2x)!h3XTp}8qY`mu8_ZUM|o2_&54naQ ->!w!Mc#QdH%pEz#Y6I#C$Bb}`ggE?f>OCMUBS_~5wG6UpY|*Bv+m -DC`IW>cQn8qN6Fi$Vo9pBgaG?@0t(U({dDdG>IP_=snwV;8W|d2tY~d%oY4|UJfAoXH9zA25zu|_wM; -6DAyS}qO^QT40#35p5PtPyG<0FB*TN%7)`b}|G(mye -0kvmP)h>@6aWAK2mmD%m`+PiZq6M7008d>001BW003}la4%nWWo~3|axZ9fZEQ7cX<{#5baH8BFK~G- -aCyB|%Wm5+5WMRv7Cup^Ahg#2I;2H=?8&zvAZTe7FG`aFNhQwTcd3U($xiw}QJyT$?r>%~gj;7%AZ6Q -!-l3F0r_Qfo*J1IqEcfQFvQlQjkOhHBfO)D+Mu?Xxygbkvpd8BJqd>FGT41Uv^BUOUXjvIBXn!;F -q!Qezt?yp#v!amM$K5R`}e&tKxtEX!)GydU<(w3**!z^lQQZIGcLrSPa*maKxB(731tW7(P3f}I#2l& -Mjii$!A&t#!cK&Cpx^z*jHwgd#4dSTyXp{Ht@;iQT={5G&!-d$xq&gCq0gcX@VcjDkuTNue6JH^|Umf -oId$i1hGHVXf*T@&R1D+ug!COD04v@v#7nW+2NaDdUi8Yl7kdTn5EQB_ -m#)>xF)?rUMewc0Ckzaq-dDWzJ}~~c^beyP8#{+BovZKG;5r&30OTQJz&V(9syONR9mBKS)+Q9Qf*_W -X;IU8$NztlIKb4Z(*BK5d_6@}@@S_uthZqyS1raAhK^=}gOM@eEY^t*xi#{WEcbpyYOO!gB{O9KQH0000803{TdP5=M^00IC2000000 -4M+e0B~t=FJE?LZe(wAFKBdaY&C3YVlQTCY;MtBUtcb8c>@4YO9KQH0000803{TdPJplk -5W)cf0G9&*05$*s0B~t=FJE?LZe(wAFKBdaY&C3YVlQTCY;mkojAIOAw8#X4gFeKZ7Pvi%$ec)0-TG6J>5uDHf-_zS5Ihc)Mr;ZAj -0~;tj|61-Oc4%;Z^6^y09qK5aQ&%)-;`?!bR&c?j2M+I-*XUhi&M($c_aDG_Prd;Gw?i8sznbxlhFKy -BIiQ4E*w-o4I|IjX3*Q1xGC1N=YL!b$hPc0>}9CF&1PG}n)`WRKDzOYM`HU -&48a#~)HiZ8i0rg>%~xXdZjGrDx&B&4L-8D*$bFHlPZ1QY-O00;mj6qrsTfcwOi0000U0RR9b0001RX>c!Jc4cm4Z*nhabZu-kY-wUIW -@&76WpZ;bVqtS-E^v8ejzJ2;Fbo9meua(+gg&6qYri2JM-D2ERV=yhuR}~RbZ^?#jueX=fEcUQLWsb} -TZ(~SRZ=y=YhGaE4=YPvpk@xT5hgY&KB;pqB(DljPR*HQeNnLa?x1O-*yx@6aWAK2mmD%m`?M+KNl7Q004mt001 -)p003}la4%nWWo~3|axZ9fZEQ7cX<{#CX>4?5a&s?fZfa#?bYE>{bYWj(Xkl`5WpplZd8Jmta+@#^z4 -H|sIvK-^U@1NHw6Q)v@sJJdbqVcyl38aR;kOHG9(2%E7rd3_VFl8V -OPa#(>qKkS_0Y}h`J8oY4an7ribDlHI!0j2T2arsoaV&PMHz6AP&6Dw9Mu^u9+wME5m<9ElHS*iOzy_5*)GSV}Hyc_?rC~^IP_>|lO@xQPN% -AA{ia(&L81!j!LSo3^a+9B7B>nKAkBY3REQxq$S<^)78qgUn(!k{13DIk`*y73n#a50Aa5{TGFsa)Tp}G%t*6X)AN+8yh2B-GT{NoI1mPck&9K -P7x3|HGp0JZoRdLU}IqTy?#7d?P-{KuQ*FtKj8pGzU0-7H7#v1fk3&<1p(#*hlXV{r^SUPjZVLB$XN# -wkr*4Lu~w$rT>&`z$S0=~4RYbxZ2^L}|=k7OZ}A<@Im$DPe~){KqzChSKp7TXiQ@4?0&AtCnO9KQH0000803{TdPLk1NplkyG06Pu<03-ka0B~t=FJE?LZe(w -AFKBdaY&C3YVlQTCY;$TyfLbdO=#keM -2n(5zsR1sx&DoqbKjt}TE)3E>+~0pP2DK%Bt{me2J_=e%{y)Wxf+D1_aU2@VvpE=5=>+GX@nKx8$BI74=0xwg0bkBNm0-9#p -LbEg`3v8Q2hE$X+LH? -)#{{J_F}w;#@yg(9J`#EvS=UWH9lN9(=rED5%H2f)3BckZaLfcsVkX17cACGe=r-nMm311zYHfpz>%724e@Lc>t?T7z!1hr$$VL?-)#Hc%clTT8;G%vDO%eNxO -*7hQwEB@$hC}1lvPwSh(A5cpJ1QY-O00;mj6qrsIb($*W1^@tDDF6U00001RX>c!Jc4cm4Z*nhabZu- -kY-wUIW@&76WpZ;bZ*X*JZ*F01bYW+6E^vA6Sxb-GHW0q=uV9^n)_~w5Ns~j66exn^*h7;;fHW{@kzN -atM3jXW03&=oiG=H@0VxH0TwUI5iCzFWBa`I{RC$80wHOP1(so?x=IM;^#X1m1DNu>-_;E5FlZOm(FyeBF-diq1Gopo>LA4GktK<*cTFjY -$-ksU*x3UrX>kOY}-$J80ns;pW$#QK!^SfE!qCj?AGZEbK**B(ikEl7&2qaT(mJNuO2AMZJDqeyhsiz -X^GN1P+Zq3(soGg6lKU88+_NYX%5}`aK#Z)28AOaor!MS~NpiC*o7YfibN6WT$BRQN`f^Hgjf+xDsgh -p{35gf_JmPOK)@EQA~V)!1Um!+(1Vi*a816j%UY$cg0b8Dp_b`bXKTpRel$*a47S6&%_9ufIGn{eRFY -RNj| -QEOf`Pm5sCmoH!5um{N?Ju8}u#IDf^BB7?NN|AFbi#^7D1`j -Yx!#)(tpR9w9hmA5Y19Ar2ZMXs3!8%%7Z!rv-V^KBe`;P$JW7s*eg0$cliX2lY^__7S0j&Y#J$i*fcm -QPuPnvXzunRrW0TBq52v#VGhUIVy3SlawXIC7F*{BVys$i=IpscUtYXk -qBx&T|0_Gz7BQpwt0~fl53XryO5m=zCOrnSHQ;&xVASH!8ru~ba0Q&h?7AHX0jN54LBnl4{1H(pGK93 -4c5A3S#8w{zDbNJmj)K%pkRk^zQq1R -etzbYL^50%1VKyWQ1tb8@QX|ZF+k!bQZJ|tE1@HIij5`tFZN{NIB{vO;ev_l -a_FqAT?LlPuZ(wuHk@noPpA6%fkk0JCEtCMq)-+39W@Ns())c4n`>Tg|HpVoD5T9;Y#({+9Wmw4Ry#H -Ukwu)02VnNM~oa?~EI?v}}vyxO+|EAr7sXi57CV^IA%IeTM4f5%YESmI%&(zr-emL{s)ngg+0*?18`- -fR>dtxPjuxS~9zQaEK;Gk5hoQ!_7fpH!(Oo$eohfw;DVMrQSaY*eFqd_oF$Y_vd831qsdqaQSaN>w3Z -fgI*!CQcGA@L -c#y}aUZJrgd`f@BBLr<;>m3{wbrz{X)XY)?y0=w$GP_RRThiMc{v!zBLY&T?Psk3kS3grjy?BH`ZeFaRe0m*ZEN_~LV_D7V~9- -v$FL6Y{^3>``9AHsX>A-X3YP2mOJbOZ0{hsvkMr*uz#oWc=3PDR*ry1t<6OS=9>*H?6XJ%y*k35}yGV -g-KzA5`fSQ9BV_nFH_1HAit=X@urLC_1?xj%q?&6kG9{N -y6Ek%^ca^ZtTK)VW}L@$SB}~he$o8s5TJ=Q1)1JPcPV;&)uGR-I&c`ss<)3<|2aj*FKqg}mF@8rxfEi -pr=KFXOly%IcS$o~IKfQa0|%T2cEmqPYo7j>q8=#z;S5;oYl{8QsFgaF>UWW-<2SA=`HSz=Yc$ebL+Q -{*8fcZ&J+{%iP@lTrD>>C}3%iMt9dXbzJt2-yeYrT-FE2?Ye~Qy89qG1?P-%Dt4tP!1q=}dI4=UGY4q -CBZ$P6a>TG~+ob6H;g>h)BqmHI7`E>86FJ@!wwdvwA^!u5YJ{YPMG(eWgOqjhO}6V2HZ681T*AsmI0Z -XUI4^!SfhcYaPaE-e~cFFyjPI+^BQP)h>@6aWAK2mmD%m`*^!0Z{T5004+)001cf003}la4%nWWo~3| -axZ9fZEQ7cX<{#CX>4?5a&s?pVQy)3X?kUHE^v9RJpFeYH;%viub5Sul@wb_+S}WE=fufNQ@5LUX_FV -H?e;83rDiCJ^?Zfo$X3qxzaPN)xnuTFw78&6LTp;s&Ep$KJ`?h_AD6iKd> -he&dtG*XK&<{ly?A|FW+iR>`R%7Ydg4?&!T*Pn_^dqnZ6cU5SerH5%kmhPBGxnR0lco~7|aF0Nt@C^z -5%tsM>2{tk-avxQaurxYM6fw;Vj2!4-(eTh@nb#54S?ZH0lO7#xIg5P#Y`^y4zwzMz&4d4&2mkLL{N -Fuz&-jD~op>x=qxe^SJ-6#K$>$ -~-Y9<+s`wnth#Qh4vaimg{@0C)qushlfS(i!8a!HvUxT(_yrywPJ}!OvOY0P!%MTp+~VQfy~oGk`+Fa -zt19I03NFZfNxA%ifdm_8Zuf>&{2gaK~z3t(`@C-Wc4bG_8t`ATlo>5kmuf9p=p~|8l`e&e=_-^W*K~mC68p#JR}_ -@Y{=wx?J964?EV3=s&KbQnT67S6?>R&{Wb!uAjhDv2{8XQ$zdNP(15v}G8i-CknxPnFllf_eLzzY8pG -1sSej>lkz=CrR%Q95=vB5M;>EWr}=D;ROgG~i6^Kd9>US;uszxN1#%m!mjkMe_LsT!&*hU;_p<2eX}nB_>kwd3P-PIlQ!ud4AltL-LR~H5a+4+vNu?3AYbc&XhRLcI^?NgS-P?E(gvP6q9H7VI8QKvxa}Ggf|X{Hpu -ZtNgz+ZqmH=VQ)XsD!5Gx!nhYW9N)9gmNvyA$3VGuX9ACvh|ra1itxDnlgmQ#IAe~+U}a9+yalt%%-&qCG2qKt8ar`Lx<)K{&Y7MOQ(a@+*#b;V -_@m^X3L)K)Df!L;VNe0nrx+h$QbU2uNXNv6Ylp0thP&YZ -#riwhbcJ3=Utj!{gxHEGg!^X`&G>2@Hxygo|y4S!gAIPz&@K~g!eyMd4vU(!U7OqR}$kZ92g~M~lq@e -oRWpUvKj2*dp>}29N!;OgC$YuqQZryU*oW8YMdJy~wMdpF3#1svb4$0AnIH2@jj>7tt$`AoHls?x;hh -qe_lcO`po^mqJGGNm7A$YL3>W0KoabeAg0tdHL$Sx3ZL*_GN21Tbns5`wC;dM%QWK5bGZs-k{X^17$c -tjXWcbEKws9P$2K^UjNnclh!6KI+=o<9L6Ev<~^L$RNV^Q2nK-Sn96+*Pd%M?`t9c+Mo#uCkSuT!&l7 -Wa*G#0j-z-1HP^SFGaA3hJR5RLU0a-wbMFfA0@mlPNXq0au=hebl;Xr* -W5zeSOgsG6b2H6Pw6X9bG@&geP@si>@D7%I0%Bxl8EPE@yadVZGGovAdnIDOIAY}P~`Uc8zk)PRJaG1eSVS2V^iEtBGgQ -DVCi70(|05`B8%m(79!40hznOlQ9T3ZSj#iTXO7) -daT8&0$i0P}v>GglxZLrVDu=cHJ*YM7len1;U;mSU{pP~3_I*X|wv?#v+>lt8zvs6Q%JJ&IoA*={-vf -g}5_u6P4N+#ASh=NJu)Bq0OqIe=2s$c8pi`ye$GUe2t*WddF`IXT36484gB?mSS+0t5;+Oz%!89RYrlqca~$scLrlN4V+#eS}8)lo!~d$y4fVYzOxcB -F@eJ+fzzeK^>!e|ymeH4OJA;TO9K|_V(4;5hf0Pr8#tQ%qGIJ9T<%lP44xCyH4nMrf_1?`0xLbB2*`T -UndrSUDSOBMKWAC;GL7DqMXNcxhLUCp7Pu5@Sx7;>4^<~y#6C8$r%0U;(udDO#|iZQ^YE6$&`}$C#6_ -PSSR3SDYIMDMMy;ydX4z=gTn|u7Xn#PvhYPe>P8XJ8Ar*1zM%OlkQhWDa?ww~I$WF*wpae4Kf@2ipmY>dtx@yy&85{{rq)8tcUar4BTRBvrOtdXW+t4XNjdONmCB&u -F&RUi*>IhRBG8?w;<+a%sz{xfF4Uu9bc^yvKnq~Qq0N=6C?^?F~e(Z4%i{Z15FZPj%!Fvn;};4@|HsV -U}4Ist)3zws~x%qQ0_fck38l(*2S;mjOpe9-+=0TueS@jAhS(i0n8Ra7gCr0U07A}SD>x+6mvA5S-p8 -#Lov6p39&L-<2h^foU@{x0rN0pYqVVpwBq0rEt$EM)qSWEp$a5LxHZXC^$cYYyS5%?)k|I$EG-gz4cP -|fMQXB%j=llGO_#dq5%*Wx{>r@5?E7{h5f3wIaWY^$sA@G`XLc(Qi5j*;XMj*;^W0@3yL}6n -No!Trv3utxpm$P*uT&At3S#7XgSY4dDP*arJ;I`MU_#isoGK@*ddGt+V%4^;9v(@(Z#@~ -euTLXcWxAB&g-!w#F)W2+4%clRKJoyhTcY?>bWeDqS7qw8=Ru%PNHFkL-kc@8ndMD*v6pCRnIm)GRQyJua2pI^?{?DNane?OW1 -=ltsUvHdu`zijC~!0VMz{%{$lFTbT3ygQgYO+dKn_I0|5$hY{cqFh3%_7NaMy2 -iu!sBbd=R`;3KqCPZ+U=wf`L#0+JLv^$^4O*<|{7+nA3@m2+Z%7^Y`Dry*Nh$H3wut`J*5cRK&deK0P -&jMx)UMB>ox_G8JeDS80H$1WST!9sCn7aUYkrCXUSkC(J0og}J2=n53<9=n1?G&j`wyjMt7X+=46K?mB|DgPM__O!3_moo}@psl@(ozdU}?VEMv%z+$|xEnyvNGR3X-aa|&J -yX+6Zw;Icz=t^Wisds3SQ#{azz|=74dbf`tTO$h26@Wl#<8+f6R^Ovo1eI)jO)W~2-293DH`(%BcQh -~r?-}-Zxd0?omF0du21=e-^buMa1_40-vRe*6#%FuEW;2Jlbw@aQ`+uCFT(R1RrxcVTvf%Tr13#1!4n -^-hrxN)Z(r@(YWrzE2hbmMM8!Z{Izplu`XNKOz^YEpIa)CrKk^rI&n0~@G<@#!tqJD65>h)18lty;|NI -o^39vKzn*`$Jb!ck19`thkk-9$RLGHmy6B-)sN!!-w~;zy0~c`NcfA=w+c5J9J_5^Lml#1VS -37>r&uNa|{sRwK)&PTEOFK-*AStYWeQ{+jr;hKfFG_=!n-P_^aBAKt!t`{n`})U3+>=jCGs1Ou!m8z*KmepX(|d>%yEG -G&muFO@FV>&Y~D_P9cgr%mJF?0N9lSU(+Xgvh$xV3*89)w9tbY{yDkh|NWK4WV=TboBfc)UMaT79zW` -?XSLm^5ofL))(U$8zO8xrf1itb -;pOp`nBYYZNH6*q7lvFTnlhFkpD}7*_(Md2mPow%zlgL6}KPChzpPH={h?LMz6p;K) -jL7Ifn|m)2!cd)oCX*qD|U;+a}qWq7mkHBh(WScQKHtcBT#Kl|!*K>Nhc7PfU|JEYoU&`%_)o2f=%j( -x4Bm%)5a7s9Ar?m1bFHK*o+c{mh2a6Jkmu9^1lSHf*mP;mgl_|EOEHJ7tQ~4;#B!7fydWuRgd~O8RWhjy>EK -X8A+Nj)gRmEyDy8L}{`{c=Nar@1a#qEEr;R}1RSg5OGh`aaLJgYx7>(Zev@$c1iI!D`r#funLHH_;0J -ENy|qRJ_5#ceU(aaqsviv47?fMs|c;aW0srO|Tl8m<|Y$$0A@9-h}ZX#ASb-4Fuct -S-Qi%8VgC0O96x4-OXlV^)XBIj(0EEJ&EA>#A{hpQ?4dHs?Lw^W$Vv;*>A3ZLIRY5u=<{gm(hEZ|1>93s9H&kjuliJf}r7hJqK^v{9p^QD+x?ZtKxyE?mI$`o;`l3o -{xfu10_V8^VW@e31^wy94um*(uGV_FRz?PFiBNa4x9wLCey72mT6XrD`e@vxf@=r$B=w^^fCUrs}HczH-*xbb5HQN6#LrN|CnjVh%CKGyc+srrmO)Ul&kJ56n$HGxH6 -k@guaHS8;~FuhlOS`+V&L`*im8Rd5`P9zP!)9rc=&MuwuiY7&qRRVQ2T$wr&Iid_gyT -#3HadS7mT&Ts()$#alRDB!WEhd+X=mb;8#dP}UD`4S{ucMsKLBHEQhT_TP3>m|>)60*iPp=+Lp2GLLu -MBe^>jsRM_)^=^(8+Lj^`tC#(8ZwZwMZk-Jak@ljCwpZa+uzy1ASJ)8&uFQLQlrC@$~Y^Rab_~?ltO@=BKjC+q;|Qp3awi#`P~RT)Cs -bX{h$cv3DbRB^(jmD!tVW$aJi`508uc;-I{Jlbbxa1QTbo^~>4!SI2j9vjW$Ojvu}_SwxTE?+f$KV*2 -845&h4TlW+caF@I5gn}o?7hyQNxM0%GbcX@c1>%08+?&00Z-2!h)pv6|QO;6DW)9lmmC5V;e?Ak3W$U -PkV{QnGM$P9a@g@4)%`(Y8HQn@A=2GgVe15ir?1QY-O00;mj6qrt6a{mwY0RRBL1ONak0001RX>c!Jc -4cm4Z*nhabZu-kY-wUIW@&76WpZ;bcW7yJWpi+0V`VOId6kq+Z`&{ohVS|ngo>gz;u+g@Ko3LU?OH57 -49EgQvFTNvEE$sAkNx^lw%kTeJ778(kw`v#Nr~yK>7lN>(T^7E8e~5h>p>iyQKQFt-WSly2kE5I1&mr -Yro~!Gk5(whSd6jASQl{RLOBYD@u+N!c3x=j7Nc!i;YFpeM>;LQ4WhyAov@-Iuw$z|Tm$Fjy^%UwS#r -j9H($2ZuKr$qtA3E9MM~EXQenpTm+r9PaJlAF6l;`l4!%l72U!qX&cE}|3}|uAw?-*3ICSuMNA*q&z^ -4WW4^qQmu>g-xURV?b2;G8ftRy4Gx`;8crpOzM4($UjMUzzO&L7kceYWRB;|1`A#}BXpC7sXGR^=o;A -Y1I{=E5!1b>>iYQFd5E%tRSJz8rSOf;YcW2k9r}mhVx*^3Ow{OmTZ2cKnby$S(TO1?@<^*pYj_h!q@ERKi9JvAK1) -=wF*JVR0iQ+F@QGD0|XQR000O8B@~!Wo;h(^X8`~Jrvd-~EdT%jaA -|NaUv_0~WN&gWXmo9CHEd~OFLZKcWnpAtaCBvIb1z?CX>MtBUtcb8d2Lb6Y63A3zUL{X>A@9jJoO^#p -&(djp$DOdQbKlj)L_h{Nmlgjn{3ot@U)rv{$^)5=PQp0s#Pwc4`49Di8^S=9?(Zvd)fn8gqUd|`mTwc -PbGn}6u0OZTO8Hi8JsXCL=v|6R2yn`lL@#}+>&Jspcpyrggl^a$%EcIN&(xrH_t}b_c-DLikyC(@vPj -S4O`utx75H42Gh)+PityV^QC^6j{Dbi+_wjrn0@L_n-+Z%TkpvjJ)vpQc+8l6_GOkl-BT%@6aWAK2mmD%m`+lR5h+vx006TF001ih003}la4%nWWo~3| -axZ9fZEQ7cX<{#Qa%E*2$U2)D*4{VHg)z5TuoAzCj(*hUX_ySQJiqP5*D?-$$0uaW0@8O -y=Qq*3>O(c+n@VCI2cgph?4M}|RzQH)uj-8E2m;W^xlsy#HCGcX6{M9mpBYV8#9;w;6Bw6)DmYeq54l -+ZKuVDmRpfy_I1!V;ssE-v>s?6-kA>|%GyC3<^i0=Vd+aRLWDRm?)2d`Iv^;eg(=}*apkEkF7e=UWr?Z+GZf|0)_}iW|z3u -OO*Xn*R4g_Ep_}_hsfot0w29P!9vk~0HmdYb7Y8H%Q=q>CT#J5_gNxjn^7-uxYh%P@tW -%f3sE)y?2(BgPy+V!2YTK4XB16Eq>hl-j|6k=R47%AgVDF;)FWym?^Fo#-6NX%SROcZ#DCB!BFJnC_4ujkr-G+=~e>3k(ek-aqzz6tp_ppj)@Z&%Yj?+wjZnQ@8=KZtgA5cpJ -1QY-O00;mj6qrtcX{nb)0ssK;1^@sk0001RX>c!Jc4cm4Z*nhabZu-kY-wUIbaG{7VPs)&bY*gLFLPm -dE^v9ZRZWZAFc7`#R}4DY;Q9vy_OPV8&_hEZEfkhuwDverBTGh-vsp_2dq=jTwevyuu+?F;o{#t5%t% -UYO#?+ycfPY&6d;?{SP$aa8P$0#hVKk2d5}&Tok6E%X(}v~^k{{0jMV|-*r?ozV@|t8QK3CS-Ft84Gh -w;a`b*QQF+R^rqn#JpyGUC7>YRTx7UfpIr3K0xF2-7mwLBJ$Xj`eba0kEtu-aG{>=`Ii3bhgqW}xY>Y -ek75^)0UaAXJAgNf!)g$$A6==|CF~E2D96g*7LC8a_89B2qENDy+eqf_js@2(?F>!A|H(p&dy$=S!g! -tnYt*QgV+#jq#}cDGZ*4!wQTBZxII!7&g`eEQH;Th6VT?PUF0R&SBVsA$o&>Xbwnimwo~>axQ|JC}03 -#C$;@P`f?hf^`A}IH6%Gnd*5^bv#!q@meUDpVy`bizxBaihuGu-FJ+O-n?34)KQ4R=a&s?VUukY>bYEXCaCx0p+iu%N5Pj!Y3={;B44FW0F9ICEb&R$^;{u7Bm!gnX4EDS1)g;622OpnTI*95^8dYBNx3f{EDmi&pIFX6`3@=FE)w<$1(`w9a>-Gm4|fmk7E -8`1AnA%r)ZtqPbAstWm?D{-@7u(>j^a?QS?rpggu=~;kE9k~~M8-w0k6&sJjo=(x8Qf!F6DWdbjEFjW -xqmz)o)gveq9Bi?#0!xNd0hD!glowKvTH*K`^@g6(6ubwK5jKfQ -yv}MD(>*7dfP*em)YeyT^9$Ye{^Wtq(0kfyJ)+A2qFeO=r>uQpcvTQb+Wtr%8z1}svyX!S?it|+EHaJ -5{T&M3#+VrCiB>5#H6hvlibYv?FEk>TNo2X6b5K7#s#>6$IF2`Q}H>w~aSMc{gS(Z^4&=?2XG3U^G+2 -!%tUfq!xmT+eR%rgK!99-bTl^q=2x&=?+(&&$aTV_g_NhaSf21%fI12lD1+NiB -bn(s5l3GDQvatuYLY9#zJ)jzDroUxYVFSayH%II3R)eSh%z&ZL=_@sfoPR37GFu!R$--m{7t;4}+4Ba -|*t>${t%w;jU!$hA8zKqiQN{=jE8wn5deg1S$&Tv%e(`_D-PkXe2YfEg)QgaD(^}0ivGZ81E0iBFt45rd;xd2A8y}4A%0D-IJ7eSSwc!Jc4cm4Z*nhabZu-kY-wUIbaG{7Vs&Y3WMy)5F -JfVHWiD`e-5dRH8@Kg${S~Z&pwcE^;uiaeFm-6tq%$xFL2PUVT+g6Sl*HzARF1qTYS;gL?>&-tlcOC3V1wYhTj+BqST@?mw>2!QSzr1|a=f92^e -DLj@O#sm^0@yT@j_9T{_7V<6OlP!wd|w-*%JH!+?B5KZ-b`BA-i$Y9Ta0gK4S?zGv%G#U*<3K&H1UCZU5T;S{YR;=QEuW -KV8g9Qaph@MDlTAvqA*5xr)1$}Fqr_$|`nHzR(}zHyj$T!QmMF -2EO65{wpbICA>33f6#M`7J_%R*gIJjVzXq*aTl0uq`#)*05TZc~JwayeI-t-qA5Y1Y6*r00q{(lEr~3 -fLB=oVPpXR7ZFIvUlHyFySYsgxRn~+H7|v#f%Sr~LB<&l>q90&+ZIQ|ACPv|~L1FVO6jtC-?>1hou-qe#(-w=&K9Ns|27Dx17sQsv;wEom*`2G!Ehj#c#f*z9T6I3S%_m!@dx$pplY^<#ID_D;|sFY -k{x>_{Gd0a7&-t%LN>aBH0~pTzn8>CmWf1vdfoydLzK$F* -OaW=3%TeWGK!(&&rWOa^?9$D5tS>~14s`ui!A-|zD79C~L4OPJAgX}qG#p3=9(rwg#?kMr}i~VbQ9y4 -)?EI<_eDDg;H1EY;h6jJfrg;;{2Yh?o(re`j;Emip?luL#z39X827o$mhp~gkNL;-F{9`^jum7Av`)| -hR}iPYX*G#nW5Z!43~29Gn2kcG1+@;q-Xi5|QDWKn*JdL|LVIpNa3=$Z!%i!;Fg(!eP -8!wCA(}JI3vi>9A$Ot@sUZa>4lDroY7dgz9g-&~GsuCs{k=&`b(nqHKph*p=X$xExyDSWD; -Zn%D~;CX3=xiZd6HwO)y0yV8jWoB$ej+ipEJ>Y#PMXm(-HaGIUc-d6Pz9^iaCv@bsQ9kV##Jido&s9x -X_tP-JA@aXiFk3apDuT-7l25NrH}m<~`E9(+LGmjXX<+_y4;9bb)P9?};L*K6Y9|g}kC*Th@b&uzJ5Q -1ou)bhlr{NH8>)|}!blw?Lk0+4z<=!e&z)t)A-2V4fz!M#WwTE-c-mYuV1|*nPwvUpjBL)0X8dzANcx -dgjQ^2{Wn3*&>c@2*AyBhReRK4o>JFaaZd~X+EYs!k0W8P%}|E?(zpA*0{>lf&E@S3%5E6ICh4Agf@J -AVN_gg3h#Fn4B0Vg2p;^6$(WkK5-8$D{jvaoN(1h1St6ZjBy!nb7}_*zQnB2oOuDvE#9TQ##ARJK~p- -Tk^fHn+d2@q)1Y}uVt5CCn?6J0+zPCO%NjqJp@L?ek8AlKxri67-~frLwQ;8b%*_xd(>Y(&|#ql51w| -@%1g9dKsJFACmJt3D0A$BQniiMrlPF6S!lJ(SL*4Yj&_*@92p_GBH)bIg?ZJ0Utn|1?B-9N?DzX@|8= -IS^^@~w&z?Q`Kz*zu_2m%2s4LZMVbVs;$T$qrQUyM*=}tzS1zT1R#4K1k7|y1x)O`8_(G){J2w -hV$wGn*z!iNRy7rQSpa$NOVN$gf9*~E>V_wfRowZDYq`I>syi>^zwBK4NKh`*DbhEjA|aZz4jgWV}A) -R}8xuwhY2DA9aH8;Iay#rD{b(%NT75QF!a{h542No4t}YUR+^zxa$@Z*$8%JZ{mx|d09;7wUq_F#sJ%snTZ^1g -30ypjyZrhF2QgTAa3yMk$8{;F@pZ0ifrHKhEL4dex$?LNo#@6t;D7r#!z{TmoCjp)~Is6MG9zz6XL(x -nVrHwoU=(uk%4p-xgCXb)6QecTJLf35=YOq)YvNjk(!T&8)*0sW;?lzU)^+@=NR0}zS>=@mN?SVC=7`U_MvMpm*ib)jK*?B+; -T9hm42WgptKW`Iscv2m_=N#H{BX2`?-5y_FU>LTKe5o5+=1Hvov3anE;!QYkO*KS@bIQ3 -vUqC-zJPf_uw4z*OLr567A)945{Q9}YY(dMjePfQWXC6{G!K$&B-;n)C)ni6eQlqBz2$B&9I_S=lXku -~{sjFE0UXX7h0rE9((KjeOvf-dYP`t5DPLw8dUjX=WVm9qwJ3_Hpyy4i&?ZC6WNpBrlS8a*XBOS56Kc@^0x4DaWdlNsHhvCYu(1P5oy{U -Pll)q3j>a8e44Ue4}743dfXkr%+SAV|$)oYtYMN!mbZkBdP{NDBj2B>s%3H12J`pDM%@9O(P<`>I$fq -xP#(g(z3LMFhy$7%vJOb3 -BBSdUY2!lg|o1^GjRfo=*eN;i0rS&D)vA4G_!Cho|*khU-wn>hja~U)+XhjCWd=kXGS-Rgb -9a8qNFXoQ79NZModqg7Y+F%sjs8I!kUc`-sfy;b5R?%rf1b}oJke`=`j^PT@_}u34tGdjo)bWFN?ihk -2^7nl?cw{9VL0g2!buBHU -V0Sbf)7)f+Pp5q^^vFq5W9)%B{7f=`k!z>rR_Q-|&2bQs4CsoMm -NPMGA4;`_h0oixi`eQs3oIOzUV#Sg-cNUfB{I~k{4jnzuNjrjv7t;Z#O60H)2XjFu8mIRJhwQF1ki&{ -1eYjO-p*UIgRFsN_07DaJy0TK06)pb~p6fwXw*X^(RD(4yyjCBpq2lV90VQK1>?S)Nj8%;*~y%_i3-F -3Ae=79~wW7q#1$pOj0agl*?;PAl#gwyZUii;6n;vJ$}1-fF$*+*x -UU&{-Q>I?(WvPaC<$G!+t3nitFq1*9CZK5+xb=GlpyyPr`xG9ZTzRhAH_y6JD2h&Dq!A#gtdatd%i8W -MYRS1GyN0@%V~i`D`92@|Jp(Rj(^NI3!akoBfm{qA0V=3lhDLAhhDL_KJ9Q~{t(jAGBr4*_#aS90|XQR000O8B@~!W2IIcL;8~uWYsBlTx24|!PS+$%N{eD^JZ9(4Sj -MvSR`hYX#WQ}eKKdsAmEiH1=#PHt_<)$DdsW=wroFB~)Jg|-yXtX<%n^}PwL&uyqzf#6yTO*2qcm%uE -3Y5WDtC*2uogmT?Gl0Y+_ENP4Y}Nl}E+MduBIMvV1T0-40T7$CQVcTE8?ZS`zmX>v&*v^tMmV6Ay?{c -q3A)EcOB^P2jlf%^Auso$QW113`(%hQ9o3qIjyr+e#;tyIXT -v6ld{acbW(W`pe8>@AOT%n34+&vC6-);6{MOp0_=xu;3!|{olQ{^&J{9ehwR!@9`nUC753OkZaq%&A9 -;s5$E4-DgSdytN%4O<1c)+y0yEBtAgaTah?c2XcuAD$kyAf-TEX7M=q_ywPJJwf%}rBpNW-7v0+%;Am -bgdg4l{8;%kL5t^@v|SeTe1=SNTX$)?;bRL`HQ3TB?ZSw-Ap>m7m;!>a@vi%}MEnJ~p`N4ky5Zhfhs{ -5>M;dxz`l~9W2QsS8Q|4aiW&rk#*gWg%sD8gag7ZaZeByR*VJN`N)3_E@Q{Dh?}6X;BLz}oX(`+cj%y -+1X-_o6x+cr30&><#n?b$kxdiy*nX)!R<>knNLk;LEv^FEHCZZpf+yN1Aq}*4!D;RSsVev{#fcv?7BX=rVZe|){q^iC!m` -a3w^=8WKcq$vwN|2GwN8T~)ja3OAYt~k93%XqFN$F!`MSthqWZ($EtJl|n3l7Dl8-?M;^H+-tx~3!-n -E(_VYYN|^=qQ4}^7{|hV{7WiA0noBD3U=O%dbqUTzu}tdvl%GM3d=M5_r0@*NZxRsGxxHq#S0k-2)CD -VJ1||uM^uf9kJKzGtGH!D>?+P!m>(guhc-_Ih18K#Cc4Q*TeXbjhxfRl;=8 -4`TvY@og0xR>Qrukku&L;IFVF2(HlC|`LYEh@&})K*zjL2$RU4nei65Uj*1q%(METQ3=XYLzBb8ftby -r_*UCCN7vID@Ty(wt+As>MBiUY`=7(`AJP_INra**=XB?To+YQ;g2#{dL{>ga4K&e+{zEnL#e<4IlGa -8{l(@1kNjAJuhoAhFP+6;DgiA=(wAPThcE8%bTx!GCn)-@Cl8LRIO+x`?7|S4_wnw}o{7EmyUYB~ve& -(&)k#OEE7=_$>jvLWUgquOwY}dfQll1rr&g# -Zx?`UMnTLNS5S|M9w~{H;da5Hh7=E&HK&L{|mK-zkYrySw5XN=mZ#qItM_ukjW7n18z6&GvMeKkN_ad -pn{#EC|WA7fxILUmM`?80AK0f*72;rirAG&U{l0`ITU7-(zPz`3iBYlFA5F<)-ZMXDt)_bs$L{Q!x}zFT~(pW(DH`%^EM~*%KZWH2bB>ugKzt3AhrdTJg7m -cC4!)If%5=eL|+QMOwxTtWN{)Hy=QDjXYp@0~kZKfX1vD$ -d!LEBqnN96aWpbZb>ZOyLn!@O-#qsi^jmqwU~wzy;7Nc!x+?;e)KEI;eBM7F6*fpUNAY{n<#P&NvB<} -V%ObZGcD>27k&rQ&-Urwv$SJqU3ph*PQ{$AO+TJ#Dyti)AmiYC)_ew6J^)wVXA6-#4+d|JJ9kFkqc?N -=mAKQFE3gH6W33DEy4g7h)=$>@DVXo|fKw<*U|l8+Ov44$YeQ42&56ENQTk_1tGKyWyZSA#FtZ%S&Gy -g|>V2H?78j@_7+jFoqK`sY{fgq%tozBtx%>u(_5HXawtiMIpZyC^O9KQH0000803{TdPN995@G}Yk0N -gPE04e|g0B~t=FJE?LZe(wAFKBdaY&C3YVlQ-ZWo2S@X>4R=a&s?bbaG{7E^vA68{2N%$n{-cG0VURm -8IEi9)p#EjW30Pu47~!Acf)zV{s(2rAUD@a_nyN?>%!PXNHFq-lSqb(i7UF5kCKGd~W(Fg*Fn5$QbE~63?UaysMFEI`ydKtM(DeIg#qW?eJ4_Nw}LGxXe|N&!c;>DWcoNF@%TDAQDDU49wU -|PTk(pS{qS{i&%Mi51}f3&jDtBi$JUjx;78}=x~jXMo17G;|$0IkX%5dViAN}$VG{MKjL4Hctnm!?3h -S?^xauAD1T*(8z{$_xB?tUv1f$33E@va!kZMs~OqQCvwLKg&zWzaq#3D6Uj?b0IwKRB?SN; -Pp93C%vgacKL?Ckj88%yXt86GU8_DWf!0JV@el$EU&!i+fLezKwE=MEZ=e**-#^_>yEO% -^G!8L9#7lLfGPqVRN?JE3h#ap45!l8;62t})gQrdH-W!8$neWD5K*oyeQ|owi{uWy-hL#iQYP+a|pB0 -y$=6icE6Frf&tikuBaSb=W*#d<&G(sF)NE5dutSZkvGy9-0UITr>dz1(-$2M1=`t#4;@KYS!DX9O -i5Lknw2lI7xIzO*y!0W#3{^GSQwJ5?k258H(9Pw3DD`)RFUX~WQ;DbuLLREmG%rY{6BITzLMNxKGouu -qAOCclN;)HyZeT|!-ooO_V+%}I&pT}y`JHdsGGFB^Q=!wrZORgwXkAm7q_k)z6J37{VXq8<6Y?6j8)| -Beb4&&;-nC?ah8urB8s>+7U-T(4kRTlq29l%)*2?IWf@J|&Aic_mKi;AEj+!?h1%Osibr^BRVR&ei)IfC -N^3wBLbuc7>^KOfCLECNXZtjlS4fA>p3QLn_*G9*KO{s$xfoo{API4Bom;s_4&w672H9;r-`a5U%ivV -I=PjBhL6yquq|N@{b5x~oPg4oT6RD+x=0Moo~#Z^y#Mv6*emBZBYp<>b9uDZO#O{;4b*ZtRxuUz4f?dosFPKQ~;TD -Q*{9@TGb4TpDV4afhUHLN&^Cmfm-V-jLy*hA2N{Pq0mX7Smc2U#y_u_i-;g`S450j$LLaf@N+{01*k-DW9fukqauY|CXE(t<~Vt|M&A)0TE8%<2kgbjJPO$a3Zt7qlC| -vv^9{xknJvJ>x1T(*{WPwUljO_Anhlt{?1hAc|Ub$q^@!oSVrXC-8(E^>)Adirqqsmh(d#9{kt=scBD+&qi=BXXVf~;`Qug{rQ2iogsj0FM?4{BcCEH~4plc^;9GYe#5Ytd@ -8t%uInPejEsx3s^SQ&5gS-P&P-Im8)P2{z$*(z6q3wy?&>RWRE$!~`Qgq*WB -)F{}&puBszuN0L{ZX5Pk3mcf!cs&oP5UN?L$bG?Bv(p#AGAO)AYJlMykTC~lKnTm!i?6kB2%) -K|T2j9;2x}RVSswby-2V|_?GdT6h%3~KhMn)#K5GD2nb0k8XS-W*XGx#1+3GJ~Y$U%2S`HWtTVOFFawAS7e2d}7>w2=Gb$;7@I`>Xo91c*264;13y -4-Tf2{{m1;0|XQR000O8B@~!W8c*uCUkv~NDmMTCF8}}laA|NaUv_0~WN&gWXmo9CHEd~OFLZKcWny( -{Y-D9}b1!9da%E*-YL4s+CzcUk=Ds0TSD}21wH&ajsXmK4ML-EY=jM&8SYDL@P)}Z0rUCnuMRk9_yE80!nwSb0<)(yQbfd7VOHyjXd7|A-`) -?30#wq;d2tLT;ipABuvRm12Fxnk`dV-;xtf^x>CRC#?@aS)9N5kRs+A>9E*T2*xm2)l-Hq)E%tNJLOW -{#U|xEGyPU2JiMliFI9;^&JXHLD!oK7@)ctMTK`w4Y*tWd^S60pIZXv%jzu(%u!vW449lKgETep*BYJ -H*?tE)p(RLF6Vz}v`*j04(Q2pEKv`(Em}g!DQ)Rnkp5TNQ~)uHqG&c-H(;|gU3YEQurw -vb7T1!{D_)mf%ToFGlH|p0!Hc?DlCCPUI%jEFw5*{epB<3h9;9xc=LM&r-3pX!S=O@rh-Mk%d^S^5?< -8lg|8AK6#`j#wl4udGV3E|LB&#dlQZ$l!>Fc84^lJm}(Ufiph8ADatF9<>)^Hy^Ex-d9__2}Pa%zn|1 -A)7;JjZ7%a^7@o*3#>=Vb|>Q4xTg&#NO_}OXKLz_~M^mF27xTiIZ;^(PB1Ji=MWyq5vxhCMWV?98sP} -iv*|vkF2De6IlBW-<<<|TwnbG=3P9W5%}b64eM7_MVqEEXXSb+9Aim#9r#lACSRg)Tef|ZD-8S~V1jV -KT=g1~8pY+A71R*>&9-F+e-^7r)Zh^vS4a>+*Dc>j`<12JnOF^!=o=KjX_Yzp;@bBu_(zjR>OpF`KY -1=kEXap`BS#Sz=2&ZiC!{XcnkgtP?`r{+Y;7Gfs3}~u9d7G!a#Z`=c{O0tRlk?x+pOHiUA|i(af@rnW30RjsXAj~NIh;s -z$RqK;7w`tS#*b3c$h3SEnlb9*&@7V%@htcF&ml*}K%Y68lW$2ZU737Go-LNz9E%|tOa?j!U~*Oxn1n -GvxZ7YYVxu82#$Hi(JYHZ?fsTbqExbM+%W+Z<;C(;0L9pBCI^uZefJ -IQ~-PIn_VK768(y4&5N7R9$IP!sDCxSdX$rC&&xrN;ys+tsC>*Dy5tXAaNRK@|9`aQz`EVq*8>Ng!<^ --xSgmQ#{HJjoqtWdqp`>u}cxDlN}fa{;l4dYvKDqp|Ed#%1Ih?Z~W9}bez1246*;^8s&in4isdo}A*Z;9C-@%>}qop1cas% -N4l08(SadGSgT&ViWV1;}c|17RTm5_V`O&IU%KKmnLUX=Q`wCtD_@`*%EphMfjo-wlJ7^fU~AyN&e{) -f6@&qTH(zPE*TGJ_-G$89_=9)2F{wEBZK!-4=i_Z3z{L=_LpTgf=v>AK4${1ml%PtYzLTSV3R``(71f -QxWwXIUQiBuCt%50|;9qgGfS&c})=i%G!i?fm}eB<(Vq+A0*BzlEa_L=!f-DGoM7fueW9|Kp~l^*wU+ -?YE}!R_$1sUiG8V?^TriQ5RL*+?o!vmQLgKmQeSbz7tf?Y=t&O%a#2q(Z#kk6kd`Fj*z5EUQ0eETT+c=&f%r07rI8jYY0u*O6F>$G#dljuIh0U5Jz-=tVk_~gP3tF}X~Yc@OdmM(qY7Eq$ASt?XaP`u -{oG*`m2>LxELobKwernhcYKk-!C*klBmecaM-`Jj3LiQ^&>6(biAh$|}^?UZ(ZUGU(|_;N_hRfmK$64 -DM!HO!n$}&)y>G}2QHH8qda;|Dn -h7Aj(movnW$3L-nYthkPdPnsKm10KvwWgQ7cdBXjKu0y+9z5^;P%i#UQx3&>k+t6T6R@c9SrP6lT(v+ -U1x~Kg0iP(8CCG~W`6Uo{*4Vn=o(6CzbmEC9Qx_&D9_v&6BI`uXVSV=AH1Ww559^Gs0nX3i6I -!_iqbUn_iUWO6FII{vPnTdm{fD?kWqUY?{1+$|eRP@8K@n}8l_ -(;x4=dlnvbrMq)#_fANqEjS{MzXYQ~`O6nxE05fgOt$a$yM#l)W$Bh(l9Mmg@Ic@1 -uJ$}VtZyDV*5pu-gPByfm8T<{~G(g=SR}T;)ApGz^S(dv)S$%$En0`*uNBtUK{e6E<5^6urW{TCc!4# -CAh$K?bC-Dl#|41k=bKq&uN>B?2n~~(cFtaIoq@<{hzn=&@P1dLbOE2Rz0frRo4eZ -3^Q;D7C(arxazX!jUYyw+Ji-ezijgAIsUP_9-oc$6}INpC%T1JXbj=A(&+sk!gu47CM_YN2!&WCZrEM -U36?P-{JMiJ~WmYpXA*cvgVgN%t^b(`osUZUdeBBoot+dvUF!Wm`zS@V=1RVO$ILO@d$qj$G-rzc{`$ -{A^Xn#|N54cz`f~f~N>o7QAn`7eP*gZhn-L=;=KZn&Vz$Ch2#l(s7h$wDk?EEPJV4Ts*#r@UN&hn|0S -o0q7?dkagcl0qG~vr8CmN=@l|?b=3FX68sWJc$sW)xsb5!uHEY?LbUX+xcT$HVYrMtpv<}XJ86eu3x0 -1o2b$S5zF7s7e6XU}e&UM>Ro&cd)U>r0*)q1I3f_2|GMXOkdcNf5FsE#gO|xIOs6%1-Qg`}z!JvQQgu -ahBo)e#_l -@Bh<@~Hsg9c=Qkwb#ieW8rRMv2CbhqkFv53>rNncXe|E^>fjJ`!Qb4arxO+ -jmP`D#kEC^iYXZeY_pZ)K5^f<6}OkAGt)JK;1h9gZbQ*9tU}>A%M**(Io`m=vKKD~S4>XkJ1)s#<$*I -HiPwm0%MGI~Xwsns?yi17r9p~0IMHb62sI8ju;^Nw -C{rZJ6(e(yk-UBNo#9=rVKAex=RLJXD0M$&jr-hX=a_RWdBg*PXMqf;yR#G}dkeRoylBT7IniX#7(M8 -M=m`jIw=|R)`5HsD#XeDlEzT)A8}~v%kzouSkS+p17B3d||H7*ad+n%r&h5m>=?aG)ijX_|hUV -kH*65MdZiNAi%Ina7wNxmJ2$^iJv`Ck{9bW6FZb(0x8PR{Zp%KXNdEk-h50y{`AYIx2Ng5v%jBxNMF8 -xfA;c2D&z6(Z{J&53I_V3KF*HRF}fsZRV)YOrPz*zSSn?j?aHd*`(J*f!b<&o-P_*%QqF0+><%+_=v_ -p(e?{JLBdUS--OYv4O!xh6nk7=R=onNQFuMD!SU(|De@u=?Ee}-h^;CLT!GjT^K -ba0A>Rw+gW`JAx<7E3Yz9o{tRawT9GSk;5>239(939$TR#s4ZkFDN=4=t2 -7A9HM2tQ!0xpwc6&&~cFQ%F77jut1{DIUIiJFg%UV_)xHKRV6caH^aRK#};gD+tk9h)jM_l1vQvA(z; -H}PsV5K0|oLLSG2pJw&df?i*!$9%}u*aN}qu%aO6}XC!Xe3dA$nunDF9gfDR~)Kz9gSSibS!r4Z1&nsOF%2Bw5=5~s{~7Tz;0RAJn~o9g7@LD)Uq6(Y4WA;Af7E>Gxgp{<;hmRVT?71cu8b#E4Ftfw3~9_#aX>YR#MrW!Lv)bpK~jM{D1GpWyYb?b?`aDqZmko -IA*E=XkF9K=+q8~ezsar0uriXi*NskF1H&_WfjSI+b|2}4ILlf`){T^M;@d*A;agGr`1pL+I93~;x8p -#UI&nqUg{Bsk9)aa~D)2a6hvL;~)Od{;PlUgToaUi>oap5te1yR+Sp*v0l6mCJl6+rzh<=znsCzd`J}Kk^uRIen(OL?a0rajdF|Z;Cr#!yPP7X)iLzi{plJ@vD= -Ix-PY@ihjaMkY2V4uD*RH<=upLVT>b%#J}r3(=5i;xN`SzQuU@Yp8jVKJrDdK6ZxLo%pPx%O7;kDvwicHz1cU{6+6(q-|oS}O -<1wNDf1SHaTTBnn-`WQ4gzXlUG0m+8(EAaHw~WNOTappIDyl+xrFbB6g@-vPWX?b?>o!1U9lZy{U*!p -kv{iW`xM9Hog23LR4fh9mLcYcYnQo^^H9Rz0d2)+KEi)`N#f{G_;!f -89_SD2u7f&+7|6QO6x;okfh!Zj6-1Iof=01j=BG`TFde;)kY`ZUM$p`kSLTJY7ea_rnrGD10ZqCVOR{ -~pgdcjx&2Z`zclelMAToYRCMr@gg|VcB0}_t5a@R#9y;gpFH|ySX2ou$Ln?kDa`OWz@^@BK_us0bwv^ -hQvWhR9S9A`b7htv@$F-Hf$K6QH;IZ98(8Bwt}JJs4U8R}l3cdas-J$j16vUxI_VZvcH8>^n~^*lLc>y?WA -eRif#p6_*eahHntmt;(8#P85~{_4&3>d&_~VDhY+l_+FHq&6MA${*z7b!ou&5{at -hP^8r5B{lqX@9J5Xja$xqVz_EDG?m6u6d0vZzrcIWn;7pXyDPh}>eg-uYSP<{2Pv2;*bQJzBtKW-gl( -gc!Jc4cm4Z -*nhabZu-kY-wUIbaG{7cVTR6WpZ;bVqtS-E^v9(8QX5#HuPOz!Kn|9SJ&7c_983+io|V$wNBBv>$)JY -X^FPk$dVyZNwXsVzH@kyNZstD1%~Oxyqx=uhx95-w`4wF6{5)4d`|dwmu7;{WuC@`U~@Gek%-^&oTtf -%6bTR0h|OazSVrUA^HxaX>oy)o@T&<-0Yq(#$6=b}f+iw2n+e^rd`Cl;kH~Gxqe;xR4E9GvuAXjaMnj -+uwC8gg#~{}+x$@60PCvezOlSUx;CS}={RD@z$zO75@^)f&PcPn?A^e=rKI7=)^pEMqr>Q^kNcH)%jI -mENzF`@{Ow;583yUo0x6InP_B_KJBthNAWRyuBFoJs|UEx@glcdL<;V*w9wu0E -@2^aJEQO@GkNXnz7)R3ncqk^HVl{#Jt5YTKbkpjgP)e$MV12E5~QjU?$Sb`l(XwQ}e%%>%>WXLGb88} -LuZ+9xtSv1MAG^nq*yEse8#lS)iQixKcPTUW7nr$sisf`yn1%h*bCnl_^iwV5I^I7>9gWpqMTSp%{yp5;bH??SR~E -7~o_C9Fe2~LsBLgU>aLf0p(b^YRN)c!1BfnoAZTEtN@5GwCN&7v&=x{PW2UWrk;-r%6q(Lk^ -!o#_aJG)n7h2<7<(m<}9i$%k^6uN?C@SV|(9mnx6^KjBO%%?)^^(*CdtMmUl(u`d`qBad8a^#6I_RoU -O6Pk-KPB){Ru{$MyX8tUOtRgxs?bX{MykZAwC%c_iP6{y$d3grh`+%ljRJoX`p>82Iz!AKyVjY`vC?SOp8Iy;)92SSkPsNTnN}EN&zt!0eL> -X`0(!K+w;FC^G|QiXOqkKFHa}ka_kYq4eScB7yxe<_b{~mdb=r(h`LtQ3I0b~P_BDt -BhEsvs@>D6(ZL)qUodwByLvz5@WS3%5@Bbnsn1;Mc*HLQFL=Pe?%9kf>UcX?TDAL2gLg;z{E#LxDKpY -ipkl;09LaAa1C{Zh9ItPq`kLvnno0VJ|jT*GvWN5BE~m6B5h+j>e>(Wfc4#a;)2-cv>6SSsL;r2*zMz -*s4Mn+p6Djxazy!>Jf-Vm)vRE42q8cfy8!|OtSR~x$1${rVkoD;5m+Nx%>es;STC6K1V9 -2Khw=aaUFDu6JG0`u2K_iE)>!zuRKWm0Vml}&LdidtoB(^FabGVLk*-4cIn;4Y{wVZ8m)Q^cx60KKVb -!8mYY^3FAkN`GE=uYdJlvxwtUcK>N`PgOq*F)L#$cqsuYrp%pYuU6-`F_-=K`X7E&r-O<+;x-hp;Crc -9frYTpF^dN<+DVOj(u^apNV_p)^sCP&h$}Kugkpz^}%%*J@Yu;r05!PmKCf{rpuyr@BX&qwUCQ2&0O4&adn2$ZyM_J)6} -oG0lao=<>Yp6_{smA=0|XQR000O8B@~!WWr}a9_W=L^g#`crCjbBdaA|NaUv_0~WN&gWXmo9CHEd~OF -LZKcWp`n0Yh`kCFJy0RE^v93RLO4JFc7`#D|nOuLLX4T2SZj0qYV`}a?_$H1X>y;M5qNMWyC1@?=u1hk(cx3)Yc?UPQ?emVm#y0I`##AXG(F*X!_NTu<<1+zoa>|Le2fwrgYdYE* -UGe~zaB~MehJZ&^xA52`wLJ@0|XQR000O8B@~!WzQyt_>I47)#t{GjDF6TfaA|NaUv_0~WN&gWXmo9CHE -d~OFLZKcWp`n0Yh`kCFJ*LcWo0gKdEHoTZ`(Ey{;pras$Zl|5$blIvU)(5I7NUZDKZb+U}OR#ooyo23 -rNb1G4#Lhj-nLVmhw_yz&0U(W%BO1=N{gXjF+m+S&}SkQ!7XkCi1FOhVffn%GyBEe2-WrHbRTCh*({S -w9Fup!hqsZd)|^T(o#xD4Vvf{laK=+ps;&F*Ji}Lsf)(6XY>I*7w9G3ZA@KhS7Jq)dc@usO;y0lmdY+fTlC8kZ<_h4aT1e -y_%p~Mc7#cdytL6)*{K8|8;nSN({88(D+mkZ4ubAPkTkK{6pXzxjxQ -4V=T5RB9E<9%JHLJE#6y`V+n%_#8)GcSq^?pe9CxXuVENTj;~VkwNKgm--3$Lu54A5ZVdlNTvytfSUlKNx;bhD*s;%r|gv{0Kj -}kUm3eT$Lt3k%^QWq|%UR8B_WU733Wn$%ZI)<_89-1}N)dM-h^++g$b%XTc=wuV(k|>iH5ePk{h*pg} -Gp8^zUc`yfN?>;f~#lmjw|nzd;En6NCeRIBnWwP -p?jXy_j9jlk2OiIc41qoLztXL@z@Uxb&OGZ#|;DSRnh+rc>sBc!jp}KR(ZX^qQZ5j;-Lfpo9v&fPE$YwAuBf=gAq~~!NJMxR5Cm -`;vQD4yDT^QbASW9~lXI$Q11X4G$3Os_g)10%PXRhRTmV3NIZKQ}vD6Fa>og!Vk^qSJ05@$kbbF#);& -o>`)rg=Nqd7pp8IJplBf0!CVJ9bvkM^CJgG#W+&Nh3Bbn{yj! -00$HEs=^C&XZ#Evi?=A&+a8g@ULUXHzEB634NU15fhR(-`WMyFAY;d*L7KYN7+mQ8%3?h2(XU#%QSu^ -d1b8)djqz=TOrFDqjF#+!RnVC)jwUxDJ7SYZBlV0I1o0i4+}N=6_Ro~=XNyU<<^NCR;zhQN{G5e-xso -GEKC>JfdsL(CpQ@||ZVN9+#Qi__{5;&H(B3}!6&j~yU9>|X$vk;FZZv>n{|#+%_9gOq5VB0UqzjwZ{s -?hlf6<^D-M~*9!QM|5q4zgXO9KQH0000803{TdPL>UvM`#8B0HqiJ04@Lk0B~t=FJE?LZe(wAFKBdaY -&C3YVlQ-ZWo36^Y-?q5b1!9da%E*-Y;edmz6kP>CLTVICxA(6#%J|2GON^eB5Cvm)~R3%s(6TUACp$J{eBC8aO&G#8e`GHG -bV?@o$n#u+@YG1~DM`71}HknLPwjnH+crvL(Aj6vpfe+shNw_4BMb69{{0IgVamLqr*+3>gciR3@BHXJiW2@I*~RurbM~l;nL;sGwN?!4g$tqwR6bbFShzkSyEGf -G}%cd=;^b?OCogUAM6At|mL+Q?MMCo>!B0O^H(nQ}e-8lokokH$}vA@M})9`{lhWHo%Q&S%Sxd`yxS7 -jFkhGvmeVlmI(sbh;zDU;WvRRt98bcn5W+cPM)M<`?wNW7=|q%J0`4DiWT@i797pj+395wWHp?NqU?Vq%G37v}&B| -_p@~l~~5(aQMdZ)>mPweDLR@=U35LtB)jUgyA)a-AUvAo`DC_8VnyGf8s32x#Z=$H|V{uyZ_cSh={gC -OqJfL00EXrEmX1Vf_XpS#fF!)p8NinRNJNc;S+oOGUH_e`Ca=Bt*@2SK-3_H@z2KjVxx>V4Ae(%8U#5 -E!Y#)(pv}5ayBayhU4ikN;0kY-D?9YmB)RGMidHM#^Rc#LvZtBkhWTCJ4aa_BFJH9hFomLkUXE$V)uz -%g~eWH4ApXt+n)$Rm+?vc{YefOaPAkCK&R)Ccx5V6Gm$an$U8tJJZ08wUlM3mb(}Ql0)9*TiHa=F!nn --(j!XM3ec%jb~JD{V<`0#fyxv#k|DV!bN9SWw$&2PsPsLVug*|3QUbrc;sPnXVjIWnqR2)oC@!{qx=f -Z7i22egEnDY#EVEn|+Dgrw`_+o)dV=;!r&K5X66UuLH2Vbkjx%ip_P=LIB_uzvZf(2>;QVLpbw$b(cv -an`T+(&MZUqA+p0o7&Kn2HF*Lo(mgQgpF5p6~?E|o9Gni6u?RZz*4R&u+0J(N1d+Lao~!jT=k=pNKF3 -`RcQ+%mY~8H~Sx+}F=Hy#=mE;6NiKXaX9Zb9m$9R@7w -7a!v;iZE4rG|8lc|;7`eSQSL5ie*rNgC*mrN=X#NK9rr}<~U*u4^Pvh_a{d)Ov1pRq_b3I>S4C7_CB; -WlwIg{8B={v43-4MRjo~1+;WX*t62+fq|RGdhCnRWE`R3$seg6>CvNWTgOHqmY9RtPw<79Czqm_4j5t21!F_MalOs; -AkvpJ*p8rnHIy9nf**LC`S#4ufyH?+hq7gV{~-)lu${JMfZ_Lug^UiVhc7>hQ-l`3E=&$tQDJq02!CF -B+Gmfj8leCDKOyL?XS%)X20(r$udwL$v$1X)4_rvo-~3&puJKrHM!JVv=Xdmgck=dvGM)6HI?HUU00l -c3mNZx0a%C&*ujEY?#4dEMwb$|}{`|_lZ$EAAfRquIQb21FoEAsU8bVEKflF%GoTuCT|WU -8lK<0I2*G*h@MM)Z^<1u!701Ue8C!@RhHdYVwgYBcwJyHkW=0>CJP759OHUo@S{@wvD5)~9JB$DedPz -xJ2Mv$g+wtD}L(L9Pdy)^@(%jQUZj-PuJk-tQ3Kt6xXsJAJdjwD>;+qs3>hVH-beXqK&M@(H77nipbE -vneS>kuV7)Y=F`tU${(qoLk@V!pYxIO9KQH0000803{TdP7_~k5Xb@m00jvE04e|g0B~t=FJE? -LZe(wAFKBdaY&C3YVlQ-ZWo36^Y-?q5b1!FQZgXg9E^v93Rl#oCFbuutE7R1(uwy820ZIZ6}s%drft*C6SMOO5#;-p=Qz516E1#)4A$EfgWJuwXuH^~Z>|^1HG|dFGW>Pze!}%__ -;>Fi-3@3?R@%q0&XOjy7E$~q9`yZ(`KEnRRKkacPLObr%MdwiQO#=m=(YhN=alnF)^Wtd2G9yV7_TD3cnXv+w -0zxlg>Rth9P>Dew+$OX=KK_Y5k9Hdd#3$I8k4fQ7{*YGeKR+pAl~;6P<-jQS;VWZa!l9 -hn#dXI>rn5h3(~-UV5kAA_u=G`)8T9eOAz&44~fu&JvKw1IjleXmY)?^xemKH6Mf-UD|ns*3IC`**-O -#{=`deGd69@W|0G>!-;E*^CSlIB5-BMEc%+yoZZ9U2|^bO+e)Qsd9E2dE>bqZbEHc(RXSn?0NL3ZC_A -&C&N+tJfwR%4`&F!G8E-N(NYuQEXnLE~1AP>zqOc#AOVF9>-U2JJ;(PBpBMtBUtcb8c}pwG&sESXNKDR7OiztZN -i0cJ$jmLsFDg-pk1tCtD$dN$i;w3@1FK5TFG_{UYH@6aWAK2mmD%m`?LZ)ae=n0083*000>P -003}la4%nWWo~3|axZCQZecHDZ)9a-E^v9}S4(fxKoGwBS1j(qwrZ>tBo2{$C~Xe`!GWsc&{WaZ9w&= -7yVgEb3gW-Buf&hIMI2gD;X|D4d^7XSc<1w`5qyh^iVHww+j5~0u!`4^qZ<4jQ+x|FM>^aW=buk6gy1 -3y4i;9)-7f)Aw9<^&)m6=vT$#|NSvE~^WDi!l0{KPv6Se{MooR}!u -`nRQH0D@Lla1*5@=(XVuf=AmXj5SW;G>jj -h6Ax*{@|B7Y!F%tWqC4%LWMm>e~PVVceV-NvP^aXkk&iqeeLc+v{lQldfwcW7nUS|%1 -`d~}lZGy7P>yn&E6UB5oL8JZ`8CPi`pse$%F49q}73fKF?=tt-yK#N+g%wr{((tD(t!4kPK4R%4zf+7 -^D4Il>JjSLyo-%xm@{6}i+ZCM-E6;Lo_HWj*kmRjrNC_qtWLeurtUM##!tjXKji6h9+ -&7Onp(BfBeL$< -vCA(At@b;@9%4nE7uIAxjT=Y$0`dZ^M^!x(2e!$b42A)>@)?ln_vw6gQ8jOKr|IoZ(4NvzqFua8_AvM -EE-VL=o8I}IPofYByzc+hv-J8STf^NV%f%cxFJUow0!hNIxJV<;8m#zbMu6Jd>kzc!Jc4cm4Z*nhbWNu+EV{dJ6VRSBVd0mV<4#F@H1 -^b+0mC8_{hzij~K;b40aDWiMNS17`wb|UCM2f{{%h`D|3P(B&EFd2ZSh%P)h>@6aWAK2mmD%m`)X!*;e)n007l3000;O003}la4%nWWo~3|axZCQZecHDZ*pZWaCy -~QZExE+68`RA!FoT)Ms3516Yn*s4`|bL+r4ahXwzbGX<*P2m9UW|9Vz8yi~a9Ae3M8@a_rvjUC%%qiy -~*9dF2eHm}P4;L3EvGtUxqMafA!p)7LA?Nm!VxGNoY_5qkn7<`;k9y;u^XX~A%MMR-Nk3@pPeEig@cz -2z-sc#UCTy`m{iua;qgIY$fhthdAoUXf&(GZNE#7+MAQ>3AIUmKwk^$_l<@1a2`h0TMY)$e;`^K9|$! -KKWeE;NRymj;BO?&-X5aVXsGHfpKz67^hjfq-mU8OfS)5fo4ZN1RqTusPckUBi9TD;JepT2;aUsdvU^ -8#s(kNe0eccB>Me6dWktf<*}cxM -eCXLMdQq2qDT*$+u;D430wXx8h!06PJsSQc?rQ(|08?L_0x5Bu2h34#HeBy#)`je1B3+94H47Gly~}_ -}H!RsHs}0hXf#deTvt_URqBUABG|5&?lUf%C!dlkLgXC-KF4#nBlM>ObBKX>?`Js6eUa1trmy!B@Y?R -3*a$A>ZfLZwJDSgGJ!_;H3@H)B6JM^HIfu;A=eoUKOm6|5GxbNt^7JG69~67c|a?IaGob3s702OG9 -hhKj^3Z2)~>@PCBaOo7F@f=CUVt)M)!aq9||WUX}Km00@)zjvqY;>jTatH5)$rY$AYzJfr7ww{U6W=g -*~A+1muE114-qsf>BED!1HzbMp=w>{%r{!H*W?eek@qDco6a_6?~okj&OnUj8lp1>t5}SjO0vPT|~wG -utORkb`iV}Mksi3D!|hA&4acD;(S;X&Cb -~@MqVaB_hMR+h(QLl<~sOqP)d1}Q0*OU;13=FUs9WAaAO%ieiZc!`HP2Pddhg}5`RM-W@i7v|tYgB(uNe;RBDq|1z&Zc|2z!tm4?OJRUhmK^K-83sz32Xo8K!Jj8_EA*VnA?4oqAlZV#v)lI8~|S9k-^YqrKK -MSVtZ6W<2^I>C~vvl%5Jg1(7*!;u&Y*(M)HU%(m32`uvCOdLVtr!;q3J>xVo;a!B^$4?I1!$0Qxx7w6 -OH{*Kmc71GkOPE#Mcke}mc#urOcVie?M^U$j3;S8)GwSOKr6Kx=ouKb?k0&R!0)p(U6e`4Qb{DIErAj -P@>vLqW9TIHVUU^LF7P5;xvHDTmE_#3|o?+l)jMy#b?C`zHtmCTsph)`fa;I+fAoWL7#P3_gI&#uWm{)CY!_aUKR+WJ`-i}u-#avhTdnbXx8wj2&oZ?_8G~(a=2jr-m&bx1L+Ln2C@R{lTd=9R?s -CDstAqSsruL_tROB(vTQjwU><7b`F+*ID!Mh&#M4O+Y#w0Rq}`8Pqc3M$F2QBqM3m1}|1usWF-tR4yi -c}e`kjNu1+Uoyu}^8X|v>ZrCX;_=_C0dzYVt7Gd{N3GwhPh(`RZ9k2 -%6(T1MjL`QF{vE7r{S2y*PdQD!B9D0lV8t&Zm=oXL+6>nrsCFLVp* -``VN39HCX_FmTS48l9^TogFu~XT`iQjikCPwXGM;ACY@GKrfUxBS*L~Su}1qW15@Q?VRE}sgzn>; -X}qBVv!Z@p*ml!>-v3lf)jWpUsK3W`XP;MS7SaLA76;ILcidhZsd_ut*}`@kblmC^y(V`NIBeh^6HVm -#4i^VI1J?{)MZ<-t4*aQ?RvWbiS{rFqgczl?AU9L2N6H&Gv{|^|2lFK(Yn%_FYz;Yigm@9nmhw^RLey -IFsc)*14o<3GP7v((`|rsZ)~c5Yswb)D^#c986^9|z9O4&jJ0H(K9L&Yr9UZWf81%eMhoq*_~i%kX%^nMEg-+JxBY8b7}78( -SUqmXrlft#o_p%A_&1#6B(iYzxvS4iw4S}0v=hE+yDVg7v2O&?Fnq};;j~Y*8ZibUCodzUuWu}{8^SZ -`l5khwLtw(eb7v61z^v5)vun;+TJqUX6>wATf3edvIU}CLiNv*ET?$7kal;=CQ)~IWCSBYO0uwl{IZp -(t#G#zR4d6*&_;1A;7zGC;U_@&ZNIzFiO9W5`;9Eqe(2mkdwtv=X%Itu2d!x}_7=ZvanSU4Evovhg{L -lPsyI<4jX3+zMU4*ep($VVrou-u4~2zFT_Y73=E6#LdZabmwRDyIku6U|DmNLrFOzt`+G8XJcdng^xe -d&PG}LL&dbwudyhOvxL=0VA8eU3zZ`V@jc%D!wGADZ9aQCTdp8s~CUdAhFs*;IU&s3zxUj)v3675a0G -Mo35hF8yItmB*rcE0+qRa-c^sE%4mDpL<{xtjolbC`lQc47H}$naM*BIh_iB{=4vWoZ -73ld~zUMg!#8f_P!QxysOoT@RiiRUrL*|)^sdsH{LCl{^xO{Q0yEqDz$e6&E{a}h#(VbWff| -FcGT3wL~Q(ZG1J-1eGf5H2Cny(jj;IxP)h>@6aWAK2mmD%m`=006_E000~S003}la4%nWWo~ -3|axZCQZecHJWNu+(VRT_GaCwzoThC>=QGK6Z(FzYkBnaDgI}#5F5LXc%BE;LMeA%JN&=buxkO<|!<8 -!>u*S*%HAM#0`ESLB3URADLE_+vb|H->w{>S?t-reuNUGH{j|NZg1|FVzohkg6)@811teOTYy$2H&e- -@W_z-FM&q@E7mr2mAABAMLBJzWL^V*7rZW|L(&#-@NeL-)q?P!Bzj_(R0gG -CTDj&m(s=8J4>p`fZuiKWk5@>)oA)bcHPs}Dfd-G$lA=m`Sv@gd(#UR}F>gsL8 -R{wteuMAphPuX2*kW9}5v&oArL0V_b5-aH4-Shgphr;wT0=t|-U!dPiKSQ%iFZ2Mq+&AV!PnYoe{(Jk -CeK4I4t_W3WY@Dw)58e2Q?2m_H|99v3iFq?+{&IZlf7+AQum8}k4Y$5|0=VvTYsbbrz`6!6bU#67V-U -{FaD~9ea@&q0qr0$H-^CqzTgvj2vj^*Moc;c*|NQR#hxZ?T_07lM{bqfdbg$p;&VT;yH3L4Xj;o%lfv -b_LiK~^XovMD{H`h;9zOR4W*MF)8u12mVu4eAJaBJn(#;wM!ovVYZldFrXH}xDYt~#zVzadapA#ycwm -H7>YtITg`TxEU(^Bb7o!2Aa0H{4W>kMS*^s*YPdSDD|){6^+CGQW}ejg=%Bncv9#W@aHX3x&t1@E8@= -$->VQQ$G7qLHXh%`_8TFAPYN?g&oK;xaYw=v#BqGduCH#2KUUSzObn;lO;J>b0%xfWJykzNAUt(~ibtCOpXt29QHt#@VXUDX4gKMDUy_)o%r68^LBpN0P{{Ab}m3;$X8&%%Ee{5!|5^CY!haV2i|}8B|04Vs -;lBv~Mffkme-ZwR@Lw;s&(%p??0*eXk5W&c?`-UPmb&1nibuwy%6L>6k1FF)Wjv~kN0sqtG9FFFqse$ -Q8ILC8(PTWDj7JmxoABR+|0eu5;lBz0P55uZe-r*q_&4F-gntwMP53wA--Le?{!RGjePDlG<8%Gm_4& -Df;jib$%V+KEt?qh}dX;+nylyf-naocn^OMQ^WHLXQ%ugoslga#KGC!HjPbTw|$^2w8Kbg!=Ci9cY{A -4menaocn^OMQ^WHLXQ%ugoslga#KGC!HjPbTw|$^2w8Kbg!=Ci9cY{A4menaocn^OMQ^WHLXQ%ugosl -ga#KGC!HjPbTw|$^2w8Kbg!=Ci9cY{A4menaof2oS#bmtj_bnWrGdMCO9Q{B?KizCD11KgOK&MMX#uO -Mbj%x30;3OlrTT%{y|vU$1Q|;DZwehD?#NkRUW*1^&n&=6hX>+SPw!|f+?XZVJKlL^rctaLRhLFOXVR -;&P`AqTTy?aNS7jAQwfT6$;kC8NPBg9h1V;BUJ;d$l#sQLqJ*l1rhS-R(UmatCsVIjdWFiPsXUs>!xW -gA61ox;m?K%+%E -PHVoXW$gJeK%+%EPHVoXW$gJe$-a|znzYlTo${W#+xCKXY&T&rVYQ2S*#xHquY{n4 -sDz}1tc0S3s)VKlQ$kn5P{LHgQo=0+r}A(r52x~QDi5dfa4HX{@^C5-r}A(r52x~QDi5dfa4HX{@^C5 --uk!FJ53lm@Di5#n@G1|l^6)ATuk!FJ53lm@Di5#n@G1|l^6)B;pz;VRkD&4hDvzM@2r7@D@(3!Apz; -VRkD&4hDvzM@2r7@D@(3!AsPc#^kErr^*}~s{HNKncH{ZSg@bR1Rt^M%BXK~nH|Lec~)j$8k-)Ke#qW -C?hGa)}AP}V{|c>q_T==6ykjho~8ksl-JMwbJbvx=?&GAGAeNbb2LN2P#VncP6;jGwE6%n3Hv1ertIu -fxr@>qK_I?HIQMZpXMCa7)gU18&E-9dJ9wjVOEP7`Fp%$(uqdfb)#o1Gi_~9=JW@_Q35Kw+C*|xIJ)l -N{#ct?HM-|&9S06WcX}B5;*{OVB7%!0|P_~p9_u21~R9rg#q$p@&cK&I3lt*VqkIvnbWXNvdJbFCgW* -{3@}1ekwq0DDoJ&V5LIGPC5S4qs1k-a@en6SFtG#^Bq&*Q2}3MNbP2d6hYlG*PEzO+aA(F1YvLrqFav -jH+!?qfT`dE5X51OLGvm&{of&rqZqD6u8Mrwq#ueZ$jJp6gXOTK&k-EaT3vhFCsY7z9V+-pFG`6tD7H -Di?jXk<{xypHZ6#y#(tN>UUAW~6XWsOBDs;exjhKHo_L(=?6Skhd`sgF@IB(w6Cj*=S$Qg)k -LR6DQH6f}gdB0GI$)bW&;1)kS3uDQ-$!=jR7c;*wmW#)7;n`XI>?{a&@iV{h%rBPrg1i^wM)IP&S+H+ -e#*&nbTi%jmj9cEC(hIU=5}#X24xfjoBB!F%{Vo_!yW(*bA7JeRTl)ZOAK2OlSo^@%KET=sw)O$mK5#OBxB-yQA_!R0hPyEtx4cQ&BGf9f*BjyWM)r -Cmyxz!OZ-mzy+3St)dLw(i5ngX(uQ$T$jqLSCc)gLm-UzQZvLZ()a%4r0P~^yp9O3mw_Ie}qJF+y%J#X^1$0CGr6*u>yBx+;E0tWh521tbEIgTe8<1D{k5NmN+gUHoj%UEgOppK5}FqIW~x@F -+jM^k&n-a4Y=8(jt#gueLptf=7S6(9PP-Cc7&rH+0l-0v?Dv(5$9J#W84PZ#<&f*+5e94za#tK(SV!h -hS-6-Gwu%DopE>ImV-SyaCgRyc_((p-GQ5(_y{LHcE;U-n~%nc!-E`{96?S@&L9^iSCAW%4dl+`0W#Y -vtTOhLOymi{^6VNX1j{Gc#0kOjNi7lcPULwfV%~{7??lWyk>{O=c_;F`6EW{Zo_8YVoyhY}#Jm%E-ie -rZ;*yhIfSc!?hL@eb76VMJ_W6Krf^8=J=K=%T> -n2r|oLKqi0WK}Xd0>m^Bcbalp&PnlO4`5ZQMWp)#DJ{CC_nglXDrOc)`!}R7knS21|MH0;G%ng~XPre -Vi@WWkR?|dS$Q?Pt1Jn3Si@+xeU3hYT?dxDM1tFrpw%)G1e_A<`QyDFbNR}Ey|eyiAitE?v#lUL=rp< --@my#L*B%f@bbJI5tmjeX<>SvB5aZP;OLe0*Pn_t<#(*5D>K-l=TZscgLW*t!QfFc|>ZZE5`sPh;1jL -G2s+5N&jjX(8D#p*Nn;+v{XBo?Y7l5}woA4J5p1YWD(}ZfTfcjAs(VOk!7O@)4{#5|zQMns^^urX+?vBnxS)>vZ=8f)y98{BeZjWuYjv7t6-tPQ>z8f$}b!+sm@mK!wISYr(uYiu434pe9J*rA -%8RkK4i`!$(-B-mLsJ5;l?YIdk*XVvUb%^vucP|eOd*r9`REMAAQbyl_xW$UbL9dmSN^Vsobud{jVP` -1wIvBNxe-a^3fg^$=)CW9S53$^3W)6Q12;{{abRdmO4xi{{lK_-ny2R5wpy0~Kj+>IrOS4!QuZ>UvgM -eZGBc0@W>b)8Lb$MUVSB4c@ZbynmKi`>~FcPMgaMaB$$4OY!@9e{&XbGRee!Kyi+nuC>XgoALfvJLE+ -4pz1i(FrTtz$@yJ3X?0yByR}t8mxl@IyhJdv0AL&CXCW#g}}MR*JOp5c;h~K+i=1tP1chMJ(+wo=xpeOo#BZcsL8uT6OZv^&lE3Gug -M!c6C*!)Cua_D$?tS0-sw(Oh>3T)lQ&8xMt<_hPaIr2dBb60s$1+5Eu59RILc;VIqxs^EsFbQ{YAp3==~e?#r>&N -As>r}HhL$Tur8b|)T@qZ0M`3LTZBi{HXN`G{qQBbJ>8tU^7Vm(V?bCM75DuRn!QvR>?Z1zq|{=tqL)J -c4t)1Yr4!>m>r~Ef`aRll)n4?NVYoJMeUlEb@rw@k9C<=x0bj1N}%8kv~(83q14hx(8iCIPpDzkR(_W -=kf=M9>j{?m>v`$m@Wi^jgnr|Cemjia;YSdm#O@u>$Q8#ySp^| -na{Rl)v+s(;a~9}H5xz=B|ApmW&JA`c{Xm|j3mxAxDDvHcauyxClnBP-$Lx~z^DS0U!m}{(?^5WHLoE -`3_=-#9WtYR7TUTY=5hUT79M1k0u_$56*v#0a(2sBGngogBJ?$=eyc%#e2`$8%TGx2%!r@izE}4$qO= -l7YZoqFzq9vgZCb6P+-j6%0(m(8mHK89DW|us^cw@WEFT_SlEHhR=yX5}+iAr!?^sqy2ot;ky_r?vL` -5kuhcWFXDc4NqQJH{){Qeq^>36gX}V)@=8Ek#eJ$M;SoaD9djx?F$U2q%k}$9Gf?T_Spdf}0{%QFG*QUWi}*4QILl<5xmCG%o -A;Fr{k<$z!2m*s$8k}sA6ez8Bx0lz$V%K^XSUn~dwl7O*1@Jj~9^1v@C7|R2{REOCH98J}=Sd6@XtdF;)QnAov6DONzz{z%S453cw!(Kc1r{&(R9N9|V5@{wVk(@JGQPfj -kN>p%sBY3jPTEVt-ZyezAuOc4>*g{Hj>m#Ow -!~ju_)gLiKW$~;mo$%+fnV}GRtA1a^jI1ACDUVN;Fna71-rT=*JEYimw9}_4_uP%u?p}@y2mQOFZ0(b -z%L0Os{p^)`2{<_ir_E6Uj%;vewo)6=JzFjEOu6QDflb!OFGD^z%ThA*mK#X;IF_he#NT5Uj=^!ep$b -)3jE^FuLk^0@HgOZg1-U3_%rM5`R`Kh+i+j`st-1NoP1Pi*KuFTJHbwnlbs-ktso~`LAwsQncy_YP5e -e|675p(8}N6*-+{ji{to=&=dTX@vQAtb_`Bfmz~2Rb2Y$(KSsnPrZ(R6p+>-CctpWT)@DJdZM42^!U) -HB<0RIsD1Ng-cUjz7u;2*$01pfg3DflPwPr*NdU)ED=0{;~JSZ6I+XRQhRvR+sd_~muZs3>ol6B&z?=^~iu)lFHxqd -+oqW_=1*T~=hb7!5nOZkrDc@?rt{w&}?p3mTY06&i3wM)&INuU>@SJ0c#4fHPb0XpZ{jDq_Xx$p6pb} -9IeKJ1dygGNO^Rr;yuhy50hSGc>(LNB0Kp*PS?=pA&$GeKWMzYm@LmR$$_CiolhH^JY4zX|>Z{7vvT; -Fk|+4tz*+G{N71zX|>Z{3iGf`1PZb2K*-Y4fsv)8}OUpH{dtHZ@_PY-+t>5L+}saAA)}X{}B8G_=n&hz&`~40RAcXC-6& -Z-k88Y1^)#8DflPwPr*NdUp}llCh$+eKY@P={t5g`@GszBf`0-35<9kF4<+YtoTNiPZt3SnKk~ub*Ks -UUGE3*#|Jh{~`UIW%LY%9gS*}0pL@yx>9_ih?RC)!S=NBYu>{71pxW3EvNXeA&hF!u7BlrN*XoxwY=|@51sexb{+U7E;lFOPl7)Ie-iu&_><=UHFuQur$1tIG8id{yDAf-eby&J}!B;j4nLDtuM&RfVq#zN+w5!I#8X=L- -By@HgO>;OpFgzX|>Z{7vvT;BSJz0e=(x4fvbjKOrENm-LSq@yzp`mGl0^3cnxO^#FPldICKQ{nbwudI -Q~r-a#KipP(}L`CSztel*v|s{S;T%8*v}&N -v%r29v7ZI@vxxmHu%AWjXMz1JVm}M)XA%2ZU_Xo4&jR~d#C{go&yody27a-tr2s$g!|b|&-i1CupF&6 -fVuuUta1lFPV26v?;Q~8c#10qO;Zg->1s?HF%8BK+B6hXFt`@PY1$MQF{VcGbMeJvR{VZZX3+!hR`&k -;srOCK7$jt<&0jCL015OjU8RTYy-+yA=}~qzrgzExBSC7HN^hVuzun<_C)dBy#=O!i=+Y0yrE@%? -Av1E9tS7HTv%ci|v##GI%K`buyOb2PGhS1k$F0pz!QIC3ExYbOmr&Xh-?Gaj^!w1g^yATwmwr6@@zT% -nqjt$5)7>4Mo#W;1g=k_~N8fl4e(QViBZlYT4{eyI!D}S%b0~Ky=XG9Z?fod1Hr%HnYD2=!lQvW|X!! -5h@OM8to$Y{n99YXC&<+~~yOcxto_i3_h9wQJLvDk_2yMc-d5HRp=OI*&Qlgs?Wpf32Epi3G4I1|x05 -`~s(@i*H5Ap`{iWrZmT_N;YPjhjPLq1M}y!?6##+K6t+=VEXD@hp0h1XD538E!Mx+8RSuQigrlNW;a0${@*?c27{My%U|tn^RXHQ;L5OIOd%O-rZcZCK -8YJrKYPflm*ZrHYPJ_IszYq_t$=MG=LPODpBP(yj*{LX@MFr9qdvLMt0XTFV8*B^p=L_0^;$(g)R-RL=8UH!U6B2l!LTiXLmb^sdta8f@ -gzhi95$TKT3g%=u)T0{JIl}|0wkr6~7pI^P@hyoYDXW^{7>Mf`1>S`~oon&g=2y=h)3%N>somEHvEG0 -Jy#uZK!By+F)o{+HgkDH*IKWFzu@2=8{~2Q^Fsm4DIXu^&r+~6A~JxHk_MlVu}lpRq%o;_`_fb`io~K -{-e~J2i!a;+~+ROF6G$pO(y3|VDWa1ROMa0n{dkBJNvqGxw -$+OW_d3KyYpQ3AI%p`bzdKm@Imv%~hYiLR2wux-N8-6Tm(E=@E@RFs4J;j(ySn-I|;B0=1$%gT8Msw` -8gI}sF*QhxFJOh9oW-Qvy&%4Vj+;p2}|x`OZX`0%nc;O2GdFYfbvG)W}Di=|zv$uQ`yNoX|A;@+jim^ -!OR;WX)F6DAsDJTM76lk_U&g*?h1HJqn*hy(e^AUO>>w1^4I0j%UA2S#lx;6|nENwVLJ9VHCd$>!zc}9aoV{bx1L(>MJs-h)`SKOu7hJXg`%J2(WX1Mc8 --92LSsNpSFGl*XK_)5N%Xn!2ix~(g3AAI_}LlzGp`{1S|pzHQ$C>hyPpp0m(0J8OrY*%m5ME(U2?43Cg2xC77ZQAue)s0(9j^7*iRhRqm(?b*YWzY(f -1(q(;&0+v}dZpqs-Fq+$4RJa^Sx;bR}Zn1a}%ViX1}RWzmLu8eEfxr{o{`W}0yJ+=+UWNgFa6SnLZ!y -Q;X(pK=H!>G<*GtY7?qT#OzhhmB&Fwek=`{J0Z>6seNq-{qz)H -|Mf5a<(Gf^@4x&<{U+0OmUp{cfA9ytkRRai+KWAmfK!+Q>qkPUaAMO0z2{eqSgA@xh{*P~g6*YhkCj$?Lns(B5KD=j+D_S(`r|ue8$!@_bAb5cJ-_#6oY`!a{F -HxCfq+(82l@z7IXt1UIdq~%7Oy1FE{ratPx`KYq-hD2l9r*M{{fd#1w~`g=g@sb*(k;SC~vB9&j( -MxLY+tvC2>20Sf0gkNc^Pw9i#on=Kbqbw5H_1ZYtOS0gSq(+~I5$c4tIvU+o%#!j?l|3au58+-emOh9 -PNE0Q7q*5J_R{~oAN5|FDTdbB>&s7Ma;uP3+4t6*+WJtJ)E6*~XWf1U999;WOyR=1$W5fkw39B_tuRO -iv;K6FjLl%iAd-3uDl{)AeYqnseI<;d#qe@t<;Ois&WiFDawBx;Q=v%bKC7nQPDOaq0e6WtAn4@10sn -F79>&LC2rL&RLGiz9sevY+DE}-9>wy4q@+AJ2tCqf07mt^vO&$uOSyII`GEv(nmnR&Tglv5Bt)Z|X80 -j~>(!5C_Q$}58@$!KL>J~87J6-*bR?Pbi%kWIh0v;Wt&7ML+l3KU{okc8jj0C -Ur$f-<@7BVBZ|P=I%lEK5nkgB+}xoIJU=rc=hrXP=H-QA;U(W+EzVO&mC{U=$5_Vu^&K6WPAcSr?Rd` -)j`Rt#%%DLlynIGt7g3As!t1W!4rCr5K}E?-jfWGLA;n&E2Zq~UguklAql?MqktA$>fHP7f3~dd2Qr2 -}?OW}~No@h|iEJ*|a+{SysO4mRPmu*yhEjiuTmn`KOmSgL&4vI#e8ooex@q2k2!cbRax3_>%%p6V#@M -$~8lD(SP%@6c#`LDA*Hd582uaMr=R@5D?-K2`6gX$CYA820(?VoFo;~%26nEV4!O9KQH0000803{TdP -AHI~LKgr402KfL03ZMW0B~t=FJE?LZe(wAFKJ|MVJ~oDV{2h&WnW}rbYU)Vd5e!POD!tS%+HIDSFlx3 -H`23E=i&kYP)h>@6aWAK2mmD%m`(x%+*C4@005K*0{|TW003}la4%nWWo~3|axZCQZecHVbaON|WMOn -+E^v8#y;qYR*Olk{u1|qh&rDO(uF@Q*8BI^-$;^m;nEP`3-sp(#z8Z>Nv?3`xcWwY>;SB*0wm^cggfA -3)Re=$r0~iuP7>We>f&y5MQb*_`+(bdb{{7dg0|i2i+P};^nQQH}_S$Q^zg+fD&p!9svZtSW;i+Zye; -@zp>o33f`0LL-@%Rfb{BqedPrdZitB=3_)RW78^vh+hzx?tGul@aVPrmf{-#+>H>yLluFPHu7xfj2`? -6s#}U%dONm!5d}$>&~r<_AB0{pr7LFZ=#?zVqGhe)k`X|07%WKOTSOl^QJjr^kO(|H#v?zWm~{|LdRr -&$Rh>^#$Mg&Ub$J!=F9%>TA!v{L&A9xaL%n$n>``-7zv#kE#t53c -D(^p?w_AiTnJl6M%zQ0-aSIJ*}?{EJ6cVzyK&EJXnJ2ihd%->D(cgy_UHh*`_-yU*w(^Kwjj-~Ftvq5YkJ!p1w( -^LrJYp-4*vcce@`$ZGVk?jMzC8YK7L>NY$|LDBS0s@wh;2b)3sPIqumw$9(6R+>ThOruRvw9!M`GoX* -!q#!`jJ?9q_%#f_vP_F{_1a*{q(OMXL0G9u_~r;`CwhlPqpLEPjf`&4u$r=-G;5ZO==-Pt97L>N2G -6fwgkB*f`$I7E)<j+IBp%A;fD(XsOASb21;JUUh$*#i%A-f9C){_M<%tk!3J|(k0CA%-9e`JC6DOrV=7zD_zZ^^Bc^3bNmEDmj&^bAt -`&i6Gad64z{`&b?Vi1+uiJjnX}11t|A#QO(X9%6|19}1YwY}~7v?S?Sp{lk1>P|f@AvOMVK{Ua<7k= -^@8Ssrxs{xOyZ1-*Zq@;4icMzTk@op)X_K()yj!`km5x=hAxT(t798dgszQm(t3yv@uO- -y>e+|n$kLw()#1l#(1Um$E9@@m6bc~n* -&QD3mk4^{}Uf{FTqQGPHWz)C3U3-tZUBgl2D04LW7a@{7t$u)vpcL;EDjUd-u0-RhU$aPeJlWPRIz9 -qoPHHKXG3UG3bA=iBZoLpnb^?(2;*BEj=B*4ivhFsqj;N%)Zu15ukTp27Ry@G`(hUAaS!<^(}NdBY%C -;22u{<+_XrMfI(lmyW~_hSJN^jQH;&rJC1w80--7GT|Kl!UnF -gU!a$Pa!f?zG|R9+HC}iaTvMvqxs|Lvg1KR~wNQ{7~F!!_`LQ1V0pa+Hhu%gy4tbP8&|H4ai -m8X~W620lA7hZ8*6$Ay;vyE?XEiAy;vyO()kT3$?ZYuib;9i;n_1g&i+-FA@f)hz;oxBW=GZQFU< -c98DXHwA>sdsSRbI|%uswE~=w+o7s{EZ(9WM0!=6Qzz8etKy0}L9`#eA;7g@ozQ|^eVB-0%#!wuSvo= -ZSH-(@obWpkzW9Mo5dPJ}0zwV{NI%+nj!tj~SH;FVq1s+OEx=XV4rDB5ngtnuB;MBLOrs3-R^;K5r%{ -G_E8f;+QKKw~?vv#LP;W(anX9)Mq6D$1%z1?@2=gQHt(o(!S*Wm|h~Z>Gm>)596uFdYl!u!7$!Y;Xn4 -d`ag6!%?X9T#A3yIZ_&IxcKS004C)J}O;rN1t;m8lZq#)GtkJk%uw -H&#=k2ew&PBBRHeJlbgoC`sQ?_=?-h0_R<|FAaRPdh?LsgKFn7m8)MHM78A;3wff`r67xD; -SiK|=awRzfjyfmc=tur)76F7V2L09*57fR;StG#8HAXJ*%E -Qhp1DHmy048?X!Wh}YD;oqj$s=2MWs?9Wd1MQ(Y!=`ok8I(Utpc3nkuAKkO@Na;vV~W62yl`|w(!a>0 -Z#JB7G4<@;N*&I;gz=pIJqKQ_|YB#POiunUfCzW$rahcD+dHPxguM5<&Xd;S7ZyXyeq)T71_coM+G>! -A{Th&xBw?t40Zy(+1zs5!;N+Tw&$>G%f<@Nu%A^3>(#FWzeY8_RiKibF;=T`AyQ}> -IY`_vDYxmJ|0il+BA|49KyHC~%K*vVhU+O9g=J{RKhr7yx+}%}ie=c_yBX@Uood8!^kh{Ao&dufS;yh -HAXQdoM7JVRG|FM(@QNJqX=sR8%5F~wdLIC+2sWkL9hX5lFGzXN&1+H~bn^=-hZRU09Ck^1}XxBxe+8mYfex90_j8(~<}>=o7|Ej!sP -X`!;Jyjs?wB!8M@c>mh}BITj)cuhXs%{ffky=FQk?FNX^DH3#_9up7@Tn1{AcCheIj|&JL!cR{K2#)p -BlLG8)yQCc)>$SB4?6kWCnY(N21VCo&nkOAs1(CA*RH|SnRJc!13kY`esVD?_xlhjsfYqE80MVZl5Jd -l}h#u*=PcI07=%uE0Ao@!JLZI;Jgn*y{nHQHJulMPcfS`y^FAE5Y_>?`W1nIqN;=r_v4X4iHIa7$k>$L!iJ0nYzodfBy60XCpZ -kfFNvmH->jB?ua>?G@l!ID`w=_6cyhMWk@;fB@IRAwzZTkN_uFWT>vaE5OMW8LDeX1vt4PLv>9W3zwl -vkfFLJt%S=^B^4^Mc(tmR|EM5dF&#H)EkTw`4Wa7g$lWZq1X-?Y`V6;VtLpT6Ge}uHw99fORdCI})k} -j+e=E+s3jX1@bml2iTh})V2%^2dNk9stf_9bDfkAk_5hZwd&ixV -}w5sPNaf3kVvyzC%FJ$n~89f)BsGOF*dp*LMpD8oNF!AZYCR9sxmP*Xedrq{KcuB_L?*voQfdW1pQC5 -cKicxPYLK&&~)4`uOaufS`}h&It(m`0TuZppVZk2nhQ4?4p36kIya%2>SSJLO{^RXOjYgK0XtBKo0G* -%L0NvK4Wl`B9(T1xd2$u3IVX7egUwL0Rga&K>@IjApx+DVF9p@5dpA|l>%TNs|3J4RttcAtPueFSStY -bu}%Q&W4!>_2lFhcTdSL5F3&FGyW;w-Np6e$C*k(CJhyJ=a9M_>w(V@RCp2l_PQ*`LBi;Hm``V<}d>*8D7T%Htjd9 -I67acc-`#1vC(ZirWNQ*2VKM!X?j&8Dq2viUox?CD!TM*)J*965f;`r)x7jDP|Sjl<3CIDoT;axhameaMcnSoSWik3s)_Xy16Niw -s6%FIh&i}XkE@GMb74?I9ivpNs+U;DUR0VY*OTGZi=IIIhzzYo15ZBUCt&&&gQ1LQJ1qxk+ZoeZq(&$ -QsiuIiW_w~n-n>lo8m@Y&L&09=BBt&m$ONcv$-j5)a7hatZUk!rcMRe+N#axAyD32<^na^={b4he8_MUv#!y8@hCksY~pRDhE!(jvEx3vhBp -KIGO(0Zy)o4Y(Rf2)I5MNnsA|S+MpNle*Ao|ab2?(Lt=b{r#m-_sKfRK^;TvUVk8=s#N0DX)JfIdzOfIh|rKp$rWKp$rXKp* -D>Kp*D?Kpz(bKpz(cKp&R`KpztVppQub(8rVj=;N{g=!1=F18XLKw_HHb$M2+V#nQ>&^$Q64_}zejpp -V}T3JCi6owTD^Ncp>A0d}9GhFdS$!0e6B59lkp1y&6=4Wr>wKn=I2Q^O^68eKaDrr}mNG)nhdE>vt(c -B`jmpW7QPvimYMBk3Z^rffa;Ic>Ir^uIiGn}*UvGV%6GgMxIw9x*7`#O>7vx!u|dJE^7VCZ4tW?DkTv -$ZfxtTA{YwJj7ORXHc}d?m3lvjtfoOvD^O3CD_}E-2tnex@#J4qp^nl_IATPr|F*4bUT=3?wZ`~rRLT -mwR87fu6Nun-8OEnr`N%v<~#eh-q}AXumkv}g&E*B3vVLx~`2CJ6-qAT^spzx^6E$mr -dyuZd*HKLhc;gd*`4i3Ogj-Irxr+Zu7bVNXc6DZjYl*%T!*Tu?WtB5SNl_yKwbKH);8G_+Ehfm)*JSot9klVQXf-{C$ffhq8Yv7;Wv#K=oJrdvk+eK@NPh9{(El9nl+rX8ctetk%y1k7jRY -EZR47?oFd)0UFLje=6q-7Hr~vf@66oBnwj&Rne&~Q^PQRVotg8US?=E1ja_8UcV^CaW?j3HXXboo)^* -QuzBB7O`MB^iE8KTEmzFt~mN}P}RZh+>HJJC=kU4j5FL!P)cWy85vsE&8ZZCIkFL!P)cWy6tZZCIkFL -!P)cb+YGo-KEdDR+)3Pi>o-JExO7r;|IUlRKxAH{2ec4clhsjG2z@y>m?V0A>UgJ?>T)mos67c$ -lZ#8yzOM|{6g;hLhib6dD}Yp+{IM6+ms@A8|vn696WdX7UjF&qfl)K(qx6l4o*ZGcapZ)f(^Bvtt>V~w -Xy?0)9?xpM8OV_!DZelx_UFR0MZh2AHxrJ`(e#^OquG_4t>ryG*hOJ`Vh7+^v`gEPScb&O+Teiw~-Tv -iW*FEYwQ|>xb?mAQMx+cEsn)t43zPqmZ?mE-yy5_sz -eqkYvQ}kyt3RmX~S -LX}2O095BT;ZCy!ZmS)+uFV8xOa95uENc_DRP^1D%=#7!X<(VmnbW`?tNT+F1prl6kQu86ou25+mfYl -b-r+Wu@t3~v#ZaAtIvho!MAXk*V2WoC40RW*WI~rTA;mOC?{Z2SF -{ZS^nPZbM}kQI#$sUb@~`*^&2=R4K%wP3bE$Yel7-pjT!#z$@L%yfSm|<64d~bLw -&v>`E*_zcaD!&LycOZqumJH8iE0hE_VmES+JNt}!ZIV^lihE#364(lth$~7$&<~7`zTqDHoaE+0|J5&94E}s|ZcIr-TJ*eD<2^EIm?o6$t|L -O#d*+P?kXB)8Q-~l)L!l?T26UyG!-rPd)K>)<~plY*InbLhgOAc!lFLsKcYU@vP6BD1AF((Aw^bIby0 -zsQS1Vgx=5ZSkwx!~LSq-9M6ufeA&On5H;P@VH+rxSjJe8-A$RJDT@zgw`CoJsyz3(Wi>{fDViz1ov -EQjMab2gn$o*mxxnE2o|16gdsEb@hOs6SbI=$hPq7KlQq73M?q8w;k -5iE4W8ASzE^4`X4pFO -NBlD=`t-j>~jJn9bSIbr8mOE;%F7m(VD__gyf9fK)A85-B5JxSSPN|DrMQ*tRWa=V!RoiQ*-RG)%+n; -dKUK|VlM=f%%+ICZA>LULVUbXF(t4!@B_R@CQ=cw&B+iiRM?fB2`M9z11{Cjm`+x3b%Zu(7Kbec}89e4g?UE~a=*#7Zi -lx>qQ0FM_hrc?ggfxzpNl=L3UoPNzlS83c_rzR|Q}W`s)gUE`F*Y=;G%Jk{-1NbI`Bq#^;!XeszT`#Z5D4q(4h8r8)J@Eh2h+Ofa$t2))uT>f61r9$OhVTqg$g9pw4z`Zx -}LgGU>f@LnKuE5?hMMCRsJ<^!&=K=T~|MhWw*!rc)E -QmwSPY2(Rjq2iQpA2?aP|WUCUK`uVV1ECE-~4Ls|caTJcTO0!*KsP!tsOiP|9cFT8qO36clrh7<)Aeqy8mpE;%kIy|KW8zyU&#tA1^wMt`;hO -270+&lTK5@_gxlAxhav&KCps$`ofSRf7S;UF;8C@ -QRI*Nz&hsX3#%0Q6F;z&dHTW{MN7y8joyWIiu}1BSkOFuVS^%nq)J42Z&Kvt9Z}w!6?u6_l=oIeUfvP -qy-ksqcSL#bP~_zuQQo^0d3i^a_oyN-?}+k#OOcm%OnK`eHvXK}GN!!s92mtfqkG1jVvX(LBttZ>~E@+uh-eZcqyc5cMT#=V|LV2H6=OEf-%*v1NnuRu}J&j4j!Zyr?eT5AKx>%3EE$KRC8*Qr_y~{n&N -cq`cL|`{QHFCgrUz-k%^_HYsm)@%|9mvPpTXi}&ZqmQBiAUA*rhmQBiAUA#X{wro<~>f-%@vSo|%Ru} -Kjlr3A7x4L+LtZdn$yw%0~lV!^m<*hE>A1+(AC~tM~zS~^3C~tM~Zd=N_i1Jn!?{=oFizsh(@qWOgMB -aV+lKO8ymRlm@K7C33w?AmMM6P}MlKO9d)@+IV`}8IC-)c)tkC!d6Ddyv!Tvmkn1jgyP1w(aF5Ws7% -De>Q*@%#1B{&d(f)QJJy6J@ls%CH33~w7z?Zb0S$K)#bXqF{3h -Ll~kAO51B19R!McaZimdM%&8J}xo(rpx`--Km+NNiM`ccxsLOThRq7(DL|v}iEwe77O4Q~0gJ#Q|@>Z -AYCM(xPl()KEe==>EQ{L)w-OicOgL%(?x_UxgZr97Z3wckd%XJ5b)J2f@gu2|WmvZAYcH69rC~tMSZcCB6i1JpK>()QjM -U=OO%x)23T|{|n$n19BjLL%Y){xn4z8P_@`}Bl{%x?e9s4OUN4VjlX*tev-)x|Gywr@#!tBYUac;Axp -Ru{j-3BM)ftuB6vLw-xjTSMk0&iO4VZ}s0x9Q9jL-s-=XI_;P8R{!k}{4FcWTm83N^Hvv8-s->I2Ay> -g<*okP9~)d&l(+hCw@qhVM0um8lgo&D58M$80*N*yQ=(jy^3kl$+s2pQ}-(3r@o_z-?2{-zhl25e#ZetRP;ebRJ8cM%Fj8hn4z3JrHG$8r -ih<Wa<{8Vu}m7h3SrM^xx891dDjY%leQ)_lb@)z$Gp~*+Fp~NslCwBlgs7s%!n)B>c-eYgh7-27AAlL79 -u2?9JCPAuqKBrM0hkgY#}CmOpaLCe$;n%9`&8sqrNkL)OU6t^_|6|zO#JPcUF)1PG-j@-?otY+-o8A` -HqFu=ROOm&;1rsp9d_YJ`Y+*eIBx~{iyHkJnB2MM}24hsPF7P>N|@^eP{Wo@2np2oy_)4+3&>ktJ;rS -2z^f3@5Cgm+Ls5&crxy}ZESr%R6b=zf!SKM%eN3JpR%IhoUJJ*iuR*K(Rq|8vPX#`Us@CoVE0kqSv=} -H%SU}@^@#8E>lZ4f45v=n>(QW%S%$+rk6Gr{tWo+WM})pW-E9**q!^t@$I(+SJGn%tfabrIC`o^3Ihcb -w8*2F~#@(Gb&*Q`*VEi9RMOLKf10q-g0k+Dqt`0=1ve6;&Cb`_PGpk-TR -O|P&H^BVil=iO*2uvfx!gmS^%4v&{Q&9?3ITe)C79%IWY_TdKC$+=Uhr&$my{G+&l0wn`1e1JImlX93 -YMJYMPx}ldg|pHKrz{1kaLOQ@|0%$23{)4mnMm^|ws;OP -S-_)ccs6e|4NdNhdqz+Wbl~hkfb`4(qU`K{OU9G^bZmo;%ztDrj-?iNKY2rSYhO3K0q;z-rMn$%ZSQo -YM72}F*PcH6@txu_oY_7I0vYCatsOs_gF1=J2CHR2T^*^Plq3!~kYOaf#xaVyBPif0gTp&SW&&`GFXL -wmHX09H5@?ZRg5}Q=6i&&Y46xpP5+?NKW{lh;fX$PV|x|o~#)9aXfY$rVKYqY$Ot(@K77e}}dgi!q@0qtHQN7f`#5L%U3K``z_K`)K8dugQIOC#-G8fo{^NV}It+PyT=?yZq -_FO9T&X{6mtBW>T1AnWnCf~8m1)?n$igEa`c_=N(jPTHX)DC1cLK^f002+DXtK~Tnv3OYTiA<`MIC#z`E^mS|6eI^u~me{B-d6c -@q)o1sd=#2lSExTx1p}@3gUcT9~Z>={sASyBm77~$Z)CA#7k%(R6=pJ5q3Awik`R-Btn?03PFUcH4WP -ue6dkUP{J3Rlmtut;teH17hh~v5~{CSQsN@T2t&6|KmH3v=vOUQf(6^-N~&J>VC~4=mHLft?MPh|MD? -VCRu9!-SXVz9gStOf;H7~D7t!4ngDr)Tz>dOLVAQ8H5t=9r^(FSOA$K+uHswwOgQOA8y*bTrutO;UJi^wokb2V3tl -p7E<_6zf{9K@iYENzIIz5FbO$kk*qK(3Cm)k{0Ap4w^k)=sOZc3Qo()9R_6R&VXJ9-*C9PwljNX{Xgw -JFVW@Y4y@htCx0Ky|mNnr5(3ZR9$2@_O6S342I5FpYvyK2k*Mb=9S~fZGIWYX!!50JX-%#S{Ujsa8W> -vDB$kO6ZJo#NuQza0@rFi*djF1q9v{>-BoU)NSt8O*}df}6=guH6xrF4aT?pL598ELl&XvD9&K?7=NT -yo=J_x=AR%ARJ=E)ag8?V{&|to)f?&N31;Kio3WD*r6a>?4D+qSmQGlkfPf1WhWW<9;Fjf-kaAdwd)Z -fT_elXm~d_NjK6#yJ-q!NHa%n?zv5`yLjVGiXNceHRx&sOS$RG"G7wyMoZVJfk2qF3&0mZOd~CLenCB<`m1>o>veWmK -PL+cI8C{p;>uJL67`N+6@iexe}g<5dMgAFnA0`gmPI(8o^|EWP7h4T3&?t{~{+7Yc$teyJenL --KBE(PK0rEutPZvFMR^PB9ZjYa*7tX-zB|J!&GBzG+P?T0LrFu|)PpLdu?-=hyf4NbsaZkMv@SIWAgR -u~JSeD^7&b%8J!;T3K;8vsPBDnA6HyMm;JkR?TT;#iSUmtXMgxm9<=YcfuMpdsNo4)uXavl8shYOtI0 -*iU~FvN4hn1an@(Md%jPXxh=Hf3=!$~zyAY8!Jq%YkS2&hE(e~Wj@&&u`kM<1-7Dp8i}$+7&ZUX{iJo -|e=(HkC@;EiF2s1oRol(>PI;#kCJWiccgxL(I&MRsIT~ -O2kx~M1vx}*r>!lxz_LGh<16(Rj_YD!TFbXgG+5U1V~gu$@8W6KpmUt=p2L0@D2ilDEt0Y%W)*q|clY -ivjn^fflD2>KcuQ3QRBtyBbkjjd7yeT}VF1bvOIQ3QRBtyKhljjdAzeT}VG1bvNd5EN5i8x>Jsn-o!B -Zz!U^HY=jOwkV>$wko2&-c&?=ZBs;jZC6Bn?NCI0?Nmg4?NUU2?N&s6jVhwP_9*gx&`($Ex)TNBZj;* -FtH|Z^x=3kVJ*ost7tX3%KvwIjA#RMe+oXaHD{_rQw@JkuQREtnZj%Z*rpPYXs*A7}tkz}Zsjg}(f;` -n#H4Wsct}eMwIPQ7qLVdH>M2q&Mjgs3TsxG3jXp7?;=q^(3KUNS#@-qcNB3IPABjLSWpop8s?yF+=a^L1zP)kT!II^B+! -cZc#;XWQ}e?oi%uDf05pC~x(wZbzuPi1Oa2$jdvUybmby^3EvlLyEk-Gs^p2MPA++<*iME+wQ3@qP&k -Q^776o?~{tWymQK1-Ll*6sV<_t)qlF}p5ks!d22B5wtK3JC~pno-F8oP5#_DHyW8$5?&g%Y2JLRUr?{ -I_-rDxM?Vjo)%3IyI+wLjuB0qL_T>ZD(?x`+ZD(?x`+OUvE>m-LvBd$2aL!zBlv -W#1Op-@%P=cqL9MRJ1E?_g>{ira?x><3JO2}`oXyt<|@};d2m*QUgg#m#}7_mFjx6!xzp2Pf1p8K65GqS5!%)R7hrnJ&wLBh;?1B!x5XIH9qVlTPbm1@&ituVVvzYEJ1X1APF6alFWa -pcA9nS%EU#_Trr_gEw`yG`pMmPyR+I;AM+Yj(HF5WC;a?$%ZvyWhkTRxGePQLs?8z;Pps$l^uvoP*YrGDYY|NfA4}`vSfV0AKjky)-xv^MdZsie -0Eg-F;Sg0|#azarDNX;CJH0D-mJ;V}?xm6lZVS&cnDkG?%uesI76a{_FtshiW0ZCS&!Vt^cW^KALy?A -c(K}A7db6d76N`SOE#aPSS7OlOQLp--d%>lEB=ib!HhVhuWH{VbMeeFsy!2C+By%=bkU#Vt}btm( -y)EqG2G`~vYC~O2Uze?){2A<}3tWyMi?NC3D0jT-C8vkND#QDAY$ry;5->Z_x#sKpN9vYE^t36Mnh`C -qd{6RG)>>n_HNNX0xuI3NxM_>zqd7X{JJrd`2P6&5MoY$EN+#hj%Of`V51m<-pihCo@pVgoV+X>8{Ri -}=zt@(3WRk17L{3TT>#<=Du)ZCF~nZK-66=PlVm-RKU8{+(B?T};4YoTAg4t7FZ7*fN<*w?~{N*-GrE -{tfU!x-4Yi21FcuZ69uWsHR_ys32qTN^HH*H#^4VhcOf(PCS}g`MiuF*dfaOPg+NX}BN43!|Dcz|ph|Z>bSs%xvMUa0rMd4NdPJtaiO1P!jJ&Ed)K6j>Q(#I@|))ZQOSV&)9rmh=LWR25zw%!HYN2i@Bk8Mn!}z@cW-^iooAvy&7TLkvBue~M$kI&@E?0yt7zbA -`FX*OcC}Z9zL!J+c6FfD8gopgAXf-gpfT?pT4lANcM-)M&gIc+GhV9^9MNsMBDn(G~;A%xw=^8~;=~ -_k9*E&Ve*Wh|Z(AVGwMbOvaMn%xq;3h@T*Weq9psyhn6wkaJdPfoTHMCC=^fk0!5%eX)a|w4|nI1Z*2 ->Kd2qzL*NI;;r#8hTd|^fjcOfX8;oC}G0gR;Gv46Y%(sA@u}2BX{V8BIs-Aq$22RNNt(Nc?_v7^UT~K -wdE%DrMAqobBENHIca)GZMkWOq7!bgGCjCO5$$TLBIs#E&6{VDjHr3@ERqp5Ii5u_qISizNJcg*f}Td -UDT1Cxb||7rWWKd8 -pTGkFKqcv|#>YCJrfcTkO|ML(!!z%zOW&nco^X;8t_PKLCK@~o2~t%p46WJC>>=bVh_8}gKsA+3iz<7 -8;NBKkqCqCDSZcu*1aHLSq|&o&uW)8ok|!`jU7T$5pKW_YT}usR2xX)>%8na?^P!HNr%f3mPFHM7k?G-u=I*})de2*c@?cO&@%3T$szxY_)Pxzj~h_K(lm~gac;(=N~SfF%bIv_W>im2> -Sf@wWcOS(C5EzwX%gi|FF-B5BmJW_Wgf&+kR>({NHz3?p$>oLzlH<*6U;FvUbe|#=O(mNeo@q?%BYUk -2Q*pq05<};|4bQo5ml+E#7(5K6Bm4}sd+IJxiDg^ -8s`o?HnaOJg$eXIyX}C1(C6&iM+}VlLPnnn^f|ZxvVqX&%*J&FLZ5T1E*c1Z&Y#|EAoMwRz^E*NK4(@ -N*(T8EHxv5|gg$3B84F9G&za)~4TL`DcG<^5pWjTHI)tMT9-ALG4NgLRt~2J4_E8AN98%inq^Tw;^f^ -Cbl$|Do;|5}`+|~_>5OrOgRD`)#GS90Y2MGv -kI5Y%kkX5KRy`c%*n -CT5o#l}o;gk-A3ygkn;sqbdbdRQOKp0(CV$%L#@)HA~vH+yCnV`f4$jTkc%qG`mKnGj7Q#>|9h8Zl-j -MAL{dG9h(TrzmK&j_Cv;6H-TXih@e(curAJX&uce3M&1*OcktA&{rMFDGK_k<2Xe@Uv(6xDCnz>;S>d -Z)e)ScpszZ9Qxx=7M{kOPzUtUbQ5Uaq;oI@Il?Ij7aorzA&AmZuf7p3SkzHw&#K?n~&UB1Ci0MqnZFa -%6#v>16I@2-oAa$&!2#tYeTjMsn;A-s1gXsE?8lek*aa0k9^j0Y1L|mM@qiisVQh -T23Qs0j4wB4h*qqc+GRNF!BtLXg_4b&?bgy5Vdu&B;uU~yBHsHM1e^OB!XiO3IqVHEKe(2nU-i+#Aqvx`e(4_9%kB1~h=Is4w -kTRMeM7ZWZ;VR#{PBYLylBrB+!{Uuu;V^`+riMSZEkR@9doY(;%(FR`M&)RrsiOKrKLzBCl9s4q41iu -yXO$Ys-$KJkP11~%Orm^Ai~^hJ8j(Yj*Y>))%_#Cpy6y@8#^u_k?qUNdPVnDo(6?yn8({&V_I=`{_#X -56@gq>p~{;JyBL>udA^de6hP=c;|^;>)bk%i3~TeL;Wy;gfm|UFwm=x4ozrWO~7*F@~g%?)B*67ah?H -x^lrl{W$|pL4{s(yncv#Rl40{i`N*jRC>X`~KRHn8_W&9`+jYPl;mwPnd)?Dz{7e@?X!vBI3ZFMP_6HC~BoV -W{AO);B_o3YA$DVq(a*_bWIYSY-uK|urSm#APoE@)uGVwD)w3)qk>x^XK33H*DW? -o&UhYoBC)imlJa#S4x(VXzt6a^K(Aj@Fx3TH)ZwMzeJ3dR_+3QLW4Er;Dg9iFJKKh^1$!9hs1i#yGmI@j^6iCCSYl#dcowP12I3r8gk6Gjg6+#` -*w7%|FruSR+6QH6b$S3%^8E|aiNZdN)bDT!Cl9YtaA)Ug*q1W-gGReyk!}NdE1T!MRy#-scB9y80w9j -WH6E&IniJ&H*&JUXl~?$gYn$RNe3gkkrNM(y7TfuV$KT)i8(K!pvl-vD5x^_5(>JEy@Y}?V<#bu@WxI -;7~_5RmB$qYZ9Zv8Q03!4RTA|0qsL!W6twvA&y)lezVd{UpuZ|4G -G$N-jJZY=YOOmDDOo>g7Tg*1m}M}{(_>QyyqPY+I!_`B|&>H8PbIu48pnHlg}s$I(yNOps(j266p~1J -e#SGCW9iM{gpfxgTc>Rgd@W&3YvVzqM*vxEo$JqRl*nye$fzEq9H+<&l?hS`LtRu27+HQB*)7cgyX0T -!8yN%1Vuh?2u}Jn4g`b1PgoT6WJ!!)G6)7|91_NWpRg#X$&x01%Ala87w@jz`kKPFLi3hETgJ;^82EX -Mg1TO`2nX<46!i7#<4-CoiTo#27VAe~Jopv86T`tT8A4ZS5Hx2b#p;$Z;ziMn1ruW -sM%kz5xc0@3CTgSyZBQb|zEvuY9;&VBY3B|$OIy`&`Q<@x88^mKa|%6_c$o39MY -`B`1l%u59QJnmr0$rL)BEGape!ZJ>#u#A%_EaPMf%Q%_BGESzjjFTxW<4g(5WTu3LGE>4rnJHl*4<%XlJ&V~W$9u^My -^WTI@~OEO<0z?4g9m_;+Tb8)kJpq+Z`(u*)4JEq8L{XD6$*>)I}+-9#UjCqN$6TxOzm9-6p6mYUAovi -tHvmby0?^*C?{v1Jy-cT)j?_-L8pz -UPwwoR*xC~x%;?u3`RD9HQzY9*mbzrI$9J@+VUR?=mV(5dI4Qd!G4$}P;X_;&X`MNaB1%%}Kv_W?yt> -Mcy4_;&XpMNaB1Oqlp~_q&Rm)LWPz@$K%Tik#G2nBws5?&FGFEpK5i!?(LnDsr{Fl~97?io669O7N^A -FTsQoJg>-0Frfr5D)JIcD8UIuUV;fFIHkx-FrftBQ{*Mc$Zd3mBIhSsjNC>C6nS|wavL2|sWmk=y87ioCoTxsC2s#l`r|Y5)uD+zmp1fTb<+yrMkv+_?F2XYCv -+9vs{3LaeZb5CqjhpsJ*cz(NQts*Zj40T@By4-dl -P>a#!9`#}xT}pJ+^NgtaE=o-uoew};3@P`h>+&IGiy`G6bzMHBY%!$Vqpr(`lr4mm-|kV@<+kRni%{? -OsOxe^KWD9sLRQ!1j()C-C_!~y?&#;bi1kj@?T&t~izsh(UGC`Tx`^^t*X53Wu8V@auO3tq>hIOvN`l -m{8o{6zA5#)!fAxqGFM5m-ezHeN$i04|7KkyzPqZdri16FvTDf!TK|@k^By?RwJ!nYkj)bm@?9fJC<3x_kb(VBzpZi}yzNtmZFeMVUF2S=o%*Xv$oaE&;eXMcHkx%Bc -0;?m$km-r%cWX7{=GU~dpK=f}72S>lqrnU`voy7$T&{;Gz1udLyklx%VIRj+bK -D`#2d-Ya)o#n(kkT;(cr-sdEdNB&une^%_iF^`wH%I-&07x`cGH9BX6tG)3YlQX|Pc3u%&)=?#4AmQ8 -NZwPAoUvD}a$ho=g`nMHfm!9=|6=9d2_3tRcE-Q_d7Ch?@D8d#z>klfz7Ch@!n%vxW{b5 -Def@l4^im(OG`iG5!#4bG#465(OESp5mkCo5mkCg5%o2pi29mTM14&uqP{LGqQ0c3kt2ql-mqK|^ -tEAyBIs*Fzar>s!+;{_Yr~)-=xf7}BIs+wup;Pd!-yj2OV0hR5%jfTl_KbC!)is)*M>EUpsx*U6+vGc -)+vI%Hmp|!eQl6rPM%R;8x>Jsn-o!B>Zvp8YqKKiYl|Z4YpWva>rF+}*EU7e*LFqJ*A7M0*G@&$*Dgi -W*KS4B*Qg@uYmXx8OL|m!PJL+;ms4Nb#O2hNHgP%irA=H;eQ6VyQ(xM|<h_7a(|VZ0Z|v(kh -N%4wi{D*u(*GIY^5UX;<2jVzgIk~Dv+!gAyA{Pyy5q4iQo&f -9BXLoN?gxw9#sw%NYeQwR9BJ7qYYvXH#-PbM;E5dGh!{-%Y_q8>u6s#$q-K-S=3(9AYZdQb2kXNcIv4 -VVV*C9pFmmC*dBb>pyUB3(Cyz@KM`C)1J{P~lLaOU7{b+lL!zHr>!1^YU$UI(kd=iXVX2)pGSP&bB^- -*e~QR)pR1HfR;aQtySesuYX|>*0(wg3CPmrXuWaxKArKR&~!zn%}~))noedSjIiS;<6(6!&UDnfc*P1sJ!5{XUyRduch*}C3RnLrQ?Zr6r++lMU^mR_PjPd6A4cZc6`SijLZEi5`Jbz-jqM)zYH7e -c)^`&(K*}3_n<_&|szPWHw5&Ypv^-&m)o?Whz$Fk|U^%^u`TzYQnDMhfawc0vhe0px*gd)U=m(|QMPC -av3LoKY8{^o+Vl^Cy{9oGtgb<(q2HJ-w__1qaXBCL^~k!(hd5O3_&<_7Dd=XProfN|{kP3jM^HhTVuH -ls+C&Yn<@jYO#)S6w5-8>cnMMWS?ejn*h6O6S*TgpNe%?0R*TNR-ZPHFrT@mrf``yfLI&Mxu0P2oj~U@2R$tD4pA{l@5v0g*P?+MWS@!U2_*gl1u6dkSJZ4(1;I-(wWs7h9glryGw&6ZjgOkn;j%d=cm --Bktm(Hs6AmMN@s^P;^PL{E7hrUgX}l7Ipqe~llv4Qgd9>&fJEus8wNpNhcviAqIB-Oeiss@^DDGsBT -+g(c~DW%*ZgKRTqH^tmYeUwvDNF$8^UF-)Vje9vR9i2LSJuaClZO$xdHWXNR-a+Q~N@q)H+&jkUgQ2N -1}A*J+);dN@v$;6Ng0U>d#7KBsL95~Z`tHE2Sj -bZ))&Jdh}z+oVoCW0piM1&Px66>8>4lrF5)ij73+!Y)nLAW^z7s&xa2(uKD*pw1bRXyA!N>D)n8B@(3 -z!{!a)4|i(Zfkf%7?2B3>oY{BDNCWyBFfxRFoiuL<`#Pne780eiZ)$1>iBcPrVs-S~h&pquj-K0L?m| -{;v*rV^N_t_1K|B^-BR;H?p53Wh#zN_Z?J5myls&Ur%^a(xXGhhRv0QrgEp3;(Oo3>;fd$jEm(+-`Vt -Q_)c@5atR#ghtOwaArG*XvcG;P1IYI?zht5`Ozhh)?U?bk|`A=XVV?9hshh0`<3^$oFddghFN7gkQso ->#YwmDBT+1|ftr28$)svqReH#}ewMLn}}$ulw2p63Hq9jvsT*{C5T)>+St -X<&_2*0bBShmS?pv!iOASYti=&S6CeA;-;cAtc$TpN<9AbK5l3!usmDDQ%Ikyn240elk{9&+k*eh{e? -lriYKE)eF1KYrti$Rp*Cg)w7qh^~0j-nT?~0V1grRXIM}@_lCADSWZ2^O@9lEsTX!?_=Ba?3u9VUv5< -PLYVHd9nmeZ5Ld?sXJFVR&tc#voqX9KmMbGuClfatj`Qt{s$Q -nK6WhMrj|O35&qHnVa>5nSe_gNk5ZYc?xF$Upw3BDl;GLy9(_y1EET*r9@n>^$VUht9#I5~ -*tJ>_EMotpB3Q%$^INcp0|ykrA`Wg)ghpvpD;37Q=1yN$1P^w3N|BubT4gbZFyBz*g^zKr`J)#UdEsL -aYhk&$8WG%pzNA||SQnuI*mqJ9`lS0*9~_3-e^^lv-@-YqL>Puz7*H)@7;0gsBqcHoLw$4kgd#YUfkT -SWCmm9o#4yy14gh8thMJM%@@j=L(S|^8Dbb}X0IAKhM{KOF?VrT!@N8k%9 -xQMhBf-PC_*1+$ov*_J`yTr7>1f1Ijsl*)>bu03`5OoJd|M=YIdhe9>Y+x?`Q*nVW`=&TBCTP>4k@0Q -Nqri2maJ|2bIoFnm2_98&WZ2q-t*EQAO}z8_febvS>aX-Jt#IrZ7@9cR(vRMylp?3P;9~ssj?9WgMwG -pxzQAReFkCjWF_YP)!gcRdWZm`e3AL?p>|>7^#{&vO*DBoRj7*v^bjK%P>+kcR>Y(k*c|i=C`1)DXri -bshVG|^${ag^CQO -IhFdQ|1`J5u;eoXs?;iv^UV6H|8wBCA85!$i0HFCpn)a;70ih@%9xPOgWEXJeeS8i8iC%07@2AjUQps -_6mn`Vaf_gieG)Wc%1>6^=1qcPYtGo-Z)gH1ET<}S2SYcw#&VAISR4d*%7WZE_kHf`Oi2(6T6$1-lkY -aD%xgM%8aaueQn#uXtAa9~gox+w>=ZR1GNyZRa&Njj!Vk&z?~>3G!Ygnlwcl4hpfRRn!qRY2Nwde*M`9$&3^!*ONivDf3?oUi6XrFbuLPmvD2yb{ZGTGz1yGqQwA&+4aRu*n8e7;KuG) -L;~YO*SOLVAK3MHFpd)&2P|}g~6uzQ8hsfHq9SUJHuep{6Vc*7;Li95(b;*k7&Sw!6w^Z$6(XEX8ke@ -Hreni?>S#7!(h|=QEeqK*kpq?3^vW5(E5nMCL6SIuxV1iO9q>?Dd1q!u(o~}Y+6{QQ6LAKc4&qHgH1L -H#9))n-EI;KSHmt;8)50;Wy%=mVlkzhRHvRFPy{Z+AHq}g9O$;~vao+}wws_ -v^3H5&%Z~A7r1`!x<`ewP-9E>;p@xUtW7-7Kaj|axJ-+>XQKOQnUO$<3LObsZ4)-G#c;#N^tITFlIKd -mIl=;`N_1PML;f|3MJGdHC`=B^;1*Irj*SD{onRvvtQ=JRvPQnCZe8e~V61ucAj**>$y`;IHKEAQ)~P ->;XZ@w+q1TuM2|1phBi|4tGsIWnGKyrU$j=8KI=f@;3ltR%?oi!Dlm)V|oIB*^TG-AaPQz8F;!KEJXgvYfT+qOvY)`g_U>s@<@X5; -KfeXB-idskg_J1iQLDp(M!i_GKmEtG`;VB)s2k>5k^e0p8a4M#k>8N(uS3ul6emzw?zOzPRVaSA$Bz? -|e0&1iv$^1ivHcD{h4F)jB1iR)4it3Ep76l2HG?TB!u@wp~f6LtkxDg145`54QvO>ZB69+qe?Efz}=L -(!Ww|qbL5A)++Ryzt*~gzVX-E5}_yimDWUbD!-O+n9I4p)+T0>aGtX?2>DOUqOZ_hTeVC;3wb*L6k8kOPX1*PrsxOb(--G^++xLY2j@$d7zZ3SpjLf_X^moEO6Z#vs&n(EyGfOhnExL7I -j+@^@x9-cc=9%c&eR>f52>^Y+nD@deAE;*0h -(q2i17KB)MTy$>qBWbX?qzP-ZUSCSdAR%9wxbOmp(Fu#YcV9nIj&=stini{%-xBJbzpeuO0-~L{M%=} -)H%=})^-|YcyAiL-j)=XuFK4HzwduC)tW;xjHL1kSs^L+)G`M#3Od>`~TXubix#G2_hpqE%P{RT|Cxj -ks!6Wzs{>3gEPSTlW3%)GfhWZ$z%X5O|{c=oMgY2|2hUi8cn3+? -vVP$PH)l^eLd(~8vfvSDaoXor@v}glkOwXyAdC!u}yk|wG@7ZFYYTgsGcxtBaiA0ABj4_X=X8N9($m4 -=$%;a%FGtwt@&}`nbMP}X;`m+HwX7kj{yk|yc-ZLjN?+GtzBZn5F7<(VQsEq(Hr^iJAnAGDU0LOz9@knUz2sVJ%N9X6Ea8#-(#?KjZHng+H*7i${W4qdEi -U^~nX*>A|nMwHRT+IOLgweLa~Yu`m&tiB7fku}qI$;8F#yJU2+=3O$nSo1EKxLETp;$qFa(8b#Opg)^ -K!2BSWL%;+fmqS2a)#VT}<^t?}(4Wl{WReRo_en0md;@a1Enq=nppg)^Kz+@oi5FRk-&n5wKcJ%FgLVq?1kh7z2?}Pqq5+Ik3zPV32`uYuBcJz&0y3*0t-@ -~*Z*O~9Kqi^qH6KUQPGlN{m8&iW^$GgjpzG=$4?C9HfK@({^(3l?NI?$LO(WXutAApqtGxy~-eS6pWovxHn{7t@4X+mC5NHPdg$sEzB;Vw#Za&|*xdX4>`_>?qo2 -=49skx@6}2pg$WIU_7X1=KJ73ZChM&EW_M~_2;hL#8{GRH%sYanERytGxx!N+BU9~_Rri0|7qI*j9=B -v+z0=8#@?5anfo4*Xe%F)Xe-733|l%;BO!6mLyzj)tKQWcgKDnYR8jA0g8{eO%Uucq%hqdZa|jratEo -*QVDb8w=S`r>;kxrCP{s1~y5TbSwaLtVQ1m5xUq)u`%UOBMeH`?#_Z6%>=Dw25+y_HFuJ;ujbUd#26& -!RtX77v1%zZG_6ZXE8%-je4owfHh$;^Ec=$QN3Wad5^syfqxgN|p^nHC&$JfqIE;Gm;1{(^&!XSCy1^ -huy<81#46Fb+DNvn=Xq4+RGujXe|`bi8QqOMBWw!9mAM_P%CMdnlq-PkSh$c29dKqE1hHD59*VJro>t -wD!P3M{5rpbhP%sK}Ty39CWnyz(GfA4?5^*?u&cdgA6*_`_kU_z(GfA4;*x~_P`NEYY!YzwDu5pdfNj ->6shEB9F_ckM?`n#C8d7m0Nb2R8|{ -m$me5+}HOrKVf`HZ>jyl9X_{=Q&&T1EkThYHVs~V1FFqJm;Dv4(FV6Rj(xty%ly#-HE+7RjSp8!!sA1 -F>!$AqJMH*seVyQf@gPcrqsMuuGBo4!!ce~GU(!DCBrWEt=c;Mz|u&mzB3132AzI6{4!XZni_-*vbZn -Op%nW?GGO9NoI@r<{)=*@=8L+d);(}kWXRQ=w&aCQ*te3*kp13{_xT+5xc@3@cpaG`V7*O8<_K7obMR -x>35dfV!%nFf0J)!xviEkBntM5xe5r+2g-RhcxVyIl<9IvYBaH^>=k(!#-JuHf$W6X>!NjtH -T@iUQTxO_j0P>$LSb&s0a|t#bWcL%WZ>w|L}Rm0F+8TQS$;^xKuRx}!QU -VkuLz?svP%qrSJxtbzO9uH=2(z1nlJziWJ~p>7>$!LBS*kgO{zF~#}b@>Pmh7uPDn-U!RrDN2CWD@uVj -C~COMkp@Nli-Mqte^U^ak1zYpkfNeT1!*i{tPenMOKf;cZ1gg?MyP;lqK#e#*9hOOCW^d_HH}86M>TI -`J*s&l?@`Scb2Lj;^G4CLnm5Xx)f}^X|55;E_WmaYVOH;dRuE?N{ix|akW}_tKna%iL2Gu)Hkc$+dLZ@%2C1pU@`lpvtnrv#zee -kBOP4k+QoMkUC!9#X}Mq$+Y-WF{c$DuofAs%J13QJHG>ko!I%=rK&G^ooQgND -gkxDs800P$4mNt99aeI#nruf?cA0}!f>*hqgiGp_a88^M&VJHXkn@!Km2l~o5~dP_l1~PRzZkn{!T%NW&U0OW< -~TV2z4q_5CZ5}L2$E)f)G5X3PSB{C%K_CBBK?u=*pdd8B| -4l*AhlJ2o93rIut{~{+aRosiKT;6%@q~h)k0%ubeLSTg=;LVxK_Aa32>N(dLD0u@3POkT#|nbKd0s*2 -Y`&l%*vE?sf_=QCAo$jo1z^^~D++=>exe}g<5dMgAFnA0`gmPI(8o^|1bzHWLD0v~6$E|!LP5~SFBJr -R{7ONvkAG1R>_dAMRT2#3-xLG``F|7y1Cd^Dl?DU(p9*>zNZQLl(q0CV_A-#Pmw}|c3?%JkAZafHNqZ -Sc+RH%FUIvo(GLW>Ffuu_qh(vt7kKd}&UN+R|WkZc#Hq_{4LycZG)aYeHjb1j?=w(BVUN+R|WkZc#Hq -_{4L%nhs6>=E=uYzDg|64&Yq5n@o(8t|_5|~yvD&Veeep_L}iG~nOCeGF>V&ZI_A|}pOC<>anH!z{73 -3OT!lDhqS6(OnHzfTboo&5(CA<@}?ND&g9{qHJ5qI1Cf7P3tP=C_b-8Zf_wMCX8XJu0k1zBe$b2&umQ -cN9Ti{reR`U;PIaL0|oc6+vJ9M-)L{{YMp1U&j?uUndn&Ut@}>uW?1x*I7l-SO0lM&{zLOMbKBjR#7B -S?)A&5N)_@a_xj&c1bq#tIbhn$y@5eR(AR*PD^?ue)3bZ4HtlP*BHGs)MbOuPnmJY*-y2XfN5babzOYzS -Ku`s4q3x4)vu5+o8UWDWbmAmOIp!+H!~bQiJW#zIG_0eaYD$Rp!$NNWD!DE>{!-smWm~&GfJe2=i#B2 -m2K@aF+@QGiauVRX~_NGd-yO9dl=<2i5YC9-JQ3HXO5NriV`{%7N5-V!q7uu(qs7D^3rqo-k8pT2E%K -kaCq!kqe2kCszk4|8J@g!Vp+tHSJ=X+7?w%BfN{SmZ#b2UjVAN(a@8=2WSA(VQw(FPc- -O>P0b8W_nP)C}zn_52_c%6q)J4jf$Ys!A**w(n0mTx!ZKO!jzWjA(b8GvrG@Ev%_ST=^+i0km{WtQa^ -}kEYm|8KVc5b^pLtpKY^vf65i<{jkd6YcUsR`s<41}dPp5Aa?R62>MyW-cX~)2Dpv1K52?Q>yeBItX> -}n5C4E8>C9UqaprqAL6qL03iGq?=KT&u|7nHQRj)Ia_*HKW?>N*OSN3O6?_Sag?kbwWS)-o)T{k2NI# -5PL5QJ;$yvcJ|khJ607wPIp*>|N7SDBbXDg*CBvw`k*nfq}cjYRp&>dv{ok84F_X4y!R^J?!1#&5A;G -zWb&IH&_jOcbmGl(t3xeudmNekhx!Ghkx&v*@;PYS#0HVzpU-ATTDBd>lQOk_BuP$>3*3#jI}OHm$+Wd -8K$C`3ow#4toh5y~ST;jUQe@C)}oRiqgFNuBqOH!}5WQlr^w3fJTiSJE1UM@+;*T1B@#QSx9y-yaMv| -g8DE%F~XZai#YMEKAdNd(pNn5g^r$GrcDd3Zv2)WDSRn1Kz#;|4YfPZ-!DJZWH?@RWfa!Z8Cg!qW!kg -yRNw3C|c<5S}%#Bs^zeMR;CeBr3mPps4(!fuhe#28uo>3>1A%8YudlGEnq+*+9|fdj?XUoBsd4zN9;D -B)xX;U*VcemZPyX@+&YPa1hjTALf6g7*IC~*>1nyGoJ&0D;cv{iX&GLy+ -&{se{(J^M?q;c+MXt5aT(2gg}hv{80iip7X~D#CXon5Qy=dKkk -At#&dp_K#b@72?8;m^Ct -JT-LUN%Pdui6_ldLnodzPYs=T(mXYE;z{$=(1|C_Q$r`7G*8t|JZYY)op{nbRXg#dd8&5eN%K_gFQw8 -tFzy7FjwY~lG%@dRyK70{KI{KoWBsL`$#|O|4Q$}=X5PE2x@&3RKI1P5GaIqj@O|#q#aWEXcSh}fEbu1-yT06euh!l*KNNYO>vH4os`A3$Rpn*izRC}69@w?yt-tHbzx ->FF?+di=%g)lhuZVmq7m@$GMdDAPMW9~_uRKI|EwH;ODxXqC<;SD&l&!sM{BoaYP!9YQDhK?FioI)oY -Lo;2@0L;E`=Y@2dG9^kyH@!31*lvmerl8fb)pRPbD8>lE(5#G(gf}cqFlM;66`<+PmiSs%-uH -s=$y@1^Q+GU3zq1Am1wE_g|Iy`B7zo`wIR6%iguX-wmh^RT;Q1kiWyg^9}=X!|Kx0bDIYV#Hnuc5P>+ -=Z5}2Nr@GA}1meene@dV~ -I}HP~>@cv(+pllw-d6`U78jDKJ2KX1UhiK2vmKe%_z`uC;YDk_TnRbCWjf&2VbcN7 -i%ehzptQPlYT9DQ*|>Au!~jyUkVvG>FMy=(l7%kG-@n&R$S;5p*lf8IFvR(ahuKW=gE*RiwZLX87&0lg9-fz02s0@q?W$KS_0Rc2BbAQS#bAQS#OTT>q -0W>OGe~Azf`l6xlaYRGk-_^9?hqG{nyXGtVq4YKz!p91 -^!mFZ7fpL+X+lIcGG#9vhVC;p<^*UF>)3a@-$;P3j!F`_!KJ8FEdD{A~yiv#LGoD|;o#er39oLcXB+kk$U`b?4-^;Y6Z|~aDUqah}_tRbT`mej@sU^1b)fZd(O -Kn>=UJBXL-_>^4JU-iiM`SC1=(CldYTY&eIVyjbVk_(Mxx41^+3x#BbYJEzd2Qtnr8c0h*{1M@ARAEE -Z0m0sY#Vsq)>rFn>#G*l|D98J&CfTxf6CptFAMNF&sy)kJiya#$>&X}Rp9%oDDs}8iu}B+0w;E>z|>p -qzxkK$3w+=Hn_}rcKhLY7uOd}Lf1Ip_{y0?a`xSKGmw5aQUGv70I?z}3z|WaFpfJ{ve;U5K=1tpm1a< -4CH;!HI{$HgVTD;+ke*^pm{C{rf{(nd}MWLG>(M@sarpI(s61wRL-IRuIdP+BWf>Is%_HlR38$#*`m) -tjIUi-a*%kCR9Zvr>e-Z%K&hD-2Yz9n!|8~P^dTRa}ue-q#2NxXIBOW!p~yw3VXzN?}8m_Lr!fs^@l- -1@l?P&?~=C5`U$$K7s)=syCUeE)`!o~nOGNYBq-6Vj9NH-z*|{4F8<9`o-B={K1FKuEv4{2d|v*76?- ->GzfYL`c7>{AWUXdjFn~p4ZErW9Li+f8Pe>o19|-B=^Cv?3`1~6 -oeSH2*NFSenC!~+he-P5g=P!hmilcA}oj3|d(21jP{+u`phtG+laPpiu3dhcgqj2V&I0^^OiKB4ZoHz -GGv)uxD}P;QDi3iYOlqfl^)I0 -_Y~h@(()iZ}{2r--9abc#3%Ri}ufPnm7uDr-`FbcbYf~Wv7XwP<5I(3 -Pq=hqfmc}I0^-*h@((}iZ}`-sEDIbgNir`MW~3QP=$&(3T3E>qfm#6I0}WRh@()6iZ}|TsEDIbi;6f3 -#i)p*P-==e3bm$)qfl&$I11IKh@(($iZ}}Orii1)+XZ<YRk=n<92XwJBmJl$#=ULcJ+sC%oN^*a>e -o`^rvdX((&{?|ryd1cnU?5g2wRL}1vG5P@MILIj4*2N4){97JH)W)Oj)CKVAFN>UMlp&}I#7z$DmfuS -B15g5u*5rLr^6%iPUQ4xWm78MZ~N>LGkp%N7hvQUVMXbg3zh{jNcif9Z~sEEc;goTjP=bmES* -Soo9EAc@#8Id}MI43lQ^ZlIK1Cdb;#0&?s69m-h0;^RQK&pc9EAhP#8EhnOdN%y$iz`NhfExWL&(HYI -Dt$Yh2zJ>Q8;@{9EF3EhPOdN$H$HY-MZ%iD8!^Xr>IB85Ag=5CVQ8;5v9EAhM#8Eh1OdN%y#l%rK -S4{u6J&`X} -Ci?@zn|)1P<)jz94R?0y>C!0RXWfYDFvsXPI>#vj_!s8)G$c#S`kXPKP1M1Xh@8MAJo!#2E -V4I@eF=S8>|Uy7fDrNUWDg|n6lXDt=ZS}L5iR5)v?aMn`ctfj(PONFzM3TGn~ -&PFPnjZ`=rsc<$@;cTSB*+_-6kqT!c70yN~oQ+gC8>w(MQsHc*!r4fLvy}>GD;3UGDx9rUI9sW3wo>7 -2rNY@tg|n3kXDb!XRw|sWR5)9yaJEw6Y^B24DuvSwl)`BSO5rpErEr>oQaH^(DV%1Y6i(y+5Wc&nv`s -Tm+NK#OZPN^twrK{Q``ukr+NBvN?a~aCc4;D|U7AQ~mnKr$rHPbwX(FXvn#kA2Or%sx6DifwL`tDs-;PkYH1RsTAD!jLqp?b3G*)Sh#wv}`Sfw!QaDYe6i!nqh0|0@;WU*}I8CJ#PE#p`(^N{~G? -h{~%}^|R -5)v?aMn`ctfj(PONFzR3TG`9&RU(}G_}+@YpHYAQs=Ct&RMH7oTgT1I87~e&|2!CwbVfyse?9B2W_Md -+DIL=kveFj&TyJWs-cZkLmR1vHc}03q#D{tHMEgxXrs<>nnr4(jnqV2sfo5y6Kw;UsI!#RZ#?KeEM?P -H%BHQ9OwtnrJIE(N=1rt<*$Ysfo5q6SV`SiQ0kEMD0LnqIRG(Q9DqYs2wOx)DD -y;Y6nUawF9Mz+JVwU?LeL6v;(D#+JRC=?LaA`cA%6|J5VP%ZKU*38!3I%MoJ&Gk-vebvTFU$wD1$!TMyvf5awtTt9EtBsY)YGb9c+ -E}TqHdZRDjg`u3W2Lg%SgEWwRw}EFmC9;krLx*ssjN0pDyvPD%4!p(vf4zctTs_9t4);3Y7?ch+C-_W -Hc=|8O_a)N6Q#1+M5(McQ7WrVl*(!orLx*YsjN0tDyvPE%4$=kvf5OstTt6Dt4)>4YEz}M+El5mHdQL -CO_j=OQ>C)nRH>{sRVu4ZmC9;UrLx*osjSv0mDL)hvRb25R%?{XYK>A^tx+ngH35~?SxV~n6?7j~Laa -4Ph_yxuvDPRd)*2cjBy1wnlrKJo+gf%y2!g}^WR_?n>PUn|i%OH2KlhVIjSNIxB;FYZJ7X@;Oaq@Rux)Q9xbtP6p~^ -yvgaeMtXnmc9{OCT2L;Ow4fbnV8{VG%>@$X<~+h)x-=3uZbBx)G-COi5U)d6EhtACT2JoPRwv{oS5NY -IWfb*b7F>r>BI~N*NGVpwiDAB+@()P39^!-;4d*p!C+#Jg2Tid1&fI}3Levc%^oI9kBne5F$2J7;xL2 -J#195e6ZdbUqtfUsYIGJgI*S^eMUBp)MrTo@v#8No)aWc~bQU!_iyECpjn1M*XHl!OsMYambrylM#Jv -I55+_)z6Rgz<*6IXnb%M1z!CIYQEhZR$<51EUOeUr;xJ*o6u$hRy8Td>@-wccQaWn&ai -8z{pzeF6(z+fVdX5cXKB#=dN*vr6VVg`WA#9;=T$$PL;_HU%463HyeBAG>5B(o@sbQZ-ri{elgIZIak -GLY`mI?-aCXt7STSSMPn6D`(>7VAWdb)v;O(PACaSSMO6R~{MIQ=Egb&cQ_IV4`y{(K(pt987c$CYXc -#jaD)oj4Eb0I91GWu&S8h;8iih!K~tW0^BO5Z=wSReihRf3@fHDI95zwu&kKA;8`(!!L(xff@{U}1>1 -`03%(W87mO?BDEL#%Q81{Oqu@|6N5P_Ej)F(U90ik#ISMY7H%}NnGJ;XX3;?H!!wgmxKNxsb+`mRg#p -oXux1*?kb3tkn|H`4(Fw~FZtb`{eX{3@m|7*T`CQE;ewjyfw={jQeo)48NE*jU~?k?WBWoGc~ -@SXs=3Tq?R5m|0#3bl?h|XoXI+LMK|G6RpsRR_H`4bfOhH(F&btg-*0WCt9Hst4wgCxOPzzI&cQO2gTFvJ!AeXp{>D<$7hN!-FS=kvUv$BUzUYDxebEIY`l1U)^sRKj&; -=v0XS0B2Vh81AAlc4eE@b8^#Qn -1)CXWjQ6GR8MSTEP6!if(QQQZm?1M`7!BF-=E&HJH`@mU={(s)OlYvb|-2^TbbrYCW)J@<~Q8$4_Mco -7r6?GFBRMbu2Pf<64Jw@FF?i5i4%qi}JQuaY5`(P;hpq72m$UbOA9|Yd1R+qUyyq1Okf~qo5h`22M*E -^M!cV82D?^t)uD=gGq^IqH83?lDcOWifEea#^D-XYgr^WMSNUGvHxb=SPtw|3XOs&`GG|C)U0e_uZI- -l5s#wg0>Yn1s`tD|ZNt5L_lOMsS6|1i@7TQv}xtGzhK}Xc4?iV20oZfjNTr2rLl%k-!qc`vg`9J|J+2 -;6nmy1RoLDAo!TT7QrVj7&-BLN}vGJ|obH=W_y`c)lReiRViKop`-Hh#&h*Bff&!#BLsRcK5mNCA5jYbEu7souVh_!&3k)lQ&@ -kb9cJE$+zcy!glb^q`Mge0|6HH%64bNw^L>JPj(&bbkXLEDyVeu)=UIY!T7G^?P*2Lw4+!ch`S~S5Jt -2QSNl;J6pN|mKlkw-H1oc$>`4~Yx5r3W`sHfrQO@ew7es)u>fg$DRLj*yfo)gpu>gU4*L7<)x)DI<}z -YampvQWQqr~7mt($Dwkiy@>x5(FWANDzedF+qJuKffTT59#Mu1oa{P{DvS1DL11J>3{O4`jGzTZG!rc -{!IB0`+3{MI_YAabg}okhwfS*#Gj876c`9%ol>#)w&L!Z&ZSuAQmk_+*0~hxT#9ur#X6S~olA+%r9|g -a66pUVltjNkIztkjA&JhABoLuQr-ok(wY#QsBJp+xO_ORerh(2#HM{)R-FMeCyV5}0Q%$Qh)OO9MRP! -m-d@_MVHkwFA6UhYn&S)a}Z*uFdX_}ZoR~t=}!1|*xnkFXD)kcq*#(S50cTEqLfkjSZ^A^D7S&#*?Ak$fp> -2*Y=lOfaV2><2q-8H>{$h_jwO_S?Yd#-aL*Ex}gR_(ar%k(RBx=-uu$@Tg^*X#RS=U1-tE7$pz2Zpj- -&luJbF``BmurDs+AoI=>3NurG9)6*|odoo0njvqG=h3!QC+&bC5lTM?LgN}UL$PJ~i#U(3M -uwbb-3HN8ts?^4sd)buU`^e#2MOHJ=m)4SC4E;YR?P47z6yVCToG`%ZL?@H6V()6x0y(>-cO4Ga2^sY -3${r9moP3sFrP3uYDZ9sBw2eJ2k?H~!P0%`w4R!eN -nBFFWor!-vq^9p@^a6D-<)7euWZ-%vUI7$bN+kL)llzGL(OXGKPw;P|i^K6)G6=43h4exBh6OFY40%R -~-1}SA_LFdf@LE>$~*8uNmw6^uTWz>pS(pZyD=*^}ydV)_3cHe_*Wd*8{&}tnb(Z|HxS1vj_f(vA$~$ -{4--!kNuvpVUK;wSlwg)!dTN||H@d~W8V=LL;U{07{u?7j6wXqXAI)^17i@sKYhiV1*3kAPWN#L@xSp -`Lx}&(7=-xW8G{i22V)T8zcAJh$y*06e7|+@BH{hG{A)t`Y4neT^t0%%e?t(|+WQMZt)HwQReeKt(;=cpPKSsZIUOQut(;=cpPKSsZIUOQuDB^ev=v}xkgye^vU`%VHtd -GgRmU_-U?wo-^W*$2?ld1kY)-%x!`AoqJ7KAHVUt3xxIY8=t&LSRcRf8OHkfZNEB5SP9q(!ut5_9y&=F#P -8)AVKsc`1HvGFbCi?dQ;knkKEUihc~1Qa^Z)q70$~upwL^sU@!Q#WLm0&G+$>>z{KjvnKVc;>UZnnnw -ZM3hzcUA(QNO@?V07XsVSW5YmtGJC@jLc4SDdA(erZqlaesV|VUq8bh~vfkyhw~;vhVKbIOX3FJ9oS} -?cb5$9ixYV??~~Eox`vFJB-uP6AS(w*7=U>m;F03ryZwm_;=*aU%43g4)3sD8^bSEM;~ay0Jm&3_lPi -G)rhS>y>Gt^4&B%IQ?m6{mv+AhiF;ob_`CZ*?xXwiz^$w`UrO)TM+OM4Ox9&AB9&wdN-rueA* -t>7Iugd?ed(G>=xTzYBZ~RMs{Lke3p0Eh8SA_MW^7iXPgu!XcrK5KUgq7<1CBphac>BXc!Yp8K34@jD -!NY|0L+M_9ko**brdFgRqnbcGuOOPyn92x|em;9{`V7#&+73}%O8FA0M -Kvr88i34|&2{A^bmMjcIo0N0wIJmmkEOq&hQh$V)gB5!XSh*_X&d#&O9d!4$5vEzeO -PIHjeWLA%wF>2^6wou-h1&_-ZUUt1|iio4t?2hSFIK?qLaF#17byY+blW7zFv$al$NMCk -TTWpQ1RzhGcY#G6OawqtnL-gBYKlAq--CnmC0Uk~7>+2=SSD!XU(Ft`P=VdS=tbU_&xGL*p!LNJeLVA -`A|vFWn^)!_H#o&||_N5OXI9gFws?7hz{HU3#!gAVgyBN5UWyb596^NSvc6f#5je0TU$0(K(udKy)0< -&k_can7`{{uqPRvr^yL+Bcp{Egh3`{*#6l1 -pN0(`$1jTW*c!@BG(G`jxXpW;r$}$igM^`D6Ky(~kedc1gk!34<8j;=czmTB2 -zS3iOO_(yRp)dPYk$y25e7(GukY)aV)Ap`?a$h11&$G)zL7p3yS@K?vY74d+m(XS6~AgrkP8KDdWL09 -Pnk;LPD@l`tsQGrfI{G7wH5PH$hoM<9f7ow^1p_KfacCk#S(msTZEvuCt^g)j)=#u{O;p}$U4v%Hzxy -9TLupN1q5%}4h?5C#j5+w1&62+t#0RKUT+(Ib8^2+t$x5ICARdPHMHhS9lCUkaxaM~`T#g7Q40$HXyj -3%_>_qVkyd0|ykhZqoJwPAHC^&<+A>^NgNQ#NepnX!9Up5S^zq0Kj3z>Ft-4kZ@da^qist6?(c461U* -s;^;ZI6hil$hIcr@IC}n$Fc=zN-X;tp_mX-W4l!;mJt7S9>Lo2);Edwv6(u6?OUT+Wv64` -BTCk%~uX1?~evly0d@Y(x3IM%nh?_l(NLu)BG)i`=X=>o?ZM{j7!0OuMlEK1ORMI63Kmt^|x99<00>{>~v_w1j~}lw;oM!zs$~3=L9njBTGS_!Pw*j#G}$a9bb)@7$*#!HLT8X&Q -y$NagqxjfQZha(sqHc6eFE_$*C%P~~SlM*)N~Khryp_~{{n=V+*aNoTt$js{M@5Q*@!+&v>2|;85>pYlD`xQ1EAbk>o_E_%pu9pM#%*FCV1&1zuh;zD#2%yuD(4o -d$GxeZ}}H2_sN6XzM<0Nug}e_!@2Xpm5L@uZy8{(AJN{7$_bznxQEY$_I^RNT7lOLgPhR=|Ksh@iiKk -p@`7r@B_m70B+CGvqK@FF>isPl+bvQh6*SqG+w0j8k7?n-=HB43JQ&HklX+zg{I4Ml%7ykXzKw57wQU -)Z_#)Tm4(JPDFdOl(D*h5391W?@9^iqC0L%P-i8uG<2y8gK#`&G5~){EW@x-ZgD4al+ImQ-3#Ep}t0a -s-v7zxAWfGJd8n4q%777lH@6i|vC5NWV*Z4~z1%D*UK;5CO$FwR>I`37MS!{@IE -gBZRzMi`hu%g=5S2+N&k&j^D|ef5Yi$kf*l34^`gvrWPvQ{SE<39e>h7Z#PFvX!r<`IL23;cdOHXC4}!&T@H%0zX?#IE1V3-*&`HAJ@Y138gcX1hNAd6=P0v -o{o23h@1oko9IYvap!Z#}?mI>@*xHGdz7@w->u7Q!aGkcdXI5s%@oG>_ccH$giFi);rnI#ZHck&=%5W -15W34`=oS>)Eh7`n1_fj|h}nKy(%@Xk^m;jabW+$XGp&r$5asM~r&0}PmPJM)yAV8-ptQ|Q2q+nIkt7 -=-COaRpBYE)c2Vbl}!IN)#~hb}p89={;a!Ut(IPcTYP&l3nyy7-tdM@73uAmrE;Vj{SB)0Gdm -2^=CwfdU_Ix_am+fv}|c=^bHx6t@o&_rb{9xlXeL705fmo1^cBS#SME!r;jKQChfw=eM&#!#G%eI~ -zm~u>5v5xGj*7tE-e(2IG8hoxs4%28Q1D>|w$%*&fnkgP*tah?od|-p->FguywnS!$rg5I&{;0z+?Sl -ZHhw^tMkf5e8|vNpm+Cdpn!NQZV**o^e}X#9aNrPY?&!O-k<^J*AucN!+HNT_6w@(X+Jb1BZ{ju>u^v$tLoXpW$2yDU0 -9FZ4o!8P6{lsJ~sfq?>i!Rgv2jR{~3ZeQRJLI@X#PhbpA7Kl$^3{Ec4$_$Lb>AKf95W|bKO#)|dy7rF -tk6;aMUnD|-HMo6|_AFoxPS-xrBZ4G0l0?Sm#OXG8cuH0gbuFZi=?S7|l?-*EdHtpva~+`dk0MDPtK_oz$3H=O)P13vhMlZP~rfNwZ?LL(mdhST+@#6K_& -Cr^ogU>r_1i8E*%J|po5jKc}5?qD2F*Wb~m5S+v5(h@C7z&f0~qy+?6hm#jHFN1YBc}Xivv<{b;ZD1W -v-jXH=*5TwGNk3p6PVZi(VHCW>4x|W!dALibWC}13caPA(4c_7IQCfF_cR0PfNc;x#aQ7%h5zNEgS$@ -Pmio2&Mfx$f7J#~e!K8Cv|C{AD=?#|ID1m@xHIifdshts={DD%NQ+`UAk0rPNsjlL9|!QD$l;TA*4{0 -3)mdz}Uha0Yj;)0P9A!O;uas(>@NyGY|KID^v-R{GHz+?b_(99V^8%?kyU=&=}k}M -`IKigWLD`5g~{h=V=KA&fxBn8^jXazulz`!XQu^mtGJExwd?Vus%@R_csZHTwCEk2!UE#Ck#?;{V-vW -YU>{egD^chOBjro8}}a*2ywc9o-oL@CkF|GT-$t47)*Ja+!&bhHXjhyr`qmw>KJtY?j4~o1@~`z^A%y -B(%d_Gj6j(5?#=SI!q(y*ZB$F}|90QJB@BL&`TP=L5X85y34`&HPPdle|Lwlxr+^r~nS8GF?` -3*0I7EG3I*T$0d6yhzNFaS1XslJl~3KrTIaXM-N*j)!}qEE%{M=M^Vk39uYdT{cfbGbfiK9HZyFr<)t -7(#ul;{U?muJqpNad=)cvP%|7qQSX6`?8_n!qdgPTR|il|``wJf5hMbx&48W&OPB5Gbl?Te{>G4~s_F -Q)dz)V`S77gPIUYF|w4i>ZAHwJ)LeB^+34UqbCmsC@~wFQN7&)V_q;ms0yuYF|q2OPP7pzLeURQu|VB -UrOyuseOjpXQ+LK+GnVJhEs#uXQ+LK+GnVJhT3PTeU{p1seP8(XQ_RbbC=p@seP8(XQ_P|wJ)RgWz@c -m+LuxLGHPGOgA289Z+!f#U;Wj815ir?1QY-O00;mj6qru)nInLL3IG6`Bme*)0001RX>c!Jc4cm4Z*n -heZ)0m_X>4ULUtei%X>?y-E^v9pT5XTpI1c{qUm>KJi!+zF-NhcT7;K8|URz**-J;hQ?1ye)D7G?D$F -@>Qo=pDzk(6Z1d7Jb)hc$|su|!cM^^hXzK4G)V87ovNo0}`v+U4wL97&SVXp~f{xLwLhWa}-Pv9}esO -Qq|XY)Y{f@T0Memv_=Ay=6$paDmB^I?^#@Fj=3xhvprCctP-(eMO -&!l0cY6OD?oUMhP*_9T&WD9O!N;bygn_BwWwN?dkq-ognqv1E=DoLI{e@=q1IYZ8`L9ldeR4q`%@r35 -B-d-hHmN9&gIO7G0oK9$1+!tbP*^3GV*diNI_6ycpg6cibDI0@;6;Uzn)@0+D5edS9_B5A*H-G&#wrn -9hx4@+`VsGJ%vP3mb!e6ACnVs}YXPQilN^pbPo@K5hJYRE=iwHK-u4ulK@*y!!vOG(uC+ -ylHX4Ea;GOHZD-N-_)rB*ewE5Qt}1#>V0xsHf>004f24=dH)tXQMKL)yj)jr-lgflirG1Z6leI4{69Z -eF*Qm22<=D{El_o70-UB7jKM7=SJc^Ga)_!QBAXf)y19goD>H1?p%IC!{7?e9%5e*6^yLebKoNti)%4 -aNzKwaT|Hp117=EJg(VFRiz>0669iLJ<5R-zObcxLt*grycWR7sHR)`k*s$@2WQ@gwQ!7RcSH=^a06# -&gD(x1yixWKQadL0%NMPsb&DJ35>G9jep`LeaG7J1HOy;d5+;=-t^wIX-#N#e(sZBt -mKDia1&_m{!FZFqBgfy!ZE!*v6%CP|*KKb5|9IDY%;?az!iC5YS1=;cmmgZ9BV*)d_YDqD!-iCmImD{ -i>8I_(IiY~;1f-PmYyMds=#vf(^9=HAo?8aTQ~=H_9m8)5SXJac~&N0J4C!7lyW8<;3Tn -81S(wDX4W@&Q~?wH99oSRYSgIE;JfB4va~dF{+uL<^8*qj?IMM@8sZOs|8_c1WG<|9w;sN@z^A!{mBhRo_4ie`S4_W#Ee1Q&KoGLCd`dr03n|F -ixt0deNlpY{5%t;{4COu+cTwgc9lE{u^uWPy)4>BK?RfT@yu-~(wpoeB-8KaP3avzO&X7w=OkP?8`AG -?vRRiRZt4Kw83tkK7sNzM~Ri=~Ze1!&(Kcv$8J}M8x8}k_ro(~=a<$({#KG^LMr0<>bkm&A$!O%T8hG -W;wIfi$eJ%Z#>06E(o%yED4>Dt-;5N-dR9?^xqG~#*KBX|>JM(otQ6ezk+jbO43xAQqr>h|50KN91cv -~V%|d$n+QLu_H8f@yh|Ts)|cli*SG$=|QI7A2x6Rf{j8uwEI6IgpLWM%p}2ji{DWSZG&%79SkUa18EE -{FQX;LIUiTSr>!mZ$Qy#c@PJm7l)%XK9}rz8CXz`UP~})$x;A2ahyUzBQ1ho++pm|TM9HGi(iT8c8u_ -{$NM>ZHpSJ4ZVhrRyW$p(vDt#=g=$Iz*1cXv+&gL?r^Wr6N>|LPLf}IcjFmo}7LdcxsYYC)uzgI_U*; -(5fk+8SV=YR_t$?anF5_LJ9YX%So6N>1(qZkohBBmvoD3XyB*P2T(9E<8!q8~apM0nW@#K%3^}E9n2% -qbL#8JXM-Sy>16*|w6QhS^q5&Pc?XzmFB{04Al+BIg=hXogxBKHWQeNse -m^bN2bA@~jefZ>SL{MRAF&HYG+CaL$?_cj!dyDfr@iw}26rsQktnA0k#XmqT89>pS&Kq0W#Q8xB!Gf9 -C~_nUO?`?X$~m?H&WbTRjR2A~ZUmf17wt@C_vEncTL=MZSnjMf$vQ=x-3AARJLUxZIaG3F*$hfQ{O!o -uKiP<=c20PujP(VMtNXC534`g*E^Apj{y+nNN7HiIDb|}0AA6`i^QBv~9v|#-xLThs5^S{fZM&Z+3<| -C*3CJy#uk7x?)3N=x!wBm=jIU6iLjIyvOCgloVdYILK|avN6^Kv~(%5K9lc9uUgkY}G?Bbq4?% -4c;J-c7}r(fmzWyg8+rvWvZ9}MT`N7CT|Px^TG1hN77wH1sOVv+#o29cXDFv`ab1D{Gysi9D}#zs5iy3;X8UB%uu6@rItMLotd#LeusPKIZVs~*1xg9El%nwNU5^N$0>Qemab^+}yEUTdYspdaA -N5Z>UQtO4Yg`{@z?bcl%(vAUe4TLx9if>kkGVquccCKB_14Dtk2xE^jDMu0RjAi3y9;jNF7V4GaQKjR`Uodq%RU14l+fZk0ZQe6 -M(*=Mwaj&Sk>8KLB;3E7F?DH&=p4PhM?cGSoO!VU5I;p%hPsuB(HpRoCy{op&~mf>0VJK@`>QAnUhpM -ej3o{G>4cu9vy@tBIcz3Cw=fhWBNv(cx~U~$L??jUV(4XOnkKH#jxE4&7{%7v_?-TK1nrAxJ1gMed=* -x)x>Jn(A=ziIf=fP#ciWZic!ViC}pRY1}~HGBz(y`7e2fn!V_+ahwKm?VoOfK=|_wxeU7d(gOp*7@IR -U6SMh^VUf74fY+-A2INNCL2f*n|MI>Z8jc$jrd!Q>_mBFE1Rz%ig>`xL!xXbNNngK;kQ}Zr#-#`-Y3ano{)eaIe^2(79B2>W)3to#$HNUJ+!JO%?CX|&4zy$64BBDr6^)@yH -Urqf4H!PZDuXzNP#iwC9uM}I2;^1enxmaN&S`8A<&(a?J`vi8U44KZj15Ctl7w@J{=Y}^Urc!Jc4cm4Z*nheZ)0m_X>4ULY-w(5Y;R+0W@&6?E^v93R?BY -NFc7@!D;6q(NT{nOIR>zc7HEI~c^n#`M}f9hHW5m6NUDzizDrV)t(TqXVw&O(XJ=#5g=q -@B*h*!9EwvPt!PNf`f_mQY0-LeaL6F<Mb=x?@~mHiIW=?B9C$xVL}&iWh>Dm6-+5eS -QjsEZh62I0%B3U|PciFJB!n;kJ9lw=OyiLpuX(wL)5IBrwQn9aNf^YhXqed<9!2x2Vh>WDbJRqMJAgT ->N6O0AT^<-EA(lEYJd7#vfca1GBO8F`M5pK?ECqexnR?BKcNvg^@;)&zz{F!u&~=O*Zy1YJb}ihNzb= -B&kaNR$*GQf}{?2%P>w>LTZfSHUQsOxHWM9{97rhxk02^o8d34!2I8!G@ -{K8N^D$P10FED2ywPPMo2J^>H)SGO4vk+~w=5^!#U}N}ifEndil23BFDVz$4o)5q5a_4qJ8pKi!n(#T?4EfdaZ4jj5YhE(pRojY+deBZ&#qMieGY3NC|Kg>>39Pl0& -WCH6jIK~fCsjFkWnDH!@0p0GowdAWmxM^ ->jCT-H}(XyC!#-g!jn+LC-j=-Qu$-yli@DoEi;?xRHv)gJU+qBy%2>L+7^cSN$~#vJioIHU9q)5+(zd -Pr0;NjMXdl=$#t*MM>FiVx31{+!pwEJYm$@gP`5&Rt0)vm7oxM+(LG{&n7FzmxlX-IQ9O1fv^RC5tqp -8-9n%R#4NnfYZxVdx+UTLpC${rn1I>1#{!CbslooWkhXN;d{zyyp)*Kzet!M{Dda`+SNAnuRNm=2LsM -jW-qJ9aib;d4|lR{1fojKaw*?YuyNuGOkOh){2I_ch5$)v{r0Z>Z=1QY-O00;mj6qrsSCcJ)g0{{RR3 -;+Nn0001RX>c!Jc4cm4Z*nheZ)0m_X>4ULZEIv{a%^v7Yi4O|WiD`erB>f-+b|G*_g`_igxV~4?Q0>0 -ZL~00w?X?b7{e&BylAndRFc=`zu%o?D{*XR3)4#^=kB{--+^gFg(pyR_R@aLQc5gCFVs)Ve>pOye -j9gWp+IWyC%!LSUl+l!?51L#b+fuJFTs-zrDSMiVQD~{JS)&=H$&~dXDgc5BIFX@J6k6!DlC<2m$OtE -?}P}VMz&u>E#IEYsFR^K{zy0JU84+OID+bwCVs$*esj~EAtAulU*QnGIA*UrG#`2W)yr*aD$ppu6Sm$ -nVFdwX5c~A%2=}S?-;%1F#a20D~c4UNoQgcTRk_J!nO<(ylFpUX1bjy_ge!}Ss)eQSoqdY|8IccvdHO -Mi{buH_T`N@5?CDoMXz{}{+&4p206GY=LEKm4-0yKf&KpN -6QkF1iusx}6u!O6%mmFmrR|il7o(()=0$F}=4 -DZc_J( -etuwo4b4^DRGe=Us=`ocI_?Yjpqi?Xm)76DJcR4&Kvx_n{G^eL%&2iP?pfjA4@q3QU*bZG>hFS+oj>Z -M+HyH)u{p#q%Q($el`@BuH2CBDCJcJbD|Fru`h)gF;#1=|bYXH|p5&;1eQe=9)YX&}Lp{gp!>bnlym1 -lC`8QW*u4*4+OKda(b%SHVG8$}TCFEvk>rh75W3xEqY@d*$toh`QhBb_0 -Lm8t03!eZ0B~t=FJE?LZe(wAFKlmPYi4O|WiN1PWNdF^Yi4O|WiD`erC953FqmMFA(sK?;U2Hj-=?DQLQ#>Ef{lYzV@aqG -Xs8p7ZC#7ge*%1!be-I*m)*Rw`Za+%1&6XpGBkaI4vp+r`YO^PK4SO^pmrS%R5L#4->mu#(GCki -Us%I|<+669FLfQmX{KfdRw_aK^zo!@6B?Fi!GwB{lG4J=0!>v$HcN!)Zr1`$iQ48QLFz&Ngxnd`U$H9 -s+#YI35|1XA_2EPvCeot4L3;c#dYa&P1oTstks}hmrydS;4SWmHU>NYUy0ZgD|xenj&NZ@y&R?;%kG> -o`@C_orG4T@C~F~KSuSY;0jSM&s|o>H5KlOs#5-3i5QIy%AqBsYSe(|#UKqqwnRjK`;)LP^wInn3AXK -0QOBoIx8Yq22)(j~j*%8$kZM%(Fm9NTCeA5j`nZ@1W0}mF!@-r4N^5Zce9aajPrb8*XWH6`p9692#h7 -m>ebO%R3`x~&VDyNi46z-#{rz&pydX&+06tX|;?Reo7c0a@i>G_y!LZqEsw**@1(Xd6jIx5;WFg3(YV -xuw=8)HoRTyNl?C2vJydX7++1O`{l?YYwC@gx-n4NmJsvW7N4%?la5=~kYCk&H7u_ds2cQ-E|Jyi?gDMr5^5nvr&WEi**Wz&5lhSN9xh3>kgH&28xjP9^@s{ -8x&^&NmzO_XKTNlGl|wQpS$_1Ip$ -^&CM;QM{(bwBpyQOT*=i0W>(D@x2ja*SU&F|v0AKB&1c5%%G)a|}faPL0#WjuWDMWLQHvmWrKH^{oVu -gjv(gS~YkRl+HBq4KS+tHozKTjBQ2a?sU*(`wxS2Y*4r+E@BC+5vCZ&|Ubhs}A_NZ?~a=b=iH*3bErT -O^S`Fh{Fjlwk30Lg!jZtp9SCIS1LFj>yzyW;!0abk?SYGkg!LuP(UFrp*7 -3X=gKV+{5OYbuAL5)24lJ1H{JA;baCXj8Wf0(B`TTS|(i}Y%ot!=KToSL7z|?Gpsbn^5@g4Muz5OX=8aKqW%coZqe23<~?C5R6_O%~0e8IfFqk`F@h9S>w=% -kN5=zmZpzG$E%SATwB$I&<7!3kAG_^W4K)Yst?*N3_)TOchs*8>xyMFlM<=*56zY>r+s1!c)hLT4z;4 -*B`R#r5@pC=-QtN<|`JZk#|t%5$}HVaD?tt=W&a{HgxUn}20&I3^aG? -a4>N3__tKKP@idia7MP`R&1`qnH7RN6H24j5$+$EcM|hL7Z1sa%ZJP5#S=td&G#kBl{gvmH*l@6pleP -RcN^)gHXw7{Hz&D>1dYi!=IpIg#TTA;|E(jxJi2wF&z{d~&0*a3x{$1Y*Y*eWl1(ON!hu(-90Xck#vj<@uETgVB%6pDu2~`;Yf`w>N(qH*^Jr0gxT3-+ue;przJ0Lkj^-P -cmo@oHQWgHnk(o(hhM332lG1?=AJknPG46g&E-svH`nNy2cRC951aVn5q-4(4ctB=+E`@>G5wSHUEdS -D?%r&Lzp7m-!ai$N$WUs!t6=`SMo{FeQDsxJA;d+*5ukYMMU0({lwo(Y#d;@`@N1IUqt(>?anfa+j|1 -VcLG~C5JZ4B=dI=slOJ{lc-7SD9oVw6hE*X8)hMYjbf;!4w6k;twGtse`fBOYSSX)#PUs9<=?2c|iKt -G#0=+t=bal|KhP%ec9b@C|-R14{h0M0yfm3%l_#aS90|XQR000O8B@~!WyM^$*2?YQEf)xM&CIA2caA -|NaUv_0~WN&gWY;R+0W@&6?FLQBhX>?_5Z)0m_X>4UKaCz-mOK;pZ5WeeI5DE-St*YA1E$G_lE2qRon -*c#k6arV8^%ADUHA#8B|Gq$tb}$hR1j#ndlwKKb;WW~KmgA-B@kAAY6^5^^WB`2mH -Ue%zTKiCzDUenpKD{lq2EV%LZTL6CE*6#4YW2d2S%e9t&Ut;M+U9{viYsL(UjU_`%L;#xsCO0nub4Ff -BsLFrN4!nok9+5G7VIon?^%zDmf3>UBc&+C%}x;Es)Af2=?q&MiS}bO>%c=ZH#$QrX{W@wJ|ow3TC{%O08$-ur`+p7?bu+$=rxfz!{rHlqAZynl~3C*H9RvtSZO -|`67Ct+os7D2O6IF0?mG?5A8RJT5p+*aai2|5xfwF3n<`QXZFyreYm#xRea=;pnQzX9UH9_aV~@hec^_DV|&sBQuZHuS$<6`Wt)i|(?PNcQ*J-NQ}XksaGh%24wc5RB-wE0mdT3KkU0 -j4r;&!Z@QH!0UQ<|rf0dP>mJj%d*|cdV0%coRWSNLDGpN@JB%+RMjoAeo|$eu>Yky=3xrpD3^4G%vRa -xsAi*nCR%lNG2ym98XN_W#J6IzpMelM0^y0*_SOAtHd6*1|llHYp`AmUVuD~H#$a_8k@ILOh`Dp9A|oFoN3W;F*Z_7XHh`u032zczr?|%=)g}pC_!F;7PY7 -NuEdW!{=77VK5%A?WP!M0X<-wc)scYr>uT63XC -3@s#N8Ma@nW&Rikpov0NLg$Pu`ATXy+r{Ey3We)}rP`b8=9!WTtCZ_hY<|9FOiaMf$a8;xvBG#N;IH< -GK^16quoj$2?Q!Q=$yX>%EYo&`nxBQ&a9{aS|hmDFs_?D?B1ER7fsPRI_DZ-WBK3YS4z(RCQZwF?Bq^ -3m4w#pwj6f90rfWD7;W+i)i!F9l@B6ALytSz5wS55f60NFr9O9&#)C9tO&d9iUVvSgSmI3lgLASds%{ -bSA&!84oybgi@43E>Mj$bOlFN|w9MQycdz~Cncdpw?)|;Q3Nm(6!hbGQe5@9xouG*$+pb0CGPR -+24dVD+Y$*AX6X*QicCe=%zMRg>^i%j$2s}?@A;$I_ct~#_ojyq`Z$s|ivPa)r%%5x>e -o*Eq$BM$(>-=aPax}UxMO*II(T_Oro52xgTLQ1+@cii7orVBKLZ*y`Wuuef{ih75@TIO -9KQH0000803{TdPLU%C**yaQ05}Q&04D$d0B~t=FJE?LZe(wAFKlmPYi4O|WiNAiZER_7Yiw_0Yi4O| -WiD`el~!AC(=Zf%&#yRS8YH5GjmJp^fy4w7FeE1NfKcS5C#zLAF1AC-zsJW;+~(3wv#Qo{&gDDbxww^ -*TgdaOF^$4J2fp1&Wq=i0ipF5>pQETdm%85>zQri2NImPdk}tB{d|(EpwYa30PVGtH)&=iBd4;$%0 -|pvrMm&xN^Ug?b0%65H58LmlJLdF1kQ -1S^bVzhpmQM8Xyt?g>~iZbZ>(RtXDambvE4lqaaS$WA!SWzlE!tLDdJ7F9WV92<+EX##D+!r3-u3I=f -x$jB-*)!Aqdb5G&kd1D!#J`enp6*laiW57<#9hyGh(_V9&Ur8A&tKPlfobsp*P+{4^F^13ppRC732xdQ$Op -Ci>+A99$kre5r|K<`2Qw*wgVniqIua3&dU0C*(C;U!9#TSK0Nbn`T2C_mFN%Dr471KkMImzZz0#`M@?jL5;)&zI`=${yUY_D?(?2pQVhh-5rtx4{!AYS5B_gL??H6`9|}t&*(qAs;t6 -MVmNoTZlpPJOz`-HF5euHIaEo&Nh@Im|=1nD!*czvchJaO}YMqmZ<#Og~3xEo%w{eJO@_Qc1jlX=kHX -5Ekch|=N+-X|>15ir?1QY-O00;mj6qruu>Q|wG0ssJw1^@sb0001RX>c!Jc4cm4Z*nhfb7yd2V{0#8U -ukY>bYEXCaCx0nOK;RL5Wf3YjJAi(Rv|51Kr4DcPys@~st+Vi8z-6Fx^?Wx4v -=JPk7XM6y)ZiHG+p|^_{Z`i`<7CO-t^IxbMZHktb9j|Y^ZAfSZqV2S?kj(uFcvoX*T?h>+hb%_dT1u> -UT#C2Y*uIm<7^@{Gg3~*DvFb3}xUzBjH_l<~Xd^V-^6_LcW#FFCXq5b5uro-gECJqGu>PM=Fi>-mA)~ -X%5p!#ids8 -$x~DO?}A#tj+wk&of+NhrvFU%q<%5abUo`vm%x9Npr?a0IpT2(^r?U69)PhS{xy8^mGq*;QL$AEM%Hc9B&@hyQ5zLy^rtFJE?La&u{KZZ2?nD@!dZ&dkqKuvO47&`~heQ83fw0sv4;0|XQR000O8B@~!W;;RoyV*vmFAOrv -aApigXaA|NaUv_0~WN&gWZF6UEVPk7AWq4y{aCB*JZgVbhd9{+ePQx%1hW9+hQ5MoFM51g+EU0B|m$E -QKu5*%F7{~IZEpN}sy)FnUB)r)2|DVfuY%ZC#uvMDzx7CTGcA{3vc$z&#Kr4>pC2E75IV>`Otwk6;Ae -42;3UD=$f$xDy2{_7yH$qk5+ZuGrC|eXoysiA?%M#7Amom9%qA#t>6`td12Dy%9z?*# --uQ5KX6W_0W<(uot$B3Eq%#ZUB-sG#n%iD>ihU*WrtunFI4^ZQGM5g;rWCM;1M_o%>qXoR|?j)KG -~u%lbyZY&&{6piN9sAk@6aWAK2mmD%m`+?QZwEgc0029V0018V003}la4%nWWo~3|axZOjXK-O-Yc -FPDY;0m-V{0yOdF@?obK5wQ{+?ffRVrsGBda9YNgQ32tvGQuuFH$pac*WRo0BOKvbmN>ElJtdUEP1b? -gj_~1V~Y~a+8@|RV9|lMg#qz(dY)iW~0$~>&<3kZ*s*J%b2s1ReBkPESN85e9ptvO9S{BP1!uTSO8U{ -(RlCx?nZISl2xL$v?F}9<_?-N@$A;`IUUK>wgy|? -7-WB4~untn@EfuESC%Q$3yN8D;X;IoA5EdU -e}y9rJB(PpzKyl54gvJ~Gotvk-@CulCc#7on-2@ti}&SJG#jdY}TB$J11@;QwG(Bn@mNLVt9ZWwgR$? -9a)X8N6}mp~OA#@vY{C2_@DLW?mqd1P@y1Z>(Up^my{LAR`*(v-v{Br#M&C#i@T$7oXBnq%* -H2yoEq*_N|KaK$TARUdG37<{dEE$e>b~F-F5YTD!3Vx72Ya&!?G_E=0VKZs9DhqYI#e#=E&>3X8qSmg -hWk_^`I+uxKixMP3n514f0h%_O^LZ4nt^X_>9s -do3YiML%#+<|c7GTu!Gve!HB_+VuO=GW|4t_0_!(uTHc(cyI5) -gR@^xjz-5HJ{-L{esy+aR!H}VW3e$kaSu4!4eg72r>}mt@9l|uhsPi7d;8+v(JyEAy(bSIyg7RN>dX5 -x5asok)6Ykv_s1WO&+t~S2e^?vnOyS86-_83n7&|^K)cgsFs3^xvFq-gIGi{-fraR -V*LIl7KNZ^OCriQh!>3~(%Fc?N7A5>w4iZB|J<`LDvHu7i?K&;$45TS0rQB?}o`yujRX~dQZXET1`O; -$`)!xnLrMw4iUV)i@F+AK;hd3+N9Va#`9FOUOKA`wO@PSfU4x7(!2U>cRoAL-ziW@8Cv>VicxKWh$*U -l=Ohgi~v2kg-R}zq5vAxAIRTy#zF8-1C#X6!PVWLPE2|ESTUGpaTee=7oMW%bQ>}V`Ic%9$iBL=vI$S -mnk}C(lKbTM|pp?E0~=w!!(%lpM~f-9`<~a!wqdlAcd0zW{mv_MwO;cNXT+i(`-z<5c@_#MiynhoTb4 -o+IA);*oLTE>LT)&8YoINVN`H$-e!*H_~YW8uE{u_&>I=004U0_* -WQxP#%e=fcadMI`2FnqEqaegqgLBNi<$+Cs#u&4n+>GGo=2_ZVYIxs>`46!rdll* -Q92?ZuxFaBB434K6Pnl7%WBFUWjSSC)0*0+~u!#`F`5jf{7;MpkPl9QHdZv0XCgYVrP~y#CwEIGzh4Yh=wHhF&!8v -sy@Rh(W6K_1@9iyS>0wKQqm5Q`=-eFA`4IY?{0Xqk1n!Trwd)@v%IHTUJoR=hN%c -yc3!2|+^b%ajXKo=H*QJ%?}4SGhdD4J>+;$o>BqEFcbq{`)#H2dn!#E8Ptme{*l-wYtqSkpLEoLlwU1 -NMeB$#jWmlwv`;({BMsFne$rR6;Sk3DQgUK(PwJ`7| -5psfoqz~f*Rq${a<_<5WO^jMlJuzSJe(zN~zX45zhe1Mu}Z9!=&Fit3_)^b#hE~Drw@6Dglm}+APTAo -}+OLQT)Dw?C1jeok82*98VJX$7DW1V?Z@H;fuA=8n$x5#-l(Le*X5kwX^+5J6k{AU>>9ig`U_sWXEs3Ak`)sAI4x8W(E&@fMf-p&K#Vj -&K$%C8hot9Bg{{K55Ez3~0VFVnL8J5Hzrt9T3YNeWPs5G`;ixB6JXe-{-T|jI1`7cgCebp -UI3^jy01z6@cxcHF_rN0$F92jf0jPAN-GBUeueaMPK{W_#a0IH_9BI0#!IS7}bA{nlgC`C;Cr9a3c{u -naMA9A6hJxscX~E4H405CE@&VNZ-$qRz(qc*;b&xxW@l00K3_&0sobV)RMy*Ynm_)#7ZNnU`fhhu*<1 -B7A1I8A*^S~Col*x4y-H^wR`(`jH<58fsm$k;w)+^(x=>|g~li3l)RtKM3S&v+ma*$|-Vc75OKifapd%FLu -%^s5e_jh~lB68&GMcjmHK(8m2qjWtXie(bEG;Ib=Q|_8{y%8}}MM~o2?9DU8gFIcnRW-vORwp_g{&4FCvlbrQiR -qI(U7Wy?E;-4v4SVT!6+#2ZAEC3SWu>T~ZAC#ssk%nygsjU1^{{WXEDix22orqbr=uqQxSZfxp4dBCtT -9o(V24-f*e*xwpr>w9u$Y6w}h%Jfek)HkP{du4&N}<2Hy8(a!~ay^L-|RVz{xLmM8lx62qcWFEx;3VD -L2$U&G%$(re7(g`M$O*rrJIvu8P`~y%^74CE184dAp#J#7h9oOF;QDye5kbr+KP)b& -IYxaT)VMYc{GlrXol`s@vfSphHAbmP*@X(d7(%xJsqTzUkenOoD6OUKM@3Y)q|zsBxYVTF5k7d5}esn+ULQwjPl;rm^-Ch)Yw`pHnxb|KZ+k)! -6B>h~pxzWPl` -ONUbz7AaFzLj`#AoK3fS(CfKnkiYz`qNPEM`m3;lAc!aXbA+}>@Pe`SRDB1;Gp|JKHkEM;i|kMxOUW5 -Sze!M0e>16B&!yzL@1qwCV{!NRggnJ9+TDnf?4XOv*VkvgKpJ%55DD`$b*nae#BTRVRfJ@91~UV1 -sm2I(cl7TM;JH$!+<`iL~@dpRr)MIp@tdkjnCRTfT-4Cuw5gGxAH&4TCNHdwR@S^z}Z2?k@yLTu3*?43)XibI`+P&rF#M+8-Iaa7QC5KuGJin<_#hS07UT -8h$Kpt48Z3m8K`8GT==`CaVPES_Ai^2&0JF5y49e$fVhpHG%4AL<9^G*gkT7PzKm9Dq|dLsGHq7kE(c -8y&C`qu0w39T(O>3^V<$P(E`q@JO8o;F$dz>yCR}@xe3P1%(t18f!~4d8uA6FQtCDitqNo{58kyzgYK -nI&IZp)^#yMs020K>fy&6J2}j!uYR_a+iYF9iOOmm96MSYBB40AuuwPaNxQDkE2aJL>ZDp$YoBdHNo9GLobr|>B?@*sagGUNj2q;A7k -Pe=*`nWb(HB?dpAcEf&><*A?8Bi1x}O5SX3JUj(>Pwog_- -vOSzM&Ee(uF*D7rM2$1fne)vw;JC5?-$;ucZ7GpCcMX6fOr4*3-7Z5x;qg1v4b+4kA69;ug34&Wl--N -j(65Wy_p)nH*l8Al6S^gmRC5xZ`;h*;rzY?=L3av@9Euu-m4At%Xjxidhhp(^mB#uUjJ@LKdF!O@x76 -L^7}>FbH!05_E$1>S>WkbEwItTaa9WsYPZneLJJSvEu2)fuvgwO_wcZc`u(c<`?V3;u9IT4(7Eluxt4 -8ro;O-J-Hw+1^}A`A-`!lx94#Dgp@D8S^n2S;!^`ichJJrLY8ZSsHT3tkqlW+ZermW+Q}Z;qB|oU{&=v$m^Kf@XhfX!bWnb8izg`}an3&yD6&9nJlFqPf2{H -1{_}^T{S??%x~DCvG&K>1fuDEKATl*czG#o1*!A6EqL*jplPVng@p6tQ|j=8P2EMvz$*i1+@2UBis4( --jMd5xiNiSx~^2*Dfo@nJb%Fb2!Wh;N962T^B%#(eU>|aSY*d{M7FrrS&D3(Am~0Toj)wHlTu{u9kCx -&Yk#wSIf0;mX9Ry3?fi`qtX#Mdg@Tl46Q5yZQK#Q -h-nIh@6eh(DB5b)ly!xc -f}JD>Y|_# -~+={9Foa%&w6S5V6WEv+>4@g!ZNpm`&kK{n4TrFh>cupvUL4{Ajq<3V%BPKdAhc>%*e_4oJNadoT_l9 -60)IG`1q6*FBdqu3Kr7Aqy)F(2smYw(8RB{*1=RSTQ|i*<6J9ro@JdfvMY2b@fkbsq)l-bpYis#p+;#3OYH=1T!z@g|D>vW%Q6*$5B -pk`{b}(sChjoQtN??1Ml_-!=y20dJx!QQl4VunEdd`6{haeZ#h=-O -d?NK9_b`!)$W-fR%7UrMF!L-WJ4{3lndIC`rDg2<>dUCv~>n0ST3Od93cpP4tAEMr{I%D4$9Q -lS8yu#nkYQF=SOqn&lq$m^&Ex6HYU*wYL_iIPZPGY-0XW3aM|!Ah~ZvSgC9x(CK6^f6BhrT9_FFQpRc ->}CF}mSJignc-v!nQ^T~RyI4lEm|9qIjo(V2bow-A6}BiW~QsX%+8l%P{?~`Prh2h7#R)bF^CmJ{=pK -YsrgsoC$=@z&tmYC$o`VqaP%%LkgA>pQuW=zF6&*%G5cAd+;&zUIok~L7q}Q+o0h5A?XeY;gk&jCYh- -}ScvmET6K%{0hgoy92we-j=nW7dPtp;t!>2>%Yb1(_Mpl2AKR?}O)~h9k_S+`R*V|x|MwGas_>`bpw{ -cHMssT{Ys>7h7b>&Pijnqr_&@^Z%!;gFwMviM)s!r@p1t5D-d=xqF#*@OniQ4R7qNvzt<9=ZeMdZVAk -5Xc8XM~V0=eY5=+ez1EN3e;Pf8fmT&^u9Q>B?eNeS3xaY82^LHc`C=%iYc{dqInGi2Ut=1N`a+$Zc2} -5{<(KjR?n5GgP$Oz3uCj-K(Z?RZS>|s%S`0pWja`lnWo^sFve-$W9>!HvsL&JWOf8& -QuDD>uhG_vaxNYhyz^fKj|U -%1I!XUSn=BH!rfp5^S_vx=?1g45_E!cXJ1hxvDjD_8MkLQd_VBKutBZ1 -=z{RyO?{~BdWgclN7q-r>rfY+Jtio#w_1_A|yRl`69lJ_*#Q!#0HWv03|BVRBYyBL| -W$)xcP>Ezp7v3u3)T=kF4k44+h#oSZ)v9nqs8*-m*$!y}%>{s}CFI7;avU2pxd)!fWJne=bm)F1Zw_A -UI$7V&l_Qb42d&`(TsbuDO)~Slw(@JKJM}4Z8J*#BqdeEhcTk*7k#;r0^Sg*q}MtIg{?;S(ItmE#rND -uv>tQOa~i+Y@;AN<_SxlTMrvu~}U?s4EgYNZYSe34;OZ$~q_#@?>O?AAS}mb1hvzXsp*bs)COdUp`eH -ZAxdynwiM$;(M#ty;airsghs|j(2URyWnu!FZ^(N+SY2{Yw=Rc{ADwbVtS^Hz;0=WDa;kU -s#7;+w`-39(1{rrtz)&59`%dj2_D$h7iN_Z>WaSSEr*bLX|l0sT3Gk3*${0-4|q6Urd*GYaVXBU3tdo -Jfi!)$j`%qATM%Xi{*c%>PMn11K1!Ki>hecjke1oKKN5=8X_75tsPX@UB8X@6D4ZAg;aA}X)0Az385s -_6PKqA03t!DJXT)M3hF(2_X?O8*$Ib>%>rAQ$eDC$2xhl{DGDV)h8?n0!Qo{8YiBl%EnD~F)b&v+7YcahY>>EqRQ7=C!pqaZ=ZKT&d@y2 -9hM=#;m(IYX;-km2YV4*`M$~CJ=9;(yTS^qNCl|ZPjvSO`rvy4&A%_u(>g%E!8iD>$60q-L+OOB-}5i -`Yi$PtL(b+^n_c6Z>qP~nLB~~fn5j`-+mr?AwAI)uE$Xc|XAbr8it3|1QDPiDq4(p|Hpr%hI}~;K&)a -rYrMg;MNxf>Wci}Acb6n)?exA3Wu{)=pxxBn%b*Z+b?C#Pib@V~SV5?ZRH}SZWrO7&QvcE|OZn~fSWY -d1!bo2P>-MaHI2ur&&KO$cJmKHtKP=&=2+Ct&-0OS7vP)h>@6aWAK2mmD%m`;BT0T+k?008I$001HY0 -03}la4%nWWo~3|axZXUV{2h&X>MmPUteKjZ*_EEUoLQYbyC5K+%OEi=PN{(y``DirI#%f+V1Y5u$01- -UP>{ZM45;>wvpw9{C#aF)B3VG*yu%1dV1Ck{Fo`gLZJ)95=`11Af`P=DvZ)gj~&dF9gDPZ(2kT_mby~!~QZt(^MVMNhnLf= -g67Eo%65*d{OTD)TceGbk3^?gkOENmPMn -Nn2e^jXA*4~N5rWRB-P8GG=n*N3V>Q%#jAcMtuspx41N_~fiMBb+2ola%Kso4qc}GdL?u=a^owbl>OC -ys_{;g~IE}mBRn*$QgNM(hzSfSYEGOva)M)VGrT{c=!HYIv(IQv~UamWjB8TP)h>@6aWAK2mmD%m`-I -I5kwRL001%q001EX003}la4%nWWo~3|axZXUV{2h&X>MmPUtei%X>?y-E^v8GkWFjDFbsz8`4ytQY!J -fOeTRMYFetlp>@tRN6QvQ@R*>aF|NYz~jq8heAIYyiw(vbrgq|Eij$N`29JLrCc924c0y-clijTnkBw -k0`=CGg3YWP8k#G%^4bMsV#4c%1scKEo}G;lzi;QsS{_jTAU4a3BQS!eG&f#ArIl;x8BdKPHej}8@~L -$%~$Q}x0gjOmjmL1TdY$f976kzGChx6W3Q$samrp`PoaX~x!DChB{w`a?3;a&`&H8y$-@s~L(BxR;>RHfjtwNS93Rw3 -j=x+H8|EhmbO9KQH0000803{TdPG*YQH!u!lCyp%6-8OQDn^Cib{1Doc(u-qe)-_l_iINlL4Wq?z~Ld~ -V>=$wU~8C6K$H(SkJ{xkx?CuBQNeB47$*1V7}@n+ZF)?h34d&lIBZPHkY@GU5`IQXjwU;E>+!xfG&}8~oR+Z*VxkPTbf3cVDZNrNtlgdJoP&plA;ul)VBuktOh -V&C5hlL~8jrTSYd~zy0?Zsn`UjR8Ipu8b0Y!O7ASjSf^J5uQG63M5?OF_e~&_HX$S@WO!za<-%`YFg9 -iQfgWZPBm<$EJPG15VOVswR1MVI27dkCsy|Rm0|XQR000O8B@~!WYmXe2asdDUhy?%uBme*aaA|NaUv_0~ -WN&gWaA9L>VP|P>XD?rKbaHiLbairNb1ras-IG0UgD?<=cYehwSwNzw>R72mKT;`DlqFGD%YievGB&l -3Ncs0Q5ZVNkqAVTa#rS;B`Q`k24%B~#Q6GpKcj7N|fVw50telG91qlO%o;;oZLh#$Wt=2q55Ar-7E)7I3JD=Y;!?RJ5Z08yn5 -e0?$Qa17GM0evoKZC)>(()3axWWUF;rG+@_RyLsEOe;EG -2RS|{!9(Co}2|INWook5otEVrf9bxoq~#vSPaHD#E$8At{k2rcr}7wQ;6@DcEojxVVe;{lb$fvwu`Yd -(RxyW_Sbq<$$YX8TU(#~Q$8tTNNCJ2-q9L!PI8a^?Rum1pYZhSmgvVoL*RNN-Tk+dhW(f}(vY|XAB`T -zw2?;0Ursu4(9k2^Nh8}t!8cG#0|XQR000O8B@~!WBJ^Gp^a%g}Dj)y=AOHXWaA|NaUv_0~WN&gWaA9 -L>VP|P>XD@AGa%*LBb1rasr5W39+&1=ozJgI6EWxVav|FGUWCBdG(}htdcJ0(y>|h|s6314e5ml11<8 -{(+-*b48NJ(QmTR(Ut^4xiNZhA>R-jsrD%Zd{CE!wOiRhiRT(1NseK{=5(lt{{Vg0QW6SvFY?KPMV2C -YO|plGU@9Yz)k>P`_m~vrZHa=#q~T>P0in(%3OX|wtf4#uR^7X>Pfe9cV7{~ -O;$F-&-==Jm^p@5I<4JShWT1L|ZACbPSGxL=(?%-3>iwLGwvr+yLV_6A7cxWP^vkL)o!Ze=!`rD;}Ga6${Ro)P#949xqCf2KT$_2M7kX4|r+#XIEBOTp^V)~dcOIjeWHmLIYmw -fjCHfX%?vDeZw_YXgGhRVD=SxQCZn)zTH`j7M{g9|Y=mS%YUPNU~F)r+DYSRbqkTl6MKFeYSDQ%X~%Nt(hFnk!A?j!oon0Ea2zO# -e$qEV5EiFoZnD2#02ZBf`_@jC2VelU-FbL~A)_+E3EgHgYI|+TTm&AOPiq16S*w;%W1Dq`F+5A1~jYt -l%6&1$Pn#r8R?cdu@;(>&VD9wc!ru2-|PlvWT`nB`@#^`n#+Z?YeU#+JGh -wB5SGsWjsC5>jS1LM)htU@D1}wFyDBmQwM!KfIq&0a5r)0X)%nHo>4)^)`!n})FB -S_px3BuqKE3IlUUyF~x~IQ-xDE{58+g25p8vKwPfwA9%TK{zN-ArMflodBQwl;*(~5LFE|({NV3cy}t -S~rGFJ5m2V{l{+KSJ3;L3823fs{6mALFWsN;{T_W-5}#n8b#B)!=Vd(`vD -MSMzVxMo!^^vT)seDy&K9R^W?RS2g-gwgEW*^2xv%Ww7XGt|eFvSBC3^5ZEg;HvZ0sACv*;wut|L^F# -#!mnQwm)@aMMTf@N9+^%qVC_`uBVK*sKAWimB4?E6G{r)jLc+jeKh!_M`XslHWV)E0I)xrk=jk$nGk5yAj&-2e?&qQE%*v{u?s#|*iT2+r4T0 -^g9UzFl$S5)Any6Xbz%A!DVvbMh#=?RIGf8R>sNQwJUjw9NmQ>QNF1%%GmKWYK{nISJ@Rn-}{l;6q?v -}k(iB*D$A{1IE&^%Nkvqp(+>@4}c)2uZ#2fK9hfH1I@XN_xmMPOrGnyTT+XqM1ZZ6G@BKN{qjdl$X*czTw;q_(_yzZ)z5og+m9^B!x40i7&cVL*qAV^Gl(tW_t7+{WmbFWc`0|wtR+8(2^0YQg -q^{~SgtFw|4e~)#{5TN%=AVf{X5+)Xa=^VPo5Z72w;Jsb1Hyce-g#bP9>EeLsb^SYO(b)3o;MnL95%SQAU-jLU^{^UF+(u5ZZ_?Y0Ac4aLuBqCa|`A{jT6O?X*G#Aq& -_Vg??rpgnV2}JiFRhxuhC=4%{Wu&CvP=3@QcO9&4|qvy!bh{vFBc`!K7j5Njt>KB_9JH -h4C8m~`(BMIha7nGGF!2}}n!89Lif3_=+`m38-&bM~#fw+dIGelBYaR=ALukxE5xX=P)K+J6CrA&O*` -qoCz^xKJ=q$><7P(Kf+5^5TK{7NIqo7zl@bO@5P!OyW%H9vnIt&L5nD=vF00jC@qkD{= -}7-QnjL~1kagQMUHk~m#;O!3fxPfo+;Q&i%;IQ`TE<#FKbC?9@I7&Ikxj%aUvG>hpuFJ2OC^iTOaSs|iRf}~YY -7|LrrZk-sO)8d?Inlp|3L;go5BVY8~?-YZc%d_YAe6=v_l?~hv7ZcwnY;9o<*@=}4tbiTr -K@hAAFtqGis-(}8=bAY-*;kCgZLNv=Y-sDd`daN>LjbYm70Ir#QkPw4t@6aWAK2mmD%m`)W^p8Vwo003MP00 -1Qb003}la4%nWWo~3|axZXUV{2h&X>MmPa%FLKX>w(4Wo~qHE^v93SL>6THW2^LU!iax0%O8lI_XU2( -(8rzNb8ATwS9Ti<1jiS`;=ltC2@}?`QN*e01KNmslOPsyT5&EcR4|e8!FI-W(2{1TH*|4bWL(WQdH(C -;Yi*PBnjUM#5VdRD)1WqhK4ObZwVKa<<1HEDLf4j&Qs0yYJOSsglJBPJ{%7E@pv9r3UhtN8IuMZEa0S -If=b380B^%MTC-h|5lK)=B&L}NoegI@lq8!{mYgIBqPv1|iSV^xSt&_k-UF1siIoQP66a}v7^hpB<7`3hl->*rbb$%cDPr -})Rj~IuLzGECPCt4I|0h*C5xerjE?XGD~egJGpA!U$DEYJ|46O^;R@v)eo_u-D+5)qa>%jk72t-y$qg -=76(MJC)~{ugAs<{L$`H}Ncq-%n=&8fjX^Cun=gF-{Op>GxB#y -IoXk1dT()7l9+SG{WAx_&vjk>ALUR?njO;E@S{6$VZ%z5pHe7W#0@Jm#j{a`&CoQSqMuKnhYgtHM8oO -t(fDeF&UF?%lj9JJHKhp@qEtA&D)nIsS(n0hoZ+ik)PEB%Ky2u_OVBmAsZuxxR^DHe__wJ4p#eI$V?PYn;7!IV*av2QL~V5 -q_b3{Fuu`fok&VK5 -(swQ-OKeeQ$LHo-r@3I&n6VMlsGcp2VZrx=LbpKpo$1bM_fI7c -I;yrjW3f%s1;!ArWpo(pW6cJf_L!g9&(w?;ysE0(f;_Il8{;=6VOX`^woL0%#k~S_=T;SYdC! -E5Kf3jcbuVmazG7f>R{$2G*RCYeG&Xg@N`DmU@K|4BY{dAu18UTf(ykI3xtns1PMVCr?kG*+zwWaGSg -3x%bPJs@ZC^+B211eq8v-jQhj8xT!DIkd%p -6wB9B}WbI&6D?QGuD?V53rT!|qfrOh)7lmKW$!zvcu`APQO;-U6zSddW>x5E58(TWET>)@DGM?ntH=H -g$MwcIpfC4!~ixWu<|s7O;yh2Xlyxsu;6rD}DR;>emYsmy~Q^eO3jQB%UDICa~R2Of0K{&_?oy{fqhm -w;DO$sI?BPMw;k-_+U3yK9d6tsusF7z!sPKJvLQI)KZ8bRPN`~NBpaMhCV<2`Z!eOf;*%tFAnTnk}zX -yXmsYkhn}wjc;1Qa5rFTs-r}uShokaZ7j(^eGZ>_-m%T9My=DFNC>{K#_Vz46ht?|0m -Y!SlXUFV4><&-bo$k;OR3I9+drLklfH^!U-GcWoPCRV%yQB$9n%ffL?K35)gG}JQXxIRuAz!gp`+!>Z --X?gR!w8;+e!mA!~-GIS}G5!mr7anrj==vtv&)*r)ncsfb{?XsAY23Cd&D@35bz?0%U$#o5mhg`*tQF_uVr)Yqx5JDs(YDx&V@r& -X?G-1o@6aWAK2mmD%m`?JDM$>N?004q)001 -KZ003}la4%nWWo~3|axZXUV{2h&X>MmPb8uy2X=Z6;&vesH(`o0%@oFgwmRM7ymY^)Far(F4`v5=y1ZCMxueaT5Cb2~V4-XIT3-1BXhtYS7Tt-)UAtLxWT -c<@-L{z0t3os)nu#XO3z-~T)zvbZOs>|=x)zg3lrL9R-9+h -BR>isz6aGGmX8BEyh>fCEotF)CD6<9;Jup2o{VTnzszT}qIZWAkP>TZ|Ihi0zX`{!L4M3kyn(a!+QMA -dM#bgPnW<@Hc>T$yq(mfQxM$uPdo@QI~b(Pi>bk1q(}M^;gT -a7)z6QwLIFh<`v`JxED_Fu&w3aYJBp21Xn87@*a8ax1n>XJ?fBy4HVnFGEKToA-M|CGO1eztUKmX!y@ -L&{G(;r3F#0s6y@Exo|Q>R%2Jr>oBp3lS;EEhbUOombvSE{)^1N?j|U_DDoECG#?6KWwv*`&B=hCvKw -z^B(jp^y+88&GPhQ{e!)5t@Tr7kliCPY0aC=n@GXBmy74<8RK -vChl9F@lXKj0c0Alv$=twg51sfG4$>i(6phw9Xbo>>itju&&6F)V}SGpE}K@=o-qwxo-_mqo*HEK0X~ -Jpn(An4-g-;oJ%<1Q$T1)BPH{?TCau!J>x-~prv08<5A=^P{zG|Z^1o`-a%K<)mDxTQ06MlGO=oGl6m --9ZvaiZowW|ACA+2x8sp3y>Uqoa;p9pEv851>XuXb|uCOFslweLcIb3F^u_$1XEHSX?QYazzExS1q5FXdphng$v`u3M -@!kHWhRF7cH}sZvCG^|y>%bphq@V|(S%`W?h=Vx;wE1>x**l8-d4>ydfH1cuwrIfi9(5A0Cxum5Bo4w -pOm)Tjd^nX)u!nVhv5&J?xg9HKAO%&V^p~&?W)V^&@62l-D1ESAJ}t&6nP?Q?7~I0x{Pg+$SP51VxqL -9_D1-dyOJJ7ZuGWj=xvkKFR@1*y~!H$K1%nG{Yk0k#)!t@FkLR#fvmW49fKGeHvE -Y}icfXnUAll1qz2$#qsc7TqPNHvf_qQrLufoi*U`f_puyXyd@zEth};tkTRT8zI=)QdqET|GRbUd_Hs -}x1)m-{Vg7{IM73*#(u#jWSfg(268c0M9|MEKIBRJ#bryQ>kYd31FON{)Mb^9U}+DKy}s}2wfN}J9Q4 -r=OeheTFmGTFbb~vUqM$V(T_bg5(Cm|NjbW^`+`^X00!LdV^2SFzNqUl46RcalYWH29^uOAmX4@Of*js2TNH5T+#{aDPEVq}#XW#vNA3FU1El12_82)yS1VD@x=uhl%QrdseJt9{ -xb6x7KCQY$r42e$lmSS*ar4zEg?^EXr(&L$CA{tu4=Ej0Y&ag@JsID<9N(S6|959`%c1Y(k< -&+EbLJp>@%PbxznAgl5r!B*poQV%G#V6y@1T|1HYua07UCyd9o{>U)dmOQ$F;;PNwvmh)=aZey20Y4U -T|u|gbT4*03XU#nxSq3L0{&_SyfaeyS|I_qb*8oMKP~lNN6XR -EGZiPWvXE1%~PbIW*aGBAY8GQ58IV8AwyntTyT+~7m*iYSP%XVD>;as*(~u4SOT8@X)wa3-@p0x^RM5 -%iSF>r`Cs3D{q37CUcY-2hhlB*pyM$Z;Q>Xk2Q8%rPv|j7$fWb?CA}&HY$?$#>oz!}2J>2=eduZP(t+ -Xh_B*SWA3y0X&~dAKw|-8mAx4SxAiMX03Q6AH(%cn}urWh1!t4=;HM{#9s|iLig5HB4DAGfj^?KZJPa -Zg&#{-WW^yLEw?ef**#yxxNWFI-r$ItSS^V>P#0gYAz{qowp)T0ltv`BnrGTF(dPFE7&7-aFuO3d~^u -Pca7>#!I)8!hkQRX4&}(pquR>1zceqKJVM?;uMyVc)`0I;1a{kZ@`4UQC{_JeYId=F<7c4d0p3x>rG#fEdHl*fZ!v`s)DxWcf|8f -AB`?tbNNPfi?`Ad;kD``8iKVFt@xv-@0BSsG$Q<4^6AhkFsM+z4jx -{8vv^(YN}iwsg4yTH5!r-@3lzvQn6d#(7*tH7YA7bnO6b@}W`{K_6wtST$%sz2Nm`n*s0*Z7E9tDQv% -y8kFryY}8bG|utleRA2wmSCoL)4S}h&hFA;wSX_8N$&t4{=3P=rn~384J9GaiQ{`WL9i>R=A5VnPN(!PN0>0W2SD -x!*fPBq{J2`-$)q%(eM2&;o~!u*Lhejkt~(@b@1f%RXBX-5Pnr!Glz9>(xWgX##?M{w>HFmU5h+1KJh -?5K^cD?JaxY&zPG|91x||L}Xal009FXlMLLxMDv}cyj^G1gT1JHE9Ns2jU#=?5#XIH62J%%KJ)o-R*o -;kCNhCk?F3+yJ*{A2h87ATDZ((>=2cl^))ksb=bykEF?NcY19=ruTZoV{)hEjb!&@zY4IrxZ8_{@9@B -8J3(rzhPD-+W*cdQ3Bn!I_c9Fh;~$L*M%rS!Z_ceu~Y%StNbIY1k5gK=VH3FNvabFkeT+^i~}Y7Z0EP9%RgEq^GFPp3S7>-gl)6ijR_s2wW&mx) -~}YzcN+PxGcu>#ZBt{H!k+(~S+a#MmSBau|KldLJg0qVg-a&B<@l0vsH4Ql@!nPRE~($vqv9aX+5gdG -=g#+~Mc(i{u4%!$)UUbMTz$7|@oQ8_CN^| -VW6dg2)d=#l^#)!G8BywL7pbj~6|M+d4aADGSeN=Dcb4DQC9jEN2=+eA-R>uHf^v4_JuWGB8LgvT2(F -F8erv{9*PK&lax>14sH=~7!t7q0-Eb@+(k%`n7`DZ^$XL<#<~w}({016zE9^HB%K18fgW{o<0smEVeG -b;Fn7z?kF(5)C%hy)(3Fq$9t3OxT0xPX7@T_TcTYoIVwr+Fsc>?o1g^hl#Rx(!7J9MNgN&R-&9^G)5X -e@KLPv;RnhGd*`@>bv;6#xj{x|8|Hxuu7P)^t4jdu+r=s3%L?$)pZGUu8rNh2DZnA~nUEZ7`bhu`GZW -e@O~J}>kkin@gU6KVa^}cipjA3^vP({bR_3~gQ_wXjp(o=^T(1%pd1)Vm3<<~g-TYY#_S|2ZSta;Ljt -X@+%ETOS>KJH-h6$9^+y@FRVp_;5JjOo!u99PckyYj+W}JSs4NqUX? -g7|*s-$y(gC2mzC(J_sGDIGdmJSGGXGbR4glGP=A>LH=HR%(_v5vmko -muP`f#ToJe;Eswm$)yBkp4?yLywE{mvPG1Pv-8T(d}B|i4S>!nR7BzytZTF`(G$XZaX^C35i&2!55Mk -rVE8+86jB9~aI)lOC`~1 -&{%#-Nle2}cW_xosE0>jWJA6W$T2qmcU53B8ItJp^hiKj-bKuUtdwataN#Y{jS;ZANw9_F -l*7Ea@HMq_>ayl9MOZ4FHR -s*R?{;MdVv;PN52=@AWY9R|osMkZ(kOhhr(pjsJ95r;3;80;b^n%~*P(<*0mnLdo|8}bAO{o$IF2PkE -$4RRA=Yb4)oyBztJ>uKr6bcmCqErbTTTVut(s0h*(EW~f=8T4Q%j0*Vx`XQCA==x5MVr)zX>UhAn`ra -??y0}UPVg37JtSJwMQQA%A3oy3q28aFaEiE9@dW3vzi3Q>6XyyFs!t0RYpM0)is_X!0SaiLfFQqIe_bi2ex!ti*%#RoqKvF-C?dlw9WmlGqeI0p=_0DFl{HUL65AH%5+Jzjepxy4p~(ML=Vxi~umT6_gtBO*`HoZ~QQWw(T_sw5H;UBI0Q+J -6Bw6gkfmJmuRQW@2-d=ep+g%-zc2cjic03xbb_nKzY;ku$7GG(u2~{MP)zi3MidvxmS#L`LhC=9TkDjtmxI|euKnbXapN>!a90uPe$%N19)ii(`O}J7Ib=JPr*My9eL>7 -0DK9UJj31NHH#Iu#E+np!!GW--)JE&PVH&K;a&?j`x-C(YXpx&*V8y!H2qzM2b#kIm>7H4Th?%{YOc6 -epSAcFF1pmwml~-pQ9kCi}lLJ00y|M|6y!Ydji|tJ}Scwk|%XF9zJZ1ddNx;D^)Za#N>47wwJc=@C_f -AH#6d^2hOEBzRXM~y7OALXM%9w=n%@77QD0w_Jy+0Deq=e|9+vB`(+f+82}+Pk7-60VXc|%QSO9+CLk -%p_Hu=R5I?fwi3QcaE@{KIH?qj}EVMLB=imU*<*KfJ!b^UFx8X9qQ3r3$U1n?bjk|=)&pnZ93_MVhiA -J`JC0FR<177GEp?eDJ$XBMldH@zMJl@}_+tf)C{qE~GIl6{0`S9E+etYfaEOcBk -=>l;{x08=|pz#0{x?9Y9Fc^o>{se<{oLH)V*VcvYp79xc!M7s#te9|^LFJlpS3-2+(54l&A9TTC34t2 -()QS7Ds}tH7pCw$Musqt{vekv!bCd91=%{^ogkM>FJB6a8S02r=7@x2{+P@i5pY#(I9QI!OK}R}z%m+ -H>y&ZF1x5w@I@L-(2g@*-6RKe45ST0&tGv%$e5ji^=l}f1(nZT}ju1};}4D^XZa_6dY6rO=MMMGNO&l -J9~TcE+uz(phVbQp8&uP(9uMcPx -RQ}ouhtGrcCsvXZ6Bxe5)%as*orYJJwT(9Qt!l`0m4w)?qS%a`khylvvV%E9nb~7`pdbQbZ3VzEKS8D -?^(4_m2%^F;(fK-p4L=DJfrBcE#*#Gwx_CMlxk^*uuH23ISkq4*}6z;RZ%R$oRAZ_$2}0<8^W{GUYf( -!!*pKzTB^IzPNmznfKs4H+^-9zl%_8`2agsW>$0K(#@ -1qE|Ju&j9TEh5|33*&JR!X$u=hen42<7FfSW5Csj>+?5c091=WaCP8wTjvFChv<9W0(nbxUYP8#(N7S)DW1d!P1;(`D|x0ynl(bK2n~lZk7_LfTI}Vj+3Fj5tqJImoXR+)#U|ZKSJ9iQ -PnPuu?>wI)`)9d(z(Om3z(%@i)K!#r*kG4ocw8~UKeXE8w3_Ai`7V=p9F~fxXp6=L6un#1hnhHC-=6C -!V4xH5Q%uDym#M=#beAA4qStS~jM8OQ&YhGlb!~UFUGFjAFX$fG#8aGEYl?I^{lX-^*{@U!buA1 -_6X>Q~bqUej=GUjH6=TBxBArLbJE4F?nT1cU4EzAJq7HX{VrDBsnJD#m{w4+8UyYZRrS309;zsBAsoS -k8uBn9Bp5rP*rh)l`}(A->byv&eDzw5Sb9g_u)qP>8&UFP%hC!x&57{)>$SdS6L~y(keORDh@6aWAK2mmD%m`-6mt(}Jg008g>001 -5U003}la4%nWWo~3|axZXUV{2h&X>MmPb#!TLb1rasjZ{r<+b|5h`&Y2efZ9kZ1RHiK(8IdsP#`FZb= -ajV48@`oZMI}ca+++|e=j9lNk397h8@`y$w$6NWdz?>(n2L`1X@MMYp7+3%A$Zy2{hnV2o6nSL0949O -Up}I=DphlexR{Zt7HTp*>nP2iQsm5cNKjY+#v?z{QB$c=596ss$er(yFNEnV6fFzI&HR;uhIre-Ly42 -1c8pr+OniFx`CpoI@cL23Xn~!jRU^0y6zkn{r3cfTuWcr1X?4NqX1PpUuZH!7)<(PY~8mIQ(dbyuca6 -o+jp2GMah*`vZU=lSQuR51}-QO^JP*`nMv=@3idEgbMh8g!HWRJ8_fJqex3kbqn>`c9si9ALN&LuTlh -Tv#Da%G>Qcc0TxPpPmY$^(2nkuOAJJq7VTbmzVI9EJG!1Jkfp)iGWg}}&s_WP_D+=pOQA}XbIaqO;1B -F1~jwBSas?eY+(S}@)(yfB1k9-T#yDL$n?RCZ)xusBCHmDri6%k&X+4g1mE9!9(i`bPOTyRrj`&y=b^ -a$p-wm9g1>)A2BBuHE?41QR?(NCH^RvUO!w#^l<~GjC9?GI -^xsL!Dv#>27h!oGQ-6C&%wWB_Jny9;_GL>H8XAA8mT=0Zr`8L!>m_-EOB3nG!=%|yHqFN$Xi8H5u$2A -MQe~7g+vMSZZTvZml?@u@`{Hg5o(Sus;a5@5VdwXOY0Lm@^03ZMW0B~t=FJE?LZe(wAFK}UFYhh<;Zf7rcWpZytnKebKAmvNy{`dXP0YDKXrL~a6A-Ip76FG&VI6cLUAS~FTOk -e@#y62$PmnVO%+9@af1UTmqnRYg}Mj6S)oK+ES8z9q)22HrCAvcW~x|-$z-;wR!UALB3&#CRf%X?7TK -zj6a9NAlJq7e#)e|4(!2sd9#_QZz(B-BmPuYJ?NSO!tD?y21tkZXU^po&wTg*mX-OXEvoueu`@vu^nM -7FzW)8%;w~SONy`k`oX6Vm%avsI^jfLag*_ir?=U|-|*JpMkVXKb)}dLwgT -b_u8@&F5@(C83^N$P~Mjh{S%JMP<4Fn_=!ZQA~e_2#l_1Zg8|?x545|nJ0uCWYSp=?X+ZEkziel)1y= -I%{SxvG1JHxw_OVznJRU!g`|(+-f&TCfuGB}ST4!nO`~-{9WmAj1_Kte1?_)~vXwkis!%OWzlC6WYc0 -ubghN{3Kn}&K#F{9tid9A$pV1L5tmtd;EYZmi@Bm9vE7p)BgHI+`QF%3)_@&HdK}R5Z$dAIwwY-NUYq -+d3P(x9Wxx2s`j?QnSq|cj%B8wK&BoZZ{_C+aPi^9b!zX;ZY7Fzkomq2^aMmzr^+#Yt&ei79kwy@@3g -xMD@X6^0<;-Of`>Z(W@1aNqB1bKwxysV-;uCX`0v$4Oy)JahtQwCVbypqYF&9f%8_EE!w^;dHU+=JOe -RI7-Bd99?I4p*AUO&yUD`P?Y6-URB{FwwDR5-*lm@Ev%^Ho&y;3_4IvAf(F8P~K}-=0C@O1&3aUjJk* -_pFn+LpMe9z%lAuFERp~2Ya+|l6xG1v8S7%0Le+N9=iuR-wgJItZxfVBfE(aWid=4#Ts;d4dG#4!NY2 -lI;^h4dxU`%=y6vj@ca)V|5kSz-!vL8dg(f068p2XP*aK3&ou7v -X~#1*mke3+2@hznmQfU5q#lSrl`GnJl6ukp8LDC{;`Q!i&9O{re`Bx6ay#exVGEvXNa`TpJ|@$HTGUVZ(|KmPfzZ@+7S?qFZSGUls=RB0@93Q0>G{^rK}RHDEkq~RyD3z`4zI><` -6#(vLk?<-I2GK}VIN1**c#g5W3LWhtoucE(C(MS9}M!A|M5!wnQFEN$iM+&y$poxuFJZm&Jn!EX7NBk -;LE~z9g5+KcWz@oNhv?q{|&;z~g)TiJArEPW(z#9N*7=v!EB-o?&E8;>{{z1JND!p;2d$wEXM9A5UdV -(7XB+FH$d#q;Q9~yMGS1H&*?O5_2$P>jtM%g$4*PxKjNm$@X*XdSF?-8ESXmC$taiJD98pHm!P^B(Gw -fF~hY~ImKm*^Z9+-g?QH41rdt(MnwxM*3dR4mKTIT{V>)WsE4>l%D%^|BOEQYurI*7Q1>Q_GO0 -Qx&Ou%?%$g>dh{@C#>%%+GZguZl&@Aw~}F(gyOLA7M+d{rwiIXuH>SCNf8}tRf%=bh46C+z+go=Y<cZ9Xhs$E=Hx9eQX{FFyliof_Rg~H;5`8`lpi;@bzdf&v%)zpqwXy -m1@Yc(hUW}I1{P{XSHEpQdUjAi(Y}-jLH#F=G20P*>2`7*W#|U0caSfH{6>O2vF(PkaBQnPzWnD=3vq -RdmfRDn@fC^SiaTv*QzE)bmd%;H?+myt)8noJXN=>$*yLrQ3{+qQ1@VEcw^fmK*cs?F|cexw92;TG=u -Qt^>JZKE3uZ=$$1i*O_8eCrmeHg6&m2yr8+`$F+JlsOQgA4md2A^Zs^U>rYynN%V8T^y%(2pLb5AlPF -A2=F6P&9tPqX&~)gW%D~a;vxXNxo+ZySzTMK|1ceh;72um3$v{0Rf)zo|p((1sY6eLWRk2$7W&#=nBwXJEE+EBt*cv#nV;|@QLpalb -BYsMCf`i5mRs&Omqd*P<7aJnffvGJrS)r1vyI=`B!D)Srgd77pwE3uaB;-R{Bc&hxIQ87R3GKMs&obw6L$z$1vDXFcYP)fs>Z8B`53p6d7@PW-ls -bF~|Ro)Esx!R*em*7tl-DI&O#dUJMrAu|dW65G~hbmPB4$*hb?A)=NC98AzBMI+zs4{qyu61`~kY-Qu -vD&Ez5)v!GxxCpk*q8>9 -S-a1&f5!O~0yC^94g7fj^bEfS7S26fWC-yOe?!ItFpx -gtuQ!{HUnNa=%hbI7p?JzM<*_CW2h$jB$C%6%HKzdPik@}WK*oa?Jv>72M#ELaX+*O{8lItn37t-ac_ -Wd!;oUrga}HcybMnM2{X`7j8*xfA<4Kj^A)bhdL-N@gR&NA8{f8a)4K^sEEEZDS7Ah&NHZnlvRA!b-n -bGi!n;E`;G#k;VHL&sfE(O>iUP^HbbP>^kBXHdCC{W%vWd)Ya@1!0Q%xM@EeBs-@IkM#>C=BDIw6CxFF!KC!dDrz%0zrfN73)aJ_cQamYot(VTfK&IZpSFA+zPVb -k8{g`C0sXQ`WOfh56kV%%MELAujkkddM$Gl=O!&7dX{<_itAQ5cb6-&T5M9H6Bm3%4mR>_C(>UA3LlXQ;sX}W#V(R!L}KkjAQ2ECa)+)Dhl+Dxx#= -Fhh6qf98H%PR;cw(4x6<5xQLAbl!q6W!1BBfLb#mCGix)jOG3Z+Jdp*@pLUC3A%}eY?+siZv -yACs1%B&&xFgjYwi(7*atR!o6tGr4x!!0KR3WjiSY{*fs)25;EdK#JYTYa*u3@%O)nlAXCM)9@w3ECD -Hh-)$3HYVn1nxQ+GWn=T&s;uRti##$K#YNM>Q415E7rA4_%>gxm#MV=K{fpanO9KQH0000803{TdPEG*>pj7|>08{_~03HAU0B~t=FJE?LZ -e(wAFK}gWH8D3YUtei%X>?y-E^v8MQc?;pN-QWyEh<(h$yZ1!&CE$r2&gQ{$j?(KNKDR7OiwLVC@s#+ -OIHYR4Nx#OG*`&T&(ALAQc_al;);(i18U67&x?;&uvJhu&@wP)h>@6aWAK2mmD%m`=xVxPWE -{006BQ001EX003}la4%nWWo~3|axZXYa5XVEFJEbHUvP47V`X!5E^v9>SW$1=HV}T-uOM6$k~>FPI}8 -K7c|g)QYtS|=vIfQGdID|HF&jzLNXm{EB0OH -Xw76X(^H@<`QJb*@{b%r7Y8AMJ1=Rgbm5Z@yG99{tz8sp1nJXj*niy9iN|!KtyiBT<}Z}6)XnY4O@pi -%L^TTRU#XDgdC9D-t`(6?+wXq7>0Luo_E1ikysy_nxfE7wbYbM7cz@hGy!c?_IkaZw~!(wSBaPrp5{V -o^S2$f0|~FD?5`*lagi{u92Ck*3l-*6FP-dHfe}|E$3L8`thCg!&^)QWHp=s!5r>&9j4I$Ymps=4k_i -o8cHIF{f^ZG!Wxgh{fCMV!QOU-d7fj{*7MjD7^oxvZF2Ei==182^PGZPDPW<e!rHkJ-lL?YApl!8q@}?hnB!7SjHZNBgy_OxMV7V6-zAEOU9A_l3~HGBE_`k*_En+IWrZ -(AR-L-G}&v(WL1jQi^-9qNKt16=wQ`#UIV$?sKXM*%1Vc&kD`%qh{ -kZvE*TiVy!t`u@$K@y18T!dlsbtNlZ0uMYx)PdIM!r$c-t4d!t@O{2}W$;K0U&VI9S4uz-4vu_3dK%_ -Ud?hAl|jc$m`gFT?Sm$B&03LTHUr!x|LPGO*=}1JV)Ut(Icz4VuINHeYNEm?4TEpg7c%BxVu{iQ+MwZR -r(h>^=t81^BPHQo3Bu}At`p*Eoq*AxQG8NRkt|H9o-YIGPyRUk@@4wXLHYYj?ZlyPOH#j51=6M4RSY} -`X`UmaYEck_@m9oP%zACAYjqX{y>rpA^@S+1*zN_k-g8;{0F|mW_i<`>)*hQ9%Y_?HGj^jTo!i6EnIg -7b(4kG*Q{z<+<6_h&;GlbC(TY%RmIqR3Dou3|8$#m4{de? -DoYZF(=Ly#y`ln@wQewxz+D>YKuo -$5V57-L0)Iwe-VO)-`{eqve95KgcFcEHO0sV+y>ebc>rG;bO~BBtX6)1XXId+1k$QnrcZt*FL$h!!X< -}8GtjX7BPlYxGw}t7j(x_Kbj3v>L*m~%B>m4EZhGdr*QfyD4$sWsGpNTv_+&$1s9v+l=*sPy!_E3)sk -XbgbXDRJI?&mv;@y*?2)W;xmPPk$QDwjy?@n7;z)cDEY*6=iF;$l}02Qvvs)FGY`3CP@5=aCUOD`#&U -{xQ6PTH_;)QR^ -JC4G7`v1M-nC<1eXV8^K`IopEt89>SxAvCWA!6MlN09ur(DUp%8M~#%ga9jxs3dF+x1BIny9!t9Q;=toFWG_H4|nNeG0qI(camt0CQ-eKmEi)XL_;EF*PXyPUert~0T=xj7`yR -gXNcP1Np`y$elL(4SQEQ?K^dJdlEzed`PHT#4|_v+SZ8egk>x*HmnDj1l~ZgfVgJ7d1uvAzot?1j?`9 -O<@oZ=({%Iota5fdJ0BO@puT9@%mxU4hAKgohMjqG4~m!;-bD^n%ZCX#E(HM5~ -~S_9G*)W$=z54RmS-=U!#y}}9$yod~9QA9=~;ztn@IEsAhk!7>@H&9Ch1QY-O00;mj6qrt_^9=w%1ON -bw3IG5b0001RX>c!Jc4cm4Z*nhiWpFhyH!os!X>4RJaCxm(!H(ND5WVXwSOAkqy+==hL{ -azf5xp#H3SS$)PjK+E)?S7QjQGV~ueh-iQYFvJ5jrR1>_i9`0tQo|p#=3bR-5D#A$$0W+=(B@69KAZf -k+s_77f-{uQ#}d2umPJwgFlADw$3bcdv!bIN$JQxZEngG@AKw8m$6F8gU3jjRanGKjQTUt`Apzg7A*{UyT>Bj@jsic<#y-yCdUZjr?k~PNTH*ps0#lmpHHD9 -(AHSAqLeZ)Q(2<8|hY&D-+(M@`tHrLOPUSqJ6@AYfoViyh&Kk(M38&7ugOq$!?Lz%=3Su_3U=d>4Y|! -hHgsuvHZSUiOeWBj5*piY#UdP(jV#%MrpRnuFI#*HJAsgqTlM$Ep*bfw3Utlsx#6uwx`;eIzok1UIRNhMENJuT{V@sn~Mhk^;IuQH90di#QNyy%k>`pKPp%9~ld_7 -T?{L$(VHlKGDRO}}{O#Ja?V=a^j^~cJDfe7$kv-*f{)=`G)&F0TnZ{AK;d|C)U(GW`#scdlcd?MGs8% ->Fj@swruNuB1d<=LtZ@>s^W1JswicpnLs;pF6#tHZ)DYkz~WsLrSG5bUPp&Kpf9y~LSOrt99wuG&T9X -JVt>(NZXvfEvOwl!_f%lyplXm{U|YrpKKeW6i*;mCH?ZcO;MTGfctzX*xF&ufvJGeTcNiDmsk!i2uGs-E -6auw61eq1kJ&ZZ~aSW@YrWtV-mSQTG_zP;VzPO>NHU3t4r@UjhKx-K1{sqywmX#+zbkG)_20)?Zm0mr -Br*!{1-=IC#k3%r;MMt%m{NGFPn7LNzj9)h+z`4D?Jwh?--hf!EFSy2JVR3*U!m(@(-o*_a{c2JrUYA -CNe-y2EG!V>;x;5UdU9IBuSD^Z<$rF1;FL4X2$oleI@2d(6#SP(&ALa_Vf{CFVhC+B22cTRXuoLR~Fe -t~TWAh5&XPJJFbcm^_8I9>+tVJ&ck2=ad?vBq84G=Z_EDI*@!mrBS#p@@7Z{sT};0|XQR000O8B@~!W -AOZwdbp-$b{T2WK8vpW;~NPilXy1&+iB&rB-ivZV8 -o)ENFhm@x3F|TD~c*kSk&pSyZB6q%zpOy0{|Wo_SZ2^(eX}Pm%Qv{)FXkTcp^bB^P4CQb-!%o=GtSc*uT9c_3U -}(;b2^!96QE+xu4?0zi+|Goir5eH2I*<_T1r3`!hC^ZPTj6FW_2M*Fh0?%4Sj{C}6g

N-wJ-QsNERtvU9qf56U#+zPGahRd+*UemJVx-sI4m*9$@z!T0KJ(=K+^T2$%;`S9ZxlXc7(hbkD>0~ltd`WV -2f9Ceg3=_sC&Yv^lhju2@{Le~gZl-4w0?)kwpY7vHrbs=Yuh-yX^{(yU1G6c3G858RK$#5e&|44SQz4 -fsiC@+doDq0ik^4Agyo8wGG8f#$tt@}Yc{$|Rvjg=Uhm-h{3RDgO?y)^;AAB^om6qg^77*^^rh|b7+) -*DDa7JTswp6;u{=4^MB>bqX#}kCl$cc$(PWgfL7w#pLJZf~MA&MnAh6pwQl^J4~U+ap0l>Pgz??WDQH -rqk0{u|zY)J8|lW#C(%1(H^vHR)RKdI{7Ki^MzsSvDPK?qC2P%rAJ1n~>^8kYzKnA4PpQoz>nVpyNaX -l%TjTeLST4x;s(z=pY(r79X)B5<)*fgA~aO=Aa}_AuXq?xAAlsQ0?x6DSV>Kz~G4?OmQP)OV)JDiPs5 -mEtdw2jmB6xj@nhWd0oVuONNzzadq8GP+-Im$87Ygs}oKSqUI04s{wRQu>#q`aOsF)!6bQN<%*|;T7R -523+zrs1sn9$z(au=>6LO`@jW+ZN=Q~cTYX{8ewVYUuFNaQ -gdJ>HvqzdltLO5$AT=IZ#17x$e#Z8^QzJxi -*xAASqp1Od6L=e7-!(eA!xGCx`t5y1$&f3-muN=G)AJq9V>D=u6%y+Ie9r8`|Qf_G>_O(T$N%GKDF71 -N}`?n~)p!4?lXm-^+Q+FUWdV|vc5Ob;fP@?yl*h++m#)BF5>RW$LwSS#vYO7$K>JOvew8J&rX5wp{c<=q~kV3ptYr~;LCQRzS4nCWcSlZa#BqLg58PE!K4wmnd&LQ -@})Y@=^3UA35@W%j$ZwighoVV+CfWHuxP6{vrm~hWY=71*4Fha8|u0>q9PA7i>P)h>@6aWAK2mmD%m` -)9`R?vzD0006I0015U003}la4%nWWo~3|axZXYa5XVEFJo_PZ*pvJXD)DgeOF;`+cpsW?q6|mFhpKlB -~3qU@Rk8y;2|xF6S!98R*Tiz!sW&LOSokTe^lz -<&I!&UqD0#-7wYd{RUfALBY0&B$b8AaD)&BGLduOPYEwA2#MYnWiF -UZxDUoQ_%VF(5TG6{6B3aaMThTM+YXp@4zH~(2j}OT%_e5f(OBu#c?j8@PsZ1y>3sAKopt69GUvvC=K -obfW0;RyU?uvJut)STXB$u&*h+Jpvxu|LN}G956;ao@Xu3W411|Q#+5z0_it -i=^KO^^n%w9Xhh}%A-%<`RR3H*d6^%-}=84j&iQ#_TXv6X+ix75$48wByQ{-IhndQ ->SnMSxw7tLtBryFU}neq}1$#X13}jjvYXi*5&80VeXO4o(okI( -3zb&b)UY;U??Psg^7F^7buyP(<(jyV2kXnNT`Tz^#!hKPUNc5S#hA{8G8To8CaDQ^>0rIvpbw~Wlv9q -~HE}i0A2(`zjNLFz1(mx#Y_R_`X;C-_D5|n0BA{Fiuh%wLg<5q!K!jO~WPO0JQTpGoq>_U4*Z4pjVJF -3|FHqhr&&{z1VNuk>oWk;j=TA)P!d)LwWuB)?7pP0U)aCdAioa$d-8GN9mB{FxZMIs}JtAuN7IZr5Vj -p4|ww6{#9X_wE@k>yrN8KyJv%KiR@2)Kd-%zia!XcW&^8TTB+{Ic>(jN6|AG(;1Lf}68F`=ca3{v%73 -83(u-uL@VEG#d~p_b`sC&$+S^)2lFDit*iB_37FKia(4a`Si(Nr{^W=wmWh`l8$WQJf|rM#3V>dK`#e -*@TMYMx-doD_RpHdcmHyPf_pd`){w^Kd^9bgls`^y#5T{^8WPnK!G+pZ%=i<;-o0we=EnGju_@0Sh!Sa -`P&yp4VSaLU?y+0sCHR)RdporOPFwDW%kI7ykQg8A*&fPST -N`H$WcW$J-KB2fue({5FML;tTtHXt`)m*-Dm~3Pc~no%t>&!wcHuH)gX=YLR30|XQR000O8B@~!WNIu7c@&Et;cLD$a8~^|SaA|NaUv_0~WN&gWaAj~cF*h$ -`Z*6d4bS`jtt&qV=13?Ui@ADL4JnXh?7ilj=s7DbGDyS!sGIcWDsoTslGwaf~ce8_4N+|`+B?%<|m;6 -%7TSdA?@Tjz4RJaCz-mZExe -a5&rI9G4P>~jgxhI2eelN$Op$!Ho`f!VJo){(uE*PRLqMksw9=fINX2l3`NP3lk9Gbekh6t0W6W6XI? -n38V-jS70*+6-Z7S|A5_YfR{+3`!EiVn3^;9R5U -P2~#lr)F3^FP9Q1a4?o>-9z33k6cXtB?m(`r{~p4W#}wJoJcm{QHzWXF=nC_%B>^9N-QA5b02#zXWuJ~BCqq9We2C>jq2 -gOp_uM*2B8)#S3&Vg?E4#^`@5%4BkboSPG(mM5GJ?c$Pvl$k3_K!C -drZp6q}txCuhYdBO@j?lqE_-|t{1%7f$&I}M{`3_pGN@Yl&tAAbA`ggZtkD9;nih4G1zVhpCY;q`L8@ -iZzyj#L}@JBzkra?h3GC=>GCG08B59%PJ4r!Hg?0YrxW8_NggnkXs`K;TFqwmRko#Yl}6qgv&G&g&h5 -DUs>tSTZC@(G8SHc#No!ilicw#G1I0NGPe^F^e+XSi0fZFicsTlYQ|7G+V|OMWylfm6kjqBo_}Qd6gd -JX%6Ll&n-6sF~&0)p;D+5$?U>jq&%ZvW)v-}ZO+xswMdj)B;QsVw-jxet8q!QAMo-NLvKJFj+z+lkCK -`*$jbtiWNvK@Xk>WaQIL0aL(^sG(#W2r#sC6MY50<79^{-DL{|C4FONAr;G3omRB%c+`%uw;{;Um^4qR?~GD%x>q?HLPyetL4T=Q7$d*Vz~$wS8L? -x-}sBrLkVyV{9o|}HrLbn+_1F~NV3kBtGjjZ@j8U-<^0me#S7np&4cO1+^^Z9va|U#xN+ffdNcj#8`> -pet<5nj>8ESoEFsq^{?Ec-xv*epvDtDFu5r;t?bl%o@G02%E=dZ&=0u%Z|6s%q_B`3o4p`!@%RGwiZ<}5C%@;sCk8y{;1ZF-U2L=5}Xg -~4pXq{TUw~{N>y!O`)9BbpaFg#2L4ASS&qWWMbrmZ7#2qeJ7)z!Jm}l9(jxheZDGwVv%Kz -1=CVe0UkN4X?TsaWR3A#R0m94#e1}O=uL|rLJMIlQ>3ur*fS({3he;TfJ!!%dpNJx#(+%|!+I?ge~D_ -FIIm!^rc)JeJCac!--V}Gs`KAlI{I_ASmT_tqg~wocA3Ze{Ud*Lt(Zt&Y7(F;&%I;UZT&a$W+x^;>+w -8V@V>VEXT)sKzX#jRC|2T2AE$*OYyJD6_=0|F0J}2x)ha8=a=s;;Q;o@HW~(m(E;U#54%8Rq|2pxh7J -u*2pZZBh%6IOib?Pq|^61-S&Q`{+O7a$)Z@s*?c^+@dc9_KCm~*hximduJdtu+HI=KfMw!rp@*db!m$ -%=$(CNHq0o2rWv(7ck^VTF3Px{YkdhoKDXqRb)l5AcXH7ZkM~Z2U@u1F)Ankxxe@ -2LF0x(lG#-KsMzF%U?EwKDoib84SuK>FS*x`JwY-e*;#xlk^UQ0OgKf~tt1OcV6;}Z0zC&eY>t@DI!?hYAr6l~1VVjHOk;KfZ!c10nE`8>hJ!Dn9 -m8m)j<~YNH9mT0zQvER&z3N2H*A8`h;2eJc!;bv*gzq*Q;MNzuUKkp4V|ecL`$*4cESwEQ^S$HM_W|= -o1O4ZY0_5sv;**Mm=V9)F2RkAW#sHG?kR`%y6N#gF-X*0Y6K`4{4+s44 -y%0;m=J?Eu0)g(h4h?f>KFec!Jc4cm4Z*nhiWpFhyH!pW`VQ_F|a&so}b -JJJf;Bc-ko^vhE(Ie;nQ$d79eE@)?C2qg0BvcRPBsnEH(ui%}WZHoYMS;iQ-bwTgpqiDp`DXm$S-nDZ -J^Uqoa?!EXj%yMY(1L;o#nuk(HZEaw>#0_}$@y62eMsrMw~SVnI)5_EPA&as|T) -CcPrEV`eK0BG&}z#Kp!sv{$r(MFrHeKHz*%32_8gd);X+tH#F@mNT&1hYtqQx+-98@jwE?h@X2x_v?V -a1m`W_uaEYURWF{ud<#)|4bre~x%$L%(=YB-=R8%i22d%{vQ|06)B{PW8e$}d1Os8no-8O$Un1YxtO4AT*$vD(B|0?GxVSTz6~dX^fwD^shj4YN~adC-mNisgwd1K_!LCLuOy52;ogw@i>+F-XlJtrLRDE(Kv=q_M}&L0c2QVH(<nJJ49e8d|AV&B;wB4D%HG7+@~)6RWE9n@A> -Ka>$Y*N!J2hDF^)~Z?G7*~tWP+MZWvWm4`fRQO}m{-^^Gk?-nh?;q*F#g7U%Vt*iM++b=a*N^!&# -W=b@lZ$ukWp@TaZ)(~tAyk=#oTlJ5bY*$)qqZ0O0<)dNgC4Fl0){5@=gEpW&+0hJc&FD(<_aF7WY9y> -P*1JPBBfH{4v-^x9}GsR=v%^RT+kFS!uv{5!`{@fI!@_O{;2X(i=F&7tn&D`GN -W>3{d2Qhd;E(BRNaOf7~H~~r{l{@-g3Z6^I0U&A(X#s_Z=Uc3oxm4)%99V#-8y4vECuz(VNN=rOdG1f -t_K>9Qm^+>lZ4_pOGm?^zp*E0#PGrayPF;9g0f{bcX{a^+fA!bv^K%l9?oQlc%&QNSm4F*lP#Fro;gH -SPk+OuO_65-0QoH{_2^#FAup8k~m<8=biND=5(Ci~Fs@kL|8I2NQ`f#lHW^p{94FsQ%_jPbhHcIKqPVd0kHJ%v0!bq??me&UF -@)9z-q8y}`DXyok1t~O=II8=r#b|yqaot`e9=w0NU!{=kBJS5Xy+|Dh`dW-SuOjy&gAx*5&;9{WO9K -QH0000803{TdPA{ayR7P_E0EVRj03`qb0B~t=FJE?LZe(wAFK}yTUvg!0Z*_8GWpgiIUukY>bYEXCaC -y|d>v|ih3PthUA2Y?K=Bs-bO$U|ooNlCQFmbfL^o(#l{Kt -_CSPv%lH=5{vAvUUgfwYTegSHf!cpefcEYZWhPCKR7%*JUA_8*TrR-t;@FAu4iTT^z`MyapLFT;Hhs^ -wONrZo6BleEVD(mECF)8DXO}hXSdbns;c4rib0RFX6;)awA+h$wJv9yX1&WcSLM2F7I~JvyDIgAU@Te -rVFis_|FAA@%JyK>WLL%e5+PJ;_;Pav|5-!3wuFC+jSM84P9ILEd6Pl&Y}=Mu)8^EoS(VVBYU(zFo^Oh}T5XpA%nj>+hLv5Eu)Z*owuJ#yHMGU9U>^CwLGKh{HR -okpUE=D&7q`v&ng?Gu>l<0%cGqso8~wf=ALQlbCBGSGMLo~9HNFD~{sm0sNZxr%wYhUvo^X6<&hYStT?+;nA_98xoYM) -A=klT4G<=i#dfn@my=0W-Oy*nMcXX5n{vW`9~{VYn56#NxZkQqf7?_yrT)HlzioD_(lv&8;55vi(uF* -@E!H*ckZa#=3iocYtpO{WrF*%$zT9rAr5h6AK(ltQ0Ra}UL;CluSuO!p5lMWLs@*KB3;nyiDXJx4)Ve -Jlm~y?Y{S?caU;>-+!{&BftlVO3%5^Zts&4Uo=%4il(baX|wABZCKpP?R(Otl8<6mJg2b=Zo$w3A`@) -lnmlpkj0YLmUBM=#dvX3cGmveO-GbDe#je+Kiufj+8>YFTY|76km06)i*Z@c#tUd+`C*r6qvc$16BLr -iZ9ic9Ok*%k5<@)heI7FY7rTTG`9$L+4!%5A&PmJs`HU+OC(dA!9hht1+THP5uZ@$qI24F&d6NoWhG8 -p5m;9^Kj980GwgijR!>N=%y9Dy}1S|HwH9Cx-f>*xvc7IYWUrom+xLo-hOj>`ufc~nAf}Yw%oJOH5}Y -EY`dPhakg4F7sbVL2SDLOW`BPAA_@0TaOlf}c+`NzHEv4NPViTK%~VeJt);QIfW4b8V(>q(hWSk~14> -^49WPq{c;X(*42s#Tgq18dn{{;oryf@q&JA88vXV59dATfhNHt{v%h?r>+4iQ*P45Bxd@{k+olJU{FY -ytq%&Vr>g~_$M)$a4hjL5zCRjgL9E^Y67rp<^c6FFCt$#7ti(Y46o5^8}^3`X~8iwC?~RPe>Uny-z$H1G)D{dUAlzAh>_KyS7+ -9uL}z;h`fIzeQdE?@hdEGa2dpa6~=eQ9b?ZXNvgmt{MPzv4tZFmlp3ZUBCq#)20UepO*{bIN-JRK;NF -0>zk^@0V?gF9miL%n$6Sa%6K8n+85=f%LVD9kUd0^rS5}`ly)CCk0#f|EQA50n8 -3BNF6geB(8-U#AQF&*gY1nw#=B?&Shn6xRt?O&I~JT(3J%_Icyc>0N}~As80OM4&A@TO$`b>kFNxs-E -G{QNC+5raE9IBmE*}tXBUkg=-#+?|xq+cztNba5j0_C^`wg;kw^u+miCZP!w}$_=+macjB9r5Q$n6d* -v5-hnmOETCVzUT2fuDk|bJxeg0bo@|Ji$Z&4d2Tc9POo(Rl*HbXB{Gvf9t-Ywn7ZM?OxXJi)A&J=Jx> -nRe4#=b_P5U2;`Vxpam`WPe04>CvtZ9^$=bo!S$`oMGn+(ly6saYy@xUg#oFr=GAPIBb~i2cP% -s=X996F(heuUzVL^Wq4Yq1@~Ego_|JA>vTN8+=V;lrP@SKKJ*vbp$M+1F{faY5(uSzq^w#U+Hq9&0$T8Cwly` -H~c`jsd7G1Hh$>O{Tm)G$g!>C@&_%jj326-?Tur2LG0C&azLLVy+RHf@EHD^V?Q3cNON#+txN2>r7Pp -6stKk5;<+xeuZtNlyxG6Y_0w#ZbG(1_#zYqC0m!Eh;IPBJ(bByLeBpdMgO?Y(Xf#>&$L)rs-|QBMR#9 -)5pv|tz8D2~w3y%~I;9u9xEe?@jISSVqT1ofugY~vX+W7!Q`3B_8C49VXQPgb~PHLr3ghl~#Ijc6b8h -lq4SzX=&-Ar^f#%^vv9%Vr`7};#Q1}1xBKf`r>{Z{tm<%0Kd*3|QALoH_TO-l!`sCQX|WZi9ZOw!?WR --2X}xh8xKg4|7jNo>TX?Uim5ZOR;W0$AT>jVhPr&J%ovg(Lwm1UVdwh4daTYhYQMR*3Ig>JnJB&FpH3 -ZMhk6O*gn*c-J6;lk|=Znj7oMNp?6d*0)uC=m|@3t(f5qsLKz>pS1A5LH0>D9OQ%iZ*aK}C;WXu -=6NUTXltO>rDffOh*$v|*!Fos{Z^`xDxtJMboq9eO*-dDhC=-(FTV9Wqe8)A7MZOe~9whSL2pRAvD*d -~1uu~{^@kb?^zDHGNCT)3{FF*8=dBVzI3V_DP}_4{hw)F?I-OH${pn2*>cW_-7A4tAj)4E -m%kzOM(-{#~mhDq0nxWi(k8zU9m--$l6`0#8F70hqt(Dn5xe=0XYiIM@J2fOx~PFv -xq&|qHXoZg=?edRf%|yM7~odYi7E^NAukC4od^6(PW7{9*7Y2|?T{31%1Ces9PgRD+jVu<79_|nK((jzRNpXwa73v-nQ^=Fw$Dq%3|juqfz)^9{NV+3aa*kC5l4pV4w)caS2smPr|#+dqFNSkhMt -Fn_2Asexe@IdI@;u!-KQ5VQIqVVXiMUX=H&|6mwL9NOP0S!J$18gNn*t>S=<3uc8%P4xm=7o0wq2Lu3 -fZAPFn}U41Pu*<;a|m+;AhhIE;oLN#;+{umShte0N;oNn0*~r_dJEq -}-@Ram7jQ)<#OMJd~VUT}bZP20%@(hq3w1wW3K-b2E->9@?p-Px@&kOMPUMTH7EPIYZy#D^(r`Z5RS$ -`UI<$fOQL1k@pCrW?jiDZiP>L)!<4IQx@Ey&d@h%NB@~v8 -Ex2*!P1)9i4Ld#*z-$r^oGr=%O_ztN`nas#mo>RbuzJ~XS`%Opft#&LRo$Ncb@KJo|MB__k|}T1IeYT -?`GGR4@appe!>z*KpB)%>75;vF5b&$;m#0>l -_<>2bmS7(+<}?ozh&0)XG=_s-D>1Gc!rlVaJ0sdQg2eWYDkIz`%4Ap)jz{uw+o|k29B%;Uby~LWc;ax -@zfW0J+HaG`9Rw_v9EILyio6Fi6wa5Gjd$H$obQfC5dIjFFL@|7g$5XXm1tBn8&LmAgoNWh|+-ua5-J -Tf@3PG>Ho=AXXm3fOMfYFHr20L^A=QY6VANnAr5OfF21%r(3t0J64;VoSn;J3%%vXeyYkqoj9c@8v7B -%&@CO9WYQ3Q~;cs*IrSzEm8af@El4^bJ!C4Gau3N%W+RPm8Mv&r$D(a9b1@*b35Ur>&UHJjF6zkd5P@E=0BhF8Q)8@8ZpFSHr$p)*{4 -DVTbGJ)+!m$&vx-~5aw5QTy+Hw?~@pIG^QmkCC+RETW)^jJ);vw)Xsc|HF9-~T;(#ukF*j-d(7Z_)k? -{MK~3*J^{#gD8_#Y`3V(a^A9oz!hLUUo&4-_4Wf@2ddW&DKt5Z08v1Zw7RtJSI&j(fbq;31tN0*dPnq -V^{HPx!}u}>5)0=KMXRAI^DS0)6#pK*LIr=&NcIgH!8zL^y$34r+jHb;mIV;>!|ZUJ9Zn9zuLNBV)uu -4dKbaqY(jKB&p?fmxjbbX`;%FQ^cnl9ZUnCJVZ1xdG30z>q(Ramy{JiKAB0D0U`3MZUi4z}O-t -sDZ5O40nYd-9HJ!evKk|j=PXU*)#f;#+tmt&ZFT8_liHx(o8<58DCq4E0f4nJvgq0qe3?$dD=JoqdD3 -x+p0%-%oIVF)_-5_)+2DF6HrvHSa8md8T*eJ_;X9;TTldj`UdLcjQm1ZdeN^hG2OC)tYB^(9`k9!kMZ -!aL7I+!TLnyxW3|mo7|{zXGfljCRYK{pKW#Ryw^l;fJ4hKm2@@)RJ_DFWir#H$WSB{Orwxt4p*{X%En -%U0WM@;((@Qa?lYnU$wF!ylT&Xb3<;S!U0gO9I_Dj9J7TqiGx86S+nXSaamG)`D&g;-uNt((gnG -HD`)JC>v@LmsWK#oSD&UmR*R4o`=ZjVf$zzLv -jl0aE@YhM(e*-1YaIkwpcV<>;HA`oWmR-mg+YGM?_j**1pR^nnM$>^2ZJCU!~z0_+V?C7jSplqV)qjn -3Z1-h79zCl%#@MTI>j`LY)YT7hKaCzO56yI-FVaM?#M{exR7^7WyfRC$T`W_VV{u3qbvWF!I0r29xIR -A@otMPT;ALen%r-=;ZO)*ca-S4bC1=@aC8(VDW#vSYu0;&jtjMN2;Y6rg -3sF5`dRlzbxy=L0f!aB?NC&uaPv*dGE@FphFhH}5*18~-ij13eW;f@GJF1mM4-!^l3+q+@CpB*|SYi~ -5>=1G-1_hrqhq=&Q1rliY`y1JhZmJEChdfvVH-GZhO3eRdo7fsyPv^Swhb$W|t80wYQ!N?88cnC8bYJ2?mgwy(Sxnav -M?DID__$8fqXO%6*Lz2)zeU*fix1_Df`{B}`77-l9eS5lIrraZ=*$c_T&#C&2$8cAYqE!((_@T%?(QP -}yIc#c`W%9YA4hby9USg>>Jmr@K?klQLmB_=JUp=am5E& -`(AiRCXL8nM^uzHXIzgrVFYM?K^ad*4lCm-hjEilu4{rFqq7~<~D^WXz5}O}~j@5sQN1FL949??*;n(a7Fc*$+NdHy01lmN76!*)`I>eg-ZM?(TvJDs6{eHT -}Xnnp2xUpUNwExa6PGYvSitUanTw>Kx{_&CO6ZL&*Bsb=#`v!_dy9s~Qj8aFU`sEMP9Xgo_op1xL_h`CezUZ|A!(p+izUv0 -$4-VhJhY&WXIZ`I$>(h>93#V#WQj0XJSy+FQcSO2M=+C8Y;y -&kCm>Py~G&b|eI6$AUCsMV=%beozVGAsa;TOU-IWx(sB*Is?)NXHU*~t)#C$+(cCLU3#J)`652WRbiT -r5qsG6bgHn?oPdUUmLhiD+Xo}+71(sz4U6EZj!7W~mmU)4ZOZ{)*f_FrDx_Jn21Hmj+_4y*+_keCtF! -8k2nI|NmGtGTKn?kHs@nmRniZj7No -rK|(g$MJ5Sc5yGPbE_rJF!78g+OIV0+F$b%Q)7Pw>#N6MU18l2jnNadV(7LI-q{?D@4fx7ywXZS4usV -|d5Tr>{~`L`XwYa0XszvZk%$S&WWOX7^4EVxsI3b#Q`LqS2y~6Rt31;_b><$2R6V$k30U=kUh}HTSHo -(y@{Ej&t%2hx8}J>mux&>>!BCmWHFb&#>VX+2mwgd0t$MXW}ZL4&84{<^{o!Sr;%(48zh=qVadlC#Y7>kU0S##H#zk!F+9dJ8QwcWW(|upX1mHQE)eC?fSy`6D -hKAGK^>NKLjI0CHoQe>Sb!ZvVJf_`e~l`XG(N~mhYlb#tB@BrlrnIt*O!jbAexiXeLp3~|L(B5r -f(nSLa8V^y&G1{Gz5KVDyP&+!`vRAjGi75>BM+Sv0LPo|sz0>568Wp%RiR8fy3xiM|zb%bp0C7gjKiw -%+wq;p|;x^xzz!VDJrrBF!pP-S@wTRE?vcg9+lwwU$0Yye0dz^rz(-b*?s@@s{s}2iQ1KrNfa3JSNPf -7g1jj&8O9Ox39LCbUU15dT!oiP^xH4iv$!>kB%bHbDlSebIYIYFKU4;*=$oiN+eVabJ|k^Fg%%z?Do% -qo))ka^ya;5t4y+t%(*ALIS+1V6zEU>4E;AMus>Pwv*^$7@VgREY>mjw7&b8?q3XZUQ_j(aOEBC}%Ki -GiXDecgW25Z9$$45d%KTjdbBSJRw{lR8i^EzXdaHg$}MT&Gum;FysVMKx~gEuUmGhE7;%mkSDC5T-lAWZE5t<@rU?oAgkdtmfI$R=_&HC_ow;h1@4 -Wx@OD*si-;+{PyJ2^m6+77C>hahJesq@IzZC@%*fqO{!^7aHp9(#zJKW8{M-EMrWN>@5znaJw`e2Xp8 -Uld68-Tq_YGJFk`e$Qn2+YMjOesbEq0XS5dGz+^kPFL1`PYA$MZI<+1kxcF} -t!cT5i0z-g25BXNCw(D}~k4r;4 -Uo7nq@NmKw0LqSCiYT5f9XdRdEnbqm>ojkxxejq5{8gj2hvpg9!6V?^~I$+w5h}Av*GQ68EO43}IcAG{s+?0_a4K?(FA}84dC@4jBqU>op`5LYtBt* -?3q$G`wKBRbIXmz#u!hixST5OlZv2k1}!lhiC#RZxxT<(KBUQ>#iKe4Hbb0NHx`3**5#tay?4ADF03u -Hxo#t4+CE|BtVu8zswC1MhO$WFrZvT9btM;#d*8?yC`H!LL+y=0zbwwu9J*@u1(Gzu}-4(FaCl8^A0o -z%3b6AaEk^wVoP5hRudDY`F2q_omY`c=hOmxJVql719V387?g#}Q4N6P*;!{-#)UK-^ae*E1$u+hL@L -lbkZ0o2Ms&?p9gdJfVj+GNqKeU71w$j_)ApMyj7_$A)VUEux9N^H~6`ix&)^O8ZM%uUSGCq -lC$?tnZHSdRDE}4KQXGmG~SlRI1_;ZxKZdNU)_&CI^In3H7TN -E7>EKEM2E@_ch=#2G4xEQ$o=baDk(#hvRT9^R*C?v0N`)u1Q7kU#g4UJY_2pJ3ffwq%~!61Q9wVOm1h -0;fShS_<(yg1L}Fb3HfsLNcC9IQxl7sN7k^mY+&+|Rhb?&jKUh+3bMArU7jsvcHcr$ER}*nz%`)da}Sn0&)0y>hyXU_Xfrug)?F@`nt -7c;Sv|W$HUK;`WOV1qOU_64WP8x~zeNF_zR?=%f%OJV;NGz#G~v{m-j)Hwt|ep(1h%0`${mbsbn@!iR6BDBD8fWb2oR>%#iDdq#6_$bun+x5JkYC*(tv3`3&hmyp1x$1(9h1TdgXt -P7^)w>}cTKQX_qH&)GsaO^15%vz)fzzQ9a?Lb8{n%?cf>GzJrFK1vmDH=RT;~$MJR^rhK;7-8feRPw? -!ZcjN*dLv{vwA}3@qWSS|uQ?wm>DKh?*#gZ+0sIcT*Oe-UNL@);r_BX_$||HA7V^EhX^c`X3FQ|%m!^t4SIwPQ8td-Kr_*e)EKqiulfkLQyvW3dfe_3)>D3||%mqYDoq)} -n<=iJMmc%iFMr`<}l*a8Q$nH%0?=(jOYM$FO027vdaH(Ok&yF`+peIkV;WSvYDH;~=7*Tl0bcDNQO3mjV?g1?ySr&R<(^Z=SDlfl-BNNLCo8y-&e2bd2ku?^kwC31d$+B1Oq -n~%!5|vq*;Vu9iO0Mo(}K8wd!-9ihoGTT#%NS!0O!9Yebcbj({hCLiQnC$-TCujUk$@pRTsZkfYI2T9h&5&NdPxp%TRDc -@r+3Ps;IIs>kX`aYuzE3tpgcM5OFU+yGFH`Fen~jm_F!uKIowK!i;?n!^R3b_7O1N14-9wgnHje_V!^*=cIFuc6A}jT%A2RA9wslxB}2PF -b&AFE+98r0Oj6>Sy02_0S->CCl?bNy5pQ{u>Wz!eU395q9z|5q-K$wWPU!~7A`i<%r0!@g5-kP_8=5m -%Iu^y`p}s8=G`>QUl*%{!$1=llIbESZwd;ssNz)N6pd}oPtNmXkFSW=JW0I+1tE6AAF|>Sbq*UI9NUy -bH!nLN_wIVXJuufjvVq8f@PniM$1uD3eiKEIrJ+#Z3RcH*F%Gs)Bpdg^17y -l13aM2{@tH%8qSIWif=6Z!qJ7A>te3tO``$tt6C$)*y=;an($?TWZ467YokaXIl67$*|gpS;pBcBa%A -YFI)as=J(3H5HG`;fgb%O_q6hO=&bAn1JI5%a%M4j6fvCHiuvFj|ls^GnFf -zU*28Qr(p$%zHtf1CKR;bJ9|Win{_a~vX1;Gl{nu6uX=4ZYUQc4h#x%)Q9#eRp%|B;rX08B-Tfbb+9H -GNj!d{XZJZ5DBX;BHVqQ{5QKjFchF;enQhaY#j&bT4CHBoQL6|aTSNLfQc5T;nHS4lDAK&GE+^fV{L= -JBo98E#kGy{ChU)D#qSedK`AlU$vF6plOX~#bvl;|TUm}b%`qzP+D&L)4&sZZ7MwBHeuIv(m{JfucCn -%+1xALg`HZfs7Hwj{b4s!?z$t0gwWATl5|_h;NBmwQ)?6K&qlB9&>fZk(RDjGK -)BN@Hqh+c8E}L+FcZ{1;jA~ZiDt+FD4EL(C-#4jd~+dEV~A`lI(!@uqt9MFp`RpxgVEFFk@iUvyWfE% -sN^*IYKpj@4_tHG~;jyH%t3zyZ$er|=;#E?p%j~Donsz)Sa8gCGJq*u&2Cl$O0|$`mUQpZ}>sN__tANbj2`TJpXVI2DtpkOsZxxQ@P*5Y`4V6)E(6Rk#rwrFjUcku!mS$~I8X -C7@79L~y#OKw|8JMCzV#5bDX|r5s&Df83m{aeyjJXuxE6tkhpk{BMF(@2|8}ft&pGB2zQ_H_4mggab}R+iKu4YPN2jxUGVzB4qv2gJ157}qoG)!eY`Hm>;LW*KGhf6TL+ -KHcqFtB@nZWnvFUB9or1MBTsaz%@nS(Lv$_VZ*t$AYI6|rQEny9lwV)cUIg?v}n{@uyN{H&l07ueNL) -`+Zjy)gSdPiU0nmhE=kv0IcXst#`DI7(5xlG6KyuEGgd6{Fb|MK5b^L#K02lkr|rb(~st?BG-K&hMzY -%UjA6o~Zw!*}~K1XG8xUuMZDPRuA87>rHi2#CQ%)QO-l5K7H334Cc04qY7HKa%Y+0@~L8pu_xiS%Y%GCPS%Pcm6vyC|2Z2RSd<=sAjwJG?tF}%$ep$h!6*BG^b>^)_*KWCMtEjL; -=9PPnz{4U?J|4Lp4fqN^t*>NJtapd{1{c%J*b&?ajjai>J_&qqX*yb)T*Emrf`eYjo+Fp&2D+ccLz>@ -h_h1-MNmve5GK1>73IUnUf;*eHTEICI9;A@6Vw8U$h1?`d_;On1K1$u0VH&adP;-$82$=ziPIcl=v4< -m(n`K>82B>-Nz#Q+5@gb{N5?w*iA=OV{wH{YBv`&4So7ED&#i+8|HSp{662r=dc46^{8AAcC!zB*!@{&gpIyZ -(qNW{Bv{4~hZl9V$78vqiCNvw;mw~mAFPqJJ;cgGQbYd8*6#JMVn9GTjM>=!u#ep;@tidBnd)-~D+n= -N|YX+~p80YPbXO;&tjj{F4`fJ1{XWdOY@>PyKU5smkPM!8XS(dl2`{pIzm3DzWj_Vn3bUIgGQcm2LtS -DLVZv+pr~%>%1gw3AN4%3Od5qkKu#9gLD3HWc~Uh<8O?O4Nf6KFgJ5jN+d0Re;S2mJ!>8Y#^3i)S0V$TiV{>N&CK!0N#X4t -)y@-6`RKFk5+VMg(wlH){{W^60|1<_%KEB1y*S{WL|3JZB=hua$H`yr3#@^a8x)?Bx#Cw55sq9{0*9g -D+E<$m$ivYl71wM$BV72-KNow6dBfG;GAV#_YJn17@W0LkZLNveu}Tr+!nS=ML`(Xt(UaWryNF;`)|U -1eB*eZ9w9Y_|C&SA&As6l=Om8G@EOpu+JMdU%quPqV=>(1F1?dq5-KlUROou|p@m3FmO1xN|WyJ$Ka5 -FT8kaVZ{^VYuVg$tSkU&y`F6Awpf&tXgPvO#UEPP?92==Oz)?Gx&FN*cSq;XY8GdA-!~W=NxV5W7(tGre`D -sa3Dk5{7|d9y2N7A6iY+X{y802*=N3CuDCgOCg;a_HaotPyXoJeG>*m&v+YsQ6FWTGEWDY2^qtE~8cQ -jTCpqQ5%bi(ZQ2mtKXbf<%QGw`*85#>$o;0BYW)3tgwxW(Ye_24{G=^bIJ!|&i-gXtPp<(jg@ix<9}> -m{WD!m+Zk3}}yRX9SAVdzUvW8)(ZBgD^T|F6dUj(C|WBK+L?_#BlhiandPRZ7ivoP$j!ZH&|?z4n3kS -V`GkXR(NjLjoSS`7=yaW-%ehB_xjymGFtQS@t@zEhKqF5UUnRhXj?v^+)#F6l(qIDO-}+Zwo6qUOk>6C}xldD-6nXRP8Eh6(fAr!-EX6k{;l5#dmF&aL_dHB#qNl0meq}s^uVDs&0D)>`RFXKP -^4sSb%v`mtVvMF7fHWpASy8S?@Mi&d;=1@;xhn=1t(N-MQMO*^K>EJbUo^)mML&0=E*Fh4GUntDe=oq -ULw4skOKZjsx1U2jHvM@3;q~sI_Zj>`NK~to)o9&b_k7`rEpN)nvZvK03rV&AM3cMggyeV8k@7dmCga -cf6g?CKM+sQKORem4Rt^r-nK_z57uhqEhaIP{oLpBeYP?kRR^jreAME7|9X$z~RwklbyyTUmcAZW>~MIcm -x5@Jn*q1>7Y9?{QNtsA62iljw&B+lXsNm+v_Axx&%JF2_M+8aeeP*uW_|Kn%Y_S-|28&e5eioK9o%HJ -v62*qCV}{@H9z-nkAf(V$dxE5r+(?Fu}1bR27DTUROG-R=&a-twdFxtH4IX8qCFYcEw7T8T@>)7-ACF -G|glE%uDTskI&sQ{YVNjFfQG7NU<>&yl9%f-uXuM*Q1^k~p|_^R2IPk1^aP#Wz<%(`->WnNro(sHL ->^afb=#2hWU2gps%jl#JNV7FXba%LShdS=*D?Zo@oc@ZFGMg10!6YD{`*F3AwWa`nh$FfgepqF`s>_R -M(bZt#u;2@Xx&K#M3!6K)Vg}dLMGcJWY>xi-pmb~HI>CyNlz7&_%amHLk!B;yc8dHiIO@M=GP|U3>Xf -}`Xhc31?FJP!`qm0>rAap6tF#9*4-%JFY#^;uGz&tx1X#;N6Un?PA75?!0^XFy-a_Vx6iHGUDXUG#RO -U?h(^+K_p(_vZ~9?2IGEvPm&AcPF2l0%DYv=lbSOtHb7>u`A8dT~&Q3kH$$X{t~lpNV~wBi`A?j!B}- -BodK@+?L1=ua__~&=d>4_nkr?a%y(HMqKnWia}m?>O|HRr+{Sc=8)CG$1g4~+rvB7~=WvZ`jKy)ZrBam*fwe|Lg84$n7)k$%ljp|sBZI@HE>ncT)y&Sa -3L@*K1$YjILL6J@~=fuyev1z;kyXPP|udBwVG$Hw9(~#m?zdtV9S+QcGcjH$D_8?vWZ$}E30*0BK80i`u798`0bOsg -U(S!qPhiILP&dIm<9)p?j9b1D>Uz}#Yd-VH&S~7qyv{RetiNI8@FBe4SlV<1rhf2eYgAv-Z@pcDn`Uj -WR#yFmpxidsWKEGv-g~ID5elCMA?ecNF8?RPsFoGJ^i&iJ%;=uPUS#B?;BD-iBydyOsni}9F;8~Hn8= -fU#h(okXQfVMNr9$T&$kly|v!gFdFY0Vt@!J`!c9>HG`X8Xkx?S$uB|GD@^TVm8a|Ws -UG5owx8GlDEDIj{ZMkoOH9%*(AveSGJmGf}q*S33B7MmXV+#xL3PiaQ;PBuOu)$z73hkSHUPpJ<{tn` -u7EGP`xY-@c{ -yw5aH(%Mi{sx9Mx;WhKIEr={hWNTxm9{96TAW2z57Z2@upoKEJchgNw>>;p{M`gV-eI%#`d|VD@T#pT -G`imXYsp}3_Z~9HBI};FP>=FZx<2od1iVBa~IZ~nX+-6dW>NeLR7h|uvnM5#Haxv{eXXK9}col?Ptjo -6_N{T92r9S?vGL&CUj$Ox&NOS$Zys^QztIps=M(EY-5)LnszN}3IC%oo69Jg_=FhfldOA`WLBO@|9<^ -_jh8R{w-<{4%YN7QmEnZ@wp>QxzI0o7<{5%>-?Kuro2HzFdXI-K3nHin*)n>D5pFDin!r)dLkmB2%%P^JHu4*2Z^+R-|Yc~& -9*O%U0l3#6ZmPas|YIdv-kJ(?=v$S7+`6W4CQ07alKwN!*H2{*oE@$}MoL_B9J{m2_w{X}g$pLG^qPF -kXm?6o^$bDNKe>NN}n&#m}vCcOiHW5_RV+?u3{zaHO$U({ThaU-uiduBnrc+$mb@8h^aMOjs!vFp&$B -MlyKCTZ@Qt6-K6~=;4TdoSqcfsmIkXwuD@@jLuMPIL$0+OxSONX%@eE)rV(cZ0r_EQ?o;Y~wv)-%+fk -kx2e1Sv`KJhx{{?3Pccep9o6*JQ>}uV=P<)h5o6AANsNX|@s>Y+|&}p8Vf1-ajsj`kLi336ta|-5Cvj -!M?w0>SIy4n=W7^i4_agM89y2o@&getdo5g*tSLW8}mX+{{chMepc1u2uVbrym$ETay7D<{PD-X1th) -@u{~~7Z{il_8gzqONQxO6V=^_Zd&d5RhaZOz5jF%h7@uBVqFWc$k9FtK9pC_T8;rO!Gw(~9TA4dM31D -79twhR}YlDr)M7F-598=qkb?rUsfu`?6f5BiF(C!QiJb@T^$feuR_d^0J)O^5I6r|S-O|Nk8=ZB%N^} -JjG$`TtSj)+nITy)-Cmaxhvza1MK2y|U()~q6x6=_I~8W#9wvNnVKHi#G32-@5@*QOB;{@u7fQAd*@2 -P4{>V+zk3=pN*6s>wKWAqVhu -#L&JJ{Wt=sF4aG&ZA-H*JXR{o-*b2#Mw-(n0T)Wp)5ExVe}Yna77GmJi;KFMT76yA)dCkGmB#+ZYJ~@k8e|vSYN^$u+=?a9mRb&JU-xJ_{)nx@dR}dHQ!R_NsyCo}QF -S`EJoh!JIVI6jRhcNPb -}MwYR8~4ImrzRyF3n-EcvzL2ZnGcpade4dD%zwuBuBtBDY8p_)H8t4ZF9eB_|95 -|Dpms`-)Mz^mDTfWr@`~kVqP^Km($P!`83Mn+Bul0<5)v#6=jSy)Lgqdy)4it(DPefki=mpBj4~v5Yf -UR$&E`kh-0L*W)v8jGbG^n=$9z`O$V;U$B8y{IXDl_@tkJ8hx*5u`{)+MvBQzJmdx$vuUyEKR7fCn2C -QL69Au=un+C&~V~V3*IF0baa2g!wm6WatHPgvW2dj2z&36B+v{n0P^no~9iS+jVn -Et4ygL@lY^m&~YwS~*u+aUqZDD!S)?x_`C7q2fCEjhHw3M5U`xpn?Z}m!kt0{$ -m>@hX$-{olMWJ4*L2)dgW6uwJu5GX}H9(R=U9MUQMim0dyLuvp{3? -fLwA_|ISTR74;#!ii6`Hewqy*k@LdwV~a13|M~Zi;FK;fBvE;$xz$zS#{lX -EO^^6{eshig3?1aovbitDG%Z7AJ4+dzI74|Yt~i`@sboP?C_ltGWG!w4&CV1+A~`CWOdQsB#+PLM-Ea -fVnf9Sxl<`+_33y$sAUrdSgiBHH*d>@uJ_p_18Y@cq^B5wb-ZNAh)-BNJASQF)y?OcW#pLZbr>C#qyi -1X}m#>+$4GtSLq~oaAM1X&9>t$76AG-V$o~R9yYs)_aSK?KqPNRn;clKyyilx#l*_%Ad@06wyO1zaML -_{c}v7vOia9)WM3G*1baU@xYXdhkU5N@;GVD<$HK}S8x%{6K$SBZNg{|7;v!>-&3$Z--QitDh~`HlK- -bIQFiJ(SvX6G)7@xV -SrL1%wR66DIFGmsmIr3q$7v&5oo91@lTfCB*Pgmva8tdL%H1Er_wt}Hyz$-1L6^OeF7U5?amP=91+v8t6Nv=rXxto3HfwY|Dvx1^bj~DBztmnYNg=vZLN6~s;TB -&yGNt?2TT(7&jjk>^e~qfQH`lJeHGK6$cZQ9Na}f5K2euB;GE?ob{B_pD4tlao>&E-KWe ->Rr;0oYEF>i-qJ~h*GPEZjk~CQ+^(lQUgI%JYz*|T8!#3Uw1|n>s&gc*#|ka-SxpHOGp4B_aRrQE -~z-N?I)1yKO*R-qwEbMFHl>xF90uAll*;p-XC+6b`f&=;@tg)!m3g3d&4GL(Y{u)8CXBP(qG?aS8%Cg -&aVYuoAta{Vr8Ave`8+}_Nd?``36&4KQVHe^U*m8`#gMzb9=aH9x9l_k%@VBw%K(_W=S$fbLfwa{8a< -B(n%bl!efS*GuUFrB}t)+LCI1bVC)^*B(-gvYn*voR<%g2GfGlx(#pzW^;$0?bf?{w(;YE+zaW$|gm8 -D*rpY%ze7LR^XSs}cG1tRKhgufQQF-tw^})ZDJE=7Ds_{E28|iSXGWD|$4YN!E>KXlJJhebQSennHY&t9kq$#Q4-JtcX6K^oC-mY9Wc}Dj)JN`nPh&T8%URrU5)dZy3HyevOiQTBct$rjdV+L8W87zv8Ga|oH -5ys}wN2ObAAI1FcxZb|A{`8NR*vFjyQ>@EL_C0T3~pbHYXW!-FS@g0ck6=*5aT6?G-M)zD*)Y!;D!vU -QBSbyCkV19KmDv3h#a@cuiP|2w;#BvKu5$@n;(YGS+cLxHAeS3xqlw`ajZqIjEVC7YipSB^bm9m$(98LWc@lCF?sxT -B`H2o?~XIuKJGs9QDiqn+rVzB4`>JT|nD(7=Emtguybnuegzx9SHGVlh)oGoO*2IbO#=q)4>u{UTlg` -j@Ii{m4QQF%g+>6R*%m{UOUT82=<2s;wZcDQvJ=Y~#AYiNPa`CJ -gw(J4dz)enzq~GlY9d*MOck4$D2BA0{WLElJ@R?R_?_g?D6)==uMq}+Sgl0>N_Ed -7;xub0^DpbYt=rs49MN(``3~H>!{e^Rehq&|+a_ygR5`txOVrRU4IH#h2Vx(h*9q4F;-t?$v;=K!~k2 -vJtlk#Y;(p2vnKW4#dSCfmKX5s`6p`F3*VW;FD6cM#QQ$l7=>x);d9zd7%7wHL|4-W|LW+gcnJD*{3d -vk%Q_2@Z9yt-hGi-O`a7EOcyNQP99g!9LbaL=NLpV2c1W$#?5)!98k`XS(e&b#A$>(U4uKZb8Uzj&5x|cKf_PnF^IqN2Y#RQEdSt&+hlUZ*#h8lX3fE88f(N#T^({x?#PRz ->S@xour6Ex%oG(t-f+?zYOgFmCtP{%BH$}2kH$b-3Ty6kf^x7?cEx_JFtJuzRB}YRvn&khU={_J` -N)F=0FJ=z~(#ebtI^*s@@#ux__;)ZH1jbYb=gEp_bg#MVfRu;QZ?yA>|1rE2pXU2?6yC-zC9VBbN+^;RQCj;O>oBnl3d*sVfdeSzjmRs%dtac|8mPug+6jFatipp%xx`f+empzHH#jITvG+c0pw;22kt8^$ikJ0 -G(*+2RMOx+AGI=zI&up{Fr(d?ls7U3jkL2M84ND;VsM%XIvF>oeED4Nlu*e#Iai@hEMT7QwX*VQVVQ& -eWJ$GpJ)2L^is#c-c_-L$9cac`1{J0)FztY|QDA$bK6CU(JE(X;a8`HOE~eD(Tt^8Dr7cVkBpai?nZd -8EK=w!9_C0duBUUVvAS8nTjKEb(6Ds^5g^1!ChaWnRHzS$H2uq5Jswg#O9nn#Q{0RqWR0mkZxH{djn% -q^72VGjSmtH|B1Xu|h~NZ%FvWH;NP9ElR9sLnSj|H-kR>OS=D%i%KrKG^Q?n)1btOXOWUe21mRIxt=w -ZD(H+sPyqi+ObV57Y{_ANHSAvO<7iv~H&LU+W}uJ@P(s(Sy1oQx%lzfd>Sd^B5m^a7GAVd0tDbf$+ziLBu;u)ln2&sJJR&lJRshzENZBLeu+ms>jw1MxV`At0cqM>4H1dtk2RsE`vYfzut~)#p30>mMbWK{FHmdF9KPP0!a+ZIiHSs6m1((F)!rz$ -bz-1NU(&m_O$VR++nQQ0@I*y!0`kodpWAy2|R?B|*%qvH*{VPhlrVcXMd`qQkjvm90zapLg%nUu$C;F -$2rAwzIJtUqCov+-@85_vi7Rfkc7u73)CK~!EEVjj7(j@T^IMo#JpP&MS^;6EV~$hvTf%f%;{3jG^7*5t~B2@ -ui0pGTjIch|R6QHXo)KOc=r~5a7}J1+UeGyJL%z015mjiBoR<*Ci#(z(zh_+MYqHqE(DNLJm4mnsueF -Hv&rCkL+FGbujdK2UVz?9@hpcHe5habX!FA(Ig^b-K<#y+51o?gRlT -qYWiX#6S^lfqO>JKiX;Wm75=IwGH6_rpx*UmE{!3xo3pyT+nQ5Qf`P&w%W>Q~zApUvbi5eqdml4wxV9u*Z%Oz^gwmX23E*ZB+ua7P*{wEiK~@h -{ZmJzTVy9jTE4SDmVp0x1SD_LHDUqnD7*nFMc8Z;5t9G!bhm1wEFETE$2*Cp-r9Jt4^fkzBHGW!>0wq0SgrB@ -3k78FkQMk=k!`l0lN*Yp^;n30d5N?omYfipMknav%bac2{Clfge?;YrwPE@)oL(hb^p0oLUL^Ng|YI7 -MfmR5gx(vB0v!N~_B-`uJ`}pU1sG`fojh=zK~RV?Cd0aQ(1dB^Jk;Yj`?Qu|X?Itk&gwtbM-R9n0~VC -uC_AG5m0y^m8Bb!5g8%N^(P)t!7d%9QAtVbeAz$Li>^D3cE+Bcj@E{$83#0ep3Qr@&25w+ns04%?eX^ -!`Z6aV_h~~0=B35w6PLWM;ghF+wt9AO_tn>PXSO`AH(Qw%z4tn9c -6S4wM4>Rz;n_qW-*wUXg_O=cp(Yp!h3SJekkKLyR(^KoFPVb6vGq9(}t8{*ayh%?NG6MJ)5{l*^d&fM -u^ZCF5kayS%MPi8?bw8aWeVPlG39Mq3w`H^mc}*sOUU$xzRln(Kvvz;*ii?aP19K6~`&_h@F%o)N?`Y -H4P-^KAI}NY!1fh+j9Tw)cKWZJvG8YT;>}LUBQXs>4xs3lbDwX(U6DS_!~@(ANroPU -p5KzHZnbVMiVG@8zaf;Ubb#oMi^rZ^NHoza-vpeN06J<*yiM75cY(oJZFN~|35cHE(Sf_QB)X1Fq$K5 -`&_Q1I0ar0}4p_1$9dhGqS@9FpSwHFCS~3!DbLI+kF&Sc3O~VGw%@DN)vMEJ)PkK>0?vX#x;rHZV*Y$ -c{ZqPnkQ$mePGVBlyM2@Oh>vD5uz~oBPGADdx(Lrux2GMbw`lSQen$V~_>f3iGkJ7$-9mR<5%^^QF5u -hXQ9-$fkdvs?!#Yj4iZcDx>IRecD=BpGLr6_P|3E)#J>$(Q5n5+|GgC_3oQzhzzf|$b1+W5^zM$L!#8 -&D1k_G1Gl*+Qf!3?+{JVT%?t8wKFSVgx=W4-Wo<^xZc1Ir*uRvI1K2n(?q=4iDv|q~-I7jMdo%6~du! -AIgB+pdFG0SJI@lX(Da09z-oo_-xQ=Ch$YF#N;mzaScXdG^1K&p#cR({hZj;A-iSdMT0?Ta^meEs%C_MiC2%Rj$*{pQ89r*B`34|IkubPx4yr-1$&hnuh2z_c#K%#0Waa3nR@`B${zS^-Ir3DJmmZfIcKRTt+_ijJ$=AHO*aMiIqw3 -*87DhHY@2yf=S^&1gz!LZGzQ^jFjaPt`TyKchAh0m}Y=emw#IyFOe93bU-9Xiil(k8x+@Ve%t4-uUc) -3e@lk7I$?t(YNh_;2ES~WM`kW=K~niU~J*UQRP8G4P*I(_>W2-n(f3hCo+*>K~lTIg&2_Zl%CNJr -6_Mli_0s1ERH(v5~sj&PQ#wg6x&QGJ-^c2xzB$iQ7yxr?ha;m_&yr6&4r@2b{B7~m^5eb$#-kg^I;=ZR=mc{ -7anse?A$nC576%jlyBg~H9{m7#Q-WTs!?ezH>$s`rIz;K~v5r#IG_6pd0cK6zsTidyOutjCLwupaL?< -0X0&rLwfEp~j7EJ=40B^DSKV;!8I+2f3T$JgLLvJSVdh?PQ6Xi6@>WXciXG=1t)PRo3rMSZ7Ea$P&cG -1m(6=&oKl_mWtBF=uku -bsz2cv#*}B@l^hgF^@QLGo$`m%3^U+dvg($5+j9%x+l8nq?271m -c>1iqloxjKtHrDEU|3Lu5Dw08q1u|zryA}b)XV}ZMdd~1s(7hp#|5JhKR4|6VmaQW_EuuW(H0o-G9N3H^?2m|Y&iYINL^qbgNWV$!n*+0C}4v^O -B83@B@fECch3IVKL2{YQ$?uVh!C3My%qC7{La4#{tXoXkem3CW2PRxi8CZIae+ -^$ja{y7?rbH-?YX#aoX4;A!KZa#?ZjjG}uhc?AO})aKtOSa+x^CzzMXt27w!4=~v`p8N?zI -rxD5uk9t`T5^0C+gRhxN~n^45R!G*31&A|o-F-3W@-Db16>D4nZ8Ugp(07q>wC*k)LKO-{?v0Vc%=rJ -Carh1mCotEQJ>|?oi<#2Y@%3Uo5A4A6^m#U=K}Au#@gXO2RW-kme{V$p<7jf7}<{j_L;mvouNqsa{Z=Zn7#}~m)K#8niR -X&$p(hnM?#!rDp+ZOI7u+NZ}A5;>{Y!j@3GtFhH4$E`Zu9s~_}@N%f0;y03-NJyx9{NS(w -@=tb9)Yi1awb-H>Vr`@GfgNz?4mH=D(XP(8Phs8kl+O5u4<3L?Va6n$VzU#qHB~YoLFqV4P9CEc8)mFyO -C(Kb*fK6UWGCpv2Fz-=S{8)+x~EYZT^{)iemd!So@u -z@Z+VwN81Xy&>&2*dpmHnN2}UA!9xeg{=N_gvIrFdJRg`WKfVj$#($c<7`s4yvo;4+I5F$x(8wM=;2ebl-T5Ef( -7HFj8>0Q&TvtMroXgnj`a-O@2hu_S2aciP4)nggGlz)6sa!Ohj5{nY$U^cO}R_vr|WX^}g-9=b4rbnv -Rb+*x0tw5y`Mn%%5=zU-1izK>mx<3s~@5)&`4%U$?1$&Li)f0XLOQy8RdgH#j6o2WrhDiUYkYem49L# --2lixhmi^p-2S%X^Y6%ct4Da4Y>gfK+}Qq?3M7mmfE%FZV$DxIulnXHex2y`VI3+Y2nzLQ5-6h#*fUo -d~*@&RZ;C704x)9Xch89mwrQe`7`;mgGoH>15B8>N{6QmDmo9MqItS0!~me9B(k9Lv_R`h7>>UcnX-D -rL>v#oDHYm2_ScyZGi<^KHSz=jhy}Hm_u6bB#JE0vSF2%`IvJcbmN2pSh1raBZnX%B+57FK~udt4g)o -R%0>0oV1%>&aRn^k1EZL_)3@4v1Xlz9x5E$xsY#+fvA3R)hcqrx!Ndk;F&Z3B!jBGPhY76}X4FN@i(Z{%Nn>zrb2o~f_sqi-WF4I~7HhOv6ag(NYGF+lESW6mPQX!Lz(e{nTLSrvuB!N2|OBhOOsxmd#C!U|E>Xsp;+i;FulGdv=!;fCK(R72IWR -zRgA% -uL5WfU4Q#UG;pJY#BxHA!l2)Gmwb>FqqujvFd=7wtgjN(!Jg0ypj*1JbnZ4w^YSnDJ#N728SK5Iim~c -QuU}5F!>{0$Ghf65ra$8s!c6FL_Db<_ma!s4lIDFJX_RBIg_BI?6EZ|6GWM5?d`x-gg%*NM*z5roD{P -(b)Ob0-4hhe}d#3tWMxO=F_e&QVqdG{dTMyM>c4wz?hgS8C=)wGsSqjwyrpd7{o76e5bSVX>+a@7cQi -~q2NCM{wdevPSh08ayLry(33hct}TW3O_2fUdlYDkdKjhumhWE?1ShBAeZ=NI%#hbpWPQ{xd -opTY*SbQP>w!1gyU6Ctts>)=f=bp*O|)n$k -nmbJ6u>;2sJg^rg?pNJh?gBs!Zg6E5EZ+#D@RH<`eW!G8 -?CAR4A#;F+nM#lusx|@haGlsdVXV=$?yO~bYgzfwezUaZJ^E^T9S{Ej{ofX=E~S;1<-*vG%$5(xfEFG -u3Kb@ZqFAjEl)e9aPW78CHO?=2lK~ -}JU)iQk(rk)GbQItcw#0aVMEAg2L0f_qo`h9Z)}BI*{;`C`fmNCrF1oQleOE~l@OXmSx}0SPu9+RmA0 -aLLc4oeuHx#H`l*p~F~RGV91GbyH=%Mp;waa$=h3CxXQnG{ -)K$sC{6zb#t|DwwIF3pL8oA6rrw%90eznt}8!P3{H*$#UP|-7-Uqv2Z9*#t^qfuLrw5yl0@0aEPvr_L -_SkvR_2#EqAx~$Np3{XSHKK9xj>Kn;$ZF}RH8^ZgXCQN$OV;OXx~W=WN_w-Rn1F~Q8(vS# -Eq$iyr@b{vt=mMW{*N5z3S!603^HKtWDw{P8i -;7Bdh|I%%sDWe@Ce<6jHRwz46Y0X1s$KtLs -Z&O*7cAK_Z5`zdEkM@o`IOzl%f$hih9~4P(K`7}=FHgqq&EXv64GbFIkr+*f}h7DIB7U6cV=s&6UM;T -Zn6+DWiOc-J*PCwNC!2;y<)z3SrbG(o5}*R>0?Uj!D3c&laX7!YxcPGv#k__X+7NnPW&0Qf; -gvi5q#c>7wFkwzPC+UQbz>@eB2hY5o+lTY_mzjBJ`4lN{2J5ezBE4`p34aqJ~lgcc(!GRL?50X#%qm> -V`FBL#=cQ#HPM@tCxU;3X#c!KrPhWMSZr(57+uyBufN(}EUOuPLJ}-VetD;CSwyO^dEovriH|gMU!h= -3fkz#7$!>zbv}G1{n!sH2TFpo(jE>7@2-h#jN|CJwzt0s~RA=Qs>9Y>eA*W!cJFH;b1r}XI*DQ71T$nHYv6l=(S@CY#eWN5p# -dsg;1es;r+tm`I7gLJ^C@*OQ@(80JX*Ox0w3TVA2{0LRaAuE*d!8HqHR|XY{NRDKA$iI&Q9k!CQZ--6 -x%6*YK^5gZINdV}T69qxiEIV{D#VZ=b5iXJOvWHMw58kvBncD*#11TzGw=nx~vQcW62#@ZM$R@%_BZsuF3^7BQz#;oywfQS1 -=E_T+NG@Lnl(31tqun9-g8NsXi2gmDS9t$Fe(24vRqY{s83m~t7ctocC1)2^B<9FeYMyz+7B -reklX#ah9$HZ&D8^iE6!@Pt_(5RHmX#?!!z@yeIdhq?9_!JLLST -QOD^v$cUUc7y)4kAnuF0gVIZnnjY!%{Q7x(Tpf%^}B-;uE6eUz9~`e3X~Lg~&YU4NyO7A0s` -u+w~F+?HB|c`byu#41p;FEVtfV;@&@vK+Kq@_p*wRY|K%ja;4X3FhR*{Qx!tv;8JbGJSdy{OMAT^x~k -v%7|O9&Y7pd-x3Gus`yQJX=%i<{Nh=ro*nN|Ws#TPNjC6qRgp>Yh-(0`m7uE2_Z91YjUN^QI@XTbEUr -P+xm?;6C0dznNSuZdB+Zh&>Q$SWeAdk=)}w60O9V)?8dXyrZkpAEazmulxJZWdd&!z>bh%jw9j2J1Ct -<6EHaej@P6py}wtWRO90cVW&_-X+fu75ByzfN#ewV-boDbF{f!jrCYQrcS`K%IM$V^>Zn8vb7kjyp5G{)~hS|i5 -;5bK%JHlwNy06EWRjS7#ZXdA<7v=Dq8hsOpJ*Q)G2-FW1;Ns(!5<8Q=-bix|9a;inh}ae>)F{R4YM1h -8YPT2drrK=DtCQ-P?0}*b^(AZuP>S1TJ*ON#aYb3Gu^Yr^sbbn#6Ou*$1mj02cYS -N!BRDNgsB`CMbUyqdhMx_T`V7XA-nGv`O8obSw4{CRXvXuZtH(T>m#ksIe;p}QA1*A7SHflFvXot3zN -{CG)iVc5XMul@(3!A$u*<5OS}6Y_eYZ``lCUa&v9>hfex-spAp^zupInb-4GBi>2m1Hg=r(;;XRKyJZxNY-4 -7>e(~<<^QZ5gGUa*kKVSUMI6>m@?EB&P9Fy4$zn|w1C=br?Z2bM`e011*_BD_ISpuitOXsbaXC#7Wab -z#;`CeyH1s>lx`;@AtHe$!iVxRwT*dw|s-W1i66|n1^=7Is+^fy{g6=w3{iiY2}hCOb2|HnLNXPg0jV -*N|gF*hl{S>;Y+&&d%fg`k~$Lzc@0cA#qr2$*Ijb>#d7~|B#FjTPIacl7=uBw^{x|{>s$ ->cK8!#2O2zKV*PW1%f%n|IsyQGs2C+d6cGsbk7bRP-e}|zA2Pq;m}p%M1`w5waDK^mto$i6E$uP6BBq -zVO}XB(*Rduo2->5QB)2-JObF;0-8VPhl~Hz_b*5o_P!BqR*od;!l5;&j2}2+K8!o2(B*hGAD_?W_N% -FcGAN(xoGeYj$IZ;*4`6BLC@q>#N -p)={$4pD2nc9hz)-DQzVjT7@_Bco@>dSo_ -doEoOZ1D7bS-v&xTcf^-S&)#G@?r8uCJ0C>)pTr!XUiGq{43%9B{O!lsMLy5XHx_tDd6~bmsUp;QkvWGfiQg9UsGJFe2FGndI6l7;?r*+=}d*H(v$ubc5_@pui(6^M!=Zo=^rAJR(E@IKj$HjZ)l1sT4&UtY**)e<#Goc;#Yr8Yq4)Bz*q)mv!Ep+bP@69%jJuKh*6Zxm>v!3+r(b=Qz5C0{x7jzZ -p1*$f&DSqpy?gOI119+|ub+QG)TryCG5XD3mX%$k%xB(1N`{yiT+F@o%w00H8Q@Xrd0KMvxJZ*CO7&{ -)JR&dK+GU$j{whd#-J6=mHH{O;bUk4>useLQH^Q5~qTGAP#|0B4Cz%|%XCWZ?r~24%s(AF#Q4T^VUAa -CFfkz3tiSu?$!q~Qn7YymfGfXXzO03aIjS&taeCL@9+g?8zq+Z@^uF8}7l?RFp06 -Mba}f~=(sCUBU?pQG$4rdUP&pwzfRqnIj+b*6A+%GSf7BV0txM@Bab1C3-W_DIYzE}9*hHe7=Y -t$6B#owa~U8wsrAJg*w*Y`{^pd@-ACC3$#KSLpCO*Tt80HIpKrj{E0tF(`ch%<)~aolYH}j`kE^ya4V -GW0&V491>CF~D)Hm^n`SvbCLK>E&_Z4da8v+^y+~Rm982 -jrrrr}**dWWByw-UHrG>e;6c)y6E^Nhkb^%3$JGILe1$(!UyH;~CWy8i)KX-mwRJ;T|Kf=`l+yP|Tpu -h*KplQ%yv}6hrmGodtpTpCU2FsEBKie%>p``1YXFC -C96j9{{v7B8cZo!k5JdkFR#0Kju^eKlC4$tEz(oBa%W%Xz{`!sVgT6CKFS&}sP_z5R)?TUlR`8#}1 -dYAMkleQ=ZXmQ9HO7}U~OV`emhXq7@bCh9TnryqufcPUWP@1`eJ!>FD@#Y$9cCHe7FSt%8AW76rhVi$ -Qx(h#U*2TKQ5`08RKnfxXY86xhfIv+gC|VxzW(F`wvGUY-7|Y^{r$=ly!x|H-?FRkgERZ5^|u-qjDKo%z -~nyz4~IkU6ue!KbDFYKwH*JU>4b`+AJi~h3enP5fu%Iu`eJc<;Ju~Wq#n4b>X+eLv|qoghN-YOQ7{9! -BUK6c<%ZAt)o)%pX -sG60Y{lbV^@8J$-4T|LNH~WLyY0h^SG49rOl-<5Dgbq+*r0e%UbE4JI{<_^7-jMR|p!N?cS)@%X;ECN -61)$%mL6ksF*$oHe#|gIB6Nm(c;yRVNcTyd)2sTGDN{tvwfplb`E#$INR5;>9iSz*T!4UXW&q0X@Fsz -W^~c!w#>lVADjSiD~M?0kiYKs2eCJ=650PTAnJd5JOLy_oDP+_p4?Csb5HtnWIC#G@LFEPoNJn-=OZq>09VvrD -xcceFKN3fW^xQ_{0^A|8C*xSqQ!i^{TXkDG**bJ8Sr@2KnUqoH1PTX~d@;~CV`njDH6n#KIL~#YogcI -gdqOmakrMPnC2$~1w_ESH#eMu>(fksVRZbk3O9MYzNgKh=}G(gBY2Gk6j3Q}lfUe?|1ilD{GW|wu+xK -1;Vl)4=(N=lYk8hvKvl~|eJ7V{5=5G#tm)JdF%!Z!5F(a0ixWP|OtV5k`a1z@ZnBg3G<^7Bz`y|#y|A -#uRw8+<+fonkI8@ -6aWAK2mmD%m`-6N1J+9c001%q001Wd003}la4%nWWo~3|axZXeXJ2w-~!TFDP?d6Wv!2BC~#TiW3S_30(d5lr8_P^bj6s=6-dO;4oMe|(+jQVBt3%XE& -2#w>s1IMrMY{#k!T0j#p`sC7QxegX?R)=+o!A5@8|mG#_A$yVw8PH5U^^&S=hQ-bZJ8s#TGVr&?l04j -g3@6?F>qXWil9~OERH?wq_9LPW=%F9T1GD*r@HkLX!$(jR=PrJvhH$8y}skIP*@6aWAK2mmD%m`*}z6H9Cc008+C001BW003}la4%nWWo~3|axZXlZ)b -94b8|0WUukY>bYEXCaCx;?TW_046n^Jd95oNdDRq-deOWc#QisH79moQ1Rc$3iU~JD813NR0?SH>#hK -n)AY0}m5kl-`te);Bb2IIWgF}hd^(BmPzySRJ@w=`#qoWmD_2hk78;lpG3`f0I>XgZ4X)kp12JA-?|R -+Mv^XCQJ|b7DY@`V3g*37zBrC`%xrTrm2u76il+mGOKoHW4E*&lxi8P*1UDMa~Iqs8|A0<^OywU``02 -#F8-bu!9AQGC>jp3YI_8ge0gh68MKe^pHOiR1`PSWVxU*Q4T1p#opEWs3=IpfMyV-sg$IIk5pK}!~); -F3BH=11-1|Op8LhVwyxoo>ErKLU^>@|$(#if*Mn=@A5TsD&IfZk1(fnkC$KFaReiOC33%46>7j&+La1 -)9+8Ix0*S2%35yp?WvO0@bZqnen3@1j)?WAkUzK*n(6x -py#ied#vLd<#vOfhmPCf9SAppqz#7dD3gskq(Um+jS&A8V)>Ddf`~NQ~TC(#+DRy6@TD*$T;&W0Rv3W -_N7gC7L-YHl~UB=Sfx&tc$o|IMEPKOn1nl1>Ag8D#7NWTEMGww&evkiNEiZL6*&{wyN^`%jO;m@2|Uk -Yfxjz(I8Rfe2)vOX|Ex)QnnZ#Kx+3+Fd{0O!qVjkZVY639F`;Qm<-0}|7YSiZ6KwaJ2KcD+w!&48t(< -2x*2p#{g#cU8Eyi+oLPWhsyd|n>VTj``qr|wcU~oBlKhU%ZHhegqc|PV2iQl)E4}bms?tMDY{E7Ru=V -XaOTAW6lgPqN3Mg`IHhrcmB!^#($5)`PSk`%s*!VS%me1r7M3#gwn@X=l5zQZ}s7GR=((L%z5yoKzLD^sY`H^K5bt9*pb676ls0QVIxC@u=v0I38e -Wx$Zz2QCnEK^PE(sU4J|cbi#neE$HQDaD27sIzMa-}EBKN4OjwPeTiM_c^?H7M6G_Zs*p{d>(TJSkDJ4{p -%g0dh+nFF>0HWf9=p7L2l>!)F7OioeRbp}hFTB&eghhJAs)Fv5O!<^F(_|J)-_nSa3*(^`3+(QB1M{T -R6qn(|2b-8iz}X-JA6Lx=lIMz*2`%d7VIpT@C7lq1}rNOy;5!Egz{eLF~2ZCnkxUW-~kUPIQWxm{6gz -xw{7ZKPM9e3E{cd%3V|<)%W#aZz@ZqzP>MK};p;;A$rL)yS%gxx3?)fHmx^(t(O?Yj?zDI~2QulyA5j -RiuZm@~Vr6&0>7d@&!ZW(CZDklIU4b&*g&FzniY{TGne-hB7rAHR4^t&UzNf(pBppt`+(KDcH=H7Z<1 -ReRZLq+9c$si{9Kl=cO4&RuTG>Erw5NefcIKqLcdYS4^^_%cnhdMU^x365~Cos4h~!rWMWfOQYTWZ=2 -Mfbgs$ADWx^M%lf=&DL3F^_>=4P#K0{O59)!Fn%X#;#qtBG^uBHFP^X$C$@`2kZaz|bx=mhHv;{8J$7 -+Bh)cRDdpZ&HVpZ^OU{smA=0|XQR000O8B@~!Wm&~=erUU>0CJO)n8vpFa -%FRKFJfVGE^v9ZRnKqZL=?W~uXx(3N>VwYTP|n?E8N6MEjf0uovv1^Dstm-GT>i~?Y5EjzyU!Q77!rq -isP~ejvP7izw|HR&5VB}AwWSQQu{J9@B7|2Z{B-3fZkCL7Ku;eem0^H>`DRKx10Yt0_BbRGfGB3`FuRzL@E9w&;`Meze5%4aPD} -qFe`ZjTr(*+R%MAWpAS{gHJB^vTrFF-U_4YlIXN%^sZLhI*r?|nS5FNMMwX3Cs`(V0sW#A6LqXBDHgFYWsJ@;i)dYXXMlaM>_(Gz_7-DhFf!P_UyQPD6P%SFM^{(7@F#llx -;}*H*a-QyUxlSThG2hg!nlwQO{pIVC^=)z%#z)0(+5NtPf*7E_a)BJn&Is6=ScY)ryL6}+SEhv>Ij0Z -Ss7&x0Z_7@5z3Mrp!wC}N6TL*^mP3G>3N)hZ9NbykAZ!JPE%iz>woociDs0H}Brao5q2 -k`ERSY|~K&>LL04?8sW$xYXP=dcrbXxqZ!(qr?Kktjm -eJ>}SjD$fctMVlNJS6c_NThKtT>4V;5r{=v-KWOMur+K0(%a^2)sP4Yyd|l;tL33s)?Rqa%0t}ZXoqe -~K;^lSgrhBKwR@d7;a{$HLWeZw>e}u8#|e!)&q{@g#59khaFL3PvvDX%m6~q%BhN3I9Ll6IEV3}}@Zj -CLhz2WsJYG!ZA+}-}PT{L&EZrinx5pJRm=hFgbcgE#xNGoOS@V -)wZm+$SL_y&|M!h7<){&k1%^^1m2j~9$YmSwvf@{Iq)blTT6Zg2EJy7DrTA -$6y~6e&=kzrZOiu}VMg{L1OWZMljd7#zLDmoG+#^el{7D;;l%&Yn{gcmi&=K1-0ALV-|Z&c>Dz`f -C`1x@n>X0*{(?OKvxqJUgCqcfTi{b=+es+7Hpp-Qh$vkYQQn}-xu(J$sqo!$LDi_*YUXN;NUeXXO5&u -f|2}7=$Y;HW7hE!rT6--D#;~|{JcYU7B_?z57>-4O;OMx=e8NHBIaaDm_r&9tak}0Ab6}N0s>$`&gKB -4@{j13}r8h*h;&x}2WxdfjcW*uuo$%&!X}*x=OJUxY<`-#xljiq!6USM3{`x*~$_D*jnjfV3v1!6T08 -mQ<1QY-O00;mj6qrtU;JJbE0ssJ91poja0001RX>c!Jc4cm4Z*nhia&KpHWpi^cV{dhCbY*fbaCx0n& -2HN`5Wedv2F)RMp%_h1MbQ?^$h1vBmRwR!Q7jgQVo^2`TNFqt*&Mh3Ko3QM-R=AJNp>jNak9JUp*r{z -IrIGtZTbjK9-hEb7phu4g~pX9Py9|096_Y(8>3ch2fbw<9zQyL3}dCuN?SOWSjaDxg=bgY>o2Qqt~P_ -E-o6NqkUW!StE^SJ0;i#|GDMU5CWI|om56y&K%uNN>Y{NH+#1EKF5Pu*B$V1)`zJ3QeDg3fT|$hY&=s*J7 -~wsCKNjyxRVcSIJ*(BvKWFm?Qn+hOt49Man$ru$V^@?Q^;B-tlGEyX=+ -(9~t;`xvzJe@+E3LhKhf}#b -P{fOaEyA_!P2)rY>?Pdsc4B-L8N9a&T>wuQ=0I2dXOM@BRLL(L!HWy}jR0$r_2*x -WfN}JJQ1C%gcYu*6Z9#3(ui<496iHfB*ZB4&HR|wu5&ayzk&c2Om55bc`N9j#%B=Y-H6X>~{LMEeeZU -RrU6*CvY0#&2_u(U21r^*XsBG_W%ykzpCF3v(J?5we$aX?C;+`w{v{^vxBc4{MEr19PS@bO9KQH0000 -803{TdPA}lyx(WjT0AvLK03QGV0B~t=FJE?LZe(wAFK}{iXL4n8b1!pnX>M+1axQRrjg!re+cp%1_j- -zp3<{46kK1My1Wi$nOxpxx$sy?pf+R3B7G)EaMS+rLGC-dpXp%*iMdJs^rawT_wC|E9=_O^)OuA{b;1 -S7tzI#Z^M{x4x39L+}%k_O|oBZUSTM2?A2u*cm^?K95@v0AZzy9VfOti6UQ^T3Ujr0dy!?zdR>-Xzzs -*B;uY`+VR&^%XmtLs{u5*h<-tp?bnx*EV1Tji)}nL(!O#_IF7QP6AJr2ripW!3o=tZiC0DjPs$&4tcXhP<@FK|y+ME);@R*QY5>qgToY@Lj8$sE4hpQmF-9LRu8 -gsZ~An$C6VDA{om^gi~Mw<~%uLBRYaRMBw}mka*;a$U;sN4kISQh_IOe5=DS6PGZTZK-429r@-liaC9 -VSLfj2H4x`10#S`yivw6g@$&DY9F(PJ^hf`c2rz~Rfv2Q+RGNwWd5dm=m^o+(5#MEJK)GF7$ -+P_Bz_EHPD4hb0fy!@lmjFj-p~;yv7iqZNW&T!kr|n|7~EU;Q+KK@C6jA^fkk-UH`h$FJ4-`XYBW%=x6=w;B&1G+4uV2=udhd-~8bce|+|&btrT -bYEXCaCt?{K?;B{3`Ehrr|1F1TX+NaCD;@SjVY6e*B48Ro4~8UO$QaA|NaUv_ -0~WN&gWaCvlZZEP=NZ*pZWaCwzcI|{=v4Bc}IbxI5-2MBcR1xoi|Ql%LDDY7$}+`V$i&xIDMLALdzrz -d$ZDg?NBYc52dn(O4Ew)lRCt^&3@j?nko>Dc#8Kr>3P7=n7B1fw1M!5ayqHt3Yar7GKzto?^#W5~Jfk -_zXwsDv{CWBDin=Hxj0GQ4(SY`s>8K|`cPUQ*GRcs1gxyzE95Lt{OjtvQ) -KRWJTlTMUde|S-f*w*@8!@lJgP)h>@6aWAK2mmD%m`-m;y(8!e0034f000~S003}la4%nWWo~3|axZX -sbZ>2JFK}UUb7gWaaCzNYOOxBU5x(nJV3h+%n_@{jsa<=@%G4gbmsI7F&1EH-MN!}kSA3`dNS=vj{(H -IsJ^&J=39S;1y0uL=?-6=x*VZGWqZ{4?hjuj -|e-%SBVk)8y{%?qh^NrtG^2EuSoXZRfGnNZxeaDZp1 -4~I>#Ro6V%7927mm&vg*Lhs*4>6Gec@D_so?HS_?f+njj81XJMf6lv$Mqpgq^~hKlV@HkD1lfZX8`J( -kZs8YHTV*cG|O2T7i|5=WGp4uB2xTBk=&E|;`@H5h46&YkABjY_#6E*ngPw3$VwsOGGU0nf00bomG}t -YQiKPVR0rnKvrHEsD9F@Rfv9;5ed(5OOOS=azjXs%RTA0^1n_)SE#rO8#6$y;R3`@Yh*J;A6L^pQS)I -8Sx22;g=$^5_fumC-!2><$b(2+Uv5{|vUh5U&(V&9InP8nyV=Z`YCBQHB|Epamkb!mLRl<9PHa(RqKIYkM17~o8=J&Tvf?(AD#5UM -D^jO5%T2wNJ5o1eLl50}pl#2xO5x+~Ho>%H$4;zH@jBeJv)UUtMeSV*LDd=X&UXc>kzM*COSqwPs+EiSXP!ii{>2^hE_0RDB6c0T2cvjWA`J$ -gNk)2gU5P72cnBRy-U=rXL`iDazV1>=tmPSa4o`Br3YB^*k3%k*iN0F6CZbZ-d -35O`~IB~_UM0kXe@wqXpSYkvU4i7%thYlP-aj~HNOpX;Tpeo~PrUomb>M}D^a;q -oiiLIGtvm}p&Xp+VI*0d39CNddCo?v+jdl(~$L?fEHFEj{MmTP~CbVlZ_0*LfrYE0N8Nw5FvU*+@DoG1(gGyT)mp<&&-1^9g)dEgi-r0f!Ukf<=dFAQ?^## -a?etm>lT_VC`WOQCC|@Y6lP>E_%Px!r3lAsk-l=gjK175)5NkX`$4m%WvFB -(CTl$#xSu4YB+|zss{FPsL@OjmtoDlhVUKwh|a{|?bya;%ElL_tn4)I&4f6VxW)$z>98qp_~2%cC~$+ -yLbdj35JO&ItGG^05kB(jeDaq5BuB*rM+St8tm38#;8yUe^FTM~U=S8Xtdxw`A+{e-dtt6iTofTe7oU -2N&qmP3jHBK3AQ(eb+fA{}$ja;z<5ZozsZGQ{yvBypK+Rqbg@Fx6cOquES5ahx$m4>>wrbz(0~bS8Lp3W<+fz`S(=>Z-cno<8J2HJ{VTBr_)tW3;uCQ4z#^Vx`_ -e2MvtLAlKL2m)BelDdJFQ~!D!jKLO5V5ZUrh<+JVAB)u<8kUe+;7NM?q2`0`LZo{@3v)I`u%lV`tLwt -Mb!xb+DIzGZcf(7IEHfwg>T@D!L%q$B=Jd|ynQ2dPwxrc?(yWVR7G`&$5oMIQL3WE;v9=}8YpbK-Kv@ -`)}*SKQt}4)`&eX&klZEfm-%+PT`rf4?egwtC3Pg8DlVgQnK{~@z0Gp*FKj_OuZh=me@9v(^7#kEO8dyXu0R);TNp8!@ZV` -i)sO*}MBS3~-aAm3ya?b3w?=`F{5&f=prt<2cn)4JF91Ua;QU}kqVjpq~G23XaGsrrYJz(j_Og(|acb -X&m$Tm57&Vle3P`S4-6B%jvM?-RT+a3RN*B2<}de+g_k#k&FTG93r3iPt*LIAq;s)6-+=*V~smDpDH$ -QDr5plqy)@uFc_&%6I?$%i{M%w0qyV8MJPvG$vfc$R8VlJ(!qAEY`>0F8{Rr@)}GN()*4BZboS@Ei~) -w+D0Oa+&q&gM3JK$Eo)9=Xhg)Eu-w=HH=&Q|+$29HuC|>4I*Zc0ilxh-?-#oVSOS)>o7Lju4ocC(_Ta -zsp|lORhwcNm+OW^NriWSQKj4i@XE#NeW1*SPq2~{C|J97Ls}=m->2Rx7n~s+r#C-FGVkc;izdzO?df -s($4LpZ|;pdgU0*R=E23gc7&B#9D)b6a$b;bBaNRt)dCbrIPYzLDNHR&)%rTePNF?*@!VxYpSIu>_;q -_|tS2}SKIG>ijhK0XoVbJsMuIx+Q}7;)D5e13HveAm?P!4Ic`x@Cf7QvHmO@c$kTu5+OFLG2B8Z-?0U -(g3!(JqPS=4>!CJ_X>Yv*f#!*j5<^p*(tia+lU6#&b(y^R&tLphkhWYyDK{a$WH`5|nzkH>?_$p>xc@air -~l971&vJBMrQ>#u<5n<1t0DD~e=>YL5Rz!pVxO+wdi$l?P -i8@L0`GiuG5-Nb{l74vfKZPiP1qix!xRpr*GWH{H{&ro3ug5Lf)P=DE&;=h4)_I5bcGq9b3lz8*jNW) -U+nrjkg_mLfH2NCuQm)y$d*cm@AIwp5FQ@&vA)29SzJYaT7zu?#^f^r(rF49k{L~=g>v1>gF#k{wqIh -L_c0YFb^bX{!F44P`Qp^r-}2KcTlJgX8eb3>A&xvs_4HY8uvamM7IptF?g_P!^Vb{M_qezRT*2-MphX -s8|oP8HTu(%*_yY5sw)O-PlY4R{sT};0|XQR000O8B@~!WtpVJBZvg-R{R0318UO$QaA|NaUv_0~WN& -gWaCvlZZEP=eWpi{caCv=`!ES>v42JJKg?9=_2yNg@n9gYcZe^B9>0`#{1}%I-=;9b!t#VUfYNL}19_pgTs&kNsjzQoGns$>vjyF>~ -?63MfOL3FZe#~ZovjOz>}*TYJ~X6jY51m6#eYvV?tUt_9g>@mOO3MRMvPK^%+QA)Ro4g76bo)vK-JR& -XYxM|xqT~J)|-TD -pmXKTt~p1QY-O00;mj6qrup7In>U0ssJk1^@sX0001RX>c!Jc4cm4Z*nhid30}WY%g_mX>4;YaCwbX& -u^PB6u$FUcn5?@z)jPsThY2+d+9FCWoavfz;2N+j%+8|lI4HjvrWLHs453+{NDGyU!SS@Mo5jSLQ`FH -8r1Gv(jbtmyt=x&$t6X%a6n4IH+4g?jPP@H_}vo42q)vejtil51IHIMJ`UAF#*pXTYy*d9l55LA? -*O(7M{ySR84X90qToA7-ugcrJe1EaOo47Eaoi;#$uS1Gm|yok}4TeNdv^GK?KSrP0XH6_uKGBALVDc(}|K%VTy}nk6ExYuLFY4sQ$ -Z_Ms6#U+Iq63AiS`yIMP$cW;jumZ~D~xLI9+_j3yJKjR+XOv)P>#b_KDJBSrx=ix`UqoxMZK@yw*?eE;ck9?KL5E?-N1Ztar -EO{S(2&=y%_40f1tDu=Be?`{Qk~Da(kA7ZRQ_$bw-EdAtN9+_wGdp+zEPviyjC60Z>Z=1QY-O00;mj6 -qrsq6x-5&1ONbj3;+Ne0001RX>c!Jc4cm4Z*nhid30}WY%h0mX>?_BE^v9BR!wi?HW0n*SFjEil(3HC -Y|;W7G{+Vw&~||~=*2b!TB2;m6lsu@6C?0{?+htflI3L4>fns1;mn&iUnz~QNS2kgs}0XGBC4G>j?_x -zy5N}^{oBL)?O -UAq4|p?NM3w&alN1yU2TGLJO4r=&nXEb3h@yv5pxGZx)4^;94nbyNMfRe2`|Z_5;w+9XGa8w%c)4#CGnL9>g+< -y3amxK|Yh);6Qj^D7|ci_j^M&G%m|Pn3i9;rkKc*sWs(M#z)rseEkAEDkKOQ{X@UDX9YSwHyFkV2;Q06R -_`c%IVALkQG(o`PY-ziMS>%`eyuE>=lF_HjfJ3XOEVZl{4PEM%$i43LjSFMo1P#pWDw}CG2k^UNTY$e0sj^o68os#f<8TICAQ0p8khU? -XzLa*428N&`>CFrF)z3a^};1TuDh91uyZdd#Q7iroir(-Bjx{-lu!^!Bg6C4jM*M`|_yN5HMuc*Tc^ -@Egk0EPkW+dR#;%Q2%L)cY7vyP9I3#m^+(PN9hQZ3&%Id%1C8Ulafef0>kVPeV5lLVJeh{16U*bz?Zi -lsv)c4_1m`WejYO6ZKE6E@c0TteE8m(TY_1SywAfEy;CNapfM!#<`t+xVeFqxv5tvoZmQI$!p2f+DkX -W+M3&&+xwrcyx3g5{_^AO_UqmK{YT|C`i2j^@^eMiQX;x1O=_rG7}kwt&m~ND$#NdFUI1KJ553AA45P -DT;d3f5r0+j=39cxZe7DE<{GAWK{r3?JTkDib_0| -XQR000O8B@~!WiIdf4I0gU!>JI<_AOHXWaA|NaUv_0~WN&gWa%FLKWpi|MFJE72ZfSI1UoLQYtyf=f+ -cpq?=cl;350(doj-6sFj5L9Xq$~Bsw5RxE4t6Vqe#i}p9CE+Bdy5e-SO_nyW{aG -9Q|?xu}nn1oIq(7N6#&Vkf#6;MfNj{q5+QUKXCs?5Do1ImxmDGC^&*(SpOY?<;K-$Q0wr&AtAk9k6iP -wCD%s7+u7_2F2r0hRgr%V{m6z{XkfV$Nu5XtYbA`~IfxvtDzlP#2n(rTRc6RK=je{6@H^8YhCj|`q|| -K5CxoCWr>CbNvO+2Y%J0yS6--+iU2+rjSH={2G90egYg*L%P^p&vK`TMEVW!j(LdY#~e0oDn(X@Zh(vpw*A>efEr -{j)wU4IIxI}X|JT-4qS?F#Bhm|;`DO{=0%A~%7ehJQ0P@jIyx6m4{a9>SjWCJh}4))pl6oHf0$yD(}O -MmyL7Ej;?#MHaC?<%Z;-JgI9vn~L2sG#Lx%G|};xmOeWtu`F<1#})nGrH47JUORtiR~ -CJHw+^4BbDagiK;tR7xyYW&%Mxz*8Lk2J;I3+y;y)I|Jr%~Wn9+woKWE#`%FQaAif%Dmf -w1@-8vCMNWvGWkH>cyt672I%tb0p6?hwPXQhSBBfn`w7)bmZbx -EFk6iuCoJ}PGLN0B6QCsR#+T^{xSOGEqG-iY&W;(y#=S+En{D#3IVg-esDEj?E_}D`2bP6Ln9??+NYIS01Jyxp~&ZustRLEdaQx{7WLn!NtdL3xT+0opW?#N6+kQ*Ny8+#J`|iS>W|by8a1{>QCknY -!~yXj2QTX|L1K+`*g@R~z_w4lCPizctaUzK>v!H>=ve2v>$Mndem!r_lU{@FPn#beQ1>{>FR|O -o&|xEi=WL$xrr7i~++3bFriM1Gu%FNZSvuDmhA&q+OKEBBt>{p1Zmrw%%h&I3ZwQL!vYk%$lVtarq>a -P2g;HYPC@d<8K4_h`k}ZXb{0onbHAqHYJn+SRtGso?+5@+3#}wR{zy1 --gx&uDWZduOOYuVjgtJIAaPcoW7vp?hsdi|2l4vENa&fvu4x|wCSP5hD&b&1XFxi&}xZ_PdttH --Iz`jE(Zkr3ibG3V1BNl!_>S}d^6%{XQR;C70xm?<-YsK;;#YY8JFm^8m*3?Vc5*M<}lisFSHyyVZcJ -4Qt{MscxHr_gULj0P2HD2HlGa-s{mSL<6C`%I07j$HTL2c@ea~hTsuT?Cf*3=bm+@KHTn_tI-+k?q@6aWAK2mmD%m`>oWs#pI2006WB001KZ003}la4%nWWo~3|axZdaadl;LbaO9XUv_13 -b7^mGUtcb8d1X(_YQr!Py!$H_a!@Z;Wc83xD75qv$R(8Y7O+)k6N}igqDN_pKfaO`HKVp+m75QArr)>#thJ=)qx?PRZ#xVg -BdSFqY{H*n|;tb8YwrP1q6n>>wk`e{Dbqcxx6Xm5_u_Jzj&#c|3D$|C*gWxF3q_RTmi7z?EEA;Ki<8k -IuVz&lF!LvA8=LSBnId^shTiKeNsl{G4R{oSh;b%VfDYu)RMk;ld*@ohSRvtkK%m9;pf7*BSdFZdF6A -B?f$@VH=*7?S-0P)h>@6aWAK2mmD%m`;ePIlB}B002k?001Wd003}la4%nWWo~3|axZdaadl;LbaO9X -X>N37a&BR4Uv+e8Y;!Jfd1X?;Zrd;nz3VH8?9gOLeCTN~(8I8GLk|OrtvkDlP1o9N$)l*IzUZt6_(;CTcW`)rfZ8?2K9vx-J$#4}r8b+5BK#B3vo9)R8OiFt3T%3>{=PX%-IIGZ4SI;rh9_u)t=T -y1fjiBh38jYhVZa6!u6}~!1mEWx>eQLKg9b;m4LA$M^hr6lOEACWw4eGs_z!aIzbcd233k{ -h7NAuz+}NIt$Ar|Uf&gX!7W$}{ajew0!Tw!p5kn$0uD2T@_0KYKu%Wx2W1zBcA+S1OPrb-oJPf`*I)c -l?Dl?}6}1Q`4jO;DmP?F~&HM$e`ulNa)eBj=~5cu_bwC9%JQ-kh@uenP%w)w20H-d^vSUm}o54QdZMc -z(Z%GoR3<2`1s?~-5ms*nqt?BvQmOh#$&NelfI@Eos9LYZH=o0uOyqNkH-auo4LOf#NOliIZ;K)&!Nk -#BF%%_Wvtzbd`tCTUK;&%UV>(kBXagMSQBxT^pU*VhS}V+ho4avYA_aKzcYR{)XLV$zOoiYW)163ldd -Jl7rAITN??d7u&|exMC>FF>)!=@3!dSK3t*iv`e_}*{luMY#Wg%i>SOk%q-cH#N9X!CW{JC)7JD^p=^ -!n3R+DKu3%R^6!Y?bm0%i#xDCFMorN)urXKwd4W!(}vDlb#MXt7NF15ir?1QY-O00;mk6qrt&IW9zu6 -aWA$Q~&@V0001RX>c!Jc4cm4Z*nhkWpQ<7b98erVPs)&bY*gLE^vA6JZp2?IFjG>D{%G)Npmtc$$Z!? -)hJbti6s(fH2U3*CXd<4cPDI-Co;R -AvbtKH{0XlN21iFngF^hX7G+gNJmH&46y@N*+MmJTZY4{$&XYP704J-s%t}_R1gi?3m7Bb%n3)cjdBt -utR92S)F6Ar{OPPrQ&l0wV*$4q4WnxjuJS!u@WgyoCD=(uBuU6(~nJ*qhH5e?5e9bm;6UC1rOY$PBi! -_z<@1sqgr)!?^dr>ew=Pg`%qb^O@rpQ0-Vw@hslzupcfW2g;FhG8~yL)@1ul3KWE18-Z8(x%R|03@2J -GmBl4a6(W*IQmMKC>2}Srt12;s$^8PY|CLVnZZ06VB4S6baJjyeRVGNmCWWG^$UYj^w0CxZl|RdJ2d) -{1a{X$rG={_RNaglV`t00cuchem)UMl`p=4>^FiZUrO`a+sg)T^W$lYEBSx&#LIla@xottTI<l0Rr6a -+CQvozM*fxXp>ssaDjQ<(WCEpaSzh*-FFXL{5GE24HaC17xA_~I(j3^5@ZX2p)i4{Aq$tFngp4 -Z^#)gsj>dz5k>c^@y*ax028L;5g1(+g0E+^?Fp-tIL;9L340WUT<&IfMJ-xVv=D_Egz5z(re6+Xfc-5jSAx_Euq`6du?kZJh -){y-0@TGACUaw8K}=yDUmH}X3`sR5icUYaq5jai@bV*@3lsy`Gr(+tRGXf%QBFF`(=q$&N&*nc31`bR=fEg*E^Jz -e<@Do7hjeCnpE-bhV(yID5BggP6shV>Dx5u3yNzhJKV#O -9H(NfW^$iabZHF>u}L-J5=s568R?edo7OD-k2HlcT}oKj$kbq)NP3m8JdtOquSt7oTdUS|n})bJDHMERu)M|CbU9$Fi~{%b(TnS3LJt5C(7k*h^5Yj>4bU -^i26kRXwXcKAlY7Z`N5O$5L=L-s(Hurc`qD>q_++W`uSbr~JFj<#nQQyP2bm>%D#&1;!fC%`ToZEPCp -g7Fp#@3)G|DCzei69rFC6l-DKV#ybR=GaUJ!jqERERc+Hq=kxj8P_U>KW=f2lFcc6S9?H}LK1h(Y_m| -rC;?M@+{!d1cy(Fx6j%ftUw~=>F%WL$*rHp768k}a0ZmgdK|qjQISAqV5WG|m6Ul3)SWh-PhsWCnPDG|Bt7( -s2?X(72~pZ~YTWkAmoE*XhW^f-5<(+e3eoBU5lS2Fz5c{oW1>`d*1#LPk_kCz!&Pl}9;C`Ffr}KwW12^!6K~+N+INgI04vH&&iwWfU$}0b+qRg4 -EDobSM~B^H<|tVSkD3WEkZp9oQ?-xkqshRWDu1VLilkPgi`zw;vZjC+`vLHcgoJOV#XfCZkrbn0~Yr+ -M&fi@kswCWGMtb?PBY7DM=)H~#!bLr;1(%}D(#T&V$IT1mXNtV*is*0q(k=EwK_9bc1OS$nqJOA8Z$d -kOIzwn|5FhMl1f#mX=zxazn&e7fovus!Rs`Q281+I)oL1*bjowKx^XWbL1GBT??6v!A5)vR?^HfPRN% -dI2$lkN2djf}Bz2*+ftKy4!&G4b;JlJ*a~q2~Q=4N42e~RGwP08W?um)-rW(QSj(ktQJ~#oMfgGjz7U -X{%fdee6ax1IVXh;>}VapAo7-W2nMMYpCQEAq#^N(~v|B0Bvy>4x}qisqVI+qP*GmBz(rbc;YzI2B)C -ZNY{cV-ytaELn(JMiu}U(vnW`{HvoNgvkugw_|ooH72%@xfg2R-bvl{xyj2gm>DwXwo<(JyBG#Dw#R~ -7oByP0{w&r`4;;xbO&rzt9BVZ!6G~5jh1Ep--?`+K@J2;>g<5QGWkMMjSkI>DrvyxJBArRC|DW|nDFl -AvNOySy?;-YZrpXCpsjEXhh36_)1V#4S_{~55)MtRfrlB%FX)0j6LW7Kv(pryl5IHAC23#<&S9xO*p9 -pzfQniMMG@r|W1eY8&74&=6WUO4t{Js=e&}es=Nx>zcNOF={?=_bk@zG*{zvBaxQm58-@K;k`{?M*D( -g}Lxj|BDSz#1Tf&|=mS*j#q!j3vn{m+q9$EPGyQ^;YDB2elzuNuT!+d{RA=q4x+dV=BE`3;tZ{`1|%& -H3wLkO*eevP@*LZ_f%kk8ubE?0Tp-uoC=g+L~i@a3kd>SHYKht$Jhds&i -Ud2aYcPbQOA%*4AJFM9kVWD#SNtRb_JWkbFD(~(skH&Z_X5z(NVP%Z%^1z-5lzQvWv(Y{vepiI4}x2k -xipkV3{U42{d($TFdIeuDBV9u>ecd%d?mGV -=RSB@^94hm*YM2Jd0fw0-9>ThN+esr-mfA_m%+SVSBIBER+F}y%``e*R!xIlBFn$#cbCG~aY!b4AP2> -M$hGvs0KwsChRF_hIP>;;1J#9ZJs~tF0r%@(f+V&Z;qIlqse*w -Z*w8SIuusEiSAU>)faD`iW=ad&R4l*+cXhbk#LPPF5rRbE!T;e_7&aTT3fb4AH{w%I+rj)qkS!4Dv5v+zH6!@9&wL%TYt#zG8Qaz%80EC& -TYQ9(6IgvTozXsg{5UL2qI=ZsbQHwBeJ;?Ce%tQgz|S{#y_O}adWlNHvz_W^0*%rKjt$hax+p|er90h -#LjX&A^kNFx$XSE~CK@fRTQ6p49#Q>my+*HM)1T=NGb;t-hwd9CfS04^v_Vrx-iPYfzn(}N0kioCvGf%&I)HEj|IT% -D$5GgllB>MS@APc(KByT<5iE3rX$YlWArJYq-Zc@XO}Y`URhm_maJS{B$>1=z-mIPCw;y~%IT_G`V)Y -0I}LvruA%#(YI8peduHQ)@8GuBXA)_>iCn-HMSJ-@RDfP}a$@I?niUq;5OTsEieeBu2*)H*t=#q_hVO -^WSF7)avZ~8aWr!Nla|8RqgL~g?@Jzcac@*Tcc^Jg}%)Utmr}u9T7GAwUH;01Vx@60dtV;qlih(JL^v -aCf$3A#N$B6K-&lyZ4FNn8~(R!P2kxD5ETrV(R7-$MFk6{yR@;S5j!R0{`ew#rYtvhBU(tXu@#E^-05 -4K*W}kzu~hBn*mhXRL=Qt{*G~`{9k$Ti#?~)X;QuqG2CMGCL&Lv7oNJDL5peh5*Jema9`jtlXdHH&)Y -xf-%|Cc^4)XhQ4&UHWpk~pgUEm)OMx!!lKpmklzDxO8#bVgaL#Ym0Oh&Wj_i}-tAoErS*&IEe*kRj9l -fL8-h%73M$H+6P{#)%43$D9Sd4>@HXH^Y~K;mO?lglQixxTtOKf7yuEqTm;VOew<56~QGUMXYQ>`>>6 -`!XP8cuo#_8)Y! -hLy!F+npA%nbkYa~>@&d&LAl$I73t`A$oXQEaA;@8}6OfdHb;T)2!`-;owHi}EkOM(iy;8N@~&p5y*w -#3M7A2x&|VEDmNuSxBy9{atcF8l;8)-v|y}sJ2L8Zz7bis?F~PwQ_C2ONc{{4NdRYtHX?Wvb#3M>Il&1PE9X>tJKwP<3#1$Vl^KRQvg&@aUGg>x^mj!r)<{KBezCDEx$5D? -m6_yrjcOW#RQhE?5?A_r#iyc2^`Y&FDdAY?^OlcWi8Yo6(Y4=#2&AE})>zbXSNrb)`2wIz&7}pI&hde -aZ*9iTMJ}sXcY2a6EuLelYA*^6NZ>(-Q3P^EiFmRg*>@(4NKZG>{MDWB1@GUEEMT4?u_#n3ec6O2K%@ -@%a6V=?8T>-JIxlO=}p;eE9d`@7eIs;qsfnZ4Z5hWA*spgkwmS7Q&qW+D3-fNpo1S`@~tn{SkQZb_c? -nu@})FCsbIU*UP0K4-8p2746N6WiKT3!**MsdbX*?0@D&3nyf>GJBVwYx1#hTtX|?H=Q5SmP8DMG9=? -yh|M#ck*h6*gtK8RgsfRML#tQjS*m2R!e&t5%MX^)=kR~FZ8Fcr+JKT5RC*(hZgS(tkTnh8%7|(zpd0 -WX!or)FtJOu;8uzd!CWy}TfH4Lo+Zx1X;jVSzA(NLMIa@rP4SebcJ5+U(LRr8eDcMyf)S(dAV#IOj`Q -jHjBi5z(^)iRIeM-+{YDV{BgP~y{i1rkPa`|=;Xn)mjxK(y=!f2LWc{eC5y9kA;_*6Y{TQ?MlKoD2yB --4ZqCS@diQ7DTY)7k_&GJmj=neVWb6-PfM=I24a88qxhZ;l2%fFAeK$Eo^A{Pj_g`^nA -8ZGT-DP_igeE|mcuTq<32Fy>Sci(1&NdfG^hm0nJ8XaZ?np|GoHS{+K6F71*cK%6etqA4JUxfqon1&( -Cd+vYm7VQ=&v!bVXV0E>H2z+pv1TBavh(+iPp30kNCSn+svJQU%Nz?VtpU40coTNP;pOR|(}`2HTx&U -B*cf_gANF2+vj@{P{DftRc0tRf{V?dnxlFM%7{lRGqzl}Oz#zie>CxzXJc60h=9=F -Zb&_;TQD8UTptI{8nIxfYnpXVTTHbPY!W5~w_WUh+-s| -!T=Ol7YD1v^HMDXpsOCso|s2H*`f#pd!omd?MEnIvg@B(nlC!pGrI1I~tow=1$tdK_y)Hol1#^t4eB_R%7OsO+NMD -;4v{)ra;{ZMa!p2_w_tv78f;hDR8q1cFOEBQn{@;~8t5#YvBBm#!0h2oZ_A*oaxU+lQCo${Zv<&k(-@qzT{IXY+1Jt73VsR_`= -sQgb`BGJT~~j-njE$klC_N#pAG<7hIxxSX6`oR5c>7vstB@`}EPlcSU2@#t(c84XWHhsRJGC2IpX#+j -fla@9(biLR(iZiad*jwv~BodR0@ahH6AE-%D#$t9&_R;4OuKMV#RIDwaJVcmk4V3Mu#U6OC5Y^w3VjwaC07nh+o!M2lWsUHZZ+nXePX -RnICPgjF@8_cS4B|4i4%OtKM+q3EhJIjiq|(>QX;&tP5+GCLRv?e=5s?((~aQZMPpxG!eotdoN!6dQg -vL-uZKQwI(QQVeRtC*Co`b=7mFo*g(o*D*Ex%aw8y1beb!J86#K`DKVH6@0HAeIP9dxsPr0%9%_jjve -9@z^XlC3oq|)9PVr}gR#Hp^;z%2- -MHbk2erOGXpgh|H>TSC_GBBzUn+9XJ@Av_{<$jg*8Hof(&I4k5@0oq?Gg9?Hlx1Xc^k5f;Uah@n#`;E -C52Q!NkXc0@LF+==CgNFi^o2kfkB&jN$PdCw4Hi|^~twIfWGM^ZkX@_6VUX3w^8?%Hod!Ec5Z-OLO7~ -EGvZIL^r4{L?f1t}Z=S^-DmH|J|7)Qma0lz%mF7}@tjtSgf|~K*7_^Mv0Uwq%p2a?M@xR!YV7}p^``0 -GFKwfS0gt<`j#Ib>Y0vq_}4)#>H$#WlLuD%lHNfD;Hi!ZlGB5b;N6ixWu?kiEA5>c1}pFouibF}#2vF -~5|pZ>wWT}EG?+ei67P)h>@6aWAK2mmG&m`*n6ZD(%_007=6000~S003}la4%nWWo~3|axZdaadl;Lb -aO9Zb#!PhaCzk#`)}Je`gi{oJO_oO)>a;CyCSGDWKDK0+NMRC;d>%HsEalk^@LJ{*#XnDSzNOe#GaKEpS?UccY(N%pm3N~@GsdeQr5`04d77hI90m{vIh{6bS -+D54jPATTR5pHR(3K^C-_=1eLw6OvqbiiUoVFH0dc5z0SF=ASfQ*3S#77C9f+OAE;;3hZC3s4U>C>h) -$)EXkNE_Vh7vi{qz{Spf<%x0+7GvZUHCS28cDRBS+$mIH$e4@lfYi!08Q2WK~0(uvO8>r9L63zZHwOT0w3_<1=E!T$5Zk%B9Rk7B38}RxESH~NdFZ$sQ_z3hzL?v8W6^OJ`{Nb!LwXKyby> -LElMJ0grkqCcDRb(D)SxwK*){Rf?jh`NdjM{)pAV6KyJlI!PwMLmkb2HW)2;QjoE~P5~O6JglMIbL7? -TgAR{v6I_*1H_zcOL>WV6A-?;ae3m|Fm77YF+mu3L3jvJlJ -hG@07<39WYCJ|IS2>>EyXn`0JMHc58yw8%4ehy5UUE3OVeV)0%tU#>fC`Jp9(2H#Pw_At#eTfEdudW9 -REU)ToiLAQ4&>^7?M^NpRlCgre$R$?{fxHVE$h-lbMW&@fSAH#i$*h7nV~9h;0GlY-55{>jHTGI*CaswE2tYBP$7{;)kgYb2JxsXpg -itvK#T9K_y5*7IPBC#l7w^@%A! -9bZyS+QN95EnWtj7-p&qFvwy5_U;dfea3Ifln63s=xoS3$PRl;IP*0l%QH>j}Hz_I@LI}lg1U#r?B6` -z;!z=7k*0yNd@g2_ECWWF<|}kvDCLEJH`gzS`YGx=1Uw(HY@rmG62!%8o}FjD}n(C5Wd1jX)AaNRXUC -UBx+Ke<}g=ry|_axi&g^$$fBf>y}K|iRDg!tcGwBep0%v+LbwqKVjoxA!J35vM{iG`G!e&gbr*2`oWi -6GUQL3W%jt4FrLbF7s)F)i-R}-Dl-b|e?Kq?$wevFWNON}0@=*4WpOX&9TzPk=C@C-pzR*i=F(M=$6u9fwCxo^I9?7QU;h!2cVR_0sOt_sQYWW_@AdyXp)4zd>IwZBu<-5WCpiQ2Apd*tKCkM^9P+18L-rW*$o8WicawK6kjf;hwYGs+lyQbYI{h8x^@DdG- -lhn3{$Bwo1VfnQ#bqo;>Y$!ftT3owSL@~II8_D^hCy7MW+4JnOkrm6W3HLbtj4-HVS13!7&*505zg5d -cHH>_>Q#vCVySkR4?;s3}Ox;>&amftR1!2j@n*!-FRcWYsR3R!& -Nu}fmsgkXka@Bs0O*1T+`e%>yAn822Zvoq(UtWS?+ABW;rJy)%i|8#u#^m7ur?SAdI8yM|Sgw=u7ap1&Ay0M{g`0D1pDs2Y8KD8u*GUBK~&?QL_0zk_Q -ad?mq`zA9$xF^V5SV~oya~P`z-8tS69Gk(t?}a~Z_^lOCCx8nauh+nFGm^D%k{!Bv{>dEyZHu10`Z4E -2Ltf}~cd^{H@i6~(YpbhkIIiJ^25h3-WT#A>vzH+-$%&tuLo+QV=nzK7rs)4s_D}wC=-L|BW6szjME!SM^*NrpvRuVNtO{IPl60#j>D-~cUC57B6s58vKFZa8*m$TnPgKg*+l!3lmU785btQ_s=cqfV2Wwd-Y%L_$ -Ru75c`_;u_kf_JOu4F=?5^jX?dai}ys)}U)cX07UNIFMulNuoK#FLI7nasZL$vh3R4&FK4bsMzej8ig -@?JP1n>V$4#$c7*qQ{{P^QhXkJ7 -9;D9_Ifu-@3q*57XGI>s(931=`_6`x66R&{dmg5Ge>iW31M=sck7q;@uI8-_S=jQAS-r_MB)O0a3%VR -M$7ltdmK}pdx2Qh+9Yfb~ns5w5g+jYD!4zB9)1UQP?%`UPrWI -B>1ljdTDdukJBJFWhl93A(*%~6lKp2Dkoke!)pd$4gVom5y$W;va!5iGv?>-oEjvlk~H&XQgH+)>log -?kK~QdN!P2nbtk2euB34#Oe9`s@W{0UjaXFCXyo8toyOy>B!3Y?9A;0h|D!fcgMI(V>9n!8w?d;8k|P -R^H<_4k|}S;V~yfUN;UL-|pL7z%HR}f>N^5c;AQ4M3lE3n9aXxh!HjQF9!_?^GH|gd{X>FCG$9K3LPV -wwL8x5jqf&{)2&T7hElx|z%Q+h5`HpiY|wZk#Y{8u1;w_5k}fzN2H&Q%ED>6+0eGK{4BOtO8k5O8$D8 -eSs$HXY+zmi=uFsFdBW-iM9Mu1|D4UO}lXlHtK^>>p&{`lE@fQkij8Rv-G$9Jo@2H~NHcfY4-)wcitX -(bJe%9R`>DKdOY3rwEc^+uXZYHeM1QY-O00;mk6qrtevZBu}0RRBe0RR9U0001RX>c! -Jc4cm4Z*nhkWpQ<7b98erV`Xx5b1rasRgkex#4r#&uE{9o9CG2Js -PmAzwn03k6%PN1E}xy}a0$r28Ywp5zVvkeevx61(di>gZWcw^Z9R#d2 -TqNi@vl3rCd}Jazp5q0;!URr{GGPaes#?f&P? -nIR_4*^3gaHIPyj_vWZwB3TLQ?*5i3WrCQ@&V5&D<4bdD46xm$(ZHMcnj7j9ZBBKp|um#jgu42pN|ME -eD(#rPmMQM$Z;ValM?k#N33=*OG7^aFOc&gXOy1%%D$2KsMQ}5cYV}+jx~k@tQFUhwKyEGwzhLD)~;_ -2#_5$MZn=bl?MO-9smFUaA|NaUv_0~WN&gWa%FLKWpi|MFJo -_QaA9;VaCxOvO>f&U487}D5bdGKkQhU983GhLbUXCWbwD@lFbsxb(}_AoQuWcsm;Lrp@@Lw#TQ|diN$ -Qb)BA;{$^EY!SbSczk1;JPIcQL})$;k<`co)!lmlb+vxM#l(AI83Hg@c_ggGAVJRZ4Uqc1BwdO^R3xD -SQpWIjRI}^bd#%KG%M$6)b>qSnDja^iNhH%*7~k?jGe-~dB|$&xKWJEn_79k -2NyQnW{gT&IFG3rSx#t`3sq?Xu6j<{{yh^eH}!&$lbG@S?GHFVhsAV^TlTo+Biu6L;FI>af^T?sk3fw -mwpfA=M4RYKymeH<1(S9nRNOB$r{KXM2oJ_0ZQjSdG*2)a%j1m3`SgAh)S?HM5zyOu)#AGj4N&eNerX --|1sV^N%Y^x8t+unaOUapbMNY^0rKagA?R(CB7Z$Tf*l#V-06wnN*XcHU+kG&k#y|7yCXl~=&aeR8f)NmW8-Ei&v#2~1_zSTk{!x`#UvP!Hh-#p&+qAQhh^R4$L -m%@2AQbeKkPk{s;k}p!I16*m!mBZ?dwu$aC2SlNz#KO~2>W}^fmy)j~@xS865T1?9hrL_q9n?CL+#8>d2synzsX?C~n -Xmfze5(ZnZ*NJ`q~>&m-(K_9|f>pL^Ec($9?lK*#^7-{IG>{Gq6BxsA8X5rsu;*2LX&IurU;3LDGk7% -t=M;;+^ClKzgXF@2w^Z$j3rS)9J0zdtE&%6cM60%+eyxQ@!E^cYz$*F -kT_(IhC39gbd#eM4Cl9}Uiy`!G_$b-93o&n61%&)tGZsEs&4v)xO#adingqp?NapJ-PM2MliBRz;$o) -c-+HM#ofU2SP)R-e``|O1ebw&vc~{+5b=4h_juc%hZl%a?Yx>%2DK52a7 -tM9x&fXZm1@&)LDHTpqv`Rsr`bZ>qd6RFY5vAC-bya|tEku> -cY#~Ys6n0f3#o=CdpaHNr)3wMO)C4WNh1kMIH87_nl4ZNgt453V4j)d`G(d+QrattgK -^+afSRawud2M0IP(u}PekG2EvV5^9CBC$kz-yA#SO~q4un;LVCwde*-d9wp-rqo-K%cBPC+g27M5Y79 -{9oM*;xVu+{uDQN$GwEd))-PlErSR1Oc%hL^lQQO;{fUvECD3ZtHu+IN8God)zc%Ur)^|c -w?#~ZcYF;jo}))(+??~61b82C8LA$ReIdRBb+IH^|43D2qQ$$n--wE}5`3Z(_j%bQ9qKSW`??L}{lX} -ZdjJEQwzE5wnO(pIrU{Nrf>jK;U||HbU(qU#qO3}qzUojLz}3k|uvRt}uu@oer}~1I$F>dH#Rlf6p?F -}|hb}W6tn@vv@@64q!@*{iP_Rknjuh=*c}j(X^}ijg4J8ZC@L*R7JWQyEam?xaNKibf(a#03v#<}r+u -sL2RKC;hC)kHNE~ZG`seHQwPvP2b0_~~vx^Et(s_rTb3MZ8BTJ?eE-{;zxow3{|-^uYHe2TtyAbId`g -QmcY2j(@LgnUZg*WK#dwwai6N*#IJXr`de(3}Ti$;&dH{XrfV;xVs-Il-5?sDm;AgAldcRuJI9R}#)Z -XH3Co2l1jUe}{BYp>Olz0Zr)G_5yrlDS(>{eWT+iuVDDMZ3nTpmbiPeqyU^=aC~#lT;I2ST@t`4OVCy -VA-Md$QL?NQ8Hwd(elg&2s#7R#;JB9~j~s~cJ@&f+8=;=@_J!f)j8hx$|Nmgbk*Yg7a?j9FqBT_K`6+ -^*=yZqOPtyGq4;~>TcFU(B(tX$M5#D@#ef{RO)EaQg6iUiqSF7f(gSQpKXxiFEbP*2 -2zeiJmBK%Vr50}Iyhi}*l*h%abOElbYR-Z+Q=E^Sc(bAEm8ypjVw^$ssiYd3xnFV>ogB3nT0L -|Xsl=tjToi^2LHxmc#%uNI{#bRWT!2`0K1I_t)$?k^R82=rLYjm+5+yigGO@%90T;iP1(5jXwT{A3zF -uzH+Xvq-n!CkMPS@}u)R=M2W)Ue2cdxCg{hPU%VxGc06-9-L2iM{Q#c4ToUqisM@WJJ7+ZEgc4?;3ZW -`l{&TyXX^p@ubb;t(VhyzItt+tL5gh)}ndeYxFsx5oS)F7)0(hm`ZKEc4wWcM0VA!61hlaPRby(3Prx -~mYtFL7KnnK~z0WDNslymX_(#>iDRN~RbH^Li620ws4X08&Hh_P9oCPWdMZ!@v;&w1jXF-F5dN*nvgA -1KD@l=bpDmGZ4NQC?i_*+TiM4`bpakw6qZh#}#khMJ>U1%onJd-=)nwi$p}N7*J6^-rvwOPBdu+ph%7 -jZw_E|Cc7oL_a7@-W}FrPZiY;=m*F5@GA;yd7I~-Do5w)LP~`_t(?hmL)aaq7g+HI5WD7vUso_GUcNLkQl-uiECWt_rTyq;LBMOHK5{E6+6+u0#(1xm-ir~{IcrF9i%zj0AS@E!OmRCN+*rp=eCDeAtIcE_B!bG6k`@#Pks4=lyZQv{H~Fg6Mv= -|t2Smb5&#gJK|({2i)7J{7#cfWR*@GQuupWul0y9Jw+LmXp|p`_Okl!AW#efgR$O+lWSj0Mfbw?@1yz -1tQA2Nd!khMz2AFAeDA!i#(7(0N^sor1QUa_iVH>wB2(AWBr~>b-;^2s0z}6v4#;VU08!;`{)fQr2b* -WjLVYs5yaOeT72j=F~{B^k}^4Ahz2yk7OAjKmx(Xx+Dn5XP_69!m&camwi<{fJK77Ie --m#ST$I%UXtWM#JM^K@@4}=t7}@dBUZjke>10D1tW+ZZio_3=Dtsa2}A4mu$U|23u(>GGHUG<1LU`-< -<_UH)sb^n3;NgAj}jM!@fVAY73(y?$X?@9^t0YuP&{&!cECghX{`-T0gjJE>EvgF(t>mpC6`Sibyvx@ -p9qCxqP=d~b=d>hD!@>68U|bzqA%;1;`g8AF{peG2%8=8Tc!tFMp^MfynOj^KzW|p9sU1$ccw)B!nu~ -f!kL4f@rm_9;0?iWs%?W+3^doAqcDjkLJRZ+_Zr)W@}7cDk#Vp&u$&ow@uOsJ%p+{V2g!Usv8S_eMIb -rjXi~G2e26kAZWe%wcGQ4L7%!3s1nN}lA@+e$95L*WX`P9)LhW#LTKFcTk3nS_L->O{jw&ya-nmXj`I -rnw6l%&l2w$*cxGwUv_Snr5b9v(jmm%T@tXNBlnhaKqgoq`ah2Q~#i%#wkCQs^Cj4ZMHkO}-8DU%9dm -goIRz9)GWU?|-byN*pq>}CS(wqYQ+BZ)*|w358A}4D|;& -di=hAr5wfM@GL-?0l-@XMk9kwobuRYD?jC>%<7)CaCVcJlO6h0l(s?;gDwB~#pi9`kHgS4FjPE*zMbhf2$^@NSA~w{2TbY -Vt3sMZ+S_p!JM?h3A<6wBE54xVEbZsN!V|0@Hp8AMiGh-659zQBP55p=WDxfosUJhM`mIjbeA$dv3OUR4IxIMA!EU!t`LRQ~-!v7uF0xSDP@8C1SXmOuTAXlZ -#wSeog#hj}PnJt5ukA^bqdZqP3zVyutWc)oh{XAD%61CiQ-w -T%>3){Y*@{DiFaq^zd|XEWU}BaQ@B%K9lal(p<+a7@D2@^YgieEzYSyf?T>ynHsB>C(d-3y0Hte!fyM -kBUV$mFIT;0jWRc{gYLrif-S~8D{8g79!DIt~!nT&F7bqGs=8xnp{kEfavF&hbJMv-@wUbNxHd@}v*5Ks^KI2BzBW+Yw{!|ar?-~SpQRKNZq#0+qKl{y6ue98(AUMm!#k?+LdN$==)e+uhB<0BK -^4D}BXrPdIL;hRiqxXE`2-0ASxyq6Gs*KL2)9fSVB1?x1CmeA=LaXbtErP*)9={;Z9Ljgcm_n99*ZAa -2OU)#sF5z!*@AwWAQP)gtURc-=P+D_9bH`Nh2)-Abr-D50`i2n -Xl270o85Zq(yuyX9;=m!iac6t~MoNv_r~QG9S4*21-nD%I`t5)zsCyz89+pJ$!%0!z6$~$FckJ@PQw` -Fwf5Ha4meXvAt*9aYwzi2Px2y)4{1P+jv)d8mrTbiKzK&ooDV&@RKWy<+wR_h$p-NSA2l!#+P>HgHD8f>Gdj -}oG#Fr-}6!D0QQe|kGsSbw}9{@SN`748|vw9lTaAVPG;~-*IedXqhxHFXYSpa*&%Ep5O2J7&#Q4q^UVLaU2B@QZuP^P)H8Q;Cg*WvyfjwAJE-om?<3(Q#?qVvb@n+dd{OAOl -0Aal2ku1fpeZh;IK0G1`1$}Ypi8-hap5tW>cuaWJKQ(tKmcUQg7q3siv(LhZS{A)R%2X#08sx`)1*@J -QUg;uNB{X1}F=!~-9hRHNBTNIn>o#tLIdI62$=6-C#~0sBm!HBucg5$w`SpLrtNe*K{x&b^TFr_oRYs -G<75!qV&#l>-u3o35Lfc4U-JFXp-l=QcyJ`>ecxYAW3j2B~E_E`9+SkWD-`Y%(=p`Qlnh9-G=H*z=7+ -w_NmiM%sYp3N2mZ$NICJoz@n|KUw_PJ3;9j3?O%NjjlMyIxee8^?Z-=J{$&` -tqgSCw3L1OF6sn`VL(X#kYkzdf^0H+}pO{>knaaf)Dc3(5 -1OD=Q3(B;+T?bYQE;_~a|ggj?iFlJJOoPVknB0`Rf}9zVo;Y-$Zl`gyAhgHj$taOneplNOX~_$U -)k{_znslXC^m+yENW%$OwD-SPsVfhhm@zW0yS$Hzs1awc7}GgK4D+V%Cazy8r;JF@E!bssUd3ec?NpY -75?HJYasf!noqC{jEDD^(cp{!swYlS1v4(i@BO`x&&>5Aa2SA?(3z0)@ECbagkGNtY9L?u -=ST)$5)I$Z>e`5g<1V7{>dr(o1|^s&nBx4Xs$oxe{5g(EdF26po4N66&v#>78N5;D*E~YHzG*reh)Jy -Zws}wzh!kJ*wllTx$o14KDDgc5_l`xdf5Qrj6DevRK}wry#S54?4R*6eaCQQs2J`bvv-7E7=3(wms;z -XdQ@K`4D8RU1lx3hRf$-z20YtDo^-5o$nZelzN5iLe(mZCvu-D(!BqjT%@-wxJ_Q9XSjO1|YEQTYVkB -4dUL)+8;r-LqSkT3?8ns~(=&8QdT80OPDKINezO>soLs|q;r{)$XEh_zGeIM4S8Rd@w8XwmA=5IcMUd -1!UpcT@PmTN@6aWAK2mmG&m`=I4Y;ijT004aq001HY003}la4%nW -Wo~3|axZdaadl;LbaO9dcw=R7bZKvHb1rasl~%!W+cprr^DB0ogC&p5OD-MH^pH5t#4~Z5vDNk{LBvW -#Oad$bT2>GF_U?iNMM|_Z)yi4&l!^$h8UGn -Srmn8FCIVg>+3nVPwsKL2rNt+ -5~+d=?J7fh0+?LO2(B?&93Z{huLVdXoVCh;W{xMc5L8&>+f{+SI0Yds(DfkmM|@twjmjTv1B7(6XQff -}N>tKx$Vejj&00khq4$LTTj}i;2TxJ%cM@H;(?Up11te3TbEEQ=}4w`VWtk!&dnmmMzbc)JlGH6)gxZ -!K{8_MulPO2pGS@@6eE?m8m9|arklue;AF^E}jLZy-D%$Fd!&60u7@_m}(7^4w8C88y_NqetsEX(qK0 -;{&L}j_qIcsK}R<2t=@>fK|XPOpG;k$og6OnEXV7+~nq*hHa75$4utO_i -f*XTf^0rx1Tw^SW!m4#4|Z6-S+dd3ySO4n%X%DU7))(bWD#QndZz-T_b15-2`xcF(QwS_#M@oS(y&!B4nO)Zp -){U7)4rf>7bQAp<4aUUS!aaSTOvVz=ENEq#Ugd#n(ry)c2U2(eN(XhKD2(^SElN}C -VC$UOpaK4R{LX?EHO9%#ej(G79L*kK+ZmidDV~X`v)4g$8S_Az9#K*-dEconGmJ#~Z44eDJt*g>0#8| -vr5Let~dAy1D6`^W -OfRKtkZ|%o+&576Vpw*eQIBMb0MZ(C|G4eZf=Av*CSaFXXEr#|S$^G63!m`K-YmSh%++N+NVMInG;5^ -IbJosTMDET5y++DO{Ecf|fgu3gAO`A=5dxqPMm4bkk#lQs|&C8r#6srP18+jJCvq!E9 -xe{`vL_9CIIqII>Hqc}*D?$#eAK)KhHGOu6S4h`>n6&?UO0E>GNf-^Q6=!spv5Igyyswnv163~K9pKO -43sz)Ng7Z4!`UGn}F}MPzLe2e63E`{f%Qjt&xCOfLu-Y;;l5vexUT7wGl6dl?!k55O5xo_%4)3Z{{ZCaT4!L1XmOoQo3K^hT$;sKpR#p| -;{CIY~*b`Y&?a{M9&XG+jv=luc3O)U+rAn(nO%g4;>jdx_17}`iW`ZTzrVl_T8p@3$^tGUkhFeR&ky1 -#9)N{ZBmV#4DTp{V<;kTGn$ga_1CrPvK0-aWhIux(Y%f+NvE=iJ-ZXw5|iq;gDISkC>J;nTSAW -*VG!wb`U(0dB&PVWVWp%@Tef{#p=ScJ6{&#a`d5nhm!np!^d;(0-A&x1NwTPcxHbs$@A>Mny{F?aNp7 -~VOc)JHG3e2eidHM-MlNIh#hhtykOs8%q2^M-%fGXLAx|M=EICRPO3W7bOBDQleReRA^CF({LpLi`Cl4!M -!TOlwym>snz4GqC81cu${LTp9*rcznRY$%C1fs39mYphX6h2f&ZwnvhSLtI_)9K(mMIibd{Aifc!)oB -GL*zZA4uT*CLQn-RC&JR@6bbTu`z7<(b9)+CuSnqt!U@`t5Vii)%4nA(r@JU)xqVVIHR`4DAyk(qJQF -JaxD9s)Pt!FW0i`R3=h$wf4@KT%F4(bUpq?Sf!t0g3kOEX;s@3o}n}+@=>T{x-;JidCR#jrQ~ba+K+8SpKOm -jF{7tV%9eoJiigHqD}Ch*wRP!tPLkP-jWjoFlag+dxqEV=)E~ndctNOofn*M{#F}kx2t8o{QCKqoBMG=#3z -)CA=pt&ke1U}0NW-q(rohSY!C-LCcX>QFkS+)U# -cw!4>n)B9R)L8}sG4Xg+y-#@Y~PG;3{k1~b!10)jTfqDgs(A;y8FRim+X1Y4DNWG<89>bVYTe1xaFLh -dsJ4ob)%+kPr!{EXMO%eJGJ;CTRbZ>USe7oA7*%#OR%!?-0VJhzcIUHo*O%`(w!mBsN`=@O9KQH0000 -8045ZeP8&*d;duc70QCX@0384T0B~t=FJE?LZe(wAFLGsZb!BsOb1!IbZ)hk-+V35Eah&q1ieqm!es< -5@x`*9uuMN(br`&$g+lp@y^q&0xGI?krQ+Hhyxl|V3DDFq{U}}JmJ@>zO6n_9vO9KQH00008045ZePS -ZAumN_N>0ON%K03HAU0B~t=FJE?LZe(wAFLGsZb!BsOb1!XgWMyn~E^vA6J^gdrxRt;AufW-p6XnW`6 -Yp+QZIw37N7wCcl8K$$ndUMQEkZWe6seMw9d~E%Z@>2i5CBPkTszZt<~*|-i3A>ihllt5pgnc4f1s9S -nic0$wQW`h&+y64&hGB+PNo04)pb+H>oV1Oz4Jf*-_FkIMOG_#xy?1eD4HZIYSmn5wW+doQr)QX>?gf -!@LAHRO?j;=^}zt8A$GF$rmPy3CXH^gwKm`Dn|fzwPaX3&UGNN5QC?3}Q>x^u%u)qy^K6+lN;>5Lq>8 -zl_u@KhF0ukQ;$^vhY_QmV$m$wCJU;sR*Uw_JV6((J&e9^;*;!TPT -5YmTJipRKT2}G4%3)4N@ha0ftURw|SFolB$`n%4!W;kPL&^Hd$`ELzi05 -;mvS!{bi{)O;#3mrqPaqzgHSZCWKF5@=1CMn_g}kdGfw0n{rv^^7Z?2nIMq&I3PV63udy?!2MX%+YNr -w>AQ`ts6DrdFJO1=_^Dncu--X6lm>NEZI{iq(zeyhq}Inpt&2KqvMc>6TQ)LcoNSv5)9ky`)AxT!>TL -M}9?JVA0M1%S{Pm}#n&azv3Xmr1TsL!mF~5MtYgi+E-`tpo&|IJmArMCv?EC<91Qc_!ywK}pqK=EJB+ -t^1AHJWcmlxaOQm3zlsJH|5e+kD_7Y*%$eS=R6IH)k3JUD6KsI1{}ybf& -Wi+bHV3Q%dKA;m^8$H_ruJr2ln-?FyKb_lUeSiGJ@hL3p=y2!d -ySJyW-=5B2e)sY1pXVpXe|ZhhpB$=v_}|m7c8*V9fAHUZ{p9J+&dxGV>e_I4bCiF`zGOwja&HQu -M43lea=o|1kAayu9Kt@rm^Ody1KajY80D?(bMnfY7+ydn($ikS!v1tjNVIH48w@)_k-Own(MP5I4-Xp -k~+Qj(5KFwAjvm1KZPQz(FdOY$5jp3w#B#H2~0~}BQvKXP$Cl@?D@L@Y}M!y@4hu%?7XOK#RC@9ou6# -rBLj@#w^9tl2Mt~JQ{)FOEquwAG171{Q}R*Y71va# -Iy^5bd(K{1*jcxkQ0SsMS=2?C}eT~)q;C^&}`w9*RgsBtfE3i1{Me!8g$KgaC~Mv+77@|8kJOMS%W9S -MYS`Lq|(S6ff(GG#P0HU+^!i&D%7o(nh-TnQOnxKV}JW(A4nfD&wyX9)J0M!O;ZVk5h`<||6||zoY?- -n+rI`Sfl1$e4hoXGoTw|>!$7ozTi?IztJ-7GxM_GY%)IdR;H=Ca3=cEAsy}z$;{2{~ZdY}GSD4Hd?l+ -G4wk&jis}=?3kPJ4%zvwb%8jVI|I*i7_qAy8=jbRHw*}k0I3QS$y0qn{Jb~PUNZM>D85iet+(z4cnot -;)&J$5Lf*28pjk28;|N*&SvC#rk$TPAx}rZ==XiL%=EW7M_}=m3gIa33x}gFS=+Jn;Dc0}nsy3jz*Jt -ux*7mZ(+o@Ds?f@kAXBznzd>2}1W~aowFob^R`G6=~bOGq-HxBp7=Et??G -?i<>QH2}u7f%Lt~zz&Re$3DyH@I2@E-!;T5+#ebNrv;-VihJTHwr`=Y=VA|f9LqlI<5Y;fpMM!Ujd3; -Iw)|Wgx2@p;fd^)oY8!Ak7!U9T#cDvfUtZ_>?twgsj2=V?i+Ko{XIwVjN9oyz36+|nP5a*V?tan)H|dD3<jnhMgrrVa6bqfx0ct>~Rf0C+7Zu-!< -B8D>qxWPmnjSM07>T*7S7@I`nE*zLMobmqije;O6w)#G3YNzV+<`q12-E0wJaCXUZf3{-QZZJE;EfQH -XTU`V?$|_zbmyX{p5*Y00}SwPkhzrJ=v%nr6G{SA1@Fk_&S`XGe=nq?hnx7L -w4wucD80y>8q^V*3O0jVrj!{pASStwL%>mXM}n$%}#&84uJPJ35o=kivu=d6B_Yd98?8@ovzuf+N=16OvN1H)#q_!NPDOK -L0Ff}a-)#Hdl;CyImBq_)kfNGd3}m0HtKiiskH*E(wT$ -4pFT?OO}`XmR6@s1OrY+a<1(eh0oKeVM))QKR2Fm6S#BUz$1{hHb81P$LNo*Pe;JmO&AdWJ&E&b1w<_Tz^XOj=~tfs;OFOt`?NeABu9}o^EoqfkG1i+pP@oTu>|>KloI|%WGJ6WkD-r&hZd<%+Ta -e$N7)kt7O^Uy@hH&8@w8>^U|wpIt8n!eq0;bL<(*l^gRnuQffg%? -%5ifklfQ%y+MgJlyfIVEf2duM0nGhoPvW9fV_$-VhXlwC!6#2c5hqrK9co78Kd%)FcK4Vhs)Z6bN7Hl -MqF<6~E0~Gm{#Nw3sQ!<7HoRGyns>{-iBJL#)wjvpxPU&@0(xZ#U@$anl)5lK;Z)Lx631Nuk*p5vl*e -@Q<0HTK5FOQLE$xIp{M{fZy69_^AH;oU}v-QI2|L&Tu!@g5gt&FxL+f_$*DTq^Q>z;l-F8@cK%$tgMM -$&lMVM0R)F^HkQNmu?S~9{?SLSVK&}>W4MUB|9%VREG+@}Z;97f67b&<`><5d%ZwaS@ZS@Evb5m8GYr -e6h+tL3#M*<{z8!~jv9a1>i1ofe-K1+jwYns_N!i7_-Zm5+eE^NHK4l`xlzM~G8r1>)B>~1t<~c`aQG -}xpaZr8yqb@LW0(4Xg2kQ)jrVh;xs<$Yx*GaL(Q13rWj52_Gi&Cd+?T&q->8wRA>^iQ=?6xpJNScBA^ -z`uXPPy!GgFR8o0q18%hYq*GwDtM1=hHG^9Od29Fq<*}!<;*W;cG|)QOn -h7rw)-wNQC2Ah&BNU$RvaLEeIP1(Y^&7`SGd((k5nzvj%T$sUw(ZlaVGc~*mLHAK1eYD*n&G)9%{~Xq -wYA^usqWc)ndw2EU9yo83^>PUbK6rE)GMO?6_rH;h5SP_RZb%Wew9@%b(8 -xBpPy$}6b3UUk?%ZWAtAKH3yh4^?rnpa5|m`bs~Bh{IEhRoslSyhIFf${TH$s@t>>_2bPO~`bVelBl% -I032ir`C4U;RK#x^ts+?yCa*x^V*_zqFZNp-5m#4$%RYqJ~QktqiqugmHZqale1Dj6m130xvifCKx($ -CFcaUIr%`M~=xrl<~_7^M|&1s**Gn7vKQe>Fm(|#}ClnI^6#bEe^BrLST34R+dLQAf4CDdkq_QUbI}* -WwJ3%fr2U??{xxLY(IF+YU8rQFqbg$_@z5_;d_<`y0a7J)p9a-u#nO8u%8~4$zVA+mF$U>y%=T#eB2$ -UmZt&VYQ7j`%KO1!pbsR>WprsK-flL!ipIC+24MyxCh|(cKni3`CR^P&>kPAJjiSUEz@}BlGm21PlGw -^buJHV8)M$yBIf@JP{ZWrVY;2k90UJBZvm(uJIK(R%qK^R%aJ7O2eeL#6YIZS^%90h!e4DaH) -5e5N!XsMcXQPoP+2L4hC?i}Q#b3N>-77hK1B~|Z)2BzzTpD(q{Dj-SXtFiZ-M#m=z7zM7E{qULc;mq^ -$&`5whNMHG^MU;EDhK{V4#JBJCbLPFu&qSVF0*SVl_Tahkq3zb?YBXq -&w!q6;7c0$X;;)ZA(lNwi}rV^3)(i__8`cvA&<>KeW35v@u0k&ZE1;wvwngOOtI^^FCq!8*@E1M|h6b -N-fJtv$%33^DCoUhS9oVEG=y!DoTn00iM^6|uk`BcP1+LZKYU&l#xUi%?7@_p0v{N9?N&Q!E35QsQ_K -KzgBmnkrB?vvOYq*%Sz)kU(Y)lInt36Q`l5chD@em?x=ce~?W;Ph{d&hDg%Ivk&lnVg^?C4<-IW#30y -iW7pxA-3;8jJL!`6|Ijryjk5YC@tX;JTBBZ+3YaMYpt#mG3>!!L8jgo%y2BOZYbO-u{mL3reMbbi^uK -7$;;zoN-$5Bq+7FI2b{CKt||J(?szxL8x!^k^s=llF`6dfz&+EzxwCRx#p(^P -e{NnV#|K4+^N2Xcn&L)XYg=;X1DkRb0)msrOW?T>+7YS?DYYcN>Z79yH0e&TTV!UBd+e)k?X{1XYyy3 -sAFfKQivyj;24h1?;Z5t7XXCgBypmY9TDsv_8YG!p}EivG -2>jghV29|;F)-B(T_A5dHAQ-{`92FuV!lW`%wr8o|0PPz(6iH2m#pmuSmRMD{nD>zz8j~S;}=p;<87y -?oi47a@(z3y)9ABuxd=B>h3+iMY^I7VK&w+aCzB7aP3a;hX=rA0n!iE)C0gj4}d7bs2`-M0-%2%0Mv- -KA-Im{Gaoz92edKqMcqnfTt*EVaiar@SH+0E##D1Yb9r-*Cydtgc)GV$_WO4wl^C}!=*I1;w&A{EqYV!~EyMSH@qUV%e#`)=-OZ-JV)tH#|^Pbt#`$_DVdEXTpXrw;uhi -1BC47(^)D{U9$FZ$`)0b(ibU*&FgzP_c}+J0Nv%!6x*JZrO=wMGclPVrmtBa!fExk^q)HQPq~Jfy?dr -1v~%^FgI0dao}ESvSNf=0GeeBsLyL0B;vIWSRoD+6%_VFot?s*gU*OOC1td9fHFi$!o0v6aNgZO)^6up~6Uy?J{zrsr96>Y>lW6XN3RX8tP&Z|X{uoCed94LMPMsmoF7myc4rUyd%E^ -dB`O*TKP%zA+>p7Q)qI!|%(I?-3GE@rWyR?I8N!e1H#?DE^6D1kNQse2ctIy+GoH)5I&PhPp3R5m43a -zc^6fiDDxi4VW8El>T-dFlO9vG%Wj}}MMzO8EuVVo|Y$r9pthenOg^AWS{@$G5$=raJ*fMZq5E!YSJC -wI5O4pGr7b}Dq4o4A+BCqsHXm?CHvR2npT^dJ*BD)QHy+t>p_A}Xc?HEhtU%i~{vjD=_rkq~vctJ%Hd -cd}RSPPmAAs0M*nmu9P#M&x8kW4tL6QZc3ruNqFCkDkPS{9~&Ecqv}Xpi!txMR_#hGIN+KjFE{ygVRP(2VZX+iYy~G^KA`m$}>A;R3`Brb=j3&BdL -2o_?}viP-;1~(-8x?kJjUZJ;gK)*s}u@_9w`rCD-4#T(JvlPyK)ykO!0kNyN)}kac`dv_{>m?Qy6!cI -(vcu|i3_>ZepUaL`u)+uP}mVkor!?or$6{`E=QzIMa46g^NpsrKdI`uh5Sav^O|VLI}uFNpjxFeWA1o -q$;P)QdDVgC5YJh?z!RC*;8}buScXlcKVa7`!RtafwDQz>%LZ-%)|RnRgBc${HeIzZAghL1GE)(~axD2iqVFiVIG@(K9(<5hjX9BzqaS_rP1qkJ{!$HEk5V9s#?=Vf~I>Xx -=t~GF7&JySW0qnNJD5gr7L{|>|U7U-2J#IKl2*M`SeE0grtI?RS>4hIbx<}z)x{3IYhh!?x>KMOh60$BDz7kvrg=$K9iM8;(YYqb_|?D4nU&2GnPx(f#ZYa# -Z!%A!Jo>`ZJ)b=M;lw{iQ*tCLVT@>XNn%yuGR$&!vUWMTEur(JI&C#3b;&AXyI5?LPB)yd@A(WuJ5gK|OfA0Tn(tJ@*zXmIrq;P;KrB6S#@ -`-;1`nad;&KDWxVx%3AeS{QaCTh-TwL^1v1g!@v!NTR1$B$y3zFC{1!y9d0bI#%K_`{GFw=Mtf3l=mB7Hsu_G;YFp0%yp*o$a2NC7B+Xd8C~iRhoY -nZE;7a4xQiqi<7Qq$*E@_#>If1tT>j1I`&gIH24D2C9`iXeGGG6XJj2z_=F>U==ryENi`AeS)A*D*nb!Wgh3<`o*V`L)~U6OLDGF({1ylrH0 -O4QpjZooDw?1qas}~&?qd?t1z+>e?CVurJm2R?!>NXWY{z+Sk7fyl*G*Rgdaif(vu9cU~fjPziDIwwj -;KE(4z*QgrM=G&XWxg1iz<=v2pqN?%ZQ@IB0?}Z7zE3eT)Cnjc)_Z3eaOZ&ZNDmI+kqKm*_t%SAtIrt -`aIw2qT~c#pkj5>hLS1mZyh@K@zKjx4tpZ{eFtf6vgrS8 -IImEt7=!uL{lNrp&Nks!a_#+$rxwjHSVULMq*utnQ%*@9dkFYg)3g_ -hD!HavieH&@^u>Zbfs{H1Z_nhqx5BHnblAeFslWpm6ga~eJn>Ytp!vcZWGf~~I;Ujp_U2EY4J6ln+x; -fP>}u4JP3YL&<>54U7shLw22m#ODgZdd)SZXb|e_#zx)j^0R$AG4#M2&u -0y{27Kq^u=3njNVc&iC=iPAI8BQ;Dy&BM$rUumJ@N*#x+S&ok+Z7A%9vivVFj>PKxi~gkV}31hSvUdB -wZ`jU0p%uPMDXQ8NW_7fR8@vo)W~MG$C55bLddDko5VkobcoE=eWnDM(`i6yt+z&DpowAOZ4pi@q$x5 -cDRR=zgmqK)s}@;(K@|o`Romns;g;&yTUkb9SL~GE76~byh?pD2BBI5LtkuXD)|`8pCbl=c2H4D{zPZ -MrKvJD=Ddrv=K-r6#y&O2Un2Zj)TlrwUoDu~|E$|hnDPN3L^|Km-(y+#2K1av)a7sEp^;&;v>vz>Y<; -DdfdzqKDj=ZFI(0ox!>Yf54C6~3L-c{Y;eaGkDIy{cEvv`XV6GtL@*)IU7wAU1Kf6kEPOmE-H0{%#>2<#J#hEoAig{Yi~YIKQCKo -lPxdFZWLypmU6chXecP#cKX4MItT;R&cCHD=m4-xwCzDvtfpekFMx2AEf3sTS>|1Ep#Fxpd`xN677iS -`MnDWxP@=y=1|B%Qk3Vq+L>-j|f&nK^PPlX52xmvOC!$vS`>_4{`#1?oPw*z_vdfg#wpidG@BX}4^c&|6_lV0&cc -+T7_?xcE|KF^Cht0}*MFUmEXB?{~^tj|}Td*E-KBR%(m^Yr=34h${V1 -BwBc+R7lPh`nkMx@(9$-DY~(y3n|M6wW}`kD{bdjF9xpilx0REV>XV$aA+I)ay<^v$iI?&@DyPlZ|5% -Xd*chec|!aa3g)%fRG~sSC1sEN7{Hb;6IW -9VnQ%jfzqrmez`JAf&KoN(1q3L%7 -sx0R%lCV4g)Oa-%D)GSfF#V!6X2~t@U5;e~Wj2iq=9%h -^_z=XMW&s#O*s(92JrfZG_~4{bLKpcNG~Gdd4SZFTF9av;?klZ@6R6PB107Pj9ZaATNlon4N)DbZ1Q4 -Sz;av96LDTUnAW(#W)3s?x_MQiBmrAgYvdmoPNph8BbWvejs$|nXT$&!ZEfCL=iTs6T+nze%ShJ#7Gx -;LrS82R<&UK8&4@u5@#8O}C(O`BUj=bVCe$_50j>{v<7qi`G>md203P;9@R0HO(Fw#_sFT!#^~o36JxE&tJhc^F5FWzG~=_+|BLJUc`#82^-TrGzj6)k(@9IJApjOMtv!YE!X? -2|7$8P#H9(^4rtz=(xEN8VY;+d{Q4q#*NDJW~9kyBGjWy4RO4xW6bZ@dieIlY?+RQ%FY`)K!vdc~V^)4934Z^A?Siho2?NYr%yW6_rp&e8& -3dJN#s{o;PoY{;~7t(ML;haCCwogc{4S<~;_?d@kInB0<3jYBQL<-*;}`1?d2@Q+2whi!qpfTc;VxE- -B3W)GXLnUfqsPAADPvtIiyEp?L_X6g`a2pjGmysth?)#&84-%^v{bUQP@Vb$dU-QOY`Q~o`42@<^rwT -pI#ICa-l=vO+|sBz1diNf|RxqwCzM&kQ5$jBC@+!M*jNUyQ@@gmvc)!_t-lM?M-y1oD}qSU3?rr%w08 -^H?O^Nk*xbzqGZ*}+L`z8J%YerdrNJ{HJgAdvDV7z{dQl2C&SEA -6Jh1Lj$}Sd_MdD(Cei+!Z3d@}+36rmBaDtXjh!J%@}JiN4z?mZ=rcc< -6eiplsR|5}7M=HfuPFynwdMX0mMFmZ=1h9nl;j1o+@{rIEJ>T}7A;kCa=sqhxvjRt0ehYTGi> -kO1Le2kRu3zfajwCt2kW@bCFaI0>GbW$Q`!y8)6ZB*S&xD)RkY5qtf*xx49iQ(~OFNsm=|KKjPn!>Qh2(?fz&3@+priaxu6 -`H52hS$z0N6Cp*}>7%7|t$o3L$XG00wjLTZ0hhB$O3b1<0_IqsOvkK-X`?M9YPzNQ*}+-HKi0c++~vTkkQ%SD -GN*7+|Id2u*$g&`o2FTc8r>O#MwLP1jd?Y>n`Qd@z=HP&z@fvU|3}d2Rwd<&J*B`IcZ -5|Hf@qYkO}7_2|+1n4x+6!qyseOXLuWFXl1#l!|$SD?xJl6#$P3F{GeGF=HQ0_Xn!&d6QJF$#$<~V!F0YvGjef*Zp{yMPxEm0F6F3UVt@6fz&9G|DjE^U -o8uEFE``BMCyIMfqN)qHby4(~?)d>}Yy1^$&0kxx8}GYI>s24`lj -({9A}@WHX`2v*{R*yP3xkht3!Cfd%)x^&s6Dx@VEq3DP)h>@6aWAK2mmG&m`)Nr-hpcY006fF001BW0 -03}la4%nWWo~3|axZdaadl;LbaO9oVPk7yXJvCPaCv1?J#XVM4Bh=Jh~6N(4YYI%5Zv6}+ASyy#bRP2 -isU2Zr2h9uIc||$xCs1skL081G$hU-lT_6&_~=QXOCABgNV32_G3;D-yg2qHa~fQx9R^<@B914JvF -mj)m*?%sYo0QpRx>V41EV0H(L>GncSP0HF3rR)``YKy;m5fSQN%eVUxW#IiCPb2)gJ@OqD3*<&qbTfq -cT^#mFzgnMep&jt!ibgxnV0dMjd%iUs^UZ7m{tjSl{d1tUvEyH{)&1ZRO+EM*H4(DOb5AD53Hj|4{T! -KV1qdRXB}@eg#a2KL4)%0Z>Z=1QY-O00;mk6qrsw=7ZQnAOHZAasU7z0001RX>c!Jc4cm4Z*nhkWpQ< -7b98erb7gaLX>V?GE^vA6J!^9tHmwW-SMY^jY()hTyS<@t|#QLDOC>$FHOv`UMm+UUw;rdCGRH4F>w7gcGD8%_-uW -qFlpGgfI+Uyc#*XZSiwXja*JQ&zPqjs0Y{?qi*;_1>x~*J_#88ow#;%~I!ey2tMm1Z`i=&Qp^uX834k ->PlKH%Jn9#Z5y6bo}G_XW@el1v$1+tEp?@rud_uxR!x=vSY`!%*rb)wWA#J2*}wuFI9im2H{4V3#}9u -@s~I+$EeVwVTvzF$o=J~cUCyAzSe*!h4(a*7;G?y!F0^epl97NOI(Gv}ud#YxX_%N^x(Bb1zCHNx=4^ -Iy^!oVZ=GXZi5FddAgUZqW5&*hobYU`F9rA!>tYx|ZOt_ZcpPjuw;AeY%tLIrG -^Ov=rHB~lN7rLJ5;ySC!VkXSb4+~va%%@{zF3Tog&d#@+)EL){fMHW&W@0K}$T7gb$qHy)F1LH$veLR -Sz&^`%Vf1Bh?}1vC6>wL+MQUV)UaCuAb_Aq9Z%QNIv6VVc7gslFwN$)gvhys@>TN$WT2?zfJ2*SWVSp -=Fx&pRTi@aQ1jR6`02jOvZnJq5i1MFdxF)&!VSTq%EYQP$dnXXiQn -HKF3cMU*a_5eMa=eVO8NwvK_po8ppk(@)3nD#sH1k2s_0SXiV1{^Z=q}7Or18MqN!`jwBUXa2Y;Gs>G -A%3MlQP(26vSOo7ukao0_Yx_B_+boRYQWGY&lZ^z?no)XN!|9w698M<23a9rY37MKUa6G8xdwQk;5y) -ST5ZSJe5-D188!`=Q8%U2t9q~EJO;%ZD=v{hUW=oak!1%Zr28Jx?5 -n|a?L|JH);xpdK1wfqYer@cLo -9^v~yGSC6-a3;sKMZY_}Z%s&0dEnB=X#MgMuQx0r3cR -eh4aq?I88Tjdh5YNef;zb?dz5=)On>-XnE=nrQm>uLp|RnZc|5lTC^6%w*pKDFA@+E!*<*e&g0{!o%~ -LHI@`W8MDXICLj=?661OAa@1i8^iaq*Z5oXn&AF|I`F=Ra)NW8~9wjvdwk~XtCt#H~#=PNwm&Bl`ffa -DV(DI5VPhfic-34Fro;xh|IeKeUmM;2M>Db6ci5AoEw}{QMW5| -5Qe}Apj?g;uOpsVYSEY))SWe=8=0dqbSf#(2bN$P(K_<-B3pp@P=hsu+e4+x>$IrBE-D-20fcS~n2Dx -UxH*7EK(YuXDtL6W5;H4BYQPD84RX{2ms)kDoiwqt*(6}eSoo9Rv~Yt>xuIy{9|!iu;8W24fjVqJaVc -sL8#uM5SfU6)A$nQY8*3s0K(L&E0a43T0yF{y_yZj-E1rNV*wjj|H(8YdrIkkO5-Dt&iwoiy68qd3aS -jLPHUd_qC@z>9HyOw=5V`vYr-#SKYH^w3=|Gx#L0Y<-_ENdF)Ok -f#)bAqhz$5l38<6_J$~gfyiU!_#P&z;qo6cFgLmRHn?YnYYI32Kiy1I}-_9|EzyPzyoZ^hLn$}Z$Bms -c{pHDgHg~)WLIqL4Q=nS8Z`Clh1W}ZprmMpl9)8uc|!(_h@=u8k`+_v8~hN8CotK7G4Pln3LHQ`*!q9 -GtWnq*!xxXo#D$~IF2Eihg(8S%5I1ljpFe*lFh{-Q{5A!PZ_ius_k2i*+k;2~L_>cW -NePtlOClj`d74GLY>;9FDudK#+F4=9WcaAl)2>T(u^0B{hn}X&P8u0`82D&N4e9_Cti%XM(xH_T&1eV -3{BiH1Szn)f(&SXOitMtgELp)>!$A+{cfGibWm!N9(1XI|v{DWTigMeXyv9?!@c%!7o>#+eT2E^?}S+JAY!taAl6%@j=cCmh>a`$}S32HXvKByxx-kU -JpR@PvQz;_(Zx9J$r=QH(m+8R#npMFAlU2ag^NdWga@cUJL^^|l?%F;Ix?A2%F)Z6;qEMBA{VKYAeL2 -pLg;rL)+#WwlQ8?60(oNo0$$SEEU1#e#BT0sU%ByrF0~Pt+fhC&|-rmR;?xvk-tJhfOPUU{S0cbmY-4 -ticch1$btYrwcu_U8Wr%;RJNvokGtrJ(4l%6!c-*NQ(=U^m&)XzD*aX+o9Zpollfgt%ayu_y!GAQRiB -fvSS~y_jB+FbjHg^b@>R-$);N9fkMwEz(OfXy4U2rp3(SFE`fe(+KJbv*!#v`G{i#icvQDvs6Q&MY;5~bDF3C=Ocqc9Y+P -79!vd($I;zHENap8xT2cbhciS{2SkwRRu})czY?T-28XFlFtNv+YLX_p>T3%t}}L_GlY)WgU8b#TJG2 -hQoAM(o10L2iTOGA%EUwxpcZ>*bf%dTHE%oUFfdi?p6@cW$pY!9Gi~3L!trvtKM?NtVakM6Z4w&-lG9 -%W9J6-jFAXT|&2~B2@In_B;D8nYkPYG6<}~6Vf_}{@(_Jw!F&{xRq7p!QD`MbQlsTl(ZqIU-=p192 -k%F!YJ*~WR_U%-by5S+#`}~9>{KKMn0o^%CZBsN;7mH*E)x@4MRsp%_%|-CLD(K%VLhqHD~wga5NV;3 -HlIeD}?~B)4b7ek{HSpm~+HEJ0Q}ONwy)6wm~`I -K)`QE1=rBuX67RsOuCisnH5TLgryfDtF+@TGygNO5kHC5~gjo8T^h~1Ho`gR}X(fO_I -Y2hBi+|RQ;R5lwxQ!P889M?+Ma)Xr5A(|MJiFlF61(qPYT`Kqyt@GfAKg>o=r@$21j5W@C;;7Mq(`WXyh$N0L2GEXd)1m9973X+zEkLk|Z8jHi9RSs5)LDO)xO!Q3)4K$`88B$>xz*2-6G -Q0lqlrmVoTvkXIjdFFVV29CYPU!)cWMMrI8M{sC!q)fm -c{BPpqZvzaV?f#RKJw|n}W7DQv&{@(s(mv47-S>)^b7H+z5b?mzy_97C+KV>XF;hjF)?4 -Bf~#oPx6k8_OowFn+Nc=i!jVg9YQjL)Zcf@q2+J!QDz@ZP-(gI=6*~crpKymKZ+%KzyLKKrR$U;Cmc< -zc(sK^1)*^$z1V3PpTS>ya{Dm^h$|ViM5~58)H9u+7of+&%gW^ix=C(1#tpLRUERR$Vfb4>(6$L${CZ -ZZ9zFL_W8iu243dDGFugV)(APfcPYgShM3XMSTktF=aKeVkQtu9N@$1+{7lCrvZbXl+SN7ZV9?%M~3?alq)C(o1T -J^`J^;(Pk0Q*q@Pt!E`=Y9M`OQooz3!S_c8uLmKW-INF49i0vQ3BE2tdZ#rZN|tZbvc%c}v&rf<)xji -*pRDyQrh$$X5&YTXr-q{|0Nr%5qjoQ0RW=x0_&cV5s^JV>vK^q_zdJp{vqB>Md@_@(I)yntk=bUoq+H -`{{Uy=ycMjZN!SN|90NNBh#BA)8a`%B-j?wL@p8VnQ^DkH_=gN31#n=YU_ns@=!D`UZ@?4m;CSOdPx&89xOIyGYrK{i@Bfffyb -K7-{{04kp*gb{+o@WJZD0tzV#oyS-x%&9@@#9Y~dGvP`=k-x^^K&hQR8=@RVwUb4u%|mFupR#W+Sv#R -c-YwtvkJ{@hGBe1?SaT;bc&0;j2}@7&ybU$kgeEjTibiIl82K(_`JGV6EkNRLH#M_g(FfHPgKD? -ZB7qN~r)7QynK7S)0Ue4QnOZrl)K}PjbexMEjzLvD2gV3m}n@vvn%WaXKgiGu4ev63aBZgXdp5yo}=G -I(jfZ9%7F3KE-cb{=fqWNbX`e-1?QApa650hhsKXY!^L=9GDnVhH9ALNNFm=9^KcB~MDxR>pdwc$K`zy9hd^{o4j|Y?6s!BZ9)a9iYUiS^((ujrtR -c56j#A5Lm(h1j?t30W9(i2S=g9fLuZz9n+_TbJQPeLbWlubnyXUZ*oqnVY1Qd5n0}6xYNdJ=mZ)V!h; -b&%BpCF)V*g5{g8gn*3DWK&H7wdK{k<%tkX!I+DQ7iUYd@4$+LBaby$u$;>?!0a;24|m0)L^I08O>f!jZI!V4#*s%xN;+*`&MCpy -hi7XP3YaXZ>+`v*flge<`P`-X=G|b7?>Se~zG~;;&%cZUy08(UwMzFMzl5)UG-csl|>MGRDMZ1o{R{P?6emuR^ps)+Tohz%R$X-WhdAx~sn2A!dirFINF -CL@uKYP4^F$!Qv6oRCY;2?lQ+4M-q6Ny<$WJO9r4Ag2WL!3VcM4933`x(%%C!t{#EM89vHKQyeU6JI! -(Y|74Hh`&~Mk8t+uhN2yR%c|z{0X7jwi6h=V4{ql3@C1PglJyV3C3BjR**1BZE<0n>QRxqjZm8DzgeB -amBxk?`;8QRbxnm!_&amG1(IMAZ6AchbXDkt0!EoP~H!3f=cmA*?J9gPirj4UY0inGGCAv93A51T1u>a -Nt<^*Cs)$EyJ7gC3Wh$)IA%q7(rJO2nBvc%42Fzs*19TlUz0?iQL!Y)v>8gV#1iPJAR_0l -TSeTws43Uf!bvMQ9-QhT)MUD`9r53=!kbmy+lEJ~cXNqhQ{W=2|SuV#9SO3LbIkH(2Alg%rPJq_@$Z> -@APTq5h$x!Pdv1S$R$S}lVIhoDfaVB}FvTImJ^d=wJgT>N!clyquVktSF=yDE*9Ef;@Q?6H74 -{5VtYrTJ$ -%KDdwf04;e)H{(X3cfbT4{~wGd@i$_&+$$%eVe^Ai9P&UhM3T#Rfh$7GR;Eee@=|Xug|66qVzi! -#y4e@`L^Ln|6GKG8=A%CK$2let+vx~Lv;-?S4vC}^i@jvv@zK`H|o64^w`N7%Y_rDSSABgBkko%E+sd -G)L@_o}-uty(qS%Y3y(df1gHZjppBD%GMI6YiO -&#jHyq)0!TEU$qY;`d|OaKG?E0 -pO+om%dwH*J}ls%if*^|e)7P(;CHMf!dvZF_Q}69nR8d{` -1DnbxVw3%z_VO;wcRR<$WK6!q?NwX0_tGf9Y3FDyk -aEh_sakkuKu|lD3yfz!1P|6^jtQ$b4w8A{e<1Bxh~7BfRw_837qS1}w!_Bw6{C@7lYK3*X~Uv~X7tV%7X`6yT5Yb)wK#Fw6cs?vfc*; -7_R#e|Qh}if&QllnBRj(Irn@8FyNjn`3*U{9Sk8$WkN*7U5ZdqB`cT538}MM--x}z<^sQ5GN&w>H<_(Bvk#bU9<&!q7Jx4<0)$1ws}6+rFNSakQ}lcHq(EZEHZq>5e( -rrs%P^0u-A#ceZ@W2FGVEoyUavXgFc9{!+qBmrks^Yy2VK14nSp$NY=@$47i6Bd8!u*c -yh9L=v -K>TB;#O{5j)qDPtSn2?9hsp6ysNY`u{5YCHB|A%~HY+iS<#}!Ah+`8^&!gE%>E4>bg5?xb#fkmH{)Jw -*^LKzZ5gBG_3ZY6m8L|N5bF1yrbq4}^WvAh6NX}B-mBzxg!ANgwymiUo7d}>Xl))Sz&q$1OA*tnmQx$ -0oa-duY%Qs2-A208LHP45R~e5fH>!+GIP%2+kp(E~L)co9@Nz^=u*VBIZrpvM?s$3oBvZg2b`RKkyPI -U)as6nu9}bG4(t#4?Cr`oo)W_%XNeW?_Mk<@U8qfb^e{(7G>PhlAdE9?*2^LYDYh8F9l*zDeK`zVZ&a~Y!!_E}Cir=r{*m3oKqTcEoD(JR -%|KRn7b}4^z;!#%b3W(dZKfI=Zta(motL0j0>6l=x=sK9k*4DIOqiv05 -TC|{B8_T}?@ZlHcyzsq~uJDHWtyGrjzLi#0qG4$Fn2D;A&Z$)+nN)zWOn`Ckty=XSY#9{Ps`AQcVRwb -{vURhfc=zrdv+_$Xop&=d_OS$2XDpz&m9?_qZ~3WMoW6bnJo8d?#uv-8%O_1;n^!P*etKFI?@cSoUA7 -f>lC^!~RR<2^Zea_$W-H^jtnWH$PjK9rd-$w`lk84f2fo8r)&*=Z#zqsK$YXX -f_iCXIgnA&kIuk@R8*c>yEfoVC(*1{S7B=ix`!8SG?Mgsc{rubK0Fm_=m6`|fLqbWw2H? -pyYIQ84&DXWwhcYAY}c%?yQSr>9qJQdUNLrF&T(PmiPgEXdux^3@h9gm>0>Q<=tPka>WB0<*6-nP!1T -x3aqJjM6@7<~XOfihE;tW5O&}#>DYGd7LsQ56x`=hIobl5HL;>`byG`F?IO94#|iA|NQ-DvV?o8tQ20 ->qfc|%M=0WMUyi%bMsv~ot+5JHq3$GC5XNBoX-y1pT69TPc!;sgVlh8G4;sjx^hwD`kfvW?kcIV1G&w -Aa67Y2ZVqJ48nt&SW{7{5r^$4Moxl0U61Hr1pQ4Hmk2WO6csg?sbkT@3EukqAE45-8wl)!PFYHJi!%x -G#sX=%-!tT`OMR%qB_gBe9(Oy@~CPQZk%O|R?B3TDem$xWajtQPzj0WlGtw?LL_CG*Lc3fM}h^M_rgx -Jbv~kq#sN1Yg0@Njh#}6eW)^#^aVV1E{B8s0Scis4d`Uh@Y3SNI)2T2{8wj2a=ix;#f(bL0pq5%@(uM -AunGw3f5rXSZgdLW=V-ziJHd)7%anZaBxYP>2<8~-?ES`mR$eRgYPv}Cd!hP1*OZbR9#D*nHVz -?bIHn+l;$NRrIoOD%>ycOEuFnI9Pt-}IXcS%E~IR+*O9Frc6e&RL%732neID30`^A|5zw&8a~vchiig_ -k*QWa0x5ofGZgnnXh2E!3>we%E1HKGNVJPLR>gMYb4Vt3AUquVT0!Eaj)OJIZ@ZuSSBX)s7-NFq -cEeAqwYL^!sD<8>*nakl)rIyLbcpqnoH&kIBC>Yp#OU2|9`!3Ik{V4c+6=1qH_m0EO3VDmSt;LoHuiF -FRXlEeFJ4hI29jJ~sasyzvJsr3g4D1Vr$!~}nkehkc7a) -;wr=K7lYp}&U3&xzi{NmAiv38bBs;W;sUxE?mpFx`t?riz!Xy@RWqXM3lTOT%#jCM?=XTsf+-hPU2#J -hs|&zy~r3W^-+_i^Y5=tP(oh2+nXVHwHQ*pS2k0ME(lcX}wkz2HSbKj5BUKCzf78dw#EKAm2u{3JCL| -lCmZbM%}nPF?euQKKO7jv+xmQ-(kCC?}HF(tYm(!wvM;?QwLHWt -_3LOeBx}ZH~z)4MbGiXNe8NSB`+<-+?01-SX!w*{2@W7kI7a&58(fo7|r`8OjLwb0xK+hU_sqJJ^QaQ -dVr_+7Q|7CrKFSE&XSOq7AP1dGDU}lG&XKz_pVfGnbAd~Xu<_KQEB|Bmocc;_#KZd`blHWiRz16II!H -()HcI3jO2}KSK$F(<&S-~5ab8vuj6vb~?c`|&ygx*z`?B(GegOpqw{U0+FTyt3W6Y_96J)9149ac~dL -;Mr4ACnFAf#C~$jL9$l1yD-^1QY-O00;mk6qruwi#d691ONb~3jhEj0001RX>c!Jc4cm4Z*nhkWpQ<7 -b98erb98cbV{~6cETGhttT&g?y7l4*ev%|-XJ?7Q#}=)#xpk&3U2D)L|2+RB$y?zBj39 -7Z;h@obH1J37!+T8DM(-dm^{yd=+%?)b_{~&kuzD*?H-}$E(@-w-rFCMZu=|}PNvVXja3d_fuPxSAI{ -Acblueq!Y~Ia$@}U|tasu_F?=9xC?@LQ+?o~#8zrsF$Z*E^C{T~{z@N3DW(w996S+k}g12`m*Gzg_U> -yc9y(bxY0u54c>!G7hLbbl7g3QyK&g@-pMpiU+4apNBIG@vljWCr$8yF?qt=@Y{1O(J#hp;EHY9lwYC -dnU2RhkB|pNF6zN-~H|8%{oNn@Tuj32;@9tx(b(z)!T1#8C)04h$=KLw%`(u>ES-3Q~i&WsiOkSU`3@ -RJ=mMNQyubXzL2svgX9P!43)1Q&=u#E!}dNSybyeP-^1pqppePi;IW7FdN&g1O6~3U-}|R3DMe#^di^ -Z3CCqWqp^?3Cs**--&2=?l8jHIxN(v+cRVITo33NooH)@e(t5)`b%eMeAtyN_2c3ug -3P>uua5pu6~y*zf?x`sp{9@{F1pMH$b=Jo96F~-TqdfHCP&)-LdpE;aGlSlbL0uI>+~`y)gq5qsaDG(zfNLZDr}lmcWS=MW>u1BrK&EYN=1cMt5V16CaEryOdSj8t@>@0mN_<=uTn -M73#D%>U1U)T$Ytefu|!}2p|zDPmU&Sj)_PVp-?9q&q{-AgNpkZkuUi$`d@A$Vm9FY6(!zQqjm(>wE`S2ts>;JGs*-CR0vZ5Z0bN%ak?T?yd -ZebSO8UqnqR=#&T>(0A33Fd80l<_uN9t_>opt;&nN`pvleQPS0v@_epc#R{FL&YeZW)y&L0V-7R#a- -neWY-X7rF?myCuR;%5Zu2unQp6*>zIn*+OTPJ(Ty(Ix7<-^~yi2V9Z`9tUIBZ353K$ZbKXduWre;;vN)Qi`rACdJ1 -mO47;bI7IXpdn5xzQleR!fK%J+gySH;X5DKF$t(B|dgtLJC0Ps10_!*9>tynKBa{_y;XLdT*8+}j~@QI1^aQ1J0@7BQ3ZUtP?L%B0Kta`-k2u0ZN!6$oMln6F%g+H2&X=#>{pIj);fu55oY&$Dp#hUa_ld -*|{Nn6NVkUY36=;s$jy3?biUv9~Apv6p!W{Ga8OLv&cF`jHvsa~O47 -Eut&j#PE -AzMkIHHAv^(Ve8FOAe=7&;D`{qX|Xr{pn!G$On&q6+nD+-wrZ?m+dq)U#xs=(rIT$Wj*11vYZ_*6z1v -{9*5QUS||BAsP|WQGR{>T?Gtw0FoE&q7aNs!xw%mnA9`{!I~*!oYwq99YF;}u)S8xII46&w!X~rGAg6 -0D*PC%j|6OTP)rSiG4NU(&||b+EPP|Zs$4C>N=$X;=hCmrD=>}W$whSu-QU1Ar{^JvG^2t&k__wXTi>^`P)A@!v03g_!zz~ZhBSk?IPz-p4qBzsgw#r+8;K(;mi -UprAD?E)-zZ)>iaxjyi%W8=-bea%b!BJHQZ6V`LYf+mA*rF?2%#km^55C_kj0fgGi%Zo^#wah~_N>|w -N|CleYzO_Ig=pvly7$nk-zQ#iWK3W5gXo6TxwayG-V7ho(CYmTe33O0f-Ute*vJPA -tT~K#uhP{V@Vn;x92P+ogGVul{l|8H0!EuQaz^SKp3aEzxoHB$t0k1Sgaa-s`ehsLv!waa2Q!Smjfx7 -9pzFMcMPMcxxrmu9GZrpi2;v)~RS9b^cV!^?I?=2tU#x4FPx`KrRC@f*waAIY?00!4d5d$|=E84Souw -H?sf~S#7oz?8of`;}j98;q-y+hL$H4eyM;*MCCvm#kmK*BTu`>w3O%%UYhK5fIvV9$cYri~frnOCVRG -@WjE7n*$w;{jedYC$mnkt;sw0$C$&!Amu|Wn|@Nm#gdw+v6y}O`ZMf$Q+mw?p+k#-EG^m6n5tga;>%K -rPf#8kWJCn==~#as}nM6kKR(JZ_)VypD&|pAT0nRe@;f;F0#g1UUtBAn5%(LP=KTwz=J^OthV{f18nK -TZaNtDHt6Ub;nhv!qTdMz7XquA!0=2q?V9e(sHhTRzyc)&qP;^5mrp-}s3cdD`;FZ*VYI3){Z)~IksBqY4mILkPRM@k8d12@YJpj;mcT~{fV4}bE| -P1I1OSX}P8y&ws2t8}8W{HmeHp1Y_|FgMbR!BjJi+KLqsDS_PC|1ORF*TUWi<40H5`W6fIy&uzFoq;f -!$H~-amJL`PB>1t%Qcf&|Pp@?7!%{p0hCiZTG+=i8_yxl%?hGzI*%qA$we5IY?)>WfVg~L;Gfx#MHM8 -)QJYQijJ`H?(TF2=E3p~6lfOY#l>z?mMeX*xBvK&`h5>5)9nIO?rMrI)LkP1n-2t|+}(fj=<%B4&Q@D -$HIoIyy!3&pJ#6o+9yIARn8N0~vd{d_r^ppLDq!RCQK&$72}*ug{6<8hqoD!bD<0d37YQI?{KUxoLwj -Hpqf5m+xmrwhQP$iFh>PLD+VDd%4}t(r5}?yRd{8lJC}rucZLv3jKYyTg0wd!9RM=$#nlsKd&BmAE$UmH&Bq|tIFj#0 -&+0BDA1q&^_x{01}G#z4kfb))P31H_{mhbd*61FV=>x_z&jVP(Rb;TaFZ9^JwpvbTw#B&0SlOu&Q<$e -=`9k}mzDzH{m67Zc;7XnT4HLwIdx=M7Y_v${bCNZl>YA(@gFH3gM -NA27#f}HQ%f|Nti6QK?4S=DV)zsp=|9kw=5-`Cz24d9_s?vLT{z50N`y-@#s3(U42OpTOy%%X0%mti` -=<11_gGq(y_y-|kHVJhAZ*8nQH)%$DGgLXYiAC62M{~FR~auT+ct(SA*mG=G2N9NN -hSt%1}P`V9{9>Xi5SA#xVf?o-AM4z0DwkkoZqb#{j8|K>>f$Fep3uNMxAFT1g_JdERUpNfv0#216iy)#% -^Oe2}ukj>-6s5?6C6Xx`V{-uj&V3KQV}u$Wc|%LNTQE1Y>WAvFqOgo94$RRJ0q2HOV@uH-JewpHe0Q -)z=c)3Zaeg7R#*EglpNl(_rofDavE8&Sk~y~4F`|X^&8f?^JgL`6`IKoPSr^khPbpPmXzxcdK^nsN-f -tj`=kl&SVP;U_-zxwA$Gt~Z>xM%)IEkWz5Z}n3ZEV-`UHi>OFzeXlHv###@pRxaAOiot$a%eEn*^R_E -S}1Q|Lu(sS$qjhyRBZ~`Emhgtkq?5mG9o@;_8!LT`0fKUb9XK!+_YllN!}#bUK~TP^F^q0J>YJ0B?Gy -j$ge{2YZj7s1r@htPW&}jxzR_%~okdY6D@+^2H+BDK&hHa4RrOO55SUVyZEoR|3nkg1nUYJi6zTY?iK -o!jy6q?=VZ1fl|-iN1WI}{n1MwCAg7jWNHgG?+&+Dc6(Ol^r94dia;!qI0iMS)L;1(E~)Y5!$B!uM0g -k_uk;*_+vZ$ms8FHpFAd<7c~!DqJ;nsX@dqY-sSV{nunA1OL(9!5z~s?|9u;b_N~;8&WmU33WI*Q3;0 -&NlvKHnpCK$m5VN+b!!QE3bCW&L}?Sc6r&_60-HJ+tlb&fwEsXvHV!EM~-46n+sbT(20p&&sU$i6=3w -laNX2G>NC9Sl@-0gE<5mq)z}La=zXSk|;MNt#9|AXhDT%yFIm!b~rclzRpuLx><_ -ckIpL1;`2u06X%WMXg8Vg=bimAeenjZWD0^iF)4-uG9-{b_1quB5pie -ai_hwTQ7 -f_(XuOVi+GMh@ryJ;mir+*DKcIf$mLKpNZGfN|Tht -T*5A -`=291?~TduZ`}Xu5uvLr(-CT -)QzXD3LmQ^Fkbd7)j{(92pCfO~T9zQ$91NZ$DZUn)R?=xNLJ1r>9I(?puT?wE^~JE?Blq3WzO -rEf52WVW$sEK6nB3+3P_9-Y)cxM)ljX6_ziA27_TOk)&8762S!HAS0RH%7^{zvCyL|H?>eH$Kog#o*S@OmyqWjWlbg#<&dqPNjt49P_KXkn}Dvj$kE)) -IP(Bj8BX9JVd$jDsxwZ?*{U@6S2$d_eQ@yjaiDxuwiYadu}L1zv$Q^t<{r476Uv_^Xv-qHSVWtEF{K39*ER -6XU~d;`56pi&efJH#0jOp2z$mO22xVK9 -QFbO4DYxlOMf^rkHGBSs>drWVNUuGk9w2@PWc-XH303U292O+0wkGqw`ZFL|D{&5 -31z<=4+YWn=GJVT!D@$8!veaa@DPOKnML#c}F2%s)AWa%9BqSPZg$%SiLWlWbOyyE{tdwcp?{^d*1N6C+wg9T}ROW!#5KagCQr7@A4WqUMemDz5vGFRr)NftY%zDw8Zq -Cn%fh5VH-a2Eq%4xP@h!%yj9S`_A-La!Q-!Iigv>q2n3|#638>DiAz{pa8Q9!+Pk_b)D!k5}m;%a=b -FWwpA#xxM=|01-0S+dp{t=&Q&7@5vu_g7BXMW6~S9YlEG?Dw0M@oMk(@oJC|+-=WubhFl_#j9-f4nGs -E^sb*3Gtj}gVT}exZ-Eob&k{yZEaHL?9>5C|p9IDVXlhkF9lu??k7VQhAy=nZIaXh;$@B+MlIa2$N` -}6g!)P)WR&JJkGVfX|2yl!pA%KM`92I>oS*}Ap@)0rVTT%PL=X^4Ty11HtAIT*ipvF|MjVfBWUu=;PU -@3*;+vE3xcj~7tb8O1rVbCI}we5^SpZ>8Y^yVlWbyc;R8CQA3!rP~m`75VA{oug*U>@vLB-3+7Uxd_d -2MVST^URMN_BKH|-){-+};Q@!Q@8RV#nrjNTg|fDIRQ!+a-+l3W&mTVcaNm_{+x22_l5F_|93Y&f7v1g1I>!Yuj@w2K98S>!N@n -oBqw0|#lLl?#Yo^Gb_HHZNF~8{D~r}Np+X -a%2|dm$%z%|%q(%_-aOez5)c#C}f+O`;zc=_eZbl(M{gSkwZ^mgJn>dS$BfYA5=mjTUlw4ke4A0%$Tg -6s0vdiu5ZD9Ss#VwdpjU9mz4<0qVXjcE=tFHp{|GmwkRhDG$b}oPFAIjfXPoJuX2Wm(0Ja^Q-O$nQLS -(Qh=P?+ia?8xJluDzuR?5E}Rqfj=Noc7>ZLyyg@=g8;I(ly|0Nhi&8uTk36y|L?o)Yy`Y3};DP7~rzX -Erfs6blILlv%K@=3ITRCi-IMsDr6two@l{n_T2e?_kPq -mW2?WwkKw?lY9F-~eSQW!^DkAgTDPPDwab`SM543H4`Y$bn|e>dz?qaWIDkVNjT14C;6&WlKnwWkx?C%rb{cibyCWgw`L7uF!uta8)f+`M#s)ebumjrf#U{wdj$xLPi`k@N>VXqzr_8GI!OPz1!{Na))W)o-<5M3sZ1Q?tcPfNgiYtJEdyyf -@{!6TDMRS-KRzm34O4XcavkIFvG?h8nrY6os5-0^0GMz4INF{Hh@}d((;&4;FI_zS=tEnR)BM@71M1^ -5sRevfYZWer0#*zUi9`mDn!+0yUC;myRKHrk-Zg`bots8TEH+^iq{L^Oa&s0@4QOo7vur5x9S(&N(wv -xF_Abl0Fdww#Zh~E^i8rW+i{9=;Kq^wllIixT1H-D<1Qsyz`mR)Z*0}Iu==)qSbZGZ%P=kMKxoD#4#* -e$m4In*Xf;^3c&98MIdPP?GiEmO1z!s%@+8#tfNr8}T?rUGGB20nfT=YY7aGEmf_s;Y8jvWkO|?dRjv -T@4Tw`u?uiP!;oN)@K;x+TSni6M8vLDR==@_}9j3;hk!L}%98@GP#S+5VR7g3^n>K4@SEo&Rrn;&=TK@j&ZXQUHAZ>5#HtPUnT{ia@P5qEjsnAFCKcL>G1{$V)UkT*=If{u1lEF0H}jFa?Ku_m$ptA -?;0_(lewo;|pU{TQ1c?pU7K1E+dB4GAu!=n5qN2T3_hK|h&Py-CiyI=bnEkKx9R=cQm@NS6OOSlKyXf -=oAT(Onsd<4T-rt?@;;-);-0bTJjV`9^BbkN0bFk>N!PRuOrvWW5&+8uU*}~d=OCD?;NwzXJo_4`m`>=y*OWFm86*oJ%r3qijHDCw!pO1R3BP~c>9XPCFnyqzSwVQQt3wLIW28 -&H^9JGvaqs1FhLh9YslmW^O4?$I#%pp4p%KMC>*CHM_28-JdT#Kqqrh1|n4~Uf-Xupl7m)7pr***KVW -KhSXeqIdKC}aNf&a?1y{FHJFvDNnDr&79Nh@RXGXk;QoXF-@)o%{Tw(5bI*-(~Y-_pI`ys!>Q>YN7r( -!QBZ>$|nB-mEaa0fXdU+qGs2Etl~?(qW=brgQ{`8(tNzs}zMFOORQsYQ7a_2nBCq-0tmpQYoyiyM@+a -oe=_^IWTWm3u6EWnDWKK)x;mk?8a) -d94Nq>J*9xrQHd3&6nU79K0q|t)G+rJlcK3M#8KRp*zVh{n!JWQfqI_Sqk_!(_U-p0)|I4s*i%)=iJpA^sYYuw&Lp2W%JjHlIV{^AXcE>p%KcxF&F4QOe0H -5rX$%WSjI8xuAz&hLk(mv)m<*NcjVmxdQbnw1sQu~j4CIt`IPHO-0+DYNs(duCAiw2eG0Wn`AFq>vh> -Yg)GuebGqWBZti;mjt&;s;~GZNKDd9S@6`D>T3>M?Sby+L>yv2l9Rg^tL+4sQjXOgr1(yfSg*8x7Evp -OD_p;9!LQppgFWvwAFVgIi?-&Z&Tu7FC`u}*tUL4#O2Gi^ZnfZ8)p?+vwC>YKPy{~avn2VA|Q%E*oJI -YhsiudSxSipcn;Gy@}`khf1*@@h9uD)X#r+nnL50gEj^w5yE76hq8Gol^1kx|MSaAA?eOPj6U>wY*fw?!CC9^BcgNX3w2#{CFAw -tz8V3*U6U>VnPT_!UUSd3IHD%EpSs*Lh!yi$&o=ziasMXL%!KQaiA29z5E5NLee1e15?4VH{UY?V4Bl -}R-uZKH}GSx#w-USu>-Wj7wqW~b(-n0)^?(RyfKFT)CnoN5X1=$zVNIXq#r$G53iiCPLT6#;u>6*{ox -u7F+WfbY)8r5HR8&z(R7hu);hpcyXki&R$v*0y$_?gD7xCc8# -Ev9mz_&xm?u|yb3W9xEthdk+*}_f%Pn2Zq*09HQw!Q9}s+|rgzKww`Ck>+%uyXwPY^kw?rR0y#5!}U#;>mKqvK;)>sT5{zs}r)ZoPEr9uv;f20 -%ld0n^QUsXAtH*6AS@u%{_X&&GCI2kZ1<4}B3&7z>#WM}^}rxFi!k$cReLWx<#RPIV@B$y)ZO!C~RQy -0Zt{Y6pcR-9nr0C%?|G9i`HZ>r+9aSO1K`SF2Po!q9sm7CG7o7(|MG^oqZw|+ZulY^ul?mn2^D2J3{9 -+_V&>lGQjzh~$Vo@b^s^Nece$6T+S+p@Qle@6aWAK2mmG&m`;(515G>x005#20018V003}la4%nWWo~3|axZmqY;0*_GcR9XX>MtBUtcb8d6ia -KZ`?Kze%G%UY+y(mtOca)lK}&D)58X0V-auAM}aGic3D%T!owTo*LO&YtG(QyelR@OH`k}3XR}%6v=D -s#GhD-JtC2O=hP4Q_k`imnm4sd?!Q}>+Y(V3+GbEJRj6${N;r#El(SL2V_ -H(I8RN<+hfk4$iwx-JezjVD+}oFAU+neImkbkF<46z@CwJnBXlXSpE1uMVfmI`)FqmiB|% -9Ja@nA*w$#j_+42sR+oP{amwW>0FbY?YJ -EY`^3(ZG8-mDHGCYdvZeD$M`I(D(37~Y2wi>Ge7UF}MVcAit5;5E|pV&L -P$%IjWfPM!=w_o4jhm-0g%atIN0k!JZh&+^4&dA@8qSovOcu=qoSwArK!15U!YjU=+Bsf?us>&nk*0= -mHMWNNr!Yk^f7d(yv2;G1xlc0|QQjYZtR*L8e7G -ElmhX6lSgUzau=iv0^>3KVtBIY$7|hsIESbCb{K2Q?n@VN7#mrj(yNPDDF0g>4o2UDMDs7(~)sxp( -9UBa66sWd^^^i_^neFehp&KkP_E_XGfMz&7k>v^OVr>6*r5(bb3 -z@kKFiwrpCDQ!4aqY^!{H}XSgR5i>LVX-6(2iaijEbdjRDhuo2|PS2-ev!%W{$x@yzE1Bc;n^usrj&L -6dtikWBs0#Hi>1QY-O00;mk6qrsF_X;Na3;+Q7DF6T?0001RX>c!Jc4cm4Z*nhna%^mAVlyvaV{dG1W -n*+{Z*FrgaCxm-ZExH*68`RALD&eSZFhyd98kc3gUh+iHRxNAq$moXvF1u#o3&O_L~37pxc`37kd#D9 -^4jU$en{lia5!(Ad1koly4jTTG$_ld3#=O+xGHPNSKo{Ln=vQPbcFulkG+*Vy{e2?#si-u2XQ;lb>$0Ba^%$Q}2z^%zp5gm;*@qv?^nPkH#?ILLoa=R2Zx*T&sa( -tSoc&xn9*XfTmpN@^*rz#H%CfWj(I*pY*hv&x)XQb8M82N&FX>ZZ(aDf}FSVndGf1}7hf3I|EzcV~>Y -Arw#nbyqZYK|!=$ASZwaC7eskStU)!V0eS6~mBeGd&q?Wij3#BYU4l-##;5-Qz`gPNNsBNv|E|NaX5F -PA*e5f&HhD*7N&sGlExRU*4A3(aLA>S)fQ?>~KdZ+9ViqH9|BbCc&-Rj&Sk!}m)5DQ<2UDNCfeAcp0RVu#Gx#*A+yA~{Ji2d-!S)e@5-O}UT&HVE1Jy;@|A05IWv)q4gOb<4_}eAA*W -2Ls#F38vq*b(-)%(=G37=uUXZ&sOe!X}Fa^YP$HFtnyjyv5<8zFSmuIjAmZxyB$P&gb@j#*I%(#*9Dd!gLmp6C_JIh5ZMcaoWOx17Z52_M&we0(&T3PS`--tfq5ja;k>dOq9h%ooz!=| -C}C1C4!;QWD>*bWFX$VHQP~+$%;rj5pm)|3Fkzzk+*l6-SMp;A9u15I3zdn7S)g(XDjX@$jCHD4|8G#|03T454u>9g%e|ZY#t8)LI;1v`>nd&`cT;xF@@;rI8<` -r;m(kI%DgcNzNUqgUe;3N*}|$`aapSbP#gJ)POTGxZJJz51ehge1>XqOt4Cf<%MG?eB1^flwXaZ8%Pn -Fo#4`6gUf=rCWSOKW<@s0=il53vY(b9%TT-1gRmOFXw%)k!fnNpykX)*CSyLV*!!c_)bjX&kfHfcd&Yu1l-8dEokmc8^J`COxRn9>2bEaeD3HQ3Z-FZmLjES -KvPzT9r%Qi3z5mrD1CU9@GQHzF}$!PXL(sxPFqyoF!r2A-F{P=&`Sy%_|GCOCnf}|n-pG#qO@%rNOM< -nQMV=DnDmIVj2N=fpvsM~0C;6t<)zY2z}K%|wElDDY7L7N{h*`Ys|g6MYkn={|ne6xl(Q&sc9sjNqm_YiDg8 -}w)_SIK50r(KVsnGR>rkk65IZHZT17sfHc(32^=#cVT$2bf^5)3f(8t*7z=`6>Nd_HjF?14G}8LGpQF -k8DaEJ^}+>4BwU4_jvAWsql>ABSt4`JMvLM{QJqc2SIWu=|YShA-6IQIn2s%cdP4-xV+a=V8thBK -p8NqEK^6Au#rgFYz(KryvfPeBJ;2IIqB**V}r-=R#u?Cs|e7z`3ZtE7DskalQwg4n*Z+b+?FVRaqMz< -Qk~TZaFsEjVMp6exraf0*(H7=)e@X#8MG<`Bd=_^T$uJ8=+v5IF|}pJ>h1bMHt|U*)ACe8o|~FIp3LO -rj|I*0y0+^Xz)Y7O&ZM4!t)(G0aV7?Yzw#3}+DA4cD~*2rsg({r3CfcLs*HS$|!knnMu!+w!1xd(CbE -777O@4;$ooF1Nuj -mjNreV2e93=bc0W66?ftiG-dKA`=@0Xpj8`=CM+hl1@L3Nll5KT@9?#9E$)H{@-;F8|7+ot@uG^E{LCs0WyK$sZlD%dx28hMXsy; -yJ|<1T}E*>F;VaOyMIy4&@!oeYsle1i=KAoP^b&*>wZC1!l}s -CLtP4pY8wL_3yyl0yDOZkmlfhRLKW9_B^I8eNW=)IAO0;Ang>#ffr1t)qiP^UyBCDg%HOUHbxlK#EB3aDt|3B;9uQUp;Z_#7fZ_Z$9ij?JYZab-Q)8%&u{eWV+V>+HIY}0PfbsPAjo5e6QZD{~VgcB*?jD1^DtQNw~3tuJ!8;;syL)Gunr})8EIGc7ZEbMg*1%-_}b -LC6FwOp`A3uWGt;=Zc71`*(9ovw<3A)-j{tS-P|or@1kJQv6oTriT!wYyfq&Y02CQ^Ny~~a4nY>4f<9 -)W0j$PnS5hvgu$<_gXA<8sNj<~@88*Lhdm)ra)=qVyKOyQV!f8BG?�`$YGM9ZIdm!v1Kg<~tk6{Ux -@O&tqgIwU@+u`mvL?S0nzuPCB|aY8RF(wOp5ZW_&D*Mr6ypOWAQ`Jozu}wJv=^zq$^A0EtMkHg-$&agBa}A)Q9|OAHDj>bthGY*Z^Pvbg(o5PCIU0KsdHzobqk -8QKOQ_$6BWAiR$(0doeo7iz{DV?oZ@GZmpwl3J4tXQOYYhx7FDu;NA6054u#PZE3YDHgr8Uo!+I{&kU -5%PO9Y#h_0cQsJ*o0x>KToO&Hc=Lq)~A*ZgHx2>orMz^yEh`Y+A`U{Bv0#Hi>1QY-O00;mk6qrsR(*@ -``5dZ)WHUI!20001RX>c!Jc4cm4Z*nhna%^mAVlyveZ*Fd7V{~b6ZZ2?n&0B4A+cpyZu3v$Rrz5JR8R -zBFR6Wm~Ys+n>uIe*1{WhqJ)Np?fcGkoFm5W#>IE$ooID7cg%xE&DZul#p=ct|2^{ -!gOjGw3u2S5{65N3ZU3ZHHHxa2HK5?D7@ty9S=0e?BmqYam!Sq_%L(u&1V&K6v2f+tGIb}5W5IxR*Wm -q3jgY>6IEt(kQOdLNjWT6JzZH1_3D$4kEL(DH3rwaHo^ZtBJF@Zlt@P|DZJhV`eNtoR0pG|iKq(a9{_ -L{+>F*FsjPHY1PQ>a$Z`R=CiSwgWShx=J%5<4&aHu)E*$Fot1a$=^xeX~qHXc`0F*>H{bTdoDptUKVA -VSE@ZOIdBZ?GRxA%lQ0%}#qaeuB(g1|BGgbY8QDS^dE$1*>90T~%T$xJH`ot6N_cse#?@#9umc96!6# -Vp>H;2l>4hPxBMgBTjtdvNP{wNxdOK!+kW^#bzT+u-e&o0B5*nU9ed3S)9E}dx>ow0=T>#Xf;l7-m&M -xQS*~xt7GeiKiSTJPV#c9r}tzbJIm6C}i8FyTlB|-xtr4Q7iJb?`XNXfwxt2LPVGa!>!YssRO2%yL8K -H3x+pR#nx<|2u947SSSqessVj~>B)K9bFCIhb6FI!kcRMEQ<5F|c`9bzrxwc!{H*snN`9c1(dvb&et2WwMz1i&A9pVYHe!a^cJb3U*0{nsQ5?(< -&AjL8wL~MtgW@gO;=s&V{rsCj&wATS`pLIDln3|x5aIL{mgAV!wda|Mv@6!Yv3M>$qa2cUx%Brm63iO -Ip7O*S93nlU}1|$dLSfp86?N}D=K;sKuZ8MBitdoy@lz(?zz34vK!8cQX=Ad1J)Xm9^k(zs -d;*7io1rUTbsV9%b16N_y8nQ@u`T9`oi=V2DazymF|QLImC@nC?q!Ij7wv>9i>KEbqD&u2 -dk*!1th_PXw0LVU?_|D+Btpr!45)XiC8|8$3YbmY1{7)%sSI_$1OzybGRYgQLH>~DX%&WG+}YA+Uqb_) -rvDWMF+K^j<^J^&v!6*B|_VC-*OrWw-{x3j*D8k`TH4(dK^7S>!kZZY`4@~A=o0ig?6@m;f`Xa>~XT0 -rAZ@%KHiFwg*RvlisAN>0HM1|;A;Q$#^HaK7 -v=qf`#XO}lB_ODUAZ=s8;!Ayv|y3llbvZPtoDoW(=Kb=QV->ATEWs2&=m2R;eCIRUKn1D^6Y5)TaB*d -<<;w~w30*umaO8Kp@fb#+DWn9w~p-jb-+FjhCH$*Cc)sQ^E{83G?hXn)>6qw+arCC@sK`v;GA&!(vY( -?3go0kS0JPWOi(jRJ7&kQ}XtS~l^G>3+86jxxE0eUA@8>)WCwktI1NEX0Y@sPY9m8tCOO|ohIS=#9Ty-&@_Rt1j7oHLOGq)rmdQG;hLz`P4G@{sU^zU -9?lIlX2QZS&nx&46Kd~1V1Vsmyi-be&fX@h66v(1D4XLSG!6}v<`gDfnrqm_8+hV@^r{j71Zm|{G9{H -y0Bi~{fsy})(K;3pn`>8uF&7y9%x74xJyXU$9ZpX{5!%#>gU#qU?S_ -DX-Q@^=T`BFucP<(a~)Kx$@(aT=SjleMRcl0yc|+kNFz4{LWdmZA-yXMP1$*R -&r~N}eM|(G==2j_Ahe3y;sTR0@vkF-X5&pdEPjg0yIyz=dPcWi@|qHcKDDT>1Q}CUV*Q^ -@i%B7(Xla3!mek#7uLO})_i$o=Gs(= -9v9mfOIM`C5ZBvd&tG_QtRjqeZ#bcXIzk$#E6ySaI(-DWDBDIm$<`4jz3@R`;TD%@G( -`6Z2^->8E&IkQX1htdR{tl|q@*cIS;scc`QAWHjK? -=P;tJGltYX6GlbF6QC<#ZR-VSMwn%AhA9)(xg-}+?;IbR$WPI^V|>CH`>YhMo#r-K!VQC%*2WYoj8!z -)aVKeHTu!*&}a|$iFxkWMLTnK%xm7d=HsY?{Jzs-o9avOCTWT106GIB{Pj!C#Y%So#H|A3* -v3Dh!`y4g|mLK06*bGW94@>f2g#*m~SMejOUpwK^U4c8*nD>9Fk>HR6&2E2X{cSg+d!MQQsqM%#%Vtn -J#>U#Dkh8xI+?6?hm({6$xohoJGMhm9XR-?O^Y0Uzp2>cc2Xr7_y1;ck(!Nv#d_W|0i0Qe#AmH`Ep;X -=yhPpfWc1kJNjZEg>I9iW=5F7ouBx(*v~3`}%8%I?&sfb1%Pk{vS#f=9nJoy0JdUrfSXtF(}JuC1YT$ -kEr_xVt7P4T>Ut}%6z+CI>K`b@_5&zDt82DH69$`5L4M_EAZwPwHk|)NDmLcqeX~`sxKXmN040d<-Z@;l4MhhFwBj -&e421Qh@1Abq?E1IHbzE1`zXpphrK1>I@Og`#=5AcS9ed40e1{E%TvYU3o6b>+y6&}rzLp>Ixf?sJsWEeTChB!>i;?pqcah}BD$#HirrPZJxzN@ -bpy(tc{lsI({+EsJP@P~xcioY3^BeA#d6ubR}|1KByYn0WnXx*MY9IGQkWZ}0X}&BsBNrn+);>+bAj} -Yp#+|GG=CiZISG_^GDlhqSj`<9_eo_uqN*pNxV=Nv2syu5F0})~G4&c53@PNIB@Wn(fHC= -3Q_%;?(3M>W?uvq6;;D5>*cqJizSHSYO3Yi -}Ouy58ku@x1fCKTXho2Qsw2uXL@g|J`eJi5xM-nP1%KQ`4QVySP**|R?f@5=Xjy6fDz9 -q-|S`@=g2Wa@xcx4`1waC29G&?{J2U~(iT$_{Q0rwUdq<&;6FR695+MFc!}Bfhd<=Y0GVM^b-%BHaC# -1D#{xOsoRlKLd7lL6R!OBkub866nyd!vo-;V=MM}{5~EKQw@xAm5q?6AOOCK41gs}IJDHh(9`jRlM~4NXP^H;QMf3 -{hUghtHt6%y+(`upq{a$;jXCvM?i~g9-mHpBG08mQ<1QY-O00;mk6qru1E_!QACIA2#i2wj40001RX> -c!Jc4cm4Z*nhna%^mAVlyveZ*Fd7V{~b6Zg6jJY%Xwl?LBLA+emWX^(zpmTqGSD^5gFIqJ(?pv$eabv -)77cXDiv;A|YZ(A_f5-29V56CBHrWnkPU>-c7EqQc-QKC19p!rl+T0)7@A#^){K$S6$mRYCcbj?XGUx -B)isi*|loUe;>(X)ihOY{wVA9x~SIXPrcXX*W0YA;Eg^yS|NB{FF&a^aWLv8$#il>kI(VXY0?&3Rd=m ->{(&D@==AVNAg1c`QtjHJuCxI=K1$%{RatA5U)FWWaOvS?Q@8apcyzwqwfm^qcPh(ObD1?7=I%eQb^B -_QRcn=dPv6wb3@7j}S=lM?`P=OCd(}4kaQx5y-|t}{S)TXw>gtX6SO5J*rPUHP>Am_(r*!)R32EqJ?50~CE`uoa%@Gq)?d8<5rVSAq&I+-Sa%(QYiHrQzxn`VN7 -+_$RT)Va28^bRP^q6-1PmuH3`yS69?7F_7LdpOUVdbd-#-z6Gft9HIBN;Tiry1+hR+i)J4*06E&4bkm -<$AlYp077(2gFpPY=E%u=bKtxdT~nI3YnT|4%{2Mgl+)z=;G+;bAtydnI)ETQhs!F1pEY^3s*^Dz&G%#YR2<9(&~IZIXarZR;#QlTWD8b|2trH3=fY^5< -JQBL?10nKuqGO0bh>!<>ZVgw%83K@{;ZLzjs=B2H?jim(Spf^~ -bFT66_cb+7^iD15M5V`*Bik1TOzHhBnHRg8-w`Q{c?R^7*D?uv%y-E6=F$=WNz3{cb~I{7L^7kL_^Z` -zBa8Lc1|;1zRWf>{Y53WrMsV<`nT(Q0$++F`6n9Du;Y)pqs}4^Kp9ZZzdm9EaYmT -$y-)^!}9$kBIXwW4JF%L;6cyGAvsD10# -AX;y>p?7(DOoP*CkA5qo_$b2xbR|fez@0O#vc8CvEmgRS7YQP229yPER-Mbhig?TcvfgK3($fr^o|Oz -sj=f?5pR`)b;Y|>6_yEl$8Kze^NgG?enAgbqNoESxXwA-@N|gn|H7N -^q(*rKJfh$JP!YyM#3QC9UnFg@ZBdmTdA075Ho=z$t2HMKLhrhZKE@Znnluq!a_Y-#1T%*<6X&ErRy{ -~hJ|J&c0Qg=39HbjsM^|sGK>eYS{Bz4gIa{MK&p1LxWwak&n%F`;Qj$d3ZPt|HzdQ~Kee-Q%m-%mWwU -{EUM#)&yvkrQ8klo_)n;v{-xL)Q{k38SmLr2hy3_PJDe?U>t41w0K{4n}2lUA-ff*M$E$Z}H`ZR%6K1 --kZ-G2>E@h44@^bt+CHX|{KD5elmUL1c#Aqu)r -1*ol-Dydf%hoDLT3SY2xAgabf23Z%VK{k9-=`t|{Mp24BVOuaA((@S4^53YP}aJWO -WT_!KWt!VfV66q3dImW&Tg`zL_sv=%}0sF0C8p(RtNI21c)A^2HN0NHL6q@ZHp07nd}H4K39oat)L4M -z9-heURri#)*Rd^AZ-QnL$;aMK;4Mq+l<*JKo56{@FUm>mbe4DBJ~M+?HYB1d>4*touh^v3KlW~v?p8 -m0ro7aW!b?>ZegM%)8+hta@$p<0%2GK@)`q!5Q}Hh@d))97~ryK%Y8U18W@H0MkONym#`|N>OtB&O~gzB>7C9as}VkURv&-CF$(RIDVC4>PGff6Ii -1`AZF}=BC^jHK=AAr`_6k1sMpbr^DBb2x!cIeoCY!`(S5O)fj#jb%f&hh>Iw$oH}kQuYlzPTWRW+s9m -eSQAT%a3n9%s*VbJ%9J{!_*w!*|RBgo`aBtC}dbUKm1p}F;kqh4ax6N7rXnOVjt?Y=|NmfykqQZzP%n -ih1fu39HMDYzqq$zj~3c&{8;cgHBN^~Xr~%wV`ko`Xfe!5NilsV0enFua&JUTWcJF-8M7y|d(rgWpz> -Sz+5wT@qVA;l&-iy^$B%_9B72u81lqEUiog)-n8|JryfXw~+t>%7@chSrI&de+Hz){EEV4JI+aq`R&qgJI%N=EFvzMcJU})4=&ylLR8enUF=Pt -~+x5B)hKJf%&P^aQRiYo%_OZmOSk@uu`S>R?Y>yklz9VatIDrb&{M{WaxgMtxGjRm2q7+z~r~I0PF#@ -Fhw4k-PB-ZplcL#pjDHtw;--b1f~(lAIM(8Gx4daZ;d$vyqHwhB+F5kFv3#2=QSJlQ{2N_+rLq}GGl! -$8lx=G_UvtttUU!iO$Hc`c!ar(Fq$Sm{^a{SDs@YEzsp}B4vH+2AU%s|sPEwB{{1X@W?Pi?IwkTLAA? -EQ5Xr!-*a-1-y78lYa+W;OXOHypkke;qr0Jl~2M^Qn@1OckFzjOvcp#P75#>Q4xne;*#QS9Ai_eIR2% -Q^d`2aW~#yoaB1&QEqykkY;8N%n@W}~0iZnnLai9L+|_I(S)nFS{14+ZI%LJ>U&64JZ46Ri5~+0qv%E -e}EwCb+%wmN_NmnwR-hKQs#!-yN(8=&b3)$) -`rrMIu~y_9bZK}4wJ=P8#0WZC@HN5>;SH=CO|8X&qa`$J9n3^)O~m4S!Y2NWa)GrNC$1bR^yM$FDtXx -g#ereTKIJoHLQXP@U>J<9UcdP?W5fVB59qIN1-tF%H6c+d=mdlq$rIh-mBgNyfk*Kvtu+ -g$CgOAXoz)eDZegX~&5tpjtBNHTMtq5LZVT#`iE*g8O0}v^1a7N4w^8k;^XR@X2+Cbb^jv=l+iwDK-y -r?)j71uV$Tz%dTmV7|GRvsFUkW%coOr$&e^Lb2lW*Q`XB4QQbqo+WV{dJ=-!j=A -bsW=-y$foruyA2sS>$ct3Yd;nPhdFbLJZ6TmA0=88JmOsfWo%lFAv{!=Z&b4fW&=kY=9t6C`zcr)l}hiC7?B3s6CP=gAr6a#Z(vVjV06@tBSzhjr -VZSu3WWu73Y4ck<|Pp=#XW%Vq%&Ggr-ZD|g -4Csag7~BIn!YdF`KvYe!-dJrYvu=4n!4^!?X_8s5ya@r)#shuVeW9Jz4$K=kKWyg?&*}sygJ})0k=Mj -hBD27=BP008Cq$hI_1$pU$#<&U(Lz8X$dv(;JBp6GZ#ewbp^9fNY;(xb7nCIJrm1g(dqF~~j~mdONFyV}jOZeM#Cj3@p3>hqo%jy_uZ^@&5ae3uK7xMqK@#Y_#{v8b{#MR!l7*w3EVtcDv6qF(u|OhO_+Pu6}=M4@%3o;`j3)pH --gBfIDk-TyMKCrGQKyx{8wJe8#a`+%@A2^x}tCIs+L$@BE9^f!Ms+|xPUW}lSt*Llo+nrzAK9G>TyVV -7v8bk!%7A9S(P&*R6Ul$#Mkmw2Gwss?!3))Qbg`Yq@NEMczhD^{YrdXX%3=UojxP#F&NX@*kKg*gE01 -))9AOL1pR0FtDv&jkU{<$nO=P#^%QlXSU@(i~$)%{a8L!SyKqctT%RBaFj7Zs@kF7cp?B|0IyD)4}k8 -AZ#F3eOw5^9`S7B2k!PuTAwmGC7r%3gbf5?+$VuXVMW(Khg72<(^$`*I41q9cNIZhB7b1uTnAnQn?>P -Z>T}yj$P3@U-umpvEp=Gkk2FEjwqh-N9LTvavUY;pvZqj7?w>P1(aioRDkliYg(fddlY(qN9gy>YD?3 -sIfTztAF^ySY5t#XSo%H#fk4$Q6_|k-83bZxxADcH*BLsw90S$XF48htHcY&Itt_2#hJ`8a~j=8*{I~ -aE|LJgjo-GCBr_?omB2V8TI{oSGS1#5l)ByXwY&>4&o!nKW~#d(g3ET0b(y8p@_>E&*hoLB2YVk$7;3 -zZfiC4`O6lRyKBd_ve}G)*E;HbZu*(2K+d88Xjfy+`yX^7FE;N)d6lXm|rFiNIkD1UJocXQ$DI?`mYM -jSIxt6KR23UVyeHEG+^jp#kQ2WKn3Gbt#0yDc&}Vl*DH&7(zF1T7$M1O{1msN_IoC3P=l~ld75<&p_)53Vh%xkDxkEIl`w~tyF`%4D -=@ff(%>t=IfY>jLz4xh!OK>Y~jt&CleutMbU@-&bw|fXSg?7ZwX&AjlSnq20wS_s3-G$T%*-Xh_$nIx -OQi8xdD~Mx6uCa06+@Xx-H1tlazJ+31e74DfVK6;ZG5k(FEVdUoE-DNz|V6D-0bMj~ -SBccEPe9ZqI2dNRm*UUrKOCWvy$xeIJnsNy95R_iiQdR4A<8guBnHWqb8utKg^}0_S1G#gK+KD1IJ7# -2;W!9p(^~87=&W4ZeonF_`H(61#N=qTVHgs`}y3FV7z -3zoj@#FArt4Fb*EWrS{Tf<@()5K&5?^1i<@`;+OK#5Y0Ty?%Fwk){%ICvL4?jx11#K-rFC(m04sK@(sA=f}gUDvsZQT ->wW)<$s<^o(-_MEcl+A&-0RzaAW^?ofOmGDdv>L6_=Am7K_cWGQBo^-WUzA6T3i`(eB~EJ^pscLzk9}AR{f_DaW -MWOR8hC1#r+^8uqz(j)hX~A$Hz*t>c&j+-+De}bK_~rpe{IEBrskrmJ?DPI_RG;zOXXvo<4gQdQ1L8P-&%)}UN*S`4vE^k -2m81sv2%F2PKOewrn47Tuzv)bkl{nFcL=P5Q{_C123QUHSz&K04jjwxwB+BRag?eDZRQ-j)E$#p($j{ -wHtIal%-`s~%~i96U0OBRH14mtmt=!KuO!8W6}QT!pqVgr -j7P>mGUI-c=)}m|Z;t4H4Fo6#g)A1Hm+2_nbJTGb3q%vBB$S(s?k~=`LZ^HqzJ|cTjTmSl9DN#gGby?C&nL?sCGnhGqc3vNcVzAbiwyi+UiS-dEXrYZe-^@rz<*cz -L{>hw7pTu8emBt81`kg6Bh<^JF0#%>wPl07_4Fq~khq` -oAbtfOS;qVGJ@Sxl^oM`9qGhnN7&o{}raqXcN<5nMK60STw1>CF2Q@MO}ppf<{)BQ|#E6Al}oO3J#Ot -qsegs(E);yoS{YL?I^<8XiB_%vKTl|gO{V0`OBd+p$l@fNR#bI*h%-KZL&(QqL4IDKsn7id1w6X4*)4 -;DXJVa`}i2)YM!tg7Ek9ELA@UlC~n=wA%~bz;s?E+E*X>kC;aDKsjs3GOgR^|?^_EpRcV4i0BksCFuQ!;a(;$iKB!N-D7>Ya@sC~8Mf7mp2w??M -{hYWO;E!&b|0SR=?tUPFbqlBkL*{ELpp=G>-?vrbOrE-*V40^OYT^4)8)itJ^_|s~0qOHQO+415ms}m -10#->sjV{-Dl-#$xzeD)J5DAqeQ)CU{=6P`}IWm|)~(OsutNuTOX_H%uEDo2~6BlRhO{o3<<@2$!jwV3jD0p(QHjbn8|&8LwyfIYx#0L -LVt_Rf;zYmFPXXq)|I3@xR*#fkK`$7oEFYLg5gzGHXOA(fzi0)e&Kj`-$hlp?}-Kk^ZFAF1pOV2D^wP -Mg|i@hTST6Jg`C$+8DiizZ3S9fK{(0Zuw(Hkg#MOYp7lhNz)9R^FPsC=&%FDoAZv_0K1PHiY3`p?oF5 -VW!A|&K&nDZN@Lf&mYjG7((PEzRwyOieCQoje1mCu_0|~Ndv#j?Mo1=`+Ky9Z6eJBXB%^L}n+j#?KRO -WP_nbPO8gEHeP<;s+ -k=1I(}*VB>n)Oz+5t>^dKXam_or7d?*UXNU%HN%R%LOlh580L@$k$-h1Hg86W(&=gzOl2tTpe&X3%EQAZ3 -86RB)EU>Cfbc#`?srCc2xe&BxazyY=ygn#Yr71x&)k{)T#*hlRJ?_*Gvxot -4juaV<0IIcMbUM-=(I_QPL{1Vbj__A{L1-a(&k0X*+c%l!Kl>d)++_VG4Sc(En{uRe;p;qO_OoB*4_#yeTj&N()1X|;h$xH -gaGsXis%#0K08$C$BgKTwU0-yID_9Luuu^`c$as2Nof`*JQchlMRap<=COdaqLxD>t6}`243{COAz)m!OM}d;B2O&|N~N%NjtzCZT^J(XqBllkWz#tck$Q)JNBnFHW@^@W6yTK?I`r0Dvl07so|#|nhjvI)!U($@qZ#IKu;#)2jOh@UNF2&&I59;hC?W -u406^r6XwhS^N#Tzx48be^E({g;gX -dY~C-YLiqCj$2q5=43TNaAPzt`GZIq|;ebx)8*k^bn}d-3!|fBs@}&63f#=O0E#_mj$lwFWZ-Yj61a! -{9y!5hVSQUA0b0JE^Pra2SW%j@NiL1igdCxV`6hv!r562jH=V&t|PS_vx}Syb0K5RTujB{Ga>I>tH8N -UK!X7ftzjat$yG>HaM6j+{@fh1fcGn@?kx04q)e`njKhSP~wYs6S4Y8Cr`d+Q6l6Nk^KGg3AqA*!FLNSbT16gp0Hl-AjorjcowypECh1TUFf!{j$!~|Pjc -Blg%pj$|AS8nXd$IGmGj0vfjr?GU-FChvq68F#-#Oz0N?j4%Go+H&{77HPd6&xeg?7%W@7gDz0zB8W# -T<|x{77KiU`DGGlST{LGL!0@>rPVH0gTSDx1o&0bw-B8f>jJu*xDOi)Is2scbS;TjDT~FDCmsCRsK03 -WGn?ZR?Uo`>=5TDV39kdccqqxUxHkG8N4e*Z9svLLc32z*VU=O*u#%4g#Q{YW>51_1a$(NdZ4@%s?bZ -z(cLEo&I8y`N|2LA%q5 -g)5%qJimu^j3Vk+^j1pRjvIL?X3`W=J2LWMjqE|Z7Y_sKRuy=)4 -8qxaXtrlKAkDpoWAN(y{fGJc^MC$$@&5d^XWfz{He>(|&97ktOBm?9G`|ltk -&*<>UU8*Rbgn)0XOQ<8Vn!luyyVHlYZTqFhEvVfPd -{8clC=o+7RtMpuf-i4$$L3E$`?kM5iNG7G2!lLuB<_+d9^heZG9EF^tV8$Y&U+@R= -$uzS27r$dL|6iUJ;ITa&dWv4Ek_kexgLF7;d6}%=c3L8X*H8e~IeFEo~V&ho4{Z)eirAhoJ^K1mxF!z -T@hD@%tUW`OS;t{=G{710J?ediWH$Q1n&mq3C3LLw)>;K0)bS7W4W(zJFs$3z;3NeRqBv;F!$~6LU5k -i@@b;&9`+e3gY)t7r^4hN5*h?TT~OKKMY@i2ZJ3NkXpLW`r?ltS{I<3zoO!eCrYaa_iyb>Dlvx&L-^v -Wy}zY8+qwh(H6F0G`3Oyh%RqYG#Bb_mX>A*3pf2UOqnLUFAr5Yf&*NQX`oi)~TS5bU+8V>#k_8n!TLi -l~#1Fl}=yjpzH=-{@^gw`4h>Ij@&GE$UNMonqpRZchOcYDxK%PG@VCZrW`*0PY0D?h~{4(WHMqE-H<_I3>ZqK -X6n0_Bs_IvYSgK#7tQwJTSI;hM~T1se(;rvo}coRL-jr`E7!4$zs-l_eo{<^$xuO?y!_}PoWP9-sJL7 -CdM+XgklP<5HyKJ!MX%;&`gPg2hA`1a3w(TzP>2Mp-2)SFQF(a%pb?#dGm2jH@%d<$c&B`siYGE$2=) -NJqlwk6@4{qAVW&rs!Q*yxUy2Ox`zdIXqhQiO)#Y&q}&KE11W~e&si8fJJcDMSW|(Qa{f8Pk_di%kFU -S}+7B^_32G$8vDbCI23d%SAYM^6?A(~*eI|&R?m~g3n1+T1A5dfnn|Vcir~v$-Qan@q4mP{-R!NkBp} -iCgq4pskrzh`N<)f2BJ;Pe99*l>9;1k-fk>nQ<(yt1>^83#wjc^xjg?v->CxZi{uuy7?@d?B{|KcQEu>fG*63SiQQ*F0-B<-pJ<>T-}SzP0GOeuD->F)8Io1VX+qsmC*FDVDkZU^Hlb0jmA^Nb{7l8Jat!7G;nqxTR?`XQbuTe&S7Vy~RumCnWfz -nniyrPJR%}6r<$svu<<+Z;3v(!lY5PURew0rE& -Q)&P}=wJ-oJhM=HlO8{_)NE{OZ+r=WoxihCyT5rAERsOrby2ZT}lkO9KQH00008045ZePQBDyr+^3m0 -L&Qx03iSX0B~t=FJE?LZe(wAFLiQkY-wUMFJ*XRWpH$9Z*FrgaCyC0-*4MC5PtVxL8J(51Fko$FN3iR -XkB*=kh+1LY>x^p(KZ)})JV#XF>HVP?v9i!$#Q{zOp( -koQVAA-Ws=!a~?nPjj&@YpT?Qq!CzbF@+eNFP_8^X=rQ=YRsYqi1J%jSdp;Rfw`@;EYnGmitz>Q%t25?;2+#5sWyY~e? -#EjfA?B(w_2y(zRJ=w_N}#H0@p2zIZ5A35UvEs4N+`BwbwE3A?lx?2-+dQir{ob|aD^7U5J);XC#P?vTs)F-3&(!sOaQ1XLT0fEZHVuqYycqG-eh -bFIXP;qPGu+(P_S2%cD4J^JfPLQI9ddDA72Lw<_-wY;m06t$Oif?`C7yD)53Fo?o(lzBAd -~mT2k#F?*c{lZ#SHHz5Z#Jra0oDH=w+({s5O;jI!5&h2o)$N0a5@;gbS`@D&1k+n^r*jgI7&KsD|ALz -HX4Fzv(yrv=Gh&m(>%kyzIq^-!lFrvm#@v$X3EIy~c<%Qb3$oN<@)}Wb8wIl5@i|%7O{IYdXCmqKQLq -_&pP{Yx3|fgfQ^`hw{ximv!=}Hj()T|gDRn-04O;iomI~G -E1-E_;}8rlPXY^Ur2)?ggy-Y|TeG@)OXq)SfBowN+$#xZLJ~KQv0pmA{qX4CKU`C|6vemVQxRi$TH?hePM`dQV!ab~7~s!S-XYbvdGhlbwWfT!?Zn(93iu@ -0@%6uPnG)oM$|gQi0mTiU_b@QI2kecZypvl6gBCgELbZ!}~b*!nw9i@+tvKS%7PW()2F0eWm!_D17xq -(sg(atFIGKBdYF_ni7$ZfsD0YEhSNApVHx7c#=iOs3p~rV^qcM`;8@UHQ2>kOqa_-2VlHdh#c!CCitG -UY>ZGJ$l9Nr2x=T$vU!+@9EBP?meQw(diItj!OkTr^=@SMTB0!7CFqiu$LyhMoSia@!M=ZTU<}0*<$g -10haWghG^yLPzmye*gkDv-p;1iUpn{yjpd}U5%$vmoSv?x1pzDp&1E_M)<)s-cKER>Tf)G_GK?%6PBN -NrsFwL8>ximlvHBBI@MG%c&;pmbTDrURwR!7U;CW+w$z&*}Z258C71!5_>=mI3OV1UZ+U=bG(*mOgDOjhh`}j~3mfJPxcf@@Tz=+mw<&k%owwi%7(%@IaZszZ+!V%Vf%G+v?;zcP! -37RgKx#on=auKz-@F@M8B8UzO*F~9NZlassJ?qpgzhg9Dt<0{Lo-p=3$BFvETF33Ei;}_*Hyl8g@+v< -Wo2Axnj3f;C@bid<+OgLW%1cI*U(cJ>QN+v#<(_O9gG^z9D4@vd+bjmYiN^TJ<-T0@P$Lxq28mIV2y3(E}O2m6M^h-h -{c?lTxZ177nv@M!Sp%!6U;B1db5+JGOiM^k+V&c=?mn%~P;f*ac93j%PJHvw9Q+B@dB^>m4Jgv|qZ#j -zbal1}3#AD}Qf$$3TVDp<>vIYDm+FF`Yq2~N|;R@bijr*^&8VE{`6r7^;?y)K2EXzrLr`HK2;lrwJ@OB=qtz;9fcR? -_bsjAqtZ^&_{@F(vnAiq@v{$DOX$%vajzbg-mAe!Yq6w+zPBqq>CiW>pna(I{aDtKIpJxc5KD+u?*QozBZy0Aqs2fu?fI_1#b7AIE2#Brm_aMVcRt0!#dJo8KRrCI6unG^dE11kUM$0fC -RrB3$J8SG3guUuNNsk@r}X`%@!&|Ju`x0`=7)t5K~_^=4eYywhx)VH%#z3it|h3MP0(jbReuFxLrC|F -X7?W!bk9H+-o{|4h;@O31x=LYh)ylPIfUlO3k2L&A -g>ni{{c`-0|XQR000O8CKQ-XgZ07=EC&DpHx~c^9RL6TaA|NaUv_0~WN&gWb#iQMX<{=kW@%+?WOFWX -d97G&Z`(Ey{_bBvcnBnKj=CoOP`D7VpiQ>`YghE;!;l0rEl~~|SyV+TjW=w+eRm`!k&>Kr!}KK)#e44 -U;oZ@BEp{YH@@wR?UPO)Jg>090e8<$jVsbXi5i6=_dP}!VwosDa&t| -iX;sEVeC7A*hpS($!aIE)w*+e9k~ju2R;5pPD(MvN@+nP7BY_Az4tn8y7nc#XsU0nWnO+?+Qm^pIol1WT1>K#?d4Wk*W6YWiCvT{d@h7AJ$ -3o9yCle{TYOcGjd00=EJ@}&`qK>{#d1tSKNXiTP9ZFBOD){3W1LF-}ZO7i~oOLB5@`gBRC)Bv*C0!tOk$YyW8o<4t0J}~ -3dv*?*mpD}ebZGaj`n9krOx~^&@3%joX4Dca9ka1(ID2u(v8g0D~td}N`t6JRg3;?MFEltT&kuj@nM4 -3`xKK3C5kCzq_BW&J-`PJ1`eO0!H%1}ch5n~b@$#{Mw=K(n)9uK;$s^0fzvl -_KFMWAnM*c3#&4ys~SrShu$Du`4QNk5ouDRIM3pEO5Pt!V|sw{ZzA(10AKJWy(VB%2Iz-?B3L&#fp&c -$h*C|fz+S$_$F+z`P+HdsQmc3^{(CFR7Sfmsq+*G*D9P8gHV4TAIa%RThH_goYb^{K#=$B3$R_i=B&s -QNp6tpx -+!Cqg<3|uVO7e_|o|tcYyv5ozYn9^gpyN#pKVwx-UE*$7VtTLloNAg(1REnq^C -eT_%{m|Lj?3Fb0GfE5F1{05O%FY0Mqymro|_pE4Ce31U(+&X#qVS`Y(oz5Q{!~xL{@gUHjX-NV03N0< -yMsMw6_C!!zy{I)Q_}1RDX^>{yUECa3;)e1@EGhu^lZctYd;HinrL#Aks1z`X6W=8;0D7-1QkJ)mLq- -80XbEc5|1lO=qHA`&_^WKc=RHhS{W4tSpIpxJYHSD|ZC?7l2q1MH08;LQ5+UbE5;zRD}{4;8oH?pR&( -jBfOhdvGFtWDdq>viaikKMa`;{$S8-75w*Ma~KgD|DszI$+xvi0rLcz*YE{({_|z&|JOPZUM#>C9=1;9Oo__f-%`pt&7;W*?}M?v|yVD~7dl8ZOdN4V -{yUd2!f+ca>IlRDJCZsi%D`MdQM0w9pEgPZpY4%RTHaFURE~ctL{bv*2ZD=-4yYVp!&A-~(iRuXmbX6 -)p@9?BOm!Q0gIgCC4O35+FreUgI9o|*WogZuugFu$z?*Ivw9ObmF3KZ>|JKt@{z)zWTVlGhX( -$zq%V?LeCWxbCcoz3%j)F6w2we7zX3!t%zX%)WFS@eH%18d>ikXv!RR)fbqkoR4~U&|23mU)tQqMakuo3)$oei-*hJc+gLsT+MUg5;K}fNhi9@FT;s$wCIvQ@0G -r1#&R@a50{kI%isPj}v%}9+>twlMz~nw6)7MEyu -Fc`>A5cpJ1QY-O00;mk6qrsVR<$X90{{So2><{e0001RX>c!Jc4cm4Z*nhna%^mAVlyvhX>4V1Z*z1m -aCwzg!EW0)5WVXw23Z7_3Y&`}KvB5JrPwauL)%5Wm!d5sN*cx7P^3yyNqp(I?~tNoTXxb^fMJQ8c{B6 -gaM&2#LY_Ch>kZ~Ph_=(l0WYnVy~BL?PU3PY6t|TS<9DTNtnB!uZIUz|Pv{Zn?araye2nX?&fR6{^-%Vzx`s8+#BK0z;#T8Nv&`DE?xAlS-oClU$4F=Nm642)mCeZd8vCxdkaK$=g7ByM((8Tu;PUpbDTCgu4u{-pG;guxo7Rux@2w7DnD6 -R*;4pm={Ie6u9?^<1sIfCxkznpyjuuu-gg?O|L5N9MH5M4Cs)-hL -}Q56!jKi?TyyOY0DK$xZjFu8++6~zd0Zx{AMq*-*2gSeA0;M`@_Ha_Bh*Vv5%f`oBA!Nipn3^yzQkE9 -XBo~)3)Z0PYI1D_xgiYIFtNc@CF{TCK>!Zpz@1ia4rfGfCd(6g)oKq(}!6381R1c{+&;*E)}&W9Cyp-X_p;G8q3?q+BBdv&HoN7K>*Z6l)j=Ohq1VyeD^|1C=qT@g$A#OYA2xBc>81 -|cG|l6Y%b=*x%NXf-cIQ>fv2$4_Fjs!qxj?|IX6~*F?+`(Sh&B^GF_}zm-d_arWSAs>4=?;z2=|cs!P -3F7X1PyGpK3`x24mF#-{N?@lR-g>me=XKaxkLo!?th;%+wMB7k)!m}CHdz+1Yi@42DosC3(LCrTlO+d -U2K50b+Nm%Ckuvmj>*3&Eb4st4Q+re|4Q1VZEHDc!5p@6aWAK2mmG&m`*SfiEe8X007lN001HY003}la4%nWWo~3|axZmqY;0*_GcRy& -Z)|O0ZeeF-axQRrwOe~{8^^W(pPynNBOvM0>(~z3TmcN=s!kImb^^<}#f57uhs&Wj(Q=pF*_Ff;{q8- -FdG0PH`8E|`nViR&ne+Ia$Bed3y%%}D?b@zUc`o$+P&ciRYg3n9t8)H6vCTzYma1rVT^ZN3?W&@!>(V -!r_0^TGt|pT$lFssIj-&ow6{>2><1a>SF6ye4x>AiDU({8_!w*2!&G_!aho3Ke&(F}aptj4j@m?DED_ -bk0LD@*Mli)(qMOlI_5w -y$sCQ`eNGUPDh~lv@JYeyz2e)Tn=S%Cvzw^!2T3clE~DFb~e3MKtz`cNfruto_vAR8u}u0{0^TdqW3d3rp#|tV?YYg(0rq5o7f8yZq;2oh4r6^*JUY43IdkCt(% -RI%~iJt6*HpUNmSde+=#UjaKanCQ5(_L&;#F5J@(9jh0v`5YS?BLqHbtJS8Y^N9^v#NXqCythn)tEF` -_d}4LVKRbOo3WQ-!T$lbm^>%8fzR&`F6utb=eG@kGG9(6OscJJO6Iom(U$+WU6l&H4?Iy2Dq3+_kWv1z|z5|qmxVgq~+T{+nz_mHh`1hwFr{ZaS -PF(5S6<~2hck0>>O4IF4zsvA{`8SH5e`hIB9q}|sWL_hk1Cj~Ce=c4Tnr83d-NZq8w)8(Zx$Zb?=Bp% -eq5=B4JAH0P|)f}L2%n)D*NH?bV1p5&O&cP^^z}5}zR1_tU9I;TKW5m`Pc(7`++YIR-pcI{H0a;ShGuf!E$l;gl%9gsSy -4lMTbg7wNr_phvviTJ7YG2AoD_9}{h}V`zFe+m -5Jaw=R#N;N;Ln8xYP*Uw@U207Nv}v4u@NSKf{5uc|7Rj)H?D{WZ=EFtgLUr -R(mtZ!zbgp#gDeT2aN(XLYpGX@EZpYPMT0D#x-D7+sMj*7=VxHVQK*}+;3oks%5lB38CSD;AYd{Ev5t -iG3`P6Jm`hqIuedSxCwU#==y}=P*u0$U0ta#FFresT87=t;*LzWYHw!qm;oa7U$le0JhIi0A9I{Ar&u -8^HBvBEn?TeAF<@{zoA&%Aiw=$+PZ>RC5PnJl&&xm`k?==+D-R3{w-B)!7nPzxSf7&kvuBKExIQFM#( -)wFgF0@hg`ozGXxa*ZJ@2C+l4%Hs2wJB3H0$dIGSrDALwo^YjGPd$Wh(w4tTf$(Lw!KE}SM%(})zC3zT%BPiy$?$JoxFK&hR$Pg4(m_2>!oalt&i5LqRoA&a6 -h-5ttlT*ZaW1V5l#o)Zg5vH`M;05=Dlv^2;Jt{{S}JTY~5D0QJ>{dCp8|D6oi -o{P?&U*AR{&1R#?7D_=ARO{&b+<>FxEo87eKkb|YsFh3e(yCIHD#*&4h_Rb{b0_xz#pmY}Pw|^?zH!w -C(8^ekyv&v_=gDv!Xs5VB(QNwHHy_YhqrRR$e|}ZhSK!);djEX-pG@9MU4A}+qukZ?*y5$CW^OJWEp) -$}csrpFoZ80FOu0`Efo+@TGo#AwBB=H9#g_}GB}<&L5M%O>TvuwPS&y(K6}E@X*^nUnx?W>CiA`!bUf ->Ku9+tfB`2mAG)JElqipx^&*BkIH=i-nRB{chZ34fkY@e*Mhf~!#AvXDrz5_uSK2yAPS3X*$@DAkZ=H -=5I2n_DEu90l6(j&$;f1L-%pNIOymU?-&gEV4+l)`eqhGWsr(uevL8%oF(2jVx``I-OnqF8XoP`IT!r#$vu$uaMj1 -9wM38uypI=g3xi5{YIr6YL8T2y(t>Ihv<(vO)vC8!i18ryaAj63sm9+iof}Z}^x~RqDBaj}c~7<*S6p -S$a)@HV8|KEbYU<^7a8Tqz*NXK~oFldKRbbx<@uNrP(v -kj+t`V|P$yq}|thmRbKJtH`;)u7$aNNx>;pz`sp2D=m(pcwTmvGeXYM12rJCK}$Qyw9Sa&UFE`I!4MJIg5C88~+QD~~AI&E;lJ$slBXYSzu^2)^qo^3YLU?DD9f(v2I2=(wjp#H1ELf -wN1joKXx3R!ABVh?t)pRg9Qe2S6@Yl%;w*$~e_+a{#fQ5CT>uIi3It5e}^dRw|$Wo}`AU|K&QS`YL0s -=0z4_&TNwkEaHx41s91@|135qseUX_`L|7Dk9+QdH_#3GO$115LSg^}HAhq@WOmP<$-NKnfM;j# -YOZpdgDUh^1L?EG-bN8OCpP2}*Jjb@`KjqiUD4tO-~(%2{}3pt^bm9byzE_gQ-SN`Icvq)Z-}9$gQCQtK${;fp -q!PE}3of5t8$!gZuGkrP?i{D* -$ym)H%UEpXgQiJuPjC6Ih$=+Ajd00Txf-p&Tr-*dustTj$;*rkW>6gi`V%mHl0i`#`iKN{U}eeKJi|X -aW`D9cFdB@WHc^N}taZYtM@Lqddap~_V2E&ziN?ut-B_|WjH=S$hTW@AUIDpT5s8=4ty7$LhO#{v-gw -f*v|VI_wJ1&X?2rkAHho_8aV$Cual$Yor^V5oC6t{O-T=IagR_7mIgNs!$iQYn8XBg(OD!VG$3GIE0(}3gAW -etFdFTGK0z*YWJ`Fk(1auO5!dZV|;lch}5WoDzX0>>=`NxZI(Tq?9djNekUQ!eD&0H)rCTfSJxHpdQ` -h|LS)$0lQ(L3bMS^WhSP*Y?1`kqjGsKJOS#=Ek|J=b=XcVs`XcnZ^CI&2hYg^`jh|hAzBEXK*P|{Gj- -)>1nbDK!-u6D$R*4j_v@MN~h~vR)26%bg)Bo$X2_#DrNy2Tpwls%MVRQCHbTTpI|n=Gn2-Z;Z7jj@R} -~Os|REw6|^t4il#Q^897h46@0j=3sQCpri`i(vIAN@>lz(}u?;1Z)}2#kyjmp|W^bfiU${;R0la-U4S -3TPI|fw=0n7m)@c==48<_o>_e<{f7EWmEjJo}7=)^TfOzHEWGYa6ZZ$D1$yFG&sf_>u0h3|Nn6H3$_+ -pK?=;%@Wf8$3tDjrruxU>gQyOf0uiWI{Jf(Tfc(DrBJ+cZNCjS-+@f4&cd^z438+H%s)L6x>f6THb?1 -+>IJYNjq|pB{H}2(v~79%(H6E=*{FY&dmp-Q#{1O4~F!2OP24b#s%Ta?m%&7qe_WS`ou5qe`KfRXyV) -Odv|Uhyw4J#@B@b7um3@_#!0pi?8*V#;QhfF0tMokfzF;Znx-tnx=>^pi^og -JRxL45wj%nla?U^03;OEkV60jply%`ykuG%omL!$`uY22-gOPjn!ON4IT5sr)io3(ARC`-D*Yuo)a8<|Ea?)UJf|1YW_<#Wr4xeM;dq;lWg -e=AG^%1jK7-ZuI{`-ULy1L#3Jzy+1F3dwO{7p&LyAi0bbAZBTn3gabiC+`77g -_!+OiW<4Lun!R)%7J~fn5)T}K4F?IyU!|lgl9kvaVny@*lhKgJ!2u&VTg<0$pwme2W$A~2Q-)F} -+fFI%uBc6Q&zt4K%M1&H(%@M%&QFSoQBddG86aCT4EV}>hz1{gUJ{bm){fd5_p20eI9nD$s6$OVC@sk -$N`3CRMh!ocbwz_hU_!nG*r;dxC-o1Ns@xkF0YAL^KMvzUPx$t96IB@#v7zVnKg}oi;XPj9L=MSFfB# -+!|xe0gY0Et2vcd-CRZT&?p(u2gaqDSAMEVZQ*@Wl;1UsXtsW>UPS@co)k7x@_!!-S_nEO_pCgX9A_B -1GX_jSteqg{z=ZPKykrjd@zKgQLT6vg}^n8pTi*d&n$PW1Rg`SEpM4;p94`DQi+>fqDgn1a2MKye@z9IDYBL}gKlf&b0j(C -RKdwfZhtWBf9)f`HR%)=~#cNy;>rscx@83*DE4#>?}Kggncx#1sPCi{w3iK72y4-i6^Qw%r6e+Llx=f -486p}u^yZ|6fMlCE)jMn1@4lIG|H-2pvRgh2}$KM(KM5)OseWzHy0sQQ2V;yZcjV5K>lY@9yf=*9*HG -WMY9{#xDdw0IDk&6cAEyPeSRxSbK^8A#<4ZHNovF^HWitSAUQoDTE-H$Hblk`SYvyQ^z@e8Yv>*Yrq+ -;_C0}=%KI6tHn=TH;L)SHSzV4|4P;XUTQwWJ1-07Z#{C|ZFjxLUcQU)2kJq>szQ)wAEM@l=dg2p5ROWahzO~Vk22m -z|PKO`@6Cey?;q$u-_vp)ERZ7g>eY&VEjS|1Lfh`1lY6`I=1;n~l<*`S_T`}MbR+cATt0N_Re#ZCf*_ -aHYls^1HQ(PoUJ=SPBX~Y6!+xr|88Lb%&3IQQIL7htf0Dl(BOe{CMW)hZq7r%^(QvU`}O9KQH000080 -45ZePW0!lo@M=0p;;6cxu)WPba8homUUayl(q%m_gwQ->eV{h~~(f~{6rV;U` -1D<+FdX~X!YR(WH@%Ke^9GNMZ|nTtx*rX>^QR;6N9G`W!#*JhO|U8LM_PhauvBYzNeQp@M0P)~Sjbe_ -u%-soDiFj#X)lgVVY;&~267VKm6i}+t7YI7^hPNjA939q*~uWL4ZF;$!2#MaE_6Nc;T?9ARTRrw@J31 -Gnr`7BEY=9t|tYPR1gIz1PKC?PJJ7r>gY!HKFwxn_lhj#=GocNUJj-+%1Ws`x -n3^sFT>J3me!1ysog%>OFIf)LOVJk(p&euP9~QAUaKdWg3*oG@h1t+iTi>-%JPA2RZ*ytnL`Bvl`%S) -X{Qsf&9@-d+8CwY-`oUp#%I(!=*1e@+nRq!;?t>ZY -j)C^$C*`hLHELq7f{xU5rh;GI~wzxx0I?ti6!7t71*SJ)3Md#m#D!0?dv%o8(d*k0y2%awX$O-1}Ucd -RO{DlNGYo%M(_ZpiXvMW#y8io`bvK4$hRxCbnaa~)VuXwT|RDUIa0{9R}U**SIzUC+H7c7^Q(PwgV}* -R@+9XjyLaCKce_KrP_EHAl>vG8YJ8g+q0VL3Uve67d?q#B-I)tu*-|31Mv?dOo*mg;}uAk#m(OW)b{{ -Zsb99zq?=F+`a!0y-a*OWJq`t0{Cba+G -@P6)yt<=;|6muJ+GxHtfkbl&S9q_?O`GjRdZo3})3ZyT3&peXK{L -#&INzmupC!*m=Z>#4m{n?~_9a_~Y}%&Nc6HqQVxa0*aY$#k&6 -dIm)agZUZO~P&r+wv0Sz#d15tDr($OVe;FH;61`_*}5sP`;p|LHXRL3%XQAbQGN_BxWhuh_Zk}?A1Qi -hxD-DiISm`AynaZt_~u<1u(DA6Llbd<(CGgw9J -oMlB;)i#}lw?j51bS}>^8M*N8cGaq=q7HF0{@mK-VQ?Bf8bluEwD!w=6gy)4qT9s!FeuqO$r10kL@xor-P+qzuh+);-VGhw!;Lj?}rRxTiu=tCdq3S -7V5bpe9vpgHtli>!Ye&D(7+BRa$)CIB%V8O<}}6fxuhwCtw^i~bd{pSo#a>PUOr`~KS2-GRB!&s#QL_ -Y~{dKg?CWyLSK0en;B)ddE9%ZN1+G#Q##+Sg%j&1UyV(4vxiHOlNnDbo|@ds2wwtSLe&MXEvn@=4Z#g -R24tuil?W`Jj$}6euieDgxygix<`|AnwuoJV|QkY8g@j0N4IJV@!RJ&C#HmGcxtDy+b~{)?!&fSZK1b -?n3Q1~d?*Hmo*H~CF~mI_DN_vTonAkHh_6-?cD*%hZ1 -Lo((k0cyJ*a=$NmRYUi2q4Zu$m;=Y6jW!vnQ8kK*w5iRTS9DH_-{yLkUDK+#(g&@^Z`6L!JE57$ji>3 -0dVn2`&_?DppN%Bpk592s<_hkg)92%_aLVgIJ?P^oz707kicmV=64ITk!67KYXRlYDsm(X{vh7| -R*8p`e3yz0tx!df)J=1wb3E_B9GX&($$Q3D>`)imlhaLcqsqc&!`C03x-CjYXGE18}pk44=@OI+pW^ -t5W)2}Y$D%X$szqBFw{POareFl~z(nUmhu`9Lnkwd$wnXKn#<&)uY)|SWzWth!t?t9J#85ilmo*&s{? -GBBtK2=F-wDZ=1KGB4sxX0vi-5WDVfN@(>RyM;eUjH2HJE=GrdNDTKY;eYSR(SQ)QNI>{O+6gS+}iY` -(-ci<^zaHzYxGan1qQJ;A8_|F_L|=Awo~;Bvk~nVTiI{wMgI>_O9KQH00008045ZePRaQACO8`a010F -O03QGV0B~t=FJE?LZe(wAFLiQkY-wUMFLGsbaBpsNWiD`e?L2F98#j{Q^($~xrARu|M3QsKo;KR7Ez4 -`|+LlXF&b#GxkwX$BCmPOh=OKps;ePw|1Hb?na3t5}a`)j_iA>G_jqXOH(Jx?8jM%(l3RO3l#*E -o!bL~IK%4AD|nZ{e#f2IFxSuR -#Kb2L}hUG%icv@gj{Y$*e90`SfSNad>t>+?~q>h;5Q3)p$H8Wx9YDLVfUOG+rb{S&ge=2gBVJwe()k< -0^(X(|+H30pq}Pl;LPDak_wp5*`kQ_Q-&ETvde{d?XNg3xz_$ddh@qH87A>!v<0_gaU+kS%8v-$nuJw -HV>^4@Wp}O+G9Ylqe01{azKM0ggEu}IS-{@wZJw|-gi#tGip511(1SbL2?~6Y0WOBw3uM0XS{0=*9J?eSU61ME_1&Ax8};xOo}SRt+mA2azP?#=-MZ6mf?RD$m9zfnu>2k@gAV!KLGNs937N%Ds){)vnDkrjj== -=zZ4b!jHYBDdA}P+TpuypTknh!>SCM75HF79kq|dnA4D)Z5%^^#$(x_ys^X(%+_#5r2`U`4)H@Cn;=i -Vi^}x*pEd#Lk`7YNr)s9IS^BbB@7^VM=pcV_Rpnh5htD|QcJy=xH_vr*^M3Dt!NHQ(BmUN!fJ<4U!o? -1OIs_GcXe7NEp38Od%Yg3EHq1QUSE8F`uwCJ>1rWB?csu1qeMwCz~(SBU;)JsQcR`HM7#l02sW)M7cr -2I_`saRZ27=cS?VR5lPJbj(`jV`efQJt9Vm)S7Ra1fT%diNRY#Yqg#oo9iw`7PrgH|ECS_F;xEXg68Y -oB%KF$m50Y6|R&sNPwyplVyl|Y+9DKcCM>)H`;VlK;;%AGTFOPHKbs1o&q!8$@ib2AtY#RB<=I1q@ag -aNBTf7Bm-ZU$SVb-D7jx?^=H=1MI6AlplyA^?2N6?n&`=JI%|Dq;!Cjh6z|JRlX$~?y7jZTh%)B`)y`#BY%{Z_CZfeVD20pB3$|LoHR6R7rpG1i!1U4ty2QHC}88?=Ec3@;_#}zIi6w;{#6$5(;Z -`DexAXLTQ$mXsxjLrxKHb!QSl_qes8SdaCXCi=JoCx4cnj%%IH_$b&(LqEKUPC4M3h -#a7ioR7NGYaGjfH2q$HcAwW3L*#9Bs9>!sM##RlBjG7?wNw*iQI_!hQb!8@!=8m!(Tk!3^B9nBX#)a# -IyJqURv&PdkJCjV6zDUk47JJ(>FMK}0&(#Rfuwji)LsGeY!hJVzutXw=~287Ja1dmghEvr?7)+N6;TM -oY$vz46PqkB#P5v7Y@xakfwcmZlxtZP7f9aq*y^bn`D#ATv4y|)aEr+%cYEL;SUxYpbou?@pUowsvcT -))4&e1A87b$N09iam}`tUyPiKWD|*|ID$L%U4%7mlt>A+q)NcKiytZ+vmq8Bk}zB6#qQOKi}h@-+kV@ -FQP=B_W?SiT%M!HG(!DS)#dr|NZ^J8YY4xBwkY8nwP;&!xM9vJZ09ZIb6!^Ny5om!D6Ive5ZdHd+CQ_Jz4?s -<0Ri(5(4L_khD62W2GQhIXadZWat4+izDk-k()e5FVgNt1e?q%9B8sLPp{zWV-l#Wpf-OD8h#odI-~t -oTFpNUTHaTeNt-+kunvIc+}tcHrvQp*_;oLW?>E)zyY#Ot8qN%iC>;kxf7tn| -Fx2)^PKIw>`N(Enf}&q(aV<0z`eB<}>n{eb-MrBlx*pI_NKn|(k6HKt6ayVNc1K!8+%pRyK!Zj>R_KtQYM3bJxMj)g -58gZLP-E4%L`OB|rEVq-L#7;b2H}To9sS9%YJB-e?I$)70`MP -w#1F-5bh*%@%^Q!FT}2reX#zS?8Q0=C`j+NZJ&#&b5?Cls{KD1Crq^P#zYi^|Sqz4?WAqL8(bzDfGm_ -$OGuRbWCgtDubhJ}+1C6+~rYo7IT}$|Sip~qEpR8U_fv=$WXfFjfXI5)9%0)SQhz=_6{jVsNSTP@IP -?`wyL4=G5~piDu61>nl-4SaDo&rQBSg`pQP0H&dMKd4NZJa8mN4IA+w%u#@zrX{U!3e&291kQ^cRc!z -|fvTxoVC)w?O)@evVeKW|?G8 -nwx8g;Kf!L-z&LoIC;M6oD0a+WO6Wm;np79`ILX_P2^0eDj>bXYDHC>_u<7{3VgMU@hHtb*;SLLuLzEXs=kvGa#p&xDX%^;Wt{Z9mV8BT*5D6I;Gc5I_z8Fu+W9EX|Zg0u{x3yg -9W#uBASXGL>H#!->j0SxdmVAspnux`*r9_eVRTA&yoS8!mH?u~zX|CjgIAKy0|Z!K37WkG4N4BduhkF -d)CIChA_$RrV=RZ_`Iq$JNmd6*Q>joE*;SlO7`gVW=0F&Oym5Dnau<74rIjt2p!PvJL>U~lS_zIk)`; -#J?p)A0YeWq8}+m&S0=iKQ+#NmfVohL)#^)?nNqnbwsgBVD3ej*DH`GB^ZbsN|W}fyOsi_6G9`bstXl -Q371dO0Y{FFt!LoX(emHyEW?e)I8NuCIh|85_u#%V2o%@F6g76Wzrf{J5GMIcyBR`iGDe0J|C{Pw9_W -{=eKMRWXC5yNjEwXf?%mlB(dqSkG9YIbgLP87*-Zv$bv?4xs8>P^<&s0&iiU$dj$JclRl!v>?WpiG2D -G&uiNAZDZx@EhQh?9kn2jZ-zD$J?7QR*GwIb*<_@o5GhNZqc65{+i1KKfF6y1* -n4-J^Sodf0Q%v6{vbl?6&vL9vbvq6`_)TNfqG^>C-b3()BMKL9o)n?KGp|y{R>F`VQK$jHcX?#L{ivp -;2FBLuG>L3D(i5JOgqVEaO=03gaRlu4wb#w5p0L~Y -`zo^FRcIT|k+_a$Xa#k1?gE>D`MCvW@tPH8IRd)5nfUU`))SE^6ENuq}8Ys4q1Mmn~o6Zblvr2R$;J7ZKTNa+mvW@7|o;^X`EOwd2sVL6 -ZM$0%jtl(mN(o7Y!=eRp{#uI7@|-&Xdqp5b2l8EQ;@sPKzlc8&`<>MF7W5EfJHs`7y1bQx1BLcpw(6;=c)3OJ@j`$mPXe -znD#E)BN)u>}%$a!Na4$c-b(2Gc%CUqZ3vfgGN3pnrkp(L(?`#*iGn#{OJkjY39R^=HhIpuZ;(!&a}auq&pW)M`<|641z -`3gb)loPe@icg@l4jaMB%Nl}X-r2~iQFpyzer!D-Z+i;xQ8H+Y4o!3vM90X}xYEs(;(B)crG_+v~m&(gD4F?@6g#6rF$~aUB+*#aYQH&hV2yt?k2oy3T!-nX -|sTWNcCco%ydZ+K@5PyibdEy$!G#zapsB&QDd>n(G*$uOk#dI)jtiqD$hIEvM*cX^23s&AS1NI5`IpN -RAE;Ja$yyV4@|wax;$vgLV5BI-96Kmb>E&?lL-lULnC#6G1!#L2WW2u1qEla+8T=Fsbq|AkO8?8(6gKdbY -9zu~IUPh(#z1I@UU8>d6O({qH`3ZO@(Tshq{EGsHZXB`Ul%*mW3jEy=JU1d$fXi5Q2C&Gbc`rVcnWuP -r*d{EL6Blo3CVl`~q1I2`Z7qr^qeT16$g$PX%!_eNJ@ycVgh)5=$tO*ddlQb|2wT$QhW)L5>b?r??{i -79N2ni5<6NvNC<7>+A#m)BrhWtFPdjr?+5oHrma$!f4^^5Wi4!0>qutbK)Xp+7CA;bfwYa9DT@u0bCb -oalgoClipzrkq%RFh?>BE-9;uqVX6FO|3vcFr?I~%L-I$1#`V&aDFD-^@aVi8|Pq_en`unM{%9BVJp% -B{0gIiA21PasY2rF+AKfvD6~rJ4udQkn| -5}TrKiqeWbM2>`c6@m&=_l>!Ua}*N=ydXx{r_W+AiWYG?$I3oRxHpa*yQ+e!-Wku=GJ>Xt}p-Wl)lYbwH)8msd>A?`HG4}n%n+?ENA@7?fU6sS96TkWf8gWVVeB-dtJ -*^Mn0hdn%d>Bp-KWo%{VtoPCXL$-ZL!o1R`M$wn`1~0%U$LbBO^wKx -kP#CEqB(cf@br-a9TGH;7-tGxG6HxQ2ZGQ3DZ`yl;)qmX?F>QjKKLNpZ5GAM -z|0G>o}1I@&rgh+CCPhN>utbMVca;KOudjI}_nyD*uw&k7aj@rT&aoR=x^q($rYkS{*A1N}by?K#`sY -->Jm&Guu5bRy79YgjOT-W^2Qf_wU8xRE0@<|L5mf9NupXNhVKSRY#9* -R&i3wN_st1>#}j-QINMCtt=j+jfbQM{qv~jb;&@j9wmzZO?q*#jf;w{%*J;ak*;mZ(bQ-ouat(GvN;J -#!`$Ya6H(A~U+>Djxz(iv4lbOH%rk~CXgwHS*ehI-ajV$LhY~Od)&0wW!sjG>+P`o3cDd_D|g=QNgEwDM6!1+fI#GD0tx&t -yws@K=9?xG>eSSysdNhn&ZZ=%>@HGf&JDL}Q<6}#IsaE)pD*2rDe-Ad|$?(&0Q_|TkrEVS0#hPk_0$sm*azXW>uBg{1Y;ansu)<{4z_*x!lt+Q# -15r~}zFJVd5E`OqPxK0=CRG#N#CTeEiBzKHm&kV|J9G!b{c#yD#QN^->~sw!8{$3y30$ ->Q(oM>eJxbRPG(IGA7OX?Ke^+WiS75Kpdl=&W*xv(6%iP>sX?S2O%35zo#XyQ$8+k=p{R5Guk3W|Y1L>Xruj0NIa_h#Q-+SA>S9L!isfJ}d}H=gWt=`=8mM{a_>pMeYH_B!^%0CJ; -yKy=|2;IfhoZSgph-gIyDZA1~q&T3(QLPMYMeAS@T`U+d1*6{Z%gYn=g&$MC?NS}p -Z3L98Hat(&++1aMf28CqaJBScPy2nvUmcZzetW;FgXz0k(1j0;bm>$)S($X%oa?i5H@etFAI4v=H9F-chhS_dC2Mx7Fe|Ql9t=0KT{z3zV*i45gi*aSks~J4fN8J)Z>xVLucU7{y14pRk9 -bNUE$K1xZozO%xISe$Il_2Sh!GuW)zeUyAM0NAer-Gx(?W!g$e*NhgnS44M6^xAp^W;>twmAo@r2+SP -uXJtG&eCpX=OHEG8kXo$a>quAMvgXURXb)4|L=wK;$8sKn`DHJ%4W0n>Xe7)EN3`FrvA>`Y%DgeRAty -h5Jl%2}k*d6guzI2pxTJXKpJm`B!?!)U+}ntjBxAErCJqA&_V7~<9S)VpgvdffWRd2p)^`S(^)4u$1< -PgTQTu2qeVxkRPadCAC)+Jg|SpKjiA)yr0yQe|G_orPr7C8cFZ>E2fh`$k0W+}s!GbTSwApaE!EFV=R -~B-goskxQSw%ZR$u#ri%sKMaV0Cc8ld2vm8o>xcq+Ek7Nde2!XIFm**t?TDg%gW7)sP)h>@6aWAK2mm -G&m`(ry0006200000001Wd003}la4%nWWo~3|axZmqY;0*_GcRLrZgg^KVlQ7`X>MtBUtcb8c>@4YO9 -KQH00008045ZePVO(B=Mn(`0L=mb05Jdn0B~t=FJE?LZe(wAFLiQkY-wUMFJo_RbaH88FJEDBaAj_1X ->Mg-Wo~w9a&K-faCxPX!D_=W5Jd0#ip3Y%P~3YV2Sb&RL)_rF>7f+k#9K#TYlS46etwmZ65DA?OZO&r -n0+$}f`H`*X`!X6YY?=dURLPeSSkySphAax2kwB7XbnQuQX!z~r6JX#axn|M36rfRp8`tPUzDPu|UGY1ZmyN{;W;5W@6aWAK2mmG&m`((DUlDK&006ow001Ze0 -03}la4%nWWo~3|axZmqY;0*_GcRLrZgg^KVlQEEaAj_1X>MgMaCx;_ZIj!!5&q6!fy$GSE~Dew@wb~Q -or`^TZeqt*pWIBR%}^8xNyw1|Lx8$dJMC}pF5U?z3+k%q1;d_= --K~hq4UXU`a(k*R>+@+GV0$#l3d<%qEbxp3TEvx8MM5|99-@TzS+mSok>{&+1pLbH$;_~7mD|nm7TQw -=pczKc5HC6L2a-NBc`XG0_x@enXgABf1C2^wrUHEe)nJB}0^-jD-t8v+6pEK_pEq!VB68cGSTwfsok3RZ0+i$Gq5ZULx$5tG03mSky#W+0 -bYkqU9S8d`Bh9+=!Yx#MmJOj#x4LY~vjhGvrO0jw2z<$+|Z$=XuLw93%Lf)u>k;$O8B*Ukjb#nLN)eqOpyX5=j^7h@$cjS^xWz*7W6upee%?9} -^{3*1NRR=Eerl5}u7)MW5;l|9k0M*PDXKQyA0{}*O+T@Y7eb3~GA>K-&V8^Qs+qR8TJONiw+5yzSep$ -n-l2($qeaF!RGEAgmaguCW2`Wtz8*tOL;6*EGqQ6IGm~s15@a+~I&3t`Gn+m=P%`cAYG`j~0MJ(83T= -G3UX~@ExM!2{RW4~}#MRpo}%&75YLork4K{H%84R7Y|>rZ+`J@7t#{77YU@MvxuE_ucaZ)nL%3d-_E? -(W{HZ_$|(!9-BI{zv`wJq11Iq9YPD2+FRJ|V)AeW;%UJ^}6=1 -_kNSfw^Z%kY;p`FmOg?-Xo -jRqug*gbKSDTO%PSy7NCWtfYqFkSYnxPl6-3#woHIa6i%bf2;ULs0Ay*^nwFEo-F@9sghs>}n*u& -QUj;7R1td!HeRet#z;xN7qV;b#uY~rIK;URW$*-d-0rFTc_ALa9DhD|*$WlPzd|(k%8`zSEq7jS)D#YVMPB#$cS;b_M%mghqbFu@ -d(nc)M>E{Ha5To|nJ}p=dh)puuNVY-0po=9Wz5~QgaCcsFKtbdP5o1%uWc -{JqLF+GU!M-$5H45cz!VPsu#-wcj(8qhHC8Tct%WxwlJlcRa&yVd4K)k(=z1t_188DB=-+zUR%*wLK! -B3!pYifX8v}odjNB_oc-udCb6W*F^oKVMNNU_#1R6uZ0rdCv>?xalUhRJFV6Z=(dNAlkFokc6bx+>4A -$wP;Ay@^A`dB@Bf5ksnQy>X%+fazEDUC$%fipj5{7yXhYJFSq>sWzfBjN$zAJYk -To-Z&%)WGY4&IU>Cf-%V+wm`m)Az7YZ#|F%~k5cTtde(o!=B$Pxrt%WPVdA(I8YGV+)yfDmf=b+HC0* -6BIQ6Gdf7Kod8cwwfN}@09!k`mF9k`g1i!DMa95WU&1ngJXd3!dhxtmD_NnggCv1E2u1Dnl(SQ6dd(j -y1pFx_EkSg3UgYrg1a0*?U1Kj54Iv>4UM+s7+_s4Y+1{a6Ph;ov>oylhj@r!{Xr!vKlda8OeiPX2=*F -Paf7Q9t>229lfs>jtj-bneKUz&Wr@GLyy^Icxm*gukAz!&P=*x!%QsRYa9gw`RW^$I~Nsn|k8t1!)z- -6v}-s={AM!ttw33Z``@n5`*s7I25>&{wLDP7L$3mxl(IhZo*01ZwPyzcA!8F{s%*}ZD@-9ncC&;e)11 -Ha3gXupJ4POQ)O%ZUu!eA4&P{w0AYU|%}|TKpDjfdzT_{AEawAJa%Kh&uj{0-B)G=nOR|B4bu%4aL@B -)~mU!G>e{WbCTelluBJ^!2-r}dKwxRLmBvp=ErCJAqMcYfE8$OYoQXYgrcCdP5@~NIfq$qTDU;Lw{cF -_?RGZ#Xym~D>MKFczeTrp3LXGF8{p~ZFPMDP4nJ*y6ScX_sDTTr=dkq^e*hf_&i -&Ro4=<*j&^gv%LBBOJKh%BXZ1}09wR!Wc1JP0RA^Hr=?1zWP~93pI}2iv-rH=d;B8#076Wi~PmgL_Vk@df`8F7~tEOQ)6C(B_G9TXJ9 -UPG3J!drPSfnyn?L!fs~n5eukishr}4!M(Yle8AKBYKlr%MI3J%0Lfn831_>ux~DmTE-#IJSd44|G-b -#KnzAGqJ%V|$s0$`%llidTu#;j9hM8mDr#qtlP-j15#WA18Dh)aA9t3#90N-ih*QfrK*=zvR8@#^E&6 -Q0~jT)fhf8fpi9Q9hZ(EHWE4(~J(%*G<1*#R#w9xLd1!N4k9-L~|Bt|AcQ@ppLMfAeA1-?d>o=-o@PU -5sfbffs#B8`MU1*(cT6VnC?}6VSk*{qF@9_a+Qz$JP8L8~?v;CqT#|82OC-tB^f<7Ndi-J(1~MQn;&H -L5`dS26-D5jE9Pdv)6d;>|f+fRh&-SLdN~5k0;*v(~y}MTuqMTW2r0eruW^u=ox|NB@c^&7aDjGxXJi~ -2pY!_4T(O~$tsUYQy>)p->Zh5bGq3-~&1QYaZQMUP6gA{zT0;%`rLKWBtNY~zY2tT~{Ig4*)v%syE-QC*Tgakiq3 -{s&M?0|XQR000O8CKQ-Xgi6!-tpxx8YY_kdCjbBdaA|NaUv_0~WN&gWb#iQMX<{=kV{dMBa%o~OZggy -IaBpvHE^v9xSKn{jHV}UIU%{maBz3A{uj`8eVK6c;4VI=w9quHFz@sVx+WrBtzELrTu`kfgj&f~_hA8CiWMAlQ8h83?HaEk>hDDJvk)Cg -YGufGOE3RZh>&Ql3Gy;e3-rl=9tKc~*%$XRDWIOfQgU87Ru~Usx7T#-kHNuoiqrl4M<}NH(+$W-vQN>D -Kj4*4DM@pN)O^LkXf#4ZB<_ItNm9@q<`Lk#G^bJ$O>sY_e*{M`9TEI#M)d#XuFPSFktLx88B~cEDi|ltdW0KFqI^}gnS*6N`eSUS%)Sl`VPr+DmD`Tp5NE{s)6 -f5*1yJ_FoaF8Pcr28!}}|Oa1cCpia^+SNtHG!1y=~xHki&a+B?z+w25Bzk)fYjwx|SO(N+GLFzfTzw{ -K>b*SEL&t)`x=x!6(Fxhm_{QHkZKxyZDMd7#%sM-!1%iNze2PIr604x&9_hrDzi&@O8Eh+Ag*uLZ45q -On2JOFk*7z~b9Ckt}njeDC(w3(4dl269Z1i`ZGV9N$G%sWUjRb)q$vle@kJvK1p`PHPlUC%UanZ#Z>- -M&5zYWLt7gk8ZK#a!c>Q)>uM{Lv7!8of(mZ?ggISgL1s>Dyhf{$UT&b@Dd7AZ&?mRz@I1_dJqJb(1wI -8>ccLoUD8F6v(^e?;F>vfXQtp0InAt^NtClwc`Chd@2LA73u=2K+H$GFUip -L3-oqBC)==d5Z?EetZ%Vx10m>J%oIQZ|Wp9qTCw7UR+8Mgzg8gL#z;ldb=~&fu{ld`-@Ve+4ESen1kF -OEO4t6bd_Fi8(=%0}rC^AyOhAU=eXa`cFZXPDM?2zAKM88L&XUIop$*IxlC>4M}6a6^3o?pCOT+SBr< -jwr%W_B_6-BAgGV^w``Tciy>)xN{_F6gBnHSOek7xRVJuTw~_c>zZj>K=~ma#VWFH}M=h -KHh1&#*P0q%+?E$imJ+Bwy^bT`^;V=HVYEhdG+T -?@@+!}o02!&7+Tu=>ZfTxFv4KIm>dH5Lnmo|FGKIGMEuFc#YZW*oUhwtBEw0u;?=w?!p%>E>iZLvA^r1DDT=L@0PjNqpGvzKV^fHJV@>U_9?`+>=R0(T$ -0!VjLUM4VIV_H?>3Lf`9M490;J2J^bfs>4kc^h#wk8`XIe$I7x|&~KbW$>4=b)H7sZVnQO`3gJyq;e# -F3(+AIz;y{XCuwg=ioijra=q!zxHqf+?v5$Fr9A&35wkr*~A$_L%M{?a`G3IkO%n{jCqEmWBZVPu89W<({o4J8CI?v -V+4S1fzcdP)h>@6aWAK2mmG&m`)=U^q8v?007TD001Ze003}la4%nWWo~3|axZmqY;0*_GcRLrZgg^K -VlQxcZ*XO9b8~DiaCzlBZFAeW(ck$iFwWeF%E^qKTs!x;Ri{2jZZvglKbCUoHItzz5|UU`1PhW@bT`- -E-rWU2f-kb2o9D~ZdfE#~EEfBY-34@XbmYutS8Nv-8#cS1`p0>hWkMEgB_zAu7aNhX*B-kRNg{Tv*zl -aQIL!-LhD9vWoW(1)7bV+?GKridzUQnE?19U8wP%Pq1yf-)&s5-(*SV* -reV^D-61OL(v`uyDh}`#4?yffh|Uk8n8v3Zf`Rf`SA{k@rMIki-#8avCJSJel)k$Qr9d}C5An*h -%OAexsB@c^a&o*4*FoTJ#%-AM)KuJiR1V#M70bs>*r)*OTGr9-3GW6dpDoo66>J-++$=v$odlGC{lC`7O=%4j|(1_c_Fs(&wR0PwjwGMF -m>>#pkP6|X97ecSrKnJtJi|jEK86(uw%7w&dMAYUMvj7i;;FRSo=)NvXJ{TdcePUOYVD64i(^6Ny;74 -JpLu*S;3~X#zaaX>xHu*&mHF)qQqWX1X|h|Fn?B2&w^Yzu8>>M+Fpf?5y&KBaRF8X)?fk#p_b?R&>j0In5w26UG_ZL0*EvF+We^Gqx#;EI)hoil^Q#zK=5=#epZ}`W3#tn -sEv7#lH@=+@GeAwm_O4O0-eM>QiV)EIx=REM;8mef}j&L|hD=BiLlf(R_bZ79bYiH)a|vbCHw<_tm@O -=JDQ>%@%5+Y!{O^&Y#Axmz;VhG&fAZEqmv?6Iu?QhHWP%+H(Os7lvSrRiZ3Lj3Zqrycv -xXnQB5T4Db(ou;=NGL()L{Z($dKFtPv-A#-j2F+Ak;pbHmA_1YR0c1@D;{ -yh(OYXxgdzm9(Or+~jOKnF8V@`#a2tYnZAB*)GW@)Vz_5HUT5C-#0&Hu!nB2|%>znIIbFm*Mchk$CXkgTYy} -6xFZ?4a;df{&;le-rD-Q<5iOz$Rd>xgz>9{aX$769P6fP?}fih)78y!x}_I1u1qP=`5h&5J8|zn$`SLF;(L#PaW2u>h1g6Jb1h^~+uZYtPXGDav(G>? -o=Xa4O^H@A~(RFjUY&B=WbN=AL5yAsle6sp&)B`M59mwToQn!c*VNaz6neTwdrLC0baO5+j87T1@Ma6 -cg!1)?PLn2wcvFn7d%e?+gr&OosNhp1FM$W2XpoIsImDr1EQi&!kMpoRd99^sj9q}b(bVdWAF>|sE@y -{Dog6-5ngR)-CgLt+tOn*pp99D8A>T;uVnce?lk%?%!cIKliIp+pives6;BBYC06OBO`VMAN^{w53$Fml<#On3C|F-M0}_Nq6}iF%Pjugqk&D&z|>CLIL}oNK-XSqk*dc6>AeTisc?4 -xj^=XD$_!9ORFetzKz$G_f>XZZ(mT>#{KD$1oOq|-(ViJB1*i@S$VO_5q1C`H;}lU-9nP6g#el*Wm|Y -5)r)Y}B9EaLWU^OWKYqcNNIx*XUTF_|WZw4)8?_+w`#jvFj90Xku5nm_yiuY%W{VSzTB5ep=d0v#}6v -?X{&BfQ2*Fp3ENfl6Tv*>z;1tOc3lu(~1kRztl8=}wPn+f&eRMSUpQF##tGWekO=mHcQ$Vhkj_DUI?t -pP<9#-xt=dDTKBXb2mK -iBK4H0+o!-3EZiuQ=xh;*qIO&-EXjUM$HC;FjS($M?>L59Iy}b%j55vi;OF=t6-S}U$^@Y3edj>M+9qxX1^ -Y*tgW`e}wkxqK$QDSHr-)jdp%$?(MU9Dw%(OxTnO78|bt37ew--E!IMQ1Vm>&f7t=G$x>g~pv2iYC$= -h8$E)xxZZwfl554Im*jt>Q1ZS$rx7FFh#r%7HideAe-D2scQZ2Yv(|iD{Ip<_^2C_($3s(?6dQo>su0 -d!e;GC?G8{cM#-Z977rNEwcovwCnWDJ`AMm2LcF%lpIQlQl(=t3?8FkFB{WaDnL8+p)$#WOwW3Ch<2sPy{+mNggbKc(+}O=HhfNrKzZFdXLY@?)cHv -!jjz(x<4>9_+?xM3?g<5#8Vy!mMR&sKSJszA9>WI^KD1cqiZ3z!cUI0FJeml*{0PPBE3^s8SdgxRq2&KqLKo&B|A@#$~Y -t^98J@s17YfQ{gz?ova#ka+Y-OO`a{lSsNCvEjr1_K+3>HV%CEg@aZ&aYXOn0f3xzi$RMfK3D)Wk6VR -<6@9&WUC-Y{Xo=70YYRbmZ}Lo>~{QB)=yN`S)_L$FLWF3MyY52j$XkHJ?aG6{ePNPWue!ixD+Lx?9@8 -B7GS+#YZV0}<2ooBzRij~^~1fk%YOQ7FGPuz_qJ5WB79O~>+5Kay1ZFnf8i;YL4v%^_ZdeNwA)e?8e% -TdFwt`p@yT(hh*%+)_0iTpOUlTwrEh#s8xCqaFD)6qfYN{rLZwMy`8p%5`G->5+XXTOZ8vpvR8xX!4F -39%vHk}N&g0_lE!piz -Ycp0q3c|FtjhoJ*y#2=itwyPk=o4aLU1MGZhC9H3w;@fRDOq=4Fjw*5NeC{w+{tELHmG7ylMGd9c%^$ -kDl-8*I5uHlfj9zhij2R^hfv9$LfR)&_@ZH8Vgl(^`>EE5;>$2>YU~yYz>fHtD_ZH9bK44(O>`@*Rg5U#}s;Y1TXE&8g*j?ino-L0Ur}~T -_oVOi!)XoY50)wfg$)2Y>uvKSi>jq2z-&sF0crt4HL?NKrVx|l3ys21Qvi12!Yu?+k1vmr>Y8kNVVd^ -$78`{HNvV$(=^iOJtH~~Me+DDSg(2HbFs?D*gmuJ47#yVPsaVOdT9dbQ>3v*-x};$3PF25Hzzj51yfF -1<6$DO-mThOhJT!s3gUj)$xkhUJq=i;6c-}Hh9F%tpHV|Lm_qxBl$ihxyx^kJtYfd_Bg)N7zK}co6l}ff%xdIvs_q -2m%O(R0*)I@~R1!pZ2SBPDH#inycVRGm4tJIdKVgxb`6i74`)>LO_4&W -vQEXaTj-oLBzwnlm|43hXHdp^Oo^rq>D@Vv{@{}j&x5xKSYnFkxvJj}XA|J}8IPvkOo<@ugXkk@XBr) -@7GSTt3HVKy5;6g6pZAzwJryuc@w@0Z56-&p$zge?g?G8IIc-1UUOa2u3PlSnjsXk}5bPd%?lJx7N5J -iyqbZ}!QTuM#W;2#p5!w+?16KKBko{u1wr$rC=}E<@9gwCulo(3 -~ArH;pQ?{UNyYnBNkSwIE`Bgscmvql&UFE8QAkOz(2CnXV`ly&8-f=8w&6D36l;!VNnPCKp}l(H$9lJ -R?+~sz|I|(zS`23aSFvTy3}?|8M`GWebU#rAyoZ8(;*x>wsg^7adz+SOb3)Uv_(Vjgyw;y7nR$rv35s -NtqGUYtI7PQ+lhZZyFMLtpsfa`wdgMmxPfj#56)P3IoBQFooaz -+$1XEEY`R@zhkvVKa!j7=#HQO_f2KC+0Rec6bUdR{@mVy4Tw|%U&#MI;#~3A9W#<1b<6n-?{9bpSC(B -nG}TxMbcKQ`Hp85oy&q|@N>%)!s1Ko%Ak>H1Lv?cP3Rq|)9#=jU(}7#M%Uxd>X@b2SDa}yk2OKeQW}M -Rqoj_@UPL2C&9;u!*EHA177allQUm2G9ES*3SM_{!iUY(SycqbYUXL1s7N()@Z2#H%*ygmo@*!>wKMK -AXqYvIa{6x4uHv_RD5sekywi;|^=Dz+lg8_&9Wz*4YleXR&Ev)L75Jt25tr?u-oPO_-hTPTTBfMPgp& -3)RwUzv7AZ!(?r|MMOKG5xwtDt>6oiYnq#3mw$3@3DaXBlJ|VEh_me;Hqp(dq@WO?qiErKZ@O=@t`#j -*jZ#APa;F7kmsAjgR%iGo;batD?j(*dl>ib_Yp#3bp>-fUEEf+hWJ$#}79_oEm|{2Sv<1-&?ZBE6F<{ -qqe~7^&xGrb18+DwnNt-ZE$8VK8H6nB7z5smu?blmr($_+ZP|Ily$M8(7w&UW_NK2!~!W2**&Wk>C*) -gtk1@QS4F928gF;iL{}oi9Z`3KwYcyF>qYvt5B>&9rM}(NkWdJJ1DjmFfo<6rsjo9(N(LV3+4m#UYnl -zCt(P$E*`9RX?N%~S3^X%tD=4(q=mdx7q%H^OrD~w@rQIvGUBm#nTN7{4oJQs*c5A8Q?ECw0zFkH -*&zfVXf;=OW^RnQ%W@t^FY*<0qeWZ%?(#UsGFo*N4AkiV9{>Plb^rh_0001RX>c!Jc4cm4Z*nhna%^mAVlyveZ*FvQX<{#PWn*=6Wpr|3ZgX& -Na&#_mdF5SgbK^FW{;pqvcxub?MCOjiNjBw+H|x=OGOnH2KFhOHd#MydQIN%$BD8$5MtgPt{rUwU0g# -ksXSeS5PL;}7B+zIy8r_Y?188q=Z!nQ@mCM^a%2p~bMNzHj-?_>~m8WSkJr)m1B;s3J#qEcQh#sOOji#v-rK$;3h0F_~GN>0{O~g7W7pf{nxsU^RCDdF%18TWSQke&WT -7dteOe9NWCdz;x8I{1Nn94Z9I#5?!Z-7oFuA}%qx|4&8Y$iWr#ie>kvO8n|N~@&=>cHB=QSkau<%f&p -ZXt64EIr741g*@7*i6o&DlNs;N@kPEhe5fBKpKl=RS>_Lb)cT9QpC}U`UsrQ6t<=5BlGYyOE+R2ZIFX -p7Ak#^K#n^FkM2-bOpXNu9gWgb=30zUp(+#T7?efMR=I+6>B2Pswk;fx%^v|XPBr7Eh(u{`&ibMAkRTUtvRA -qOEAcLjXeWEeZ5*EK^K0?-SI00wX)5G{%*qP5+6WT4&>}A?$=Y0i1WU1AB=KUff>DFNK -|CP*T$ac^m5)_c=E)RvXjY{%5N|4Eo5rD7;KV>4M_4nH)RBQ{Oro|z_ek}S-kga-n?P6VD*X3j6k9U@ -Ufm}!u4+E;o1Um32x#1(wJ4V;Odf2i#>GaWfM%i3JXJ_XlI&L*L#yS<$zUMhqu=T280dzAf^?=dIzvS -tDHAa55TvIM|Yq0=@N$YPazL#bFt*Bp=i(E!HJm$e#M)$d#517{=sO5yz_*v-pf11z;7pClxq(-wZDL -13~ud&LCawNtom+w@S%_3Ck!9gEcm`Y&^8l1Xx!>E8MQihodK>!NORT$&MBp}LR5{gd4pdA{naV}{$tGgY|4NdhC%Zf8zj -RxOJYgcDuhO7ox>yq0z6ih9|a34%M#3Dg2 -oXFMK3>3|pK8+!P6I>}2(rZ@qKCK*nif?EL_I#bzx3IB)A -;(MTlLN0#4h6xKUQZs2}Ua&KVB8AFOzGRB;6qJk#sE_WiI3bqca|B{5jh|boqDZu`kQ_Qbiau)I3hY --#k&w#fDb(g5Datk&6A@n|d?2ca&1mDDQnM40%yB>#Q8SFb^x^&fOw97AD3h4IItUzCUuQs#;v$)&g^ -5ry)F`>{8TiRCuC*)#17E-_)V4nO1podeN-O!c?lSlIk|n5*RvBRa=$rdD& -0N#b<9-3NXNgi{)q}YOJ^*5Ks_&0yWls7`zhV3ax7xGh}sy@iKa8XhlZN!CGQtU~d)_MPqCL -t%jd&E^g1mHy^IXf1X_Y$2s)i=$qqjzZzKLR~5u&5Uo8#DYyibTVtQzp1(W$_~AAjUtGUGznL)e^7AU -9n2q8U1*FgeJ|r^;wM3k(D3-2J8i74EXF7OuLQeQ^q1I?@-Dnkp<*dY*4x>D7J)C@mzD&@TJ06z&Y5; -*ocy>MsUw{2g_`~?eaPs~P`Z?+;Ievcz|Gj<{USECq>(TM6udzH-?JJLzk6wRkC~qlwK7RZD9REK#3q -M`lzJCH!T=nL;6}>i}!tTw}D`K^`lgU$AeP$0^t?ka_Gy2v$hT}Km=Z)d675m$KUV~2>23_Z=gT7m}= -Wy89)RX7I<1F^fgIz23xB0vVpQO;w7`NT4J%_`-ruynU!yr6kRzE}EpCRg}>UqC>X$|rwDs-%4+$AmU -xV(6HeT)$Tgt{3<6BJ)Y0s|y9M{kemD2f*#Mu#W?{d}FGdIz*%shPua48vNP7LpP -gt3>BqqEf)?0)in3r63$HRjkqw7E;S3gXPv|aLWHl9fYVM@VGh=L$}-a(C)RSapbL!-IuQqMuYzv3?M -XIL`77V`4H%j#Gc#2-oXhkAUhcQsm;*Oz$~w&+aq!hB~0tDTddhHiNL`ltQ|j%wc}k`JKo0H@uRHKxb -Myy72nF*&I7s|YvEIw3wLL4JAb<}_ynEP6?SH@t#;1aT^M{4bI90^Gv^pg(qJa%qBG^kZDOJi|NT*A_ -i}T%ib`0yo2);r2)#)E5Z89FLVy+y^;SdRQ0mH-0M8y7lSZj)G$|RAjd6)>d4B=l&&MBc&TntdE+^Ml -H@7C`=eYi2;9gn661m -_vJjWop;__|twne;8;My|M&Y!Y&vBcEzQB_8u3UtayqCErTYpXIB+!}_IzHhn+vL{lUC5$jw}-6|u_- -2g(7Q^V0ig{5POLet>YP`o6Qouu6Z5OJ31}7bQxw6SEL{N{)Ri$=;?{?LU^@+c{4m3wJ&}11Dshp~_E -K7xpGJjjm~p8GI)6842$P7Q01p7v=opTlUj5uuDU+qdgh7iobW^_@HXWqgwkZ8B%#=k+$VZv -RzAi(|KfmZ{-U3lmhne)LCZv0X>k!?YJE`8rBqx~rVjcxZ`qWC$H}6QS-!Nl~j531CQj9Kre7 -4`&ybBe9P(DDAR;Fldp<L;t(rWe&_U@v-5B=-a`CdEc@U5hi)OQ27R9i$57z7yUv6v -fp!FnPRM~x4B!8E{g(bEim+=ExzoD7-4NDyos0aMZQ;TNTP*bL|F0plF8?sx*u79SDQ&q^>58w&pyh= -MMOreSUM)!IDWN2%`0cMyzHq9K70dIvlFM)S{uM^Ou&lvvm(=Seity}Gmbx&tft=@61+dQqQkFPE-Z_ -X#@w>X#lm)959=iMTGRGep1vpwll!x_}bVV6GGCe_lPFWPfxXVdx#cSqh}!q_&LRQ%Pz8sKyK2lutzv -F$YOW(++;=bF+`)+9m5e&bu+fOfx>#r|jcUn2f&2Mm!E@8yFhE+|vY`vaLQaZ~93pA(*LN?BmU&T{Q_ -!S-~3QrgBBWe!F(jLM-isxHxkf2jYaQQO6HQ^D^%UjE4*o7(v2x@^C;_CG8Y+v~xj84XLj4wY`ao3u@ -s`RKhJSRevxOWuJ=!EK9Jtu|)glJ{~h_Ln4!qT-#$T<#Yg^p+K@;vR6540q)en3!c!5Uho^tWmKLei3 -xK5v`d&H7uVrO8LLr*^zwx(*H7U&eaZJo0JEnv29}g-*apZK;T}=6)HMzK&}x&f$Qr6D1r5pS&UoxY4 -RXxKbrQv!Muqd#``liO|;pm5mz#6dAOK>5mAZYo3h^Pj|48}8NsH(UqED@14}?}DVHkWFs@FlHL@ZIf -@%T(n?|!h{8dJa5mntU7*?Tjc>D(54crB@8Gn->0ij@8;0DUP0~UsE>4Smi?|Z6$!a`i%Ef4Nt5T_AX -mQOrh6B@1|OVx`8&aN*G5eyiW$uvoUv>xP~Q`rOs+OPM^J?MxYsDKskQi0Zr8s|fvdL+VGu2#bX-W7* -uFiOJ%gvrt1^lSUuaF%rVYHr(uiJ4+`IhtHW^nieixdx}o2ZnGSA`~RKgB -dcby|M<^X3zkk9!h1A`n$|k6Bf?UiW{`Rnz5_E7UIK@$~*_&W`wvfpreJfi0KwJ*oWaIsf;u-)9{0A= -s*&|tGUrP?kQls?Xu>Z` --MV8hyFk$tc%_56KQ+KgqnOJmgZYp*8c!Z3gm{-@8l-3`yqO#{s|`+5Xd>J>1kp|4hl$`H|)ZY*kqndU*V>ofaDXfmi(X=hk$7<95w~-_;ea*HZGm`CM -y?^Ng-B8!x)C+U?{(EdGXr4agp6e>wyFO_Lhw*gL{Y=vbv1C%oB9j^r(nB)nLr0|TzPY$iZelxj(Ka;9W~V?^x1x*^K$P-i2}6q<*TSgN9=rL_k2M>&S~H96yy4Z4fgjvBm -IAFRMQ2NPNNAVVP9k|63`V$&kRl%pMJjOpoa-55pcZ0|%A{@eqWtYDyqNmpXcQka;pkOl1zQVbzU}t4FuSoEBN5wA=BuDT$(L!%-)y7eTIiKVb%|}v@!2XR?r;s3?8CPpml@@-HVS_p%-oEJ`= -oe_k(M)K%e&ZwYD^@R}%?X%Dl?JwXKwH4_>RO_BHjqpZEjK{|98(ia7UAv~XjChQwmvWrBn8G^!=B;5 -4{cg1m;g>8SlZ{)eOjr`+lxE9Bq-%Pp#1VBjF+o-4c3=K#b)Wd>DoH(WuR&SWY$t@--JbE$6tE?k-K7^ -xFa3h4DW4Kx6VtiIG&;_xur34>O2}F-ra+e{l+5@RWyyq!IN2m3$gGoLES*d)CQ1E#Ifr>1+S0hUackI(|Y4j>fH>P3Svwu#LJSX}azM(g_Fn)gA -(Ocylvux-tx@}6AI)q(A{6wvoCmH6}Pkc4$Q4#kLQ!svaBQZviMn8QrmU-!o@wU>nRl~CT#_s52d#O_ -Qe4;NZ^^qBpGX$^Jda8;c{s!;pAad~IW2&4{{Fv!;OL8{az1DTEVodY2hs6k2k6yspRX!8h@aQ?d_RM -UFa4&9@TzgMg&EV`E>C7Y=sT1+L*`D}akK?jg^0casZ*a|BETVfI*mUGK`8;h1YojuYAjs?}qNAaXH; -%9Ec#kM04N2^L9ev*R+RAHed3`TCS!>>gE0|ZSMGhL;w>&nRR{CfPJ7PQ*UCXcWC3yudsDhv>G6!6y& -C<-xhq2S*gIE~cPwONXrzdmI6}d6lI~@(`s1etLNtr~cm?jV)kRLPd79&mwo$M4UJ7VI_@sT*BGi>u3dK{(LxlQ -|28LE;+k3xD%v?m!T%Mw=?jB3M-UIpJ$WPY9y8X5E8qF6Knt8 -b6L`RWgD6i*wAx&m~--{@`oqMGK3=S=Jy^xE1a@MV1jm&jh@a2c{x2h!{pbbdf?)cWyMJx@MrWldJgT^EP}mK(XigXaE%`mU$rb -Rx`Tc_wYliC-(2IBpRCS$a~jmyWE|`}7ie=JDI0Ug33gl)+Ig(@IYZ1`VbV&FtD|`WE_gwNC~<43@dg -5=J1uf%d26yf);c?)l-mi`B7?Z5Olgf`0lHCUXI`;cG?PhYQs{;3Nrw>3!A>#s2GxB-HG$|7M&XLmo{ -vnI*4qwmYLk0|^1R9>B+WDERhvQ$rZ%6a&o4(MI3y#%cWH$!MJx1kMdj{^jYQ`jS;w^s-qNmrK-6@6|IV6Ts9)&`H;$j*NJrcq-jjDz2iV&ewAou>{D(%HB7&T7Q;q5~yMFh3@6>M61ha_GTq -*pMHyx3*VD^P&d)?6tu=GJUl9X4Z@q9`q{ZteX!#K3NtkU4_&7~p1*DwlI9!py4)D49*8Dq4_Q4?`e?DPLWi -f~s7;9X?>cImEvK3}gfr`nfN3=^lD}Jg)hKKO!lorpsBwDycBpGLl?cg02OIQ8SQ|0z*U^|Pe*M!)L* -i$DTnKyVFwd0h9uWPED4e46vAXj@AnHV4kp$y)e)TTcO>{M+$Z>wuNH@Y#zdNNcj=8dCem}aM>uG3vB -Vej-YOgSX18P4DO(QiG1dfNzzB+z(He{Vf3S$2i)r2{=?{Sej~n_IfN1hFxM5Y+78MAAF->n3%N -D`nb!+~Z5W@J1Yq6!ovz3&cd<>x1FVNbiYb3%*?)xs_WG`H_L{)o(7Hp1CQ8ywU%^koX$bwMu*PQ^K8!}hLw3Xxm<(vJXO)@$J0*CEU1fdYM5?i1A@)A@t)n@5iLijW3(M2^m5oWki -K&CmoaM68gRa~XQ@iOA_iB&FsvF@Gt-Yx=tSJJ5pw%;F=7#p#fH@cJd6Cl#7=R>$< -zHIgGDpZk3*(NL#laK229NEEWt4p-yg+22L35z8RCgX2w-W->+7gc!|*n~Xo`p!%vxg- -(w3s;8dLH(PZ~VGmL?2^B{*BBbj?mpZM>3&aALRAMs52DD*abO2%h< -v-(YKk4w5*1rsH@*^lVgPCo5xF7`MNj<^;vwV@{r<&!70f!Khc6Z*gZCuOh;`iWm#O<~mPT)@%lv-mN -pGDx);44@uO@L5n8q<#)|6`Y~tL00hkuf}fh2Cl-+}MaT6}Kf42O7q`*m)RRS3;>}zBgxOh@o$Nl@rH -+*wwiMSdo#^uR>h0BuF)|lutm9OI|22$}`TbtJRq&GXpr!i$u{FSV;;3s4P$O_#X$wO~bNz%3O}Ddtw -QZ|M*)G -+gb!UYz@CLlX9lOs*;##$r@`-7w1lw3E$hW=(}>Q -V5pl#8_zKqp!sc6%{c36C=vcoj5!!aV{bTCF-y32G!CB$=-{{^pVGxC+g$mHzO$xl*1wE(>>|WUEqr>0_>nBETF027dY*g|Qx@RIbGWW<18iAJmxd)UfFNs?{);D@pKsBTWXE`R8-MLA*5E -m^1YfuT&OGI}5K?GLLAx5+a9csd3>JR<^!sdhIQf@fJ~A(Q$7~@^zNP?_c<8d;n8bPp-W4xN| -Yg|g^bh)r5RG7htK%eSeZHw-L0(S;=;#py$m_|l^*Ks5vzlmMhd+q%>OZ+f^3(8lIH0%|nHkcQ4qIhJ -)M^E!@p;qP52$UK@_mZ&II{;!Y8dm*k(V5;|ZSz)qf&!5xJ8@%WD5++Y_cbCYH1v)z@SBggV_2n9^ad -M6E7>jlF+gz+r)9UKU8E&gZl+55su%uf{7l?1k>U&_hhjqs~at+|Z=&e%s--~(!Ap3szKBL!oytmr*7 -_i_gx63@XM5+%JTN?=&ski4hoMvj{Z?)#z+<0dGEtD8yOPwqj8ZH~w=};ivilC4rboT=l7#b1>Z4z}F -wU5Lb=+$+Z_tCJX@b(kv7Q>I@6HQ}Jgc7#-`v+hhO@7Ao)H(~mhY`IsOjp?Vr4#n?iN@XbFS^$*za{v -@OUA5A*>}1c9=SHObfmgeGif#<x6B8!o?EM-!vJXg^cfO;MMlycCC0G;|O>ULf8_o$kic>dC~H{!#DT&d>o|>tt<5S4VuY#=lCBaa8*TQmb -WOvhI^iQ?S)A!MoRn6LW-(QPQ{?*7FxPChNNs2pb387G}ExXDwRQ%3gkzxvHl4qdDgVW-b%5n%2@=X4 -MjxdUS5nw1a0H&D`=*0Q|#D9IBcnA2v#dhj;}{CV6f)0-;s>$%jp2pIjrq93hMgmU0MV@;CMLnI*pe- -cvTm1n8mA-+Xnm2c)fMW?Vk52)YJipC+)N;NNYSss|sMZJ8Y_uiaJywm~6!lD_?vA`QmpH@D%<`M-a> -xH*5@L^axg(Gjh>*yYvbxo*uO?)TPjx7}mUM&h)^mg{YaHebYtzM;~zgUC&NuvgOx@hoA7-cJ-COs5^ -k?tIT$CU}{LyLrCWxdHV0c1nR@ev96e9{&=XjI{QStRK~AZe^ga1Vz)lrz+-+X^RqH$)%a6*n@6N$}} -3X{lgBC6Wrh++vNC{t(rqQ^~5&G5Srk0O5eIXg^q5zP<3;jS`Q(KT_4#45%Wn1+`PwxBxkK~U!RJN=x -jR__F^rQW(RAE2>7+WHHmUPGRnc9<AwrEY$0P@gV#51jkyC0DY(Iva^Z=*)B& -k3Z8_F6uA14r~LLuKrA-GQW6}Hd!xSg^WJabtOgAx1e#KCl`G~m*xONGyWMR&^OsF6Z~|Be9SaD9`1= -JLJO6ug$EC?#z;U!XUP#28*d@qHljP+^ -^F!Yxa^ML|o-5y>9!Jq`2d?oQ4^spbX0>Lli!Bxoxbx`nmA2Zi@uc(anuWs&`tCaFVEAnjojSy%^;Eq -XXT=x`Wqd=`sjIpU29M4%-47C3VURm68M8Ptk%=eA}K;u!Noie>?Z^8f@LSts;0hoqd1l>OH|lJ$#qi -MS0q*{9#zQsj2-6ec>?b_$*$lcN30V|syS(W6som>L$%r6%@1&MI{eB>5Lbx))yIV+T`k*&Ir(d*4GW -Xiidki5c&ZiXFU+I;Qu?tN!@1vjgSbMZ`J|xowqK*R)THF!;ym@Zi4zP)h>@6aWAK2mmG&m`u=mP692Bhf^ZP*uCb -QyksJ;S_(R|(XwY73oSpW9B2c)}te1#HswCyjqUisAGkoZ|a-BB&!IsFGALq>(J!2Q=7c5tWkoOzb*x -kjyX(c&3J4^2N!mvseO$kULEf>3Wa!5+18`Z-Dp#kPeY|FnhCZ>SR{K8oS~gT^D<%V?ajl#7%vJG-H@`c%d22oigaAA|c=Nu68ty_DowbBEk1J@GGY22DSDNQ|#6FyLV12xD3WPbeF(n)-}!|Ak*2+H2|(WL-`?HbT(^5`_kP}*BIr#y8}hivuGkMsqDPXv#2V$ZvXgB&w7|;qQ -4-SsSFA3v9$Z)~#Lh1LoRYIF`+sOOy&ea>GNL#o9G#5%#9oIs~Ui`JV*?^E^B`|BNg8<_D&W+5h5vT`gwSh_ -n?EeEvpb0$ys%2@BPl%ly;cH+-jHM7SWu1-XX7u;kIps71re3%0u^PC3o`y|LbH_7%GH|@`JH=%hrjS -zPqIX$!+GZKW|d463;bDEcSPVt30?U};MlKn4=>v*w^ba>_)Z9!c)zZclzBF!F3ykoYgw6JtvSFT^$ -f~y)zVxx87M_Te1=@1VC1DjlblMlynQa9olLi>w~5XzCK1dF#{tC( -zj2Lvi^|K7>bB2!qp}4|!?^5hb+mm)+TEeRSE6btC6Axe?l^Z}meJFRAHAYW_gfAQ3NDIMd}c(;4i}N -l8Da_eG*1y(bmT7;Jm=J)fV~{bvM(tAI<>H9e=rXsn_k#eY=@)h@`v=q6A5?db?&+Rlv#LOG&qZ`kKf -+xz8oDR6g-*Cn-^qeG{_wCn1<@d(2F}hYF~B9nPDJ&7A4iLqgN1ygfzwd#^1Yjt-%T(s+}$ofJ(u>-Ia0f1Q>p*;E -;+Vy^!Fw>9PvFVKL2_x!xGjw8Z0rgzi18LU8!+hJ_k%CQBQ03AsiOne8qfQ{c0_6&Hl}QfBfJ3? -C$-|>nwaP>+?{HiKK6M*=um1eB{vm*E{u2H%~kC#h*I!#b49(1^;@djx-(L{{B+@iI)w`T!v@w{Fhz2 -x4?p~utJ0a5e0IeEBrm!=E7X(??<{wMe*EnbTp%x|F;3yXtLW3tuxH_{t&l`=622BDKa;$wPf@*B5Oy -oO_x6-pg44G+PoT3xY26k+|zD!qyMz_{4)N`@gWAlbolOl_vqLD$(N6TL~Su_E8*!P*nI;WdvoqmmMtBUtcb8c>@4YO9KQH00008045ZePPbW$eOC_v0GLDo05|{u0B~t=F -JE?LZe(wAFLiQkY-wUMFJo_RbaH88FJE(IV|8+6baG*Cb8v5RbT49QZe(e0XLBxadCgmUZ{kQ2|DR9M -m(?mDF&u;>lUePY&M{_!mH@(JvZK`s8EAqp#_jVX3H#}yAO)DzMi(!nR}!AAFP99xPy4YuKK{T)# -sWJ4&9IVUZnmDKWWR$7L_(h7up@EcW`rqA%1U%4`Icg%UhU4B)1oM{VCUEbG8|)sV9UQ5(NDfbeh*%# -KTa|3IEx=5Y|O%zY-WroZbngb&ti!vPv(Wq<&8V|sK$Ua0GVXfzyEa-uB@K#ysYN7J&%EweZ09%0_vJ -vd;1Wv*PqJ#>g-6KXSe&jOEZ=*mao>=k5!_MN#0F)mqI#vi8r1hUaJu3=idIPf}T$Xoz#_{61#$LzMC -;Q+iH3#<)UQEn`_(iKv9!3+PkV*ZY-4kU0b0MtMC0N0w@=t;m16%pQZ@25tCz>mtDgKIwRe9~OE$VIn -z^#T4|Cq|N=U*Y3FUsv$CV^jYhf^SCMz3Fi$0X}Tz6}lN(fNt6l6_ld$);q&}qHRQJ*azZ(ThXg4-!N -@-fWc+00fTTgi1OIhf5mo3#D?dwwP}D%vSI6B4}oA{o0F|+L9{lpanAIR8TrnhSoh#(NZ3VbN^u#h)^f -Ce`G9U9uB;9QVmf(>DaMJRdr^6r8T_CuG6*xj)`(sD_$Rp7F1;M$;CM8k%G3%TZh(Y22yD1OT<=yPZ$ -#LmX#{U(e6?5oBK0*KosV!>uUz!p%jQJkc;!zynF9TG!NIFMq`5GG2dxd?-IOX$7?J2vmH8IwC9jysL -$)8XP#nQLUEli7Uwbu`ch}qsgF6v|nd)P1nhE&c%)HXXB -9u<)eu@ei)1E1 -BA-$SQF~NKy|E)?%QOb+$&!+&NT%|!cHU=NXg@!hQ+8?fnRkonoiIpbvjwh;cFW#o-bnd$C0kJi83GQ -09lwhpMn~6F>p<}AmE*7LK3<^-AX`$-yd`>jcK4MW00w%0GXlFID@eVhYYe@ZUY}u{&GpoJw^t^pvNr -eHB0fm(Fn^O%kUvP?ggJ1r#gWTIWr{K!hp35^RG-4)i*_wS-voHvvi>QE=}9-U*HGKPol^(|Da1BKdl -bfbJxotrV1=(Kj8=dKa{p&%xbiX^r?gKxJ_o$(PW{`+e95cOw`4n$1V`tXsj9doPXsht{8|4M8lXSfm6g>3 -sqWR8MbKD{T#P>XKz5eQMcLpt^0da56!n_K;#FGMVouWX+lf2qcOYVIhN@+&pYR>76+c<`k6F)-8Q*t -$*`dVbI801f6k{iOg5%E`IYp#og1D9ZTd=GJ|Xb}2hGHB4o&#c>-^}QlOIXKk3X_n0N+j*^nQSyI=v+2@5D&{iYk(~zmCiSoRSTZmq2AXga4>TqOl=o>Gm3BIHZg21K(I#w4i1nhGYzvR5@>(bkPF3TfSs85Ewc9uxw7ZP#E^brYLJ6G8 -himhR<9<5KC%IbsYwOn7e(B@Ng{_P~vP5!SE9IdambfO?sKP*eYpkEWG -B5u^kJEfLtbi6$VYI3g2K227e$4neqG}$wD -*@>YogHnA?`^#aQ;a3QaqI>?%LO=63VOS2s6P-jl8KGrFp4hq3?U8CW<2a#Q)gw{zlK?jxuV!ZrJev7 -kU+{fBdQQWnX!pJ+hz-m>}MDZn2mBmh>oXQAF3zY&WFDgj~A=B?wp2C%iaD9}P8aZ;Q6Mmt-$b%^t=Q -R|vB)Xz(n%5O|$GVF0^mVj=1M4bCk=BtdnXbYL+ozAP>chw@i%NN*Xy>D~qz%i}Bp`DMv>Gj}&B}4+W -gW*A36$LyS(Rr5YCaI(L%%nksOXu+V4_$}+!g275>&;)Wngh8C=bfS(UO&A%^J=P+T|WBP6Nq!)GF(~ -m2m3x=qP~*3B?w~OBbmmT(IQ4o|J^MzA6&QSSgW}8JmH6igg2O(K74O%8%#{1=Z0#`$g4z7bg!xsd-m -rPA`F)(pw5tAJ3_=83y*6hkUqdY{uP*Waj~GX;GWZ8pKMr)ry2Z0t$MP)I=7pgz8s>Se+M<)}h6H9;LsRVB!hm@7weTHeXBD1pCYP-W878n -hs{hH0l3QdwuYi{*I3d;sY!BIK0&~RwO3X>>>VUj6?2WfGp6h@sQJjdVqY!)fcXC8N1 -;>f01S(fv2PIEC|1+3EdmWsr#k@b!bb`H(BA8xJg8d5Dwc)OpSmvIV6zV#lTw6`7-vwoQEnl#(tYOBx -41lhz*|_EN*T6rXNHW?_3Xo#te@S$_59VL#+7nE8r;q6q^Z7}rVEi8NE8Lvbb~4InU+HVOEB{Wok(gR -ovpQ=fQdoQ9@X5Ey-iI>Ty(>eRR#IoB!YQFcD)t(tL(=@HEN&AJwI_*{TK*hJJU>C8UQMJ`GsL5MYD3 -jt3@a#~X%_*@H*&PiTDI0pYpRXyOKKLZvcN8j#sp>+f+BhHh6+FJsf9)HIqgYtC#2Vg7pXX5a|}8a-* -X6i=4sn^nSJk)H37DAS%*&PmSCsmUPU8pYTx|S^-7BQg!NTgY27tUI-A~`C&P^-R4iQbI^K!SC=1Za8B_`;gQ{bsY{g!$etm^y{Lcza&FlgyrxPaA<;QuHZ4(Cd?I$5!sA -C}ITq2D(pg4TGAkQy^IIg@%OzE)%OF&wyb>8W=@6f0e#ru=@XYyiv}sKV(#R7vVV;1o$j5wA^?l4p*} -yLh74zZgN!7X4DIt=bL{=#)J;W?z0=vf4e)4xm4uOs-Pvn$Lt;@J>4?eAk!TRbWL2~m%H*|{m;9RIpYiF3?hcNSibplf1|l*`aF7xSttP#lNao62CxNUNOgA6HUq#=yBSgO~3m6mAe55mYzRMO++ -lxB^| -f2#ud_cU`WeKEf#X&5vI6QJ}r-zyFElu7XHExxUS4J&9aE;BR_9(7d%x{GB+w)ABuJVH`HI?dV9Jp`3CxPxI)5MIe -HN%Dru_72`p48>jcBr1$ecQXabt;JqL0x6d0`YUyzsS&XdaQ*S7dn46PSade#LsrGn^~1&0#dTjI!R< -BhKhNKyzAwcj)Qeaslyebp#PLm7;^8i=*CCG-dOW0A$An16r<^bgg`^y~(3!<#Y8^6&M?nTYJ`GbYB) -O%g4(>Gkt1C-wUT2JrdCSn5qNY8DRo?@0^%z_L9U -9SYz?JE5g!!b*`-A@%73Lt@oi*gNx44<^)ZKB?)nKrpR)+TwDo7#Fpj;>NuNl4$jtafflotS=oTitwl -2BnsUkUGp8$HYg}NBo10mjMJ$?H`NTJj=)0dZKptR8vXR4i!OO014dsu{y|e442(n8Y0j3Yl)AjlMYm -)dk%_;i+h?{E;(mnzd~}J__*YV^6IGAkW$KRB^LGi-Cl~Oz(qil_*1=8;P;}toK45ypynzgt>5?$P)h ->@6aWAK2mmG&m`;LoOO106004q70021v003}la4%nWWo~3|axZmqY;0*_GcRLrZgg^KVlQ8FWn*=6Wp -r|3ZgX&Na&#|jZ+Bm8Wp-t3E^v9RT6=HXwif^2pMpy>SB1vy?(G~_RQLz?T) -F>&g_v!C>kRmDD>Eqr2TWy&6hdMYon7r2Oqe?xfN-R~?DAS5U8__M5xKUYe)UAJ>q=d>uv2#QORYPRmquk>wGl>DvQxR}G?8AGcT0Qf*}Kbjvgqv|m8rI -sW`hgwRELXK_<60(eJbGCjVSA^>T@_+ABw}Kn*&t=$P(J8#AY3VV-_l8q(GMl6Z6 -X`^+?W#dK)>{@D*8%D;H~W>92_b~8LOU5=PI2XfT7A2TS2z!m*?(V)@>Tqx^HEtOs91t(u|)0VjpgE0H=23;R2HK-q0(BGxE;e{~MV?k1DT6VM!J%BZ`(l18X6jX`yT+Tkh4NH)JSav|Pb -yb-Wp3RE1}OVSfCUtWQTbNDhpzqr1=nO|RsQy`dTdes1T$wa{4;@}AXe!KYn@~yyim#;3*&u%a1>8Cn -LpZ+@iRMWSMw=cI=9L$j7%d6Y7*RLm2;5%1^m}kWtIhv#R^Tno9Z9@O=45(pxLIpe!) -y+Mv*x|A1_I=#b4m>g0xwZQ-KoV-&Q@SjRaEg%e4YmK_x9VWcy53l`?5`uu)xa>X8Xjrg}~cu!it&wC -Mi))mc^POm^D5RE6xTZWakpsXCOH=tSBnDXbwPSw~&pRG=jOXODs^@MpBIO%1%(>#9bV*I7yV0HhdBh -@}orZp(iZcm(ol51!DHC*lL94C`W?ErNaGUTruCA7s_5mi&$)TZvY#l+Y%3x~8S4BI!OJf93>8EA45x -!qT8M&-SbVg*if7*1Cm2y#}p59ZNP%p5mr~f7rn_Q*jfm1pc -vwK<0%_)TW_?YHmxHy%IQ7y2>#_q@~dzAiDRCdBZ_gIOuyGvYn361^8(*iW0emZ`9qp33X{XWD~?{+18iF16)w6Un*-{Y*LqI -ApV0qj00c7Cpatex1xrrxv~jpC6$C5gV@sK04l{PQGj$D@~7{w>!~{4&gmpPHKU`_G%}KJ;jC!)UM&&Q_ -&wDdI1M^`opW6n@)CpD}HVd#m_c34a$iPv>k-w1*Zrd)0>;u7oHCL>u6=dEcpD3{vnN#7DO~^mB4>or&D{AxY>+iWD<=nUwJ;i%paIYH<0^PxBg@p}F>A{9c|SSvp$$BVEQ -87=T#eS*p=qZx>W5BuHX;LwX|yZg9e2bee@KEcPvbP`4bLY0PNIzN~TI^S#2HvmK=b@?)hz|NLfejTxi_16&(91qlP6L+NWWscq236cC*8+6%}Nt#%{1D){s%Sj2J~?$f~u&lV -LBcN6LUuj=B<>rv`uqY|aTTh9}}c%fZ67b1{NxBgG(KA@S&?e88Ac{)`5Cj#g*)%FY8>cc2iY1v>uIE -<_XI90ySa2Ek~2GqW>Fgp~LM!Saa0ONb40(a0Yp4-*i<*!gRCAj4u5yj!|a;UKjgnc%b)=Z_3~blt(; -7AH|7bo0K3zx-KHAZ*jSIfYkSRN9CrfooQtt>g&-V;)IejE`^Ev&{T7D1c}-KIT1N}eBcSP -x>I4v_KLFRCWU81DXf^5XM!XEQeh(AOxuIQcw9j^9|1C;Tj+w>{$K7Oms$aym?v)75>BpA(z*om%GPQ -6v?9O8)|TClQg^Al@{!91W}olRv#4s+o0_Nc&~is;Wq%vqwoYh%cKiTW*+kFB=cdB8faU#X+Uh?$kea -kNlHY;A6pP4BM|g2-lqyqS&p@n|U8p^oM+)3`9)lk#1%fuugXkb$>XrEnHp+$I!Nb_^pwtT&<|I%;#8 -1TE?(wz{KxC1?_3{@M;E<9&VTkB-0{D<@9FIWQCCLRy$zS1=M!1PJbAl?i#~X721{R#x*@?ceub-2IIX -!3-&~u4TBv!wtP@fW$fiCReg*R60=igrSj6jA>MBkUPwY5+M7$N!F1U?;0*PpGt$;>muzf)3m=- -TjW0sw($)cRzl(FB98G7iA6AFi7mcL8$Ba?7cmB>>yw7*?r;;F+dWQ$53U{2nJ+T3Cnow%Wb32Do?Sv -jc<-$!>+i5(n}h0vrv39YwzFcezkxW4WbJ9gBI}*jvJiDLO9EcsOiG;OYeLP>BF`|bbVJ-cja1U@UNK -Gx8Qib=oe7i6b%kY1<*;8M -3x@D2r!nOz!lc>C0BPRZ76G`@*Bp%jjqZJ(z9gB)*_j+ZGhv -B!Vr`EW$e8P=_#}R89e4so{GiA1p2EQ5&dZAaWN76Z*!kVargDo`}Yj56C%eja6`kuOxxQ#F~?M@O)@ -(;ZcS+cm!jpsAgS{$%?i>b6*7A?ojBE*w{M2@Dj8LZJ%76Skm0hOAz*Im`3_B0kVUZ@K`>Kwq(65LFL -F&+x9#ifK;M;gZQqP4s8Rs;oS)4P!J)m*yTlbwgRUew!xb$mfV&WKQOPDSZosAnUQ?ALtLDoFF03>d5 -H4Vkv2!mX(!lG$7NAWCO#kMbw?Pom-`1JgtZ)qu`L%|?V4DwB3h -?>ZZ?0G-@(32VP|D?FJE72ZfSI1UoL -QYWsE@zfG`XM?|DUTRS;^3%@6aWAK2mmG&m`<5kOkqPUB>o26yX>S>A{pzkc)jd-(4M_JK!#x|;y7c*au^M}t=Yea+KNAVdIU0>Rci<;y -L*OWi2r{+O*&&RM)--r7y?_?TreRJCOZ;j?&|xj}@ixxieq1#$qJt$~n;SJ|VRa^lPtBK86oC^A3x@( -qtNH^UlNK?rTMvNdPJg~Aw)s2ZQUAoM~KB)-fu$P}3A@d&Y?E&mDqA$W+a0S)XSYH`USL18@!3N}-s5}5P2 -jyKiT1jy4WPa~+76P6!?=&05|xtC!MBCO&tj31>AM1Fwn67Q+|ZlKg%#t)pDB)dI|GvHYAfqjvbU95` -4+6_athlc)i23C5<_~uDkxefDVE>q1o{ib`_v`s|v0ztoAU3K?0j}Hy8 -*H{S5&1UHk&Sx+{JW$`U#Sg53}>x%^zbR^>KD{iF7|+&Dn%qPv$qX)6eIVIlKNmzrI>bfrT?5d^x-PI -EQ+s7t_ld8|sBTHvJ6}Z1HJwevXv^waI5_!yLI}r&rg1%xAxTx?!KL&d;Wh`C$s&O+K7YWo6K`)APyf -V$9Aa7n5J7gmndUu!RUHd1PNcO)(SeoWQ@+o7vSRHs7lQy_ntEv92Ona>s|mXGtR3v4C -|7I3bJ3}9YPB^?xcwQm3f)1Md9f+RbePR@ba0+D4yHMl((tWr=}$64iBo^r=w!3H$}G)}}J3=c=92Lq -MA$|Em}<51{~04z-Y4?Bs+UL-E`0; -T0WQ;Tf;mH8Qe$|ze> -p}b`fx#?EtF1Hy<84E5Zzb|J0J5|hX+$RzIiw}4xcq>;+S8$ot&YXqZu`rJAMlC#A#H8$G`xJ|A;BnO -8I*$UJ=UO<&_Q;A?#BdV28T9GK1}l|j0!_a){L_7Kha<^9{=H)VE$2u#d~~-0t-oMzkAZY1>;kHk1hm -1j-mss3VsGD!*!S#>?8|8b(z*IP&6qmzxwDoHx*cPl1C4; -&XI_~-K#47-qnHd`>=tc(`vzm&t6jF{rJD9+Mt6&8qCzgweGk;$Jto@DF_v~vZs$}~;mw2JZyB=kK*X87hYP^52+X6b7e{~#>`+B|1i_WJZK{Rn0R-*L<71o8WRH(T&g_GaG)Ux2a<94z^#!%8swW1OXI -Shu|gctxQHI&dl+GkBd{*JTP@Lb0pA4vxi}bEeiwo#20jm$3MQf-7ew-|Xq83m5SoAv|?mCBgeBqGpKEaQ(o1Kj|GW*80Cid3^>N^rHor>Tr;dW*eR -2n!PiC579gxesobW4R(^IeIt~rG|o+wTva|sLnOzR)?$VZ8^co1kG^!k6h|xgVv5tmW?g!nMx|%)&*w -eevme&6Ko~U&tHcM1H5&3#H!%=wg&fi0K_M0VbG((6s{g*^&3=C$JK*J+|~t0WF%AIXy!{|7Yv4gWn1 -VoKu^uq(Q6@&GeV-3}S#+!V=9IS^%pUf|k?SrwX_~7w~HTRB5M~%JyafwiE)Mf8#nshE$_K+o6py&TVOn3Y)SBo --P3F+RfI|2jO*RK>HXIwgEtxma?^4prJPs>&2P~o@^XMf_4PJ@5Pn9@;huviKb#%FCc{+T`8QHucy~< -Umvqo5cxn7(ZkqtO?xqbp3*&=W7VrtBZ&7El<%)EWrd$WrSf+D(vfZ;J+X4O(c0606h -W@zkKIF!xdX7^z}3Bme$Cqc(Ifjc%jOp)va#EF43mB#a8t?CE?oeFaR5u2$;&TC)0gHnfNEzs7~dBi3 -jzgw9%pAr0D`L!VbuSqJuOdmUrarn=>W;bpeFS#4DS26uIik#OBJ-PPEJ3)$WJvaK3cxpn{G+ZKl|bp -yef9A#8&4QWJ3We0yA)Fp~DhLz~SZi>`!RuJX+Euno*57yT>B3x(~l4)(Lv1E8=BP(93G@;66Foa*W$ -msJx1QG58dfcKxVfdl7b*Ur^|F=0|O>0hoj+AoY!<1vTt*vU9)WlL5Ie~Bz*SmM`dU`;cPW+oo8d;iy -+6Quf6TyAm)wD)YB<*sY{sq7|S9`2rf!8tZ;DR*4Af_p9--?8LOd4%LX0bq4=JBoljsce(E$zD>jK#0 -XplamW6@_=&(QD+o;m8Ho%}`1N#Z8r7dCco0Q_AMAJV@~*ATR}sA}J;c?wic^aEE%%9{?kV*72v!p{NHf_%JBX4zlS>Z8n_PjIjHd3RQ^3iGPHIqJ)IttyNf*w>P5Q;80Pv@S1Zbc4=p#@p%Kv3< -UOx7tFWd3Ur)3v@>PB~bhYX(zAo!Klj?m7Uu?Cm|`9BC+Dv -`&ImmTV3AGziuw2;i#o8);Zqw*9T=YlPtO96G|qhX;xOd2t=P#bf}ew9(y9!8O47a*NP%D(t?b8&uMqzFCf?ik5@7(fl0<4VhANgF2LxIyS_0+{tTIp_*hLL?~P -zL;H1FPhm1ZkOOY=tgnWK^lCRF6tGe9TngaS(WfjC5H$S&<;X)idQA{p^`&{2&jz^!hX8BxnA(}L3Ud -+hq^<^WE+jsUuRW>M#e4*3-UdyIBj{m=y=zGcQ5BT<1vv>Z3utmJSUj{p@%k*lqaduOMGmF5wUmAGg0 -zR=|wlAhMh1hMvtw??#UHGup9N*1LpXF8^&bw&Wa~hW~;J3biBq>lK2RzCK&^!kCgCIoalV5?+caI+O -Ek};Ccy?UX|tt$RCZ4xxHA~J%OtqjRna*ESSCM3XYH+SxIUdWoB;=N4}(?9*W+Ld -KCyb2;M4#)T@I`H!`~Bj4etlX_bc#?p)!p -KKHQ#5CLFC7ef;OUHb?&iZ-@kT=2JbEn0s8InQ0@vfw<`Xw_bM7(0-kc29rdW%ayuB9XM_!!>YkB4l` -Z#SRyQN%0d4zkWU&oon>+gwV<=SscW{eZMgzQVB9D6vKAI<*xUE#r8w}+6%1L!AsiAel( -V(3#D%Fe)N5<(U9c9Q<4JdNVA$Q1L6>Zz=^PuVg#zANm5FihwhAz6ID$56etfo4A%TczVeB1@4iN6_}ft@chLEfZ}y5%yxXPmR5N4LYX39n;(n&vVrDa+R;!?xvc#TE07HT=GD_*^Ddw*~*MdS^LkppX -cY(s*`-&>n|IqxJPm*?kTKqV5Hu}@nWq{?OI2DL8V=9+grPz-V*LXdP|tSdfU#|bM;m!OPAhOMZ8OIi -?vW2iJf|zaxhOK`(~P}=v8%BW$v%NfEOn`YF9vAMdukGxc_13AOYT?!#haek%9jb0(j7ioqG)6t?Iu6 -AE1skjYIJ7c$TE`liG@ZF7{j%AJXzG653gS*BiPl$PN-{f6n;I1#h41$0s-P!vi}4Y0bG$?7WnYJPo- -{V~-1QVA}xuY5NjJXgmFd4Y>w`@EE85#oafd@g>OCs=wyk4L1kToGe9_x?TqD3%p65tzX*6Z$gN=>zh -#0?K=zb*z#L6@Y_(L7JfUXUW&hX2?5-*eG&f4_&;^MHGd(E&kmbfX)2+ZR#5xpV6*w|FIT7k<0{+U4===fNuMgM3(p+v~-4araz5ws0OhJ=vO|cloj!y -zb2wWcKi9MG{BfaPw0Wtb4RFcYl`_#Ho+gThvL_(V>rk>xHr4Yw$o0C4lc3zXZ42lP%G^#zKdz_8klo -{lL*6k#`J-4hEk;9<=iH42Y_RYyiyu>atgBN9&E<#nIE&eJ*+u7`y -^b*`jvnA(;2{hHUq>9dv3?B#C#YaU4MRKaRbbd%eqh@I~~f(D(Y+|4+18=6K}?M32xI{TywoUhM*E2>(VHH<)7xwj^| -WA~ExFyC}_@TC|B?{;HE7Kff3XK0k6lF2fB!ZKM%kmwTSDVOCcQJ_l*d<#St!&9})mpc| -hmg`g%<}QqvZm2+10wKybm8wk$HuTum0w}`At_GOtwiXnLt|nA6I@(~Samp_A!Sx^T!i0mjt}*xyy=( -iF4OI7ELhl*_%G)I~})yogumg_c -$*VT260h-pkinBMLb~bfA2b#`4V{Q&06PQhBtD^T>B}y!+8l|i-UB;Pfo?7+iF09TV -HLctO=76PCSE9-wPBG&pOqaboi{^O4{n96)Vjf83xBQMQEzGqOaGNY2}UmvLPsU?Rei)zok6{><3bQpbv6Qju#*nQ<3|)a?#9Glz!&b+Xwyg&Z0BSgf$?L|`KsDUb5_Y31m^KT5M(dt$g@v -zu|Ly*<&E5eW-zFe}F!UMAC@9Eod%VdJ#GV -X-*Z6EZ7&3-AkNEG%jR88%-A>U7hsjaMK|I+CRwlvLYx(IQSwW7|j50`_!tA6O>_>2CVeQ_rLSRkD8D -Q$^DfEv=UMPuTKOm^H-vLeckc%tc$?ia{9|Pj8J51N=`JIx0w(=AMko7DU-Gh6R){_8`|@(2q6z`NME -zs0ZJnZ`4~VHtR6@GP7+5 -IHPGKg^rhnybh%RzHPkPeoE_5YaKWGTX}fAs#w+$EPVe1RdL9`6HFG214Z*=;OHcs;p4EDX%BkRumatQvgs#V}^yr`eJQ_3nfd>pwp -kN#>JU7wX7loF}hq_u~R@nxnch<6ngE;je|Lf~p(-apfXf5;Am<1hZ`RZ$MJ8I};@p3X=7Q<+`R`K?# -jW36f5qo56ZAC#1-7R%hXI6E&M`dX*z);!eY2#j+SlGJd82waamW5>4LUKTh@|?=?jjT$!+Hk2gLB*W --o15MVIT7NM>VaA~BnjG(!pN#)SL!mFdvIk2ja{|9te(yq%t?ShanCWr)yX{^{n|4~9|27JpK{u)v9d -%>X=9cxTcY>KIC!m*v2=*MEU`un6j%r0?FNo^0HXlQa5&krZNo?+V6c-C$I6yQ46G7tP%}@|a7*syfX -vWa7mf`6A#gKxj0JlvkZ5c6HXe22LClcIV=_N%43 -acV^yQ7e)@{$gu>tt}krQ&kKF5E%7AgdTPw)(hdfjID&NeR=LiUiZ*l>=GBJBYBCe#t(q6c3b9Xq#Ly -6!M7-g?v1E-%=lvb8yGhQuOfIk>1*SJ!hABO<9;qR!hsB*b-SXN|J45^ye4xxktt32-t&SV+;)vm_xE -&gFz5Oxm_~CE>S2Ixncb>zhR&%0}f-(NBr@7k!?dRG0NQx^c;%VZ|^Af+p+yaWgxB+U{w;flQ^LOGk5 -@s(ifQ@=UK%90eGvbOFLWL*}+dGaLacyx3;x|@esje8E=mv(AWrS-4bFML8MbGNmc+}v6+k&h1_FsCR -_)QkB$+t=HHp=!K5K`dCq@G5`QZe-}lMZiIVqf!crih~bBdLc#0G2RV)Ap()^rDX@k%8C?OO -WluB(P~+z&&8smd$@0{clSqn6lw18LhdyqBsuLOHbd!q=BQYYY`0WN)1#cf3;nyO+)^bj-f;U=@fP1z -aK)-d%iR7LwM^5)>IaDH>-R71zvq+fRf8dnD{vlG;`LdN)~xH8(DKGke&37e3C}(O<@ -8|pD_0ksQz1~+`Ts$?Pd}Tc^E`S;B-Kg@D6|Z=rn<@DN?0u_+Ju)%t{ -5mM9O#H(towpT(5tDNk;FxFo(NhLnam6@Q-wyVc>qravILb3HJ2!cgd{bb+E+bB63jCJTISxN@+8OdbX*QWoHywtP(|w>wL6WkOX0m6 -l^)Au>L$X%{}YT;2=4xorP3pIl#0=gwrYnEiT*A9-2SFA?O4kDn)MLHc}sHo2KD47uw{F$#4 -31Zh>-FX&)xtg9OVeia=SS_+(Qwy5V8w}&-Csw$QYf0C+iGNhKXv_iwc!E|J1;S+Q>`9tLehT_@|=Bv -Xsa%EgrpccNJ3hAH9n2|cLe~inzBy=PCHp6>znU;9vo&`R4QGLL=ZrppUg<@bSS_OR?zG&S;{s0Ri{2 -G-y+Et$?QlELE%R{v5BrwV`o^=%=H(yb;u7{x~4bG`dQmaa$eqxB{fRB!2d7;qp!!hh9MN@(tf7Irh5 ->0tGf)#+~76BeK+M0C1z?dCn95<5i+b5KBG-lRl%>MmbRN5%T4rq&RW6F;<%SsfaL^hj<#EEYy+XP=VtdReddj-q+hg;4T+I*ZY+oZmWX}_cW<`V2Ca -~VxlEJc)>H8$pT~46aoPpX&D^VeW?cABh1PvU$uZ53M2be3Rhl&8Y@wg4q>t&T+t?N0Hlh@k0Uw9de( -Q!Al=q|RaxkFVrUDEB_INGD1ORAQ*g-SLm%R&7*xbt0ZswNNG_IqMC`Mf_ZGkCp<^hoK>>BpalA>C(1 -vOCJ9b(zq0jF^wXcJ1A1j`qsLF&P1^N;Q?o3k9@gxbi`okba)Lf)QF_XWXBs0pss+}yb+#ml8Ff*PHU-+K%qj4VDz|A-`Gehq^xN==Ro-?*^{l?rWAWZx<-ERP2N4^T@31Q -Y-O00;mk6qrr`00002000000000o0001RX>c!Jc4cm4Z*nhna%^mAVlyvrVPk7yXJvCQVqs%zaBp&Sb -1z?CX>MtBUtcb8c>@4YO9KQH00008045ZePO^IqgH8ef0I&rB05Sjo0B~t=FJE?LZe(wAFLiQkY-wUM -FK}UFYhh<)b1!0HV{344a&&VqZDDI=W@&6?E^v8uRNIc)Fc5wBSBzY(1T93Zs!A2wJQNiqq^i5xOOg5 -lhD?e}Vk6sWimLY8>svyAY#t!-oH;XdeC$^+em#b*%((b5fy(6Lk8XufO38+8_XnwrPD-}NoEJ#`T|I -xcun97I%b@40C9PSvBnpG#2>?N||9w6&=B*%5zkN4M&-~nQqhKIKaRfDj+A097C}fSe5wKhBdXH% -y$h1bQM1!}8Zgj&1Q%A?Lx!`BDXS9)4mdMeaK7ii%E*e@m)+We&t)jA<c!Jc4cm4Z*nhna%^mAVlyvrVPk7yXJvCQb8~E8ZDDj{XkTb=b98Q -DZDlWCUukY>bYEXCaCwcA!A`?442JJ{ieK!|O{#jCc0q6ffy4zKA<7zei)iC2aX0$*r0EziY0`3vV*C -F;+i_jbK@i8Nl!WnKA)N(2hJemUz1Mq=;!Q_r249O~4;LYOLYy8=#JbuPu|#AX3GCYuN8<&;Cn+~OOe -I$p8#pNER|c*}M#A#hmUy_&Y&n))-*;6UDTA -d8wU-K|uvYXWzOvHhWZrXa3ywGqk^oNnJXE!(fluWZAH@Wk3tJ%Du=eG -!dN9LeKD|GAt$wKpuhY5Gmw7#Pf_V))lx@Z%)Fr+oz(*GEbv5@Y>Dk4uv`z5kn=knr@f|c(g!{`OO?_ -(ZAfc8Vp&{@7bS}S^2JJh15ir?1QY-O00;mk6qrt;ALDAX2mk;?761T30001RX>c!Jc4cm4Z*nhna%^ -mAVlyvrVPk7yXJvCQb8~E8ZDDj{XkTb=b98QDZDlWCX>D+9Wo>0{bYXO9Z*DGdd97G&ZyUK0{;pp!kP -&F*$m=-nBe&NXN*6{uaxV!R?3BxPCs^?ioiSKIOB+Eai;;mgc3GtazG!{P91DQP8qw -wx`E^IEKAGN#2^XI>di3u{(%vGq%QKTPpwLee>@y%Gg&mQvH&DSb_sm+#Zza5xz3(3$aaN>@weXrT&8 -_;;;yX~{#=#pOFHR3^2PBwSd^OwNC;q>I{ktqd9=%=x@f^OT5|-j~z;{oG_OjoYcQ*ZYV2mAG{2SH)n -UR;96?tgOGetz%TG6nSoeotDr$mq0!j*$p3&Ie9}b(^t<)X{at0^qnq9dB(1^^P(tl2rd9N2DNowt|l -;D@*!Ma3Z28$(~ILu$)&Wn(jFJVp^g&I?$|&xP(YMo+oBbFhv^SvGLURH3IdHTwv-!sdv+P)0`~$>@F -#GXjl6$*-bV$FJikv&1nR&*g$D(e)uHhkI_Ty||lJCkn -anD_A?BT`N~Yg$z1^;MA3c@`)X#qj3em1_Y06)k3fvPJMn6QFbN9jf3fzh^_G{w(9F?X4cv#quoj@jB -Jnn)DJ~#_YR#p2MX>S{P@?`FQz1JjmjyP8l}ULSs)Vj7P(9FEdVWI9a$Mj>)Z&Xjk*M=RxuwiIB1(e-u_duGu}m?&3(407N7Rv9nhmFiuaZS{E?X&_(U6J?wKM>mwqX^V -tq%y@><5m3QgDyncKn4j%-TyK&6&|t8q#yFoT9gvX&WI5Olc2`W(^aEcwAbK6)b1Q0 -&hELFA~)KTsPI9m!UGLKU*xwLRH>K+whE{j+tBPsX}^K&ooJ8Y-5D_Yv42JMczl>8^REUa;57Y&h^g3 -3EtEGEo@fIX$%~=6cXZb -w_2G>mx)p)wL8bPi=FKH>AY^JlMwDEq`C_Xe#vdcR=xlS}{(bYGaQx2cs9`J05Xa8U2=y(yvD8gr$t*(!T -&5hfn{0cK+ey&GF^Qc+jaBIGD!9TQhT9_hoNpYpr;0OU(RhMNcqXxiBp0EUZu1!DHB&^T3qWgMrcuLw -}>>aMIy5jstl|D59eA9j-eX3707atda|?I~sA^GC%5}#gz(NGn7VoIJ~P -<2Tfy?C&QquS>cZ|=P^xC^!uT^pBQrB#b9S9wpnd}x;vWJE4mYt9 -~qAbvbVRalyD!(F)U(quQ%r`OV>Z(6<#Tut(GO77MQcheZ%m#+_A2a?vIj%KV2t`^ACh2f!F<`bGDcw -LHwZEm}mG%+7XY+VJBLia}mu9snW2rr5S0=z~R(z!-lA;_UbFwpu5*72%iZQ(u8BTm))+1gIu593KYU -MIuY$Dm)E?gTQq7Z*@X=G^;+y-}w388S;<@HGqM|M81M-uch~NUG4NpOWzAp-$U<)m{os?Z=lwpU0`QS0^K18C7pR~{D}JSTOZkajkDO{a);bJ!os(1;E`T($5gRLwHh3ekBI0$}FNPC8a>d{-SEvg5KAY|NeMh6&ZU -Hz=_Bt9lxi}8LN?x1YD@c$07d1uEHT@LZgTZMyRh2K+9{!y&*_=}Yf!)!oI`Pn504ATZ`O-BgFsTa~_ -j{}OW`W@E`e~f$IwnqrCopERJy<8kj<*98lw{+Vc>*(Wg8T0g(|^5`SzTiQW;xZN5&uK5>;mIK^|@4@LO0pVF#U^v*wFc__Mjz -;}oP)h>@6aWAK2mmG&m`+l4;lHE-000yO001Na003}la4%nWWo~3|axZmqY;0*_GcR>?X>2cFUukY>b -YEXCaCvP~!EW0y487+o1niIw2>J&*6h(#=7}6k44?7WxO*cYpOC{-K{rgF==-SDAGT$SqM?Ti%TLVz{ -(h~w0*9K2w?16pL3&IdDzL}q%%)yqYi=~Q9>Dyq%9bDt&b7cbgv#T&yvyr0}(=%2^yg8sbBH`nrPH#P -yzU#0Q=R1AOF?@kgkq-f@oK5)ABa5cC_JnXmTOsk7!NGTolWui@vhh4NVQ$9B9u_8kMe+ODcY=Rqb&Y ->L6;NzmhTx@u?Vs1}dK0roq*y<{?biF<)27(I?)C$2nUMr)*S#YJa$Rm0HTmX@P$o8xz;ih1ImZd&xC -4=Z3)ukd%M->X-?MUYE&5*O;>(^0JAp(F_4^?$)s0&b`qZ*r3Nq1CGw=3}0!PnTd9cI?F)0fR(cm~AD -gTxjRd=!OMp{Ck_7sP<)oKo1$O$He0Jdr3t^LSF%e?*NP_Ufte}dgOpv;$*id@IlAg@Nls9%5Y%~NK& -V8#A>q!V(yImL9Z8jqV*V0z1n-5t&?F*zNjCLWE@{GJq^xpN0z{aHqX{sB-+0|XQR000O8CKQ-X*VSN -XF$Vwu9})lnCIA2caA|NaUv_0~WN&gWb#iQMX<{=kb#!TLFJo_RZe?S1X>V>WaCx0qOK%%D5WeeI4D5 -p>!(Hc9w-Atnn>vlr#5Q83Jru=?+NC5W6uBk2QntUoGkokrQVO&>XeBQB&HJ0-%IGcR`Korc;du^XTW -RBfEv=Td<9YZ$ipy3PU$`5s=uoz2!lnK9`ghjM@k_Y3+C2Gfx5j953A8O=X_Fhy%6K#@v~or))A5{D6 -<2Gac+S;M7_CO5QOQ>zY>rzMFPzXSFO9~1<%E`|Gk|k=l*}Ra_B&hgLaanF0{onvo%!cSj#eoPb5nB= -D{vbQ9UOu~L=5|+3}YRk)PY6&HRF2EF`mbw%9mVNwLh{&F7DATI2=j#sq-D$Pl -?jRAi%`d#Riy#WdqUM)9etO0_@kEX}TbtA0+@Gv!z6T?>7QrH{5X8a&!_1H%1wptCSOmG6s1(Aqy~SV -#{^yUO&s81vl}p1+V_49R8=Q--W+)#h%YD}fI36%`6Is~Ql>r^jRCHn{CY_5)al8Ny7780b91 -OaqQvEaqA`p21C7B8t=K0Si{F6(cGj0a{_wECO_{E0Sv$8Nxg$4y-H%tuP5&U6K_nDdslJ!5+8lw7_~ -2s`R<2;qGyF4VIf7Hx^+^VGE7FQ9Nq>^Ziq*QQKI@w@_+s)!1Q%?|3+y%x6-#Ci4tYU^tMcy7Zr*W`< -kaMJGBZ|Kw_|DZ8R{UZy*=Xy6{zRkG#bWyJ@&F!@wtO`3U9f^l4{#B^bpf95x -Z@`9k&T2C-(yzvfrX;>_p9GD^KwW`a;4>^rDXl;8@I)d|d;c#Q*YURh(W!{^9fc=)rFR*|#W=ecZZj -GGF`jm`=!L&dn~bRN{h#B=U&i1oO6wry96q(_vSSii)YA=HBM{LkB=Af@yG -9f_*q+ka*^MrAuHVx3vWNGA-o`t=nxr|_mFS4hHH^1gj^N+VTA9{gctFXZ}6;exOw9}VRFonuv0pdG` -+MvAlKy21NJZWvv@p_x0m;9g#Ne&pb5-GO=!1!6!L{-9J6vz6n!NOXbw0J%Vqr6*qp6XP)#dX9g$JRb;uqebm%FEhffl+d#`&oyfcU+j(;8yPK!{?(w(l -&Pyi_1RY1c)D4?b3^&Z?qS{@1hU?sR@_H3VH)OHcB2}~?R8e+#@o2d$3Bk2E^U~@$O~w#L<8~gTp@I4 -y85Yg3-bJi%HAcE2Fm&f%wRSAdD-liA+a>lJy=u?-Vb!b4{k%X#1)pgqz(61rQIZcWO*%OFr{JH5UPH -~1C8kuI<5kRB*`((5#JRt<*xA+98k<|aMAq0|)kfkd{<3`vYin+=p1*o^og#O9CC>0N+$~x(c&Wcmri -X>ncb`ahX34$%+fnQCRKqR?vWT~bJ)>L3wh|I+A@%0#3Y2n#)xS>}C?VXlBv3uP52eQ;qkqU?ULBJ14vELVBk|aS`@Ot+3Y#ag#Q3gO9KQ -H00008045ZePV_8$F#G@j0Pz6;03iSX0B~t=FJE?LZe(wAFLiQkY-wUMFLiWjY%g(jWp!mPaCvP|%}T -^D5WeRr2KLeg30l0kuvbqjD0>i3r8JXeFwLZ$M#ZN$NxQVDfk62F3H5=;2|9KTyNTF~vLpAPb!fZy_J -RU5ON73DQ#xU~=Z{r1M2x5u*(}%3Z}mYzIy-pD1khE81}u+BWDwBWR4u?Bp3d+}-tebrIAhjJa_#E+L -6@ARWe#fvn&_jTX?ix%VKd{Y&GXP6;PL+UPAS#7Rs>FDx$srlsLOjl&ogMDAx~2!=B0R;d6c@6*oBLDyZaA|NaUv_0~WN&gWb#iQMX<{=kb#!TLFLGsZb!BsOE^v9JS8Z -?GHW2=I{SWHjYb?-ijNvv6c6o)B>b(c!MT!`x0#{i -}xv(PHJUa$xq7QPO40-3w)!q{h2Y^1i{Ja>Dh;?`<;g2w?g{j*w|0Dz|A -=N~7=h$%EreTDB%hMY^fqoUc4u7>54u#|>GYR?b4M4bYQlgd-+k@b3z(gNAw>c=1&!jMzeN$ExFYp2P -L^m8tOhn(WFl3sI_-B43b?S6*f5RiXxS3_0;ck9#T`@lSx*d-HUBm;A$0gSg&8dK3dKE#Hen -=H^Oa&diqQJESz@`Uk4=-tsoi{#R8%}ANZ~Zh`t@?Fl``AWcXfvzijUrcvKDFM%|!6r7rfhzL5Fx!lX -NCrLs<_6sJTM9NzhA)VVnF-2oQg(dR0k08C`K6EC8e3wNqMAG~Andnl6*-$^&__~U^W|01OcOwju4Pz -UIM1|epQUba&|)LJ|BLH4lvFn>CLL&ew|GOVx~uf#iG3WC*Lw_1oE?@o{&AW$>_ -k!;E17-f>B&PU}P&v{KdOr?(K+T}*12u?2T1Ql?(ads-F3Ba~mfA`tKU>q9K*Lwt$ylYnBcPR{H1DRx -0=D`Nfl+ugxs7lnM+-_lZ!T#rn4PrLOm-O2z!A>jwsb6O$XIHd16*#M_1?sp6pt8iK(ytjm3F|BzxPA -E<|IshU_sE8C5=OR*EDyL!=j-6kA-AoV!d*lkcTWj}{?;|)KNJ>dg}3^u$`deCi?8V -_B{zmtcVaWV|3f0zaNtAG@Z6H;{nuBm)5ax081_Vwz)L2s8cgPEkXpzTc%5RozxC#xEx_pW_M{#X|B7 -MnG-PC#3gyZ~EDaJ(I>Q)V)q9^pfqe8iZ=`7crCgdQiLx8F;=nkE#Vwh7g>txkN9Vcx94kZ656S?TAG -WMYTgDgWzSG=d89@P7xh@I(RfC(vnH845_9UbXCSkq#ej@kf3_pAmJO>-aw9(C*`KP@}Ci?5;t24vPF -S)}Is~47!SMNTbHmTkvDd!`4vGKCAq4CytshoXR!T-$hYj!>_Y$TQMS~YYrUhHtvhZNQIm))VM*?dQY -4B6B~!{#OwD-Fc1C#P)h>@6aWAK2mmG&m`>I^X>l|J000^a001Na003}la4%nWWo~3|axZmqY;0*_Gc -R>?X>2cYWpi+EZgXWWaCxm(OK;;g5WeeI44i`{z!8e((y9m+!Pc#F*fuEAVsA1njVv}2sU;~p#-jhd! --pPzV1WYl#g@n!&dm3qD3jumfgk2=--J#FOy^$<`S)8$3O -QBbgUj}6~NLm<8v*cmRx7_dQBqIzLUbFp75B~=tfC04+7UfEPqV;Rfc-$@n$eHM#_`~FyC@uuNeqp48 -=gFQc>fQmPG-|#mC3c?YCKA-)()_5IgBoy|HbUfDmFzPe~-uW_M%XKI;*-|E@%?h -}Hf@y@8lc}Y6fKs9sO9L7WZ2j(SI?MFy2A;L<5$=Bc{)h3sLIOnCn$qbEx9Ud;PsS*|BZ%DWrqVj5^* -1U$a0WCukX6MC&YG$J`_TW9ozh!n_#*y?5_sh+7;$1yNMRTkgl8oQQz0F;*U;3=%+l@AXsWP58g~g&P -+c|awWS%vnC?^9yuQBtfx08!VREyps@n5Xz{hoO7r(nAVEqzKfs9I`gWT`(T@Ntm@ -rc*LhCa;|m^3F>k_K*64_D^o_jQ33gVJFn=fUrYSf$oa}wXXW6Ie|@R>2Jf=??$nL;!zZ`7gQfj3~k{ -WoJ1`m3U%KYq6UOoh7*E>eixMWC>6<%ChYkQ59j&{5n0f;w(~fk;#DA3W=ElP*&dR?AF0CUNql6eHh~#7~8oiIypkR$q*SFqO3oYs-~WjQ1njMch3#l9e}OX6s{| -3+#nwXkIeID0CDd4Q3XUohyDk%Nj>vdSSBs(Er? -1?tcimerNiXWK4L7kA3b=0!_;L`cu1lrJQ8kPs}W_<7q_AiD>GF!<@!;BU7y(R&jQz!OF%%mMR1&_p$L=6Hg9(u -&%e)jI}z44IaOset7ByhL4kKgU??VdJev1f6-Y3imFam>>Fp(ty{S5=WUwTR{SBlWmW_d)T8pwSip&hC`FnA@OEW`J?0K5$FQqt=^P))Ht;NBk9UL+ExhV1+7 -F_^SMN`kqvM9&&;s<_rCF=6tdGxj{>H@fQ9$g8Zbmv})>HsSV=h0<;!?QGb1>*%g3N>E`zJAZQ!f;ik -cSlD@pcgjN+KINJehnW*8N@MaB#uKE^N79RHD^^_HfvNo+Y}{8d?-aF@*3u`dMDUk)I7m)#Rgvfrx8_ -M!3&PcshX^2Y0fx&21%o%D>>j*TGd5)4;)zi2P6OGXw2Rn1Myvv9FN&?Q)c*|K!J~?#GmnVT-Cg8Dx^ -?~BrU-paaOE3+Uxii6n35Qs$yi2pjiDI282^u<@oqmJ_h*Yn{?ZhG%Gryw{yPUN#Pi;Yq3An>^99Zwk -`#)1qhytTQyx$h1d0tH3v|cNEnz5L>{xMAZnmbScd0pC0NBbBD)9LO(hbw8WKvulxj#KHfau2cm)f=7 -mn&iBXM>B3{R&=Mo*=hIa4C8B`Rmn#_)!l5heJZcBbR00Xd{rUcgM^1rYtvUGLk_@2 -n~DofVnnW(BG7XrMr;*61;)b^SK)2P@rZ%8~t)UZ(U)M9aZ;3Wr#nS+lkYMxDv3Ksa4<;{L2O6e8k!g -axTmKC=VTYyuo7&wx(NJPFCWNKEx>Lu*5Cak)34ZBc+W6Ty*Ug^M6L{9No|`-!|tSK0l^F5T|rK81IN7GD!JLSvJQy8~<-FpfyJ -f;3qXGyJAV(PFSoA+RVvkrle{dhi^}CD|)3^4M%`HKA) -lrHcHr*v0%nydhAbeBljSTVbtsE9VBTHn^RZ-_)Y?RCLRI9Vz7iM)9lTb>#3pzX$!m)~Ep3Ct|Y!%l!_leNuV}rydRHSEL2->0tAH#9pWS)b6j&u -8>muXk6H*hxj^B<#;|I=2KlKdugtpHq( -;9ZCjwv_wbLt-c)DK!Ua$1S)=;i+!V>ov?YWR^?$HU>kkMFy#vVfhcj6Cj?nB~!f^c6&|hOua>bKm*~ -gMBkc71jq>tw!=y#oZus>UD0GopI>@@uTzLI4lHs?u9PArtxEYC)Eb5r*hA!A3UFSA4m^ZJy2d>j?15 -SeVcaIZghtw^kk~R3QGkRM695MN($Jzos9+IBAf{kbNFvMWk|KEYV*c{{r`L=4hxy{wn-}rVuPzt!*O -%9e9s_U(fjU-M=@2}qrUA{jEj)F0UL|!8xD?=PrQ%)0wG~f9biPjpaCb320~FxCPbre58_(M*lhP27s -11qb(#GFBQ8Sera6zo+KL}kH4}?wlXR10e!$q)VD(9 -`j}8T&b|_WHjt;hH*|u10s3$wgn+Z|4XSJpCnnS$(!58{XJ!-Ia8P92&`BU<-vhW*rYKXnDih*>rg9T -k{Q2NB|B*dr!Bh4aet)p(9A$gjt9)c9>{RE>1Zm<1vn**^Us0&!Npy-D2UScrO}?HkBjRW2@MfrCdi8 -D+O~6-8qNnuxEBGBn(Jw}!iWAK1B#B&LCIIx= -H9mV+BVN*75XH_VZ3)B0AP^cT-~>E>r7s#oZ24@EWso+{H)_%6y>&? -tm=l<{|b~7-H8DyE9(G-sCx*`HQ}A28SRgVIy%}cPwSd?U{lE=x}e7KG2lf(U{N=?q?|mc>^8hF#R!P -RtONIPhVWBIMt@}S+@j76ioIh7$i-J^(12}PDdv|9q46>4hxQD5?pD%hKv^C#4;k{$gy% -wNW3T$51UR9Dc0+zgvBCRUXT;PYv62PO_nP3A<(ayEc;9f+Qotg`QMn_PQ0Tsk+qqEsKgWvmxY3pbMj -JhIK~ps`P%}7A>{3^tNG&UAMyFi#r!J1UYsv}x{fd2yqI4v(fW|X4+JE6yi+_@-d=J7ABasy$Bp8ya! -!U+`||Q=^fwl07H4^qVi^d4&Al{JV$+^mAe+HK=n5oVIaDO=96ZuhBPrWZ5N9)F@>e)ziaK~_h>Tv%& -tG7jK$Q#L{zU)1n7^Jc=J@H&+r{OZAFuJ_;_CcjKKex$ECzJ#FZ9(ZB*b4m{btObP0sXG&EwVl#pTuf -Vi6+~^Q-Il`D<{HU2aF`4aAu;{goC=gv0|;Vqj0r&;gImouV;Ns -&r<1Whdd@Hmt2&kbsFG;;RboD`gURsXqCy>9{*1Q~58H+n6a8AGwa+-FB43%HW1P=qFQ8WHVvLCjN`I6< -`F-KWejSUUyEP4!afzhH>W+Fp0Y%^k=rw1~c1_{0XfDY1RT)i}4--JI@BD7!$Of_``RmG;e}oDMMvj( -qWX6T8Cb?i3|akhzz~7&LbDM%5OY={QfqyK%tm|;(~*(0}m$B!&s>M8%lc}7w^jZ7>qkE$ODw|MGlI5 ->K$*?iyD7U$1U|@)SuIGQ9V!_KfHBj{eT;o<%->U=+Dre&IMbG=CCjO1Y``Eu!Vw1_FDn~h}#jte(j1Hj=~ZAvq>L`?tcE&NW8 -5Z)*~6HD2KswQnL4g-hQj`hEz`hI&{e9L?vx0(Q6g5&HaNa0ayaf`F+r1|0?3qoQL>Z2!0%(nPR?o_B -slM^d)bOQ*4qY?83`5Nq%XltO~%QDXw=5^Mk$TYO|`%(Xj&rfrm~pe5;LD4v7g~E$7SVL7o%j=3Mm6L -sb~+!ZCLKc6q75R76+HxyeMs=T7|Y0)Twf5vj|;^CUcZGLvKNaJt7L6ASrD7`hFeqM7+6PEH(G1#(_HfGB(-CIxzIugoC>%@ClIQ5o5S_aq`vC@@YcAP?M2&+ywK((B=9IjSdkHy(mx^ -|j~R3cjE^W?!(u#qG+N_2QXj|DJYxo276-RStm@Nr0w@o>$ewzh#pll~0b^SX1wOkJJYyd9ZD{rthh( -DO61uj>@ib(%e?-%z4$SL)Ir}hBV$1*(qH+WRAmDGH>S&MJSYufZT{MYLn -DFB2`))}+zlfIPk&WM$%E7}QEEObR-(I_DBP1WR$06KRJTeV%qW_o9-=vK|aRa?+=JTXeD_s5x!*enP -1Tv1=+OyTw>@6~^yJ0UA_&pQ^OF%*0hsb5ybA(!muL_jK{Hb#lNYLe{Y9Vu-qtqpNl(l`h6$4UG!X++ -;uM`qG%CHt-TdjV@8bns~p7XIhg{t63o0MSiSmBUes2uOlrP-6`Hjt`=KcNQ&KZ5}7#E8UStVccH6j( -X1W^DuLji#aa+_un?zJZ0`Zc_^6-(pId;?_g1jtb}L3$JL72yc}vw$|DV@x!#)9zjb_2SASvDH=ybKI -+nv_Bn5^zbnGTn)NMAxXlLb!4eYf#ia^mssw@FB%P_4G7agVnYsQL`6msHCKAxuTwLRsEvXlrF9wg5$ -SlL52IwEiqHgU+=<|88N}5?Y-+`a5-Nh5Pk!kGl9SfdQ=ex+QUgRAk*q3!#*fQM>FH@WXXMqNL*;T9Mv}{xR@mBlt7)t3FRN>tR-f6j)xwsZCYO~R0sPLfZjb#Ja9J=^@)r(a2_YiAVBdD= -Y=mK~Xk2#cg%q_cI1C_%+wZ;5a~=jxwU(%VqAcgyL;ti8N_2ugHi!BPt}6l6nPywxN%6p7oGfez+)!h#8&!93s*|(qJGVrMA5ytG_QJC%#dQL ->O0h%&%8UiN&8q2f(P;Y|8cr#Xw#1h>4eONcvKB$}6spg$YTIiyO%G)F{>h -(%~R0G_P{e9ZBtvc)dr&u#_7V2DsHB&Gk=_~TfHm7rQua)!&469E)eO@=DkKIdT_(OFxbAv_q-+85Tn -FKvB2JlUjW$yjWsT2}bg^E{cFC@HDUk}GSzcE7lRm$P<_K3Z3uJ}@qQ)Nsi^6-pI)4a%6KfSC{EcVdn -fC{8EGE~U(VC9_tblb?X=`wHl)+NZ+af)7_%-E?VXq!#$&UdyLHJgkd=qo>Zp24QO+P~oy-kIw!?ApA -cOWdO-f1ek(`KUD+UU_xQZf$JVI^%*4B+QJf?oF$us@v97d8^!p-?g)Rt*HKX+3&QgI~@X(w@SYaU7P -uqr1?G4JIQvx+?dA>2uJYwO>a`qYWIn|HOEKnQpYFs)GHy`EjFg4pb(d(@9_fFv&jTpVT(j>md43D% -Cn7kB@rKY+qkZ(yg$r}zMua%zq-7L=T}#6uDaIgvwZvZuQS2(S`V7ks#J~cn0A=w>$mfZ%a@wzNcNzD -hnGmitR+C$neb^7+t#z!iT)B#v+f8=ix_tm4&*fbV3@H0^RfC?;d;p%0I%pe_bv~Hf;G<)t4_;F6(b(#PlL -veZN8y9m2WDrscP!5w)Ss4rIr$Q_w$iO$=C^tSKy!M-GxcX3aBe-hIgP#nop|@Y&EM*sg-8DbP)h>@6 -aWAK2mmG&m`?N|IJ5o{0049|001BW003}la4%nWWo~3|axZmqY;0*_GcR>?X>2cZb8KHOaCyyJZFAem -k^atKF(*|W$t(%UqV43EQl%K0KB>x>MDxz+^G)6>( -_FHiT(uJUZd!f>@Kcew~dCO6wGFBxAJS+XldsGmFLwaD`{vk!Zor!svk?DKlVBm29^qHm(?bXLTEDN| -lVQd;I~@tnxjVZe5&`KjsFyjUl4X~{P6y8$cK{EhnW#k=>0T@Z-pNNh`)rG=%P&p*xbJj(~{IxR$mwc -I7VTxI#@M=j-m&2O$h%c8(<^U8AD^5`3X6pmLRpF5onI8L*)6wf8QWH(tVI#-i<2qt*^$df{JuIJ(1* -W0_<4M_c$^V#&v{p{g>ax=fXy?=0@I;ZS2-xjP~3zmrVv0Srk#W;&4CNEi;;rBL!gv&%IU9iu`q%bOZ<1U|q>COOuw{R&MxUIVsDG!Ll$HC;2vX2G#9wwivFnm4Q+#=fb;*qgI%?4V`;hMhlPje(HFwvc``LVceS7ob953;}PMkl -#IahxM_<5m!dSg89ida!}$dT_3Gg8fx94lC=;_=*m -Z(+jU`u-UYckfxK|wkuhL``vkq`mBf}0-%B`8$`XyfGG$Y&P3F7zYCmn%*{)6J+_SWt1R&ImvNu)6h) -9kb3*>R*4ot#9yaKNCV(sM(#2#_G6Q=o}Nj|jBa77aT3Ltn90`X`7*l*OXgRcWc)uhAM;b`k}08=9YL -hQ1cD#o9<)Hth_Ht%&4GMq^4I+6?}or5Q2&ts!%xkb1v#+_3P7_xO)Zj15R*)mw<51^H@-N9v-lk;a)6LG6Qfw`@fpwjy7Vr$K!HIx*=w7tw+BK -3vVtW>fsPKkyl;S1f~|jDFAtEJaxwPP7Lw(b@=}9@u0yAO83Bv&v=DHOJqJbIrtlo&It90y7!}eoUJI -Hmb(ma#qY7>!pY|`7mi2%MwE#MIwO$OA*r$MnNRoY_e1{i)FzHj@*3t^oj8uygkJ}DRUaI&mZ2g&y#7 -Pr2jCVD>L_1)F%ehwe(j=RC1Gnw{&QYPQUF1;BINn&6Vl6pA5nv8z;*5p -F-eR?&)-;49%-R-BZZ${_uhzbMhRK(@Y#qTT^?>p_#5BQ8PwO5v}eR)LHLSuP(?2lep8c0*8u}}B&Nn -1DpRzB73xMp2Cp!v$qy|m~n0TTePZF&~^ev=-n(~csIQ@tY -6Qf26H_#s?%OVLJB5GmE!${;nsitZ;BFIeTLKyLQG={EZB3>N*O&nhRZsMc;UfYKx=5D0ESEwLEOuM+21G{St1N-{82c_x`t_w1$j(Odc0uYXRC%R!5pJJ+$~spMgd46F&gqQkOx -Nhmye*KYFO?}bCbk88KtFm%8tG1e)po*<8rs{fBKZ@S38e!AQITnY;;<3jV_pUdYF|XXvXYNT3n*Zz6 -5(4o^){EtI)Jp4JvRKnbY^PdMY|1qRYSol6_NHJRLm<#6tJ(^PNUQ9W6t5Es+3N}9vjxe&cqR_JWaR) -eUT-A?*yU)_OS&#k#<{!vq;7)I6%~iktX9T0&>jGM0$oO2`qHR<0s16@o-o0N1>ol3%gSSId-F3YQY! -U8#TH*p8W=HkA>?G)Mhh&+8x&%_;}W?b$Uzbf<_CeaZg8To?qY^=Hf4o){C?)eOyONHREXPaCo6ZJ4&wrE1>znp8y8E2CB!zWXh);1Ro5 -W1z{QXo_Zbl-Jm)r-YhebbWh7BvA)qBvzg3PdC*NTjOt>_d@=Foc-5htb9 -F**?o*1k~$0T&R$^9gTvf>O#GVmsRJ~pDeJv&7{h`T-V92SJ`7f(C>SO)aazOv()qW434GgzoqhBOzN?Ak^NZhca!{0t!=CW%2Z(F6+9X1YV;nz5=;q@mjwv#U84Mh-^p7zn_ZOC)xw(w?5QH_zC? -xhleHsQ~=+O@%l_|_<*FZcZR+8E>t^U9<9Q&j#et`JQm;uK3yeIm;F -$2>^Fs`-mc$`c9aco@bc)3{*cIT;@ExuaYZ&8#{VwrbaMT3Dve;Jr3el9qwuM!WKYAkrm-s2&#(3PO@ -U|!8rb1gL)d^xlDH^U=+?6eD&+IjIVP7v+Fp=hUvnJ|i!!MJpw9!LxrTnD&V -`{i!9GKM`Mt1d!h2{ZX249bYw?72z8t_659APi#0_7k*fBU;csJDoQ=m-snzUB2NufjN||^EC7~M;xr0G^9lT%!{U*ID{r~fl{hu1 -?oknPRzB&mj%~#9tbi;bZZdsJFgpk5U0gl -g~}>%n5BMXcpo1wjiA5?j2_>7K6sroMF4Z0+m8kZmqY*0fiDkbAJP~JTc-(B?+0;`xpx2u8jF+Gct-N7)78e_L^t(2;AA^C7ezimJh(o15g0FU -kK>UCrE$|EVFjOQ?GY{RV!#;h9Ld|W>&+jB!TTv<15tv-Y=rFE&?J}qhCPyi+t-*MzBP|gNUPuBi0t`Vwc2d@f3RFL8jsQ%Z0&o!SzJd>RN@;HV#w+Ez -t)BB8emgvUcTOJ9|gYtQD-7~P*lwJX)SII5GSK#7n2RI{K|~>g(oQDQ_wvLkC~MU(P*Bz!yu{c{wTe@ -(oeVW$@sDcPYrCMIxVgX?ct`z%bP&=7Fz)`fgV6{pnGQ<_*xM{;eZ7a}J{q&T4Y -jrZdo};;aIVD>$355AP0S1^cz2BYS!~R;><|4tzM+NdI*aY8f)6iyUN?t}8xJa|>I?yM4DcXO%vi5W} -ph;y)ob9&V_2J61mE|aHjCnGDr2NuE0^#$^@ZA3Hroysp|tM0nvu8 -n<1$t83iqm+sD1t9G0_<-+E*no;dujVJ628|d2bKDR0X+5_QR)w-h~^1ZZk5&X7ZW!Ia3UM)@6rA8x7P_U0MVVJ -?kY?sD*GF=X!o>8t3lH0lZ;4#oxSldBKcMatePsoOMX+k%V=z0=mA03kDmMTGkTrPK|Xs*$4|9jRr3P -#FWmg115ac#NSA`$4BE-&?z!R+RCcJuJvvqsTBR-Aexl2(MEHq;f_>TIPACHSU{&{AgV#1+eRXjP51t ->(Rew_%MxN))~Og7s|eqt{L~`*8((EQ;4bwz+!TKFm9LK0b4{AR8fmFYGP1Mm|z~!IWL!*_&^)+q$ep -ZZZrook$fpG$DZWvlKd3@F>c11%RNP`;XJnySMLw>viK}6uhZ=^?ESf>!ZWC>Y5vtsq-LxatERecBaw --4KhsJyz0~wV|aSl^8*UUovP`*WwfOKz$&%ZYte$;b7h?LAdAplSZfaG*Ub%c9bZ!Rx^9@$-ryweugu -h2_ER}T+&b5*KSuYgL8rGOm}d>E*mFc!gj`sNzDA;Ig%3f=28Hn_O&*$ -noDu8cJgyva{gdf1v!5j5H9JDctlyIv$yy+Xl?(``>!AZ33wPlJh<|NTP-%~G8==@ti_decqb)|2lBP -kRvlFFW=A7oK>(dfI(_U*CS|*ITkL7@R!=s=0Je)&p{cyu3Lm0G3%xN$s)X98$eXXi$Z22< -r(2rNixvKx*-04P)h>@6aWAK2mmG&m` -+tv&LDFO0012(001KZ003}la4%nWWo~3|axZmqY;0*_GcR>?X>2caX>Db1b#yLpdDU85bKAxhe%G(qk -wznO27%PLZdx?z#I+UIGfwOo%jqMz1Q+DiAQr_gM6(b5?LFu01-k?&%V|5)>LDhH-E%+Rxgb@ic5Jbz -dee7ev0!r7s?IRJ(yH!_SlI7p7wmp3*jiM)uMN|x{3HxBawk-8GS+LcW~&3+8q?Nt#f)OIS<8|e!OWH -$)+m3N?YRbOx)r6Yq`hWMcY-WlzkT=T7jGA@?tXmn@$LQM{>@K!?>^q2xyMNL%-+j$@wp -VOk*d-D_Pu5L!GI)pU8lM;;QfMW(HPl?nmzEk7he*0T3EOOwEC_Fg`b@*UOCg;GPU}fD9vnshP*y%L8 -S7XYLropESanrf8es_t6Jn|W#4rm%>oa><&6MQO*g}@89NWR&NE8}|AUmvnrrRVn^~6g;*7!H`T4njz -)ICra?^Jlt&*S7bN5WMk~eHcP6b=687Rtwhbz^=w^pgTDC{--^G3N1oPj|DtZ%=~Z!*>izP|k~znO;% -7!Yv!J<$1yH+&h*Yv0TQ|HEMC%`gq)#A3y$EHXT$NSYpH>xq{>b5e=`4z~p`_K}oe+K^R$EJGmHd)+CiD33=Ioej -wr>>0JCQklRZz3fM~{!YDdN$x(~Spi3ELd&0&Tv1?7v-Zc1opd=n3vusAMl-WW+`y1YrC?L1`Fy4tF( -=$d1fC7%9|B*{5mEHpKfS3V6oIbn-Y!vH!@TtQL@;Um=Ju1wh70$?LFac?kv8q1oeHvt^H5%B;A+jn5;L371)UzP%-XYY2>#%>a~R!g5_v2(l`j2g(Hl@1# -C`5PH)JGFxJIItx?-PG_cqUUJH##M*BJp^jsyCB|f;8(K+oKxNAy0o9KD_M){-`zZ0{dWEQ56`}P{`> -2J^#~kkq2^UU8@ZSAf&DY2yLVhK?*e8*l;@Wo_EQU{D)EYRnA)pvlpU4E?Shmkq;tDdB -`aRaL8>XtXv>FAPC80T|D?R@y;WDjdRxLr*&qa@PFvk#Chb8$32(lfXGI~2n_}9z$#uE)mhBvRYeJ~6 -&@^7Z=z>h|A2<<1himHAO{5ga)19mcrLgNx5Sk;J;YXwjY5<)j34go{a+ySiu -In`JvTJy1Y@TCii5PHVikS4y;k{+@t>wY~%;8t$7?B)B94D1G&NMH4yw-z2DCN>oGebZ101b@KEJv@- -AljZ1&lS!4$kR| -kWxv^PS-OHHS(@X}u6^`0Mef)*v$P|&fjb-b81V96cYPgug>(hjmiRt9kkKua}i5T1{!KN#rS8-Kv2E -E%$s8%jp3>A+O=5LB@N>7?PG2CHf036|f<1_l`_vfi?B09EXu`i^ZB9F_J|kA4DeAfG*XULhEA3m?Ii -d+guJ8lod<5;6j2=sY`y5sN|YG-Bs_Zb}H|a}eGlX~d6d$b-o1#5(s)y_NZ*i02pE_`}f_VuXI&B+af -544QN3{?Qx-jp3;Y>&!tpOos@Si^WWfy2@-kyOz^8pnm*uO{o7mFCuT$Rle{|!L9oaa>+G}UB1!u9WA -t`?$g!$hy+>fG(m-lWHHmHr)Z)rNN_5`U-!)Mo@<=xqPu`pcXF{S!%;9vPTwa=%$Y!XhMV7UG(@1$Iu -?SJm1Y(ZH7rS&K!VhLVuLwnu`vBp5Cpbg%RsQD;ROf)qA(Os-$I15Rf4)-vWV2gJRtlF?PP -quZz%8#n@t89M3{)$snb7e4bhGt%el= -=^inAwy-g~xUc&eosHAFGab4%!SqEaot!M_uXV_}iXpFI8BQZQS%mE2hCzB+_s^ndR}0aE0zhjFD^u!Tn*VCN56=m -^vLM6b@mmM2y^TX}jcJuEksWbkB=_)I)@qGptow;v#)$zd}78*d%3l*5HOIbW>qs3vbEoD~>Ve5ScI2 -cO>KB9QwhG6*vKhLUKHGEk|9!R1Dc2$aLt$DV(?`3BsfBL$0F-^utqz!a=4{PrH*A9FF%L$&OtOFMJt -*$u5#V3I&3GCl_af38~^_=9KD;%k>7+KA<0+qjvV?ezN)3(;tNmcy#XSN!tCxhAVm664-@2jNg23m3!;`3XE{d$yC9KT89^*ZU-}{NMQKR0^KHYL}`{;*uPl;&Qa@x -WHF5_<~^arSQl`QE=r6ov*2a6j?ExC9mEP)nvaiKiRd8j1+Gd>Jb3PmVToDCLz?R -@Ko_*ne<~7fK2u;P)h>@6aWAK2mmG&m`=kUZ4nF!0037R0018V003}la4%nWWo~3|axZmqY;0*_GcR> -?X>2cba%?Ved8JwVZ`(K${@s5CQKOKJx=J6wqGw#1J~q8A(Cv29^bWWn=h6~w6Qx8gNhS6E_4f@)$&~ -Fh_b|{{rsmC=Z-(s3=!z{CtJbwfEEY^wjW&+)rPZo+ViA6iRzy~4r9|PRu5CwG^GcMiZIl=VnmiZZ3( -*XSKInqe!Y6L5I5$R{(P-2fwcySf%TC!NVYc+JGJIW$+GW?H( -U|>1FkP!HyXCcGPP1B@iYxi2U{GY)t#lj4Yxc|K<)_K#DGT~?Fygh6%jZniD*tg=3p-oso;n$ -qK(TIxMh|W!3myF`hIF$7f^g=Ehj6_WUm|e#!^#EEZO2XO -U-!6oNu)rC4FT7PpJVq)>JijX9;b%^0Oad?d@_BPB)m$U6crE&cdZiDX^2_@6Pz^pPts!Mk2-=YQnZa -pNpy!6ZA$5^DN*@>7Nv?2-SG$_lm*8DelxyQEY4Rv37nu!W$*gh(rEb}YY!ay`?j|2mKvGr+bDmXTvK -hR{y)BXJHP4$%#P4KY0o=N%s(6{XmQ1CHk~y3#kIoaVd8oPXyP`p%rq=cB< -^zI^$TeL?p2hJ{8pKRH=zy;dSeRi0E_D&XNEV@}~uSMOv#+lJpj0h2*b -Q$QQHKl=RpUBDvTTARf5L{9*SDr0!Hy!>iDZvhhA3sJ0P^u(c25N6R|8g$E%&i{L`ax?KHtZb%{@vwG -dXZLK=(cT`wjeFY*ssL4zQds_uG6g|CsnY@*~Ku(%A^!p=a*_Vv41neniB!LDO8Uq_J*-7GDY_E4w#S -{td%gO|z}f7Z3TEBc&6DFBKqi71(HjrUa6R+1lff7mSG#;2G_UggLti_Mp8)mWF01FP%6m?vPkz!Vx@ -tzw(jtB4N`4u;7aY!}T)JoP1S$+qakhXrwlctL#ucY}h2u -TKE&usIRtjkF`C?tCISN3F>$%UpPNGk^8O=ku6j5Jca4b1VyP{ht={5^QnnO+7B$E9~m1M|Al*hN2x= -+>|1k?k7kebtG0#GcNv(5sFWwQGp@cSj|)G+;;RJaCk3?hkzE_2_V4lY=sjU6?x`i`6RNo0o+72R|!6 -ECc~GnQ6*w7mlzwdnbh|1F&FXxBVW+77c$rOWx(ZlwPD<2w4U<^k&E@$}Z -Ubbn~ec0AeP;Vp}DX4KB7cWK{=K!ZN6GdU(6(TLe0IV}EA*9mGE^=s}`bNn>w`Lo#kPYG92-za(f16u -t?Dmua-p$lCK^mNNGu^GkVSZZCV#V&CLSA{(f#ax3!1 -1~)B~8X$sqHMNCmDiz5f3*vr3Ok_B-b_>Ign?%akAnn3PM+S`)TVoy3YF|rSycgyJ{S>a~eh{0=XpsKqL;7Ui>eoVNKTYsp3^*puo#}q!A#5Dj-;H=-R>R-icY}$ip0TIXPS`sc -dmTZ$M2)l8a6=n9#a;>nVBs#_#f;e`R+G~jwJn8P<=U)IHm*`9W>wJD$=HU=w#U!&XCZYw&XBK**xCu -Plh)+lUu7r0$Dfza -qULQ+@nX~W>Wi>-;leKiQ}`%gDNbsCA5QXAh_Pp;W1rm3rJr##Hy2b*;rnqqm*rUf&8q|I8+M&F?*7bc -vx8wykH7aP9};$Ur?3ulQ%Prur2oq`Kc20H^Yw -IOI{TS!%8>%1^mpTj7vQkkI>F1~B;5>dLHdk|rZ#!(R&==+XPhSQ?l$S!|9{E90Z>Z=1QY-O00;mk6q -rtKr?zmu2LJ#Y6#xJr0001RX>c!Jc4cm4Z*nhna%^mAVlyvwbZKlacVTICE^v9(SX*x!xfOobuVCc|% -c-om4HgTeQ5PwYMT6biLE=Ro7J)#`oRL_~kh3JmV*&l~`yF0JBU#R-Z>^A67xH{O_w#X7(;DjqS*y*Y -vZfJLrweaP?SzVJt+ZardXm06s;Th9x4oNqyMH|qcm;W{8p@)L(Z(CCiU~ay)Oztg{Qk~bW1kTTpQRg -#PF5>f*Q=FSieIO<=Cj=2AnJaYTwu%nmMoOVf8QJ7_boYLD)IKidnfj$6NS{Gb0nZq08n}}!g -wwG7Hd)$dtf!DB#SjKJyl&DL29)lL9MClm%HCO>S!*cE`yw@u|ICF2^J3fffYmclI0exTmlYZcMI{4 -&a-!ouJ?i-h}{Hja8~xW6b@diDd{03{sm!RF@9lfyAsHNY;wpB6EPRJli|!x$V+$oHHfOe3AMesx;cgQ$6%GIm{6sx4F*)z2_8-mq#9+GdXHrs36HEZN+DJlhjmgEYnT5qh2In -o*hW8t=_rBET}m3jmopB5a6lasb=Yip^ZV{gE;&q|l3#||IL1321b&>570;x$R<#fQD$0#b~CvVdddmA^u=bv|fu>BQYnhukxx;|Awtz>v#+s~mgwSy%o|w6#>DNcG0<91PbKP5NYBkIrGc -$LSC&l5=<82Yac;YTA@MBR<2b+8H(o=ZiHbD4aVSiQ@}7>}Qub(-0@s+L|5G2ySSU<5E~mCaU5#yugt -T`mdC(jQIOf%wEmKcd3hAh=0X?5`8?6`C`dig^YnT`@xCz9(hp7uJ%C+pT&wd?NT5oSzep4+4<}{^i1|jQa(mIKW>et!&(HAB|=FU6IE@bpH1P2>D933pwJnKVcNjkf6 -nJjhTZ*^OXS{mCkVsj8^6vtW4sJ^d*D((q%>1!3GZ0+i -iapY)$T%E(n8ve`}O9_B@zvt8jX-!NXm1ZxHf(}Xvu*a13y7TU|00J~&7!M^9Fs -#%J(y3j6X9vFmZf&I*mv<&C&G4}1)M^G7(#}cW<&S6 ->7+!(Mb -j!fdB5H#oJQIp73e_Z6Rd+=*R&XqEz@nb^Mv9?Fadzdgoe3`lABT{kg}eJPTxw*E@8Nc`Jhr&7?Q+<2 -nfN(tV3`>Ld!gBs7II<83N|>ERs0X!aAi6#x_&NjwdGf%$H -?!oD%|8y=#Qs>W1WiMVV#b0i24$U=X!=P;foIFXDle9`_A95=vjPA}P%nKe!bMfNEuIEol-x%@dFMm^=N! -T_0)~N?s^JPdrfJJjtnC2r_OeI%5Fi}>~B?HlV+oHB0h8s+9bZ$cFCN+v%Bw_iZDD^Z -oF+M6elTW(4y=pkj2bkjjq(DvvG)Xw}>nY19C_ER{DZ#KcR)|HoAtDf%wJyBop77{L78S4Fw+}F+1Wm -UrjuIodoMBx^r<8H)g`})`NF~!BgTbiE2D0l%c$%=n*?e%UpgbBHtGO3+~4y)p8&2W!!kd?TRfweWH`TI%^`h)#*N!xWxtigS -nC&W5{rulT70!haIgqim8DYCa(a9g_~wFZ{Zx%^Fki#8bHmJ)hG2IuYUla;8nENC6G^Rf!wL!3jhF9DF6T@0001RX>c!Jc4cm4Z*nhpWnyJ+V{c?>ZfA2 -ZUtei%X>?y-E^vA6TK#U@MiT#DPq7!HpoB_{lU#c)5gV`_r7`L_LFBZ!O9E;|t}NEnQs6Ev>xu?>jRW -ppE>ChZ`#~;0cM;GrAaOqi6 -HQYl9wB~$T&%stCTGnmsBS3HJcN;U}XB!v*XL3z9(ZNjtEJ4O!HU?dAyKv72LmXH}l1cMgDq0<@(Cc@ -~ittQ=d#2Bd^BCPo9s-Jj+SUBu!G`Yc+x>TW#{>Y9Rx1YCn>P`wt$H*@jG#C8#o?tAuOnG>I4&EFdS7 -Cqp7Y^7+~6_+ru&tt>Imvn2_`c_E9Og(03W%Oxpz0@|`LO(e@{DtbM$fKMY~`23X4SSl>j`SHp4eA4U -nejLA=oV~aphs4|WzwsY<@NADvvLz#&E*UWJ%2+gqrLx{QKpz7Z> -5h@$>Nng#V(>>m?!^9UOe~-RNMHc!B%f8)}N%(UL}^2n?5kage6=-B7`^gv(4UECC#ma=W@tc$}@p=- -_XE#r0@~AAariPLEHYjZqo++>6H$b9N({hMWJNwjlX`Rl#7H|tA9s;wt|WKdzKpXYnUTW=5v-qtP_QG4D?{ha4O}B+)`2fP%nC0@(S;Sa<-ay&cix+I87wZG;92wky2D~qqAqa%B0z+ -vH?(CF>OFF%aWe>}S&le6zHe!a@Gg2!Hsg9^bQW(}i0OMgHPQNoNy*LU!^2siu#@|VM=tesiyo?En5a -xhup`=0iXLN&<>iBU0QWKM-tfS}ywE?;7-rBpJbijD<~eFZ+&_n;~qcmu1m582ImY(hHCvg=~iS1>if -Z1p*ZC51iMxWqGLgZ#gMen3W- ->O_s()nmx-LEyqnZ>x6bdvE1i{&xO0C*DAV0_ -zbl=+fnbC5@NWVlvn3;5a-{Wd#Eze5jt4o{Uc6!>N*c8 -zM<)NQhgO!-UVXk_BAO>H=1(wua`&ZZR$O9g<3G``QDiZ)(gcd1A0h0*tC`A)ts@WJMZdJgQ>u*ThsR -!sfb-@J(Pjva78fn_8q96)Q;})wTLp#Dxc|?4ngzKKI_{LVU~woVSXH8$Pt#Py5q*W#y&# -d#kUD6OBLJ|H^@s3bhi}m?aY>xCeSVgBw)7@6e#!?)P)vR_~**R<2=vuogxz8xS)bcnYWEHgubV=y*F -sZLyMu;j1J@Qwz)qYC+djAIZoeuZO&0|Bm(kP?vbzB+6=b9L7BD!nKo<%fL8!*=wl?_1ImhB?I{YZ?} -EI(d^$SNbzDV81cru4D7z|ESrlR_W@CHbCus0wR!9~EDg>+YeoCQXNFti*G-2)>mHHh5oNQ2v!M+MKF -F;QBEyhY5mMj$D7^lgs1mAlTwx{@Z2IA`|#1~#GKv_>YxN;qtl-aKIG4|L{o+WmTSevlZrxH3 -_;613|@2RUOwih8RJoxr}+*o_?ZOUL-ub#A5XRPc^Ov94!RRI-vPSX^-w=%O03By1E`e)@51UAq}6&lswH#BFl0LILj$YaW;q7aDYUi_ov1Et-s!5q1Zcskwnk~zR%`VXF -8YMg92zXJ-ISH~#~T#~uj(teqh-sHfV_I4Y*FZ>I?I+0IXv7Tnc3E&%C#{PoKiyaYx0 -p@o%uz#hK1_&N=Pe(- -s1qP9SN`lU(3khl^qfyZl_hH^#H#YJoKZ13X{Ct*G80SxH(m=yz~+l`}OYRe2U8yXtyinOA!Neax1aa -M$=8d5zumB`6U!5dB#Rcg1#nrf^p+tZbnVtqIF2=3uBXe;YO!YXwlv^Xdgu_wBGYW2iHBbxz2cUQz)Y -D%Tm0a@|Cyx`oQywXuvf#e2m#s46q$4xN|_%LN;KW|vmAH`EQZukSD8h}-X>v -b+-W>}^MN2SMA}bqWh$<@P&cHyds_DawRl)25B;vIm}w~RC~hZ#a0B@~y2hUr8VSbiZw2->VKp*S}oiQDgI1R&V1}kowh~ZL83RSEzEL8ueFzJ)0#bi7wXP#7qn0lJ1pEd?zBnH42Roku6gR2=R -rD8I86^P^TL_0{FZZm;*47?*?DY@*WUlleXUJ*GDwH8njoi8enG$U@x#BdN`CzCA5$l_tj;>wtdFhWa -X9{gR)68vX=r@EgLy;P8vX!u}BQSy7=!XC1Y$ -IYg`QFBTR4JNv{xd#F1DxC_`oLqz -FP;=$B8jRt$4Q<43YLYLt!Cq)54&R$=r@VfX7%)Q#^WTS()?(|GqTKb=VC{10E -C$2>pvMi#|z%fwwjoij7O>;Q^CDBYEK<#)~ZM6|9EgCNL$T9sRk`Kr&!WQicB_w_{ox;}+f%Z9-~1n%AZSbz-L$ne7j;h -t9m3yFKDuL?*HOuLx?42DXUjCO1JLZ#A;fGiTc!Jc4cm4Z*nhpWnyJ+V{c?>ZfA2ZY++($Y;!Jfd5xM)bF(%OfbaPgYI^V`%2;4N?3o_=ejGZJ_L -3gn8-uZ8E5_gf+&JyDzrBDlNV_Y*IV4^lR{JHf?BwzB@!^5hpAWf}S(5KmwlAO4cq`MgmH&r7w;O(s& -+L8&yWPO5oK**@3YNtu`F!IxNq+t;)c#Oy*w_1?%vlPDZ9mzoI^`LAjn68((Wy#gR>}?g^7`$Gl~S^o --@bnTDEN+ofcezLvHWD!? -#*DQTH-mHE;e?C0C{QBkl%PaeZ{nMJUxMZq!O>$BHT&g!7E;g;W{qw0~db$2V3`PJG`aVY3LTyjYl@3 -bI6b7NP`@R{0D1_2f=4l!V%Dc-cn#R*TxRqh;&Lz*i{XE83YA4 -7gZMgIM7RxUvO&h2l8F#tx(d-h=6CJm4!M;0PwbA>c{<5J>BTzPV`ty&lvqQyM*#8IShbgPB=b!sEfr -c$UmS(3@jpG}p!sq%+flaS?A}aCERg!{hRl^I#d;Y%~x1M&wI!D-fWX0k*l;ttCL2oZ@=NSS#E|x%TN -e5+K*S83)xQ*i?@bOfQX190AdDngXM_UUwk<-dt|7gzLtGRGxh>=e+^#*SU#6T1QD#EgYXYRVYY -0>5&d`Wg9s#X|8=}n2Sh@r0GrR}?QspI1XT)(xA${V8_1T3ZNuFmKn&$iFjR>qyqC;u;qycra1J^hD9 -~;@E(z9#{gTyMwNE0N86RuDi=i9tQ9&W$~f1UH);qgfgnnDJ&!g$4C<-$x4;nca}5k)J5 -ZVCTHPzP~||j7lBgq1`@q;N-v4Fpcpei5C#a^009gTb_04e&Po+s-RBh-Yro$+I@*t6;xbWq50YrRJR -a@PXejWRLZkg@O4gr_HWNFnmPY%kCTkU1rmJJe{IDKtd|Xh&i6?dYZCM8%M(A -tOuM0i_KGo7N)4<1P(#2?Jc(02del2YnRUf_VI+p+uwLSxOt9!fRU%psCv`oP%Peqv+Zm0X$NhWow5v -^|~hNbr`F8Q}t?2;1EuthK#I%6{rC?nIRL~fTIR@gaICHfCmhKBQ^?cLENZos81N+(+2p!063+g&=w5 -F38#0YHofsV5La_l~jzz38)wgaII60_HmJ;~3*l&-+!Lr -{vu7KyILDXB%3vXC>f3oQWr2!HVfe-`_%}1v}-~pIPbjKNpxlUX;rNvxDgi9B7k$3TZmh*S5h(nijaR -+YIo;ZwdVh!PkW0{nOE*(iSPAD>wl3L0@uKY@<0b1lGIUjd#r|LaE$6f6#Y9W6=-=XdsT*`#5oWcOqm -X@=09D{4~*hn=}7mbriSsv6|^{&itw!)~9-d~f-=on}3u>C+>E8sw#jf-Y*5V3IggTfW>y2psSa!MoS -+SDG=OLUWvV=+K=9eVy!Xe}Xvx^Gne2dHl?%qP1E9rHpOZ=WPoMoHAz#C4;_ptTiheH#x!4Mms&&^n<86n}2=~{uZ3*gV?}OU~l3SU@5I_z^?pK%7X9YTm3ZIY0oD^{Pghe!~alA0|X -QR000O8CKQ-XP=7HWL;?T+83h0UBme*aaA|NaUv_0~WN&gWcV%K_Zewp`X>Mn8FKugVVPa)$b1rasy; -Dt(+At8k=T}Urke!NV+dU$2=Kw?p3k^#JRY}YmdRJFf-{gDK*RC}x=C64{(jpsejU@*us@ -Z*4Ml$ENv+}fh~DcBl?jXQt;HB!)b+@fTLIRv-EOOC_pP+AlN7-g1~I -8m)KY0?oP`N22_a9Z&?~pz_9_K@Wg5B&XsvN7xW)}g*8C5L-os+CfCmLqIl!8`cYf)|j$7Dpf#APv?^ -MGaub2?0UXD7X?yh8^PgyqmayOmLy)3^ougfZ)r7g-!6@SB^2DPCVK1EcX7a|C+DcO^J)Z-!IJDHXw= -t5Q(;JgQi0xN&ItuiOzGG09IFsm(X?@6@L-yv4hyr|K$A|=dLoWJJjo$)*!=aTdew-t8iSVMrGPnwD+ -s|0M=u@or17Jf$ktS$Q-J&K+Ojue@nFI#~}hq9)9N)lc}J04p99z96{L!d1S@y`dKUBZuWPL`(}`SsD -?O3t(n$;lsb(I$ix&x%VLLAh@izJam~G-VkYjFe@=xGYQ3wvF#9NBe#vJLmNH=B5*@uo|o4uw(A9EtJ -{boSP}w80>igP)h>@6aWAK2mmG&m`-OnaHqKi005&I001EX003}la4%nWWo~3|axZsfVr6b)Z)9n1XL -B!fWpi|ME^v9ZS4(f(Mi9R1S1b|)qykBhTqLms_+Z5nU_fyS$T?XCv7}b^HZ&=4m$7{5q5UJh7AVl(d -vp6s`b#?dB9|}gVMnk`ayj2OkDZ+vy+%R2q|wa?rF_*rZoPW-s?|d9xhFn})H~MWgmEU9f3AF#_$l%+ -qX80DLUX*Pk&+H+Kq5v)XgojbAVvt9oqwE -M%qNn2NjRn<18QmXDv9rq=dDtnCdBg)y<5i#M`=XC1mcBYQi4OK1$*Yb8^-b1blpL-)A3|B?*Ofk?;z -#&&!l+LvDaiM#M+n3>2bT&YAwkMVa7`7V-Z -H&L`m7Lkx&@Ey6q21FUUh$ABQ?Z*dx3#Ug0xz`xs$KQ%5xOPwHAJ5Ox{jE5&Y>fk=4{JG=b0uk;cTb~ -be9yXrqjyKOR#FyskB{FCyMw)8A?7sN4>CKwJijp_;`hU#Gl-Jal5$Klci#uF+e~V009qCVZ4}SJ6ltuC5!UteWax)$x}Jlrag|RxP=1$)rL+lU^QJN -oobAQ4ne|jc|B!nWUr)QdXBN(S^Rj5)J8PJ5|}DCc%m!1_b#ShRAelBn|*WI3eg84xv1&^g}$3^8}QK -1QLJ|?y4N@fp7{vsNJq)qfR-2$&Z(~+KEmhsZAw&vB;bDHj_NEapY~*cNUw;bg>za;S1N`hs6dD!C6N -$I_+&#rc*or{Js~i(Alr9_l6q1`$6l*goDu8Kw+V+4bd4~Y`0ljFE+=05iC<_RekyImp}3nlf7#{#ZV -DGgel*2)m#;a+|FXx-AW*btHa?AW&x#{0lz-l9Qs`oNqrU<32RIe=U2`t=$`UhH2(al)u3QHfiIBv`- -=_PPTn27_lc!o@V+~q5-%y9`DpFS -Hh}PYPl#_pbc_qF+nVrn?8G~3+2gUtcmmUfOCvcMu3)hBaq!hMV}~_1WYc3dk`$-NMvBr8Q<$`RKgBd -MbENHNy>YS=+gt27JAlMcdl*iJvVw)s?}WZ3VHj88YI#QnM@&%9rwKzz^gNm@=c^GBjdVwjnl^f1gtK -%i(mEY|KK0G_QGjzb6?VKxr_<@#o+=zOEX$kxpB=7eyHxVz;B%okYOMJ4@$X$ZO7qS$JSt5!&);qx=V -^5>lp6i;a=LCaR&&@l-4qDAP^oD|mgclVW__3p<&iB{_}cF1n;KjA6>b|{_^J6Ms#r$%z(GiAkd@}#q -&55HC%-StWSaC-Eq7lwH8H;&pKtS-{=Stj%P>i&6UVSOC7D(uv$33H8&Al3TGr&5Qny3`cGLm;0{Hri -%>aL1Y?i~FR^vfQx1kcSG@CFo_4b1Z?77^Vufhst&VMoKH2 -V;o!L%pO2`O$khyK8K{<1Yi#`wP)h>@6aWAK2mmG&m`>XU{MMxe007ev001fg003}la4%nWWo~3|axZ -sfVr6b)Z)9n1XLB!jUv+b3a$jU+W@&C^WG--drI&4c+cXr0zvowol#+y{Ax_se4hzur1qx%7bueHrL6 -(jhgX09*p)D`_?I`w9^rT%s>>^+8b1X|b_p#io-V$oA)BJKImZjMlHk!?5qaobyiW17}v7&c9Sr%j`n -oOFLuEyWq|Em``%tbm|WHh6^lw~^4#oUN;O5%EFwb%|XCj2hFdfG_M7dJM&oR%YTLXQ -7P^p&G_UW@Qbl<|Bk}m+xGM@G@#O62ybaVgrmb}KTEvu`zCAZ)#SGIn_*-2Ha_5HXz!du_h8+ -RIHHa>Ozr}ym3YMI_W&3V~>{jOq<>Aqrl1d4rESKp`D&5mvqd#kNj>_urw&R*EnnQT{wtLqoWA>MuAr -retPjHJG2YCW_$b#=toFT9w|^)jQ?X?KgRrcTn_%*9yXX+Lw9+SMAloYA>D6hM -o4YYor}a=89!NdIj_)3*JGa&=Y~0F^v%a;c>}_Q~##Z3)Rn^xqHo4pAaEFfhfr;m<2j;Gc^P6(&{v_> -=T)g^|qg+A4%KVbrgT4LENGxocm+jVSgKgUq+d@s}clU?|9)B9}Z6{p-_%e!tUcY@Q3(_PW -ijSJ(Z1YaK=*9E5N;gbzcw7sCAz9)xh{!_o(N7)(N_d}zZp3ZYqtQK&Qul}4e`C{!ASN~2I|6e^8ErO -_~iaR_AyL$#3#p$=iFH}drg<_F9sbBp;QbDQ~5&1S1v=WV{;VSdbf!0a-2m_6nvOy4ZuDc>gFBi|t39 -p4(?7vB`$krDG#<|F2q`5E(b<`>LE=40j&^O$+UJY{~#{EB(T{F?a<^9l1?=2PZ(%yZ`V%xBCC=5yu` -%paLAm_IRpX8yu_=^yng4qh|gFel7knf@I4L*!48KR*8K_=9uFoHA49Z_MAB8FR+;Z`Yi;VE)1MuUEn -JujP{YC-aJV&Aeg$#r&K35A$E<+x0teuzqKk=3v;zB*J8X$u1@jG1&iP0xUpBQ~4`bhMV=p)fbqK`x$i9Qm2B>G77k?14QN1 -~5JABjE^eG>FZ&?iBk1bq_pNzf-jp9Fmp^hwYsL7xPD67)&XCqbVCeH8jA^ik-e&_|(y_`e^jg=%dj`qmM=(jXoNEH2P@t(deVmN28BMAB{d5eF%LBeF%LBeF%LBeF%LB -eF%LBeF%LBeF%LBeF%LBeGK{-^fBmT(8r*UK_7!Y27L_r81ymdW6;N-k3k=UKF0ZU>VL0K_ya^#|Mxa -FzvaT$hySulmT9Kjx4%vQ15ir=0u%!j0000803{TdPMH5nbQb^s02KfL01p5F00000000000HlEc000 -1RX>c!JUukY>bYEXCaCuNm0Rj{Q6aWAK2mmD%m`-N@Pvb`c003_S000jF0000000000005+cL;wH)aA -|NaUteuuX>MO%E^v8JO928D0~7!N00;mj6qru3qg%Na1pojx3jhEa00000000000001_fw%zx0B~t=F -JEbHbY*gGVQep7UukY>bYEXCaCuNm0Rj{Q6aWAK2mmD%m`+Sf-XSFk007_|000^Q0000000000005+c -1qT2CaA|NaUukZ1WpZv|Y%gMUX>4R)Wo~vZaCuNm0Rj{Q6aWAK2mmD%m`V>WaCuNm0Rj{Q6aWAK2mmD%m` -=ssY!O8#002vg000>P0000000000005+c8z}$)aA|NaUukZ1WpZv|Y%gSQcW!KNVPr0Fc~DCM0u%!j0 -000803{TdPCc!JX>N37a&BR4FJ*XRWpH$9Z*Frg -aCuNm0Rj{Q6aWAK2mmD%m`?vr(~s&d005Gt000&M0000000000005+cw_E@KaA|NaUukZ1WpZv|Y%gh -UWMz0RaCuNm0Rj{Q6aWAK2mmD%m`)#5(^qZ^000yl000^Q0000000000005+c)r$ZCaA|NaUukZ1WpZ -v|Y%gqYV_|e@Z*FrgaCuNm0Rj{Q6aWAK2mmD%m`?PpF}N2H002lc000{R0000000000005+cdzJtIaA -|NaUukZ1WpZv|Y%g$Sa5OSCbYW+6E^v8JO928D0~7!N00;mj6qrsy2IMbE3;+NmDgXc)00000000000 -001_fy<@<0B~t=FJEbHbY*gGVQepOd2n)XYGq?|E^v8JO928D0~7!N00;mj6qrsZoE7Oa5dZ)fI{*L} -00000000000001_flRXi0B~t=FJEbHbY*gGVQepQWpi(Ac4aPbc~DCM0u%!j0000803{TdPKD;r=fp1 -n0Ogc!JX>N37a&BR4FL!8VWo#~Rc~DCM0u%!j0000803{TdPR@ -7gG-v<-0E7Sl0384T00000000000HlGf^Z)>GX>c!JX>N37a&BR4FJo+JFJE72ZfSI1UoLQYP)h*<6a -y3h000O8B@~!W@a4dpS_c3C!xsPmBLDyZ0000000000q=8WN003}la4%nJZggdGZeeUMV{Bc!J -X>N37a&BR4FJo+JFJfVHWnW`&ZEaz0WG--dP)h*<6ay3h000O8B@~!W;z+Y?y%_)i1zi9D9{>OV0000 -000000q=8Qh0RV7ma4%nJZggdGZeeUMV{B@0%X>c!JX>N37a&BR4FJo+JFKuCIZeMU=a&u*JE^v8JO928D0~ -7!N00;mj6qrsvlkVAv3jhG3Bme*#00000000000001_fg&ma0B~t=FJEbHbY*gGVQepBY-ulWVRCb2a -xQRrP)h*<6ay3h000O8B@~!W+pKr?eE?y-E^v8JO928D0~7!N00;mj6qrtZx0!e20RRA&1po -ja00000000000001_fvhV>WaCuNm0Rj{Q6aWAK2mmD%m`)kL=AZ5e002}U001Wd0000000000005+c<39laaA|NaUukZ1WpZv| -Y%gPPZEaz0WOFZLZ*FF3XLWL6bZKvHE^v8JO928D0~7!N00;mj6qruxuqb~01^@ux82|tx000000000 -00001_ffh*t0B~t=FJEbHbY*gGVQepBZ*6U1Ze(*WWN&wFY;R#?E^v8JO928D0~7!N00;mj6qrs%F_c -F$1ONcL3;+Ni00000000000001_fm2Wc0B~t=FJEbHbY*gGVQepBZ*6U1Ze(*WW^!d^dSxzfc~DCM0u -%!j0000803{TdPWghuS=<5u0Fed&03HAU00000000000HlG$Q~>~RX>c!JX>N37a&BR4FJo_QZDDR?b -1!INb7(Gbc~DCM0u%!j0000803{TdPJvxS8Px#*073)+03HAU00000000000HlH3R{;QUX>c!JX>N37 -a&BR4FJo_QZDDR?b1!IRY;Z1cc~DCM0u%!j0000803{TdP9#6m=@bc!JX>N37a&BR4FJo_QZDDR?b1!Lbb97;BY%XwlP)h*<6ay3h000O8B@~!Wg?DcI+6n*wwkH -4p9smFU0000000000q=7(h0RV7ma4%nJZggdGZeeUMV{dJ3VQyq|FKlUZbS`jtP)h*<6ay3h000O8B@ -~!W4*TzM92IC005H<001KZ0000000000005+c-iQGJaA|N -aUukZ1WpZv|Y%gPPZEaz0WOFZdZfS0FbYX04E^v8JO928D0~7!N00;mj6qrt22uDzd2LJ&78vpbYEXCaCuNm0 -Rj{Q6aWAK2mmD%m`>FkRK%14000#P001EX0000000000005+cSd{?)aA|NaUukZ1WpZv|Y%gtZWMyn~ -FJobDWNBn!bY(7Zc~DCM0u%!j0000803{TdP9q~7==A~s0Llme044wc00000000000HlE{mjM89X>c! -JX>N37a&BR4FKusRWo&aVW^ZzBVRT<(Z*FvQZ)`4bc~DCM0u%!j0000803{TdPDbJ@7s>$u03-we038 -4T00000000000HlFrngIZCX>c!JX>N37a&BR4FKusRWo&aVX>Md?crI{xP)h*<6ay3h000O8B@~!W^i -}}3kp%z%uMz+N8~^|S0000000000q=9Li0RV7ma4%nJZggdGZeeUMZEs{{Y;!McX>MySaCuNm0Rj{Q6 -aWAK2mmD%m`(ry0006200000001Na0000000000005+cG@=0jaA|NaUukZ1WpZv|Y%gzcWpZJ3X>V?G -FJE72ZfSI1UoLQYP)h*<6ay3h000O8B@~!We^K*hO9lV{^%DR9ApigX0000000000q=9&%0RV7ma4%n -JZggdGZeeUMZ*XODVRUJ4ZgVeVXk}w-E^v8JO928D0~7!N00;mj6qrtuuuJP7~*9RL6T0000000000q=9C}0RV7ma4%nJZggdGZeeUMa%FKZ -Utei%X>?y-E^v8JO928D0~7!N00;mj6qrt??u(Tt4FCX#EC2u@00000000000001_fq}^Z0B~t=FJEb -HbY*gGVQepQWpOWKZ*FsRa&=>LZ*p@kaCuNm0Rj{Q6aWAK2mmD%m`=CJ9(H>W005FT0012T00000000 -00005+c=hguLaA|NaUukZ1WpZv|Y%g+UaW8UZabIR>Y-KKRc~DCM0u%!j0000803{TdPFd}F5g;c30E -Cc!JX>N37a&BR4FLGsZFLGsZUukZ0bYX04E^v8JO928D0~7!N0 -0;mj6qrugT)mY*2><}J9smFw00000000000001_f%^^u0B~t=FJEbHbY*gGVQepQWpOWZWpQ6~WpplZ -c~DCM0u%!j0000803{TdPLSc!JX>N37a&BR4FLGs -ZFLGsZUvzR|V{2t{E^v8JO928D0~7!N00;mj6qrtLDn=dl7ytl4S^xkd00000000000001_fwCL|0B~ -t=FJEbHbY*gGVQepQWpOWZWpQ71ZfS0FbYX04E^v8JO928D0~7!N00;mj6qrr`00002000000000V00 -000000000001_f#@{?0B~t=FJEbHbY*gGVQepTbZKmJFJE72ZfSI1UoLQYP)h*<6ay3h000O8B@~!W< -93tkC<_1pwj=-m9smFU0000000000q=6?k0swGna4%nJZggdGZeeUMb#!TLb1z|VaAaw6b1rasP)h*< -6ay3h000O8B@~!WhmVcyK@0!@XCVLp9RL6T0000000000q=Ab;0swGna4%nJZggdGZeeUMb#!TLb1!3 -WZE#_9E^v8JO928D0~7!N00;mj6qrsJog%or1ONaC3;+Nk00000000000001_fd@_k0B~t=FJEbHbY* -gGVQepTbZKmJFJxtKa%E#-bZKvHE^v8JO928D0~7!N00;mj6qrtg=M^V00ssKQ1ONaZ000000000000 -01_fdf+l0B~t=FJEbHbY*gGVQepTbZKmJFJ*3HZ)9n1XD)DgP)h*<6ay3h000O8B@~!WLO=oM%mDxZ- -U9#tApigX0000000000q=9i&0swGna4%nJZggdGZeeUMb#!TLb1!CTY-MwKb97~GE^v8JO928D0~7!N -00;mj6qrs`wKH691polj3;+Ne00000000000001_fqYj20B~t=FJEbHbY*gGVQepTbZKmJFK29NVq-3 -Fc~DCM0u%!j0000803{TdPP*~=1bX>c!JX>N37a&BR4FLi -WjY;!MYVRL9@b1rasP)h*<6ay3h000O8B@~!W{Yh&&H4Oj&mn{GQ9smFU0000000000q=A=W0swGna4 -%nJZggdGZeeUMb#!TLb1!UfXJ=_{XD)DgP)h*<6ay3h000O8B@~!Wm1T=>NhSaQvVH&n8vpc!JX>N37a&BR4FLiWjY;!MdZ)9a`b1rasP)h*<6ay3h000O8B@~! -WkubPZ_y+(0>=pn39{>OV0000000000q=E340swGna4%nJZggdGZeeUMb#!TLb1!dobYx+4Wn?aJc~D -CM0u%!j0000803{TdPHw<{yS)Pd0JjPN03ZMW00000000000HlE>paKAJX>c!JX>N37a&BR4FLiWjY; -!MgVPk7yXK8L{E^v8JO928D0~7!N00;mj6qrsHqVh_+0000M0RR9e00000000000001_fgq#;0B~t=F -JEbHbY*gGVQepTbZKmJFLPydb#QcVZ)|g4Vs&Y3WG--dP)h*<6ay3h000O8B@~!W5!tnt=LP@(+Y|r* -9{>OV0000000000q=6u%0swGna4%nJZggdGZeeUMb#!TLb1!sdZE#;?X>u-bc~DCM0u%!j0000803{T -dP8$Or4_*QQ0A&OK0384T00000000000HlFLtO5XVX>c!JX>N37a&BR4FLiWjY;!Mkd2nfNXD)DgP)h -*<6ay3h000O8B@~!WH3&C`j1T|-^fdqg82|tP0000000000q=DV80swGna4%nJZggdGZeeUMb#!TLb1 -!viE^v8JO928D0~7!N00;mj6qrsc7of>T6aWAPO8@{J00000000000001_fuO$v0B~t=FJEbHbY*gGV -QepUV{bYEXCaCuNm0Rj{Q6aWAK2mmD%m`)JBSdf$i005s1000{R0000000000005+cA=Cl@ -aA|NaUukZ1WpZv|Y%g|Wb1!0HdSPL5E^v8JO928D0~7!N00;mj6qruy$E*9H4*&q5G5`P=000000000 -00001_f$rD>0B~t=FJEbHbY*gGVQepUV{=}dc~DCM0u%!j0000803{TdPE9@4;ZpVe03H -AU00000000000HlG%=mG$6X>c!JX>N37a&BR4FLq;dFKuOVV|8+AVQemNc~DCM0u%!j0000803{TdPU -nrvePap$0Oub703QGV00000000000HlFb?E(OBX>c!JX>N37a&BR4FLq;dFLQNbc4cyNX>V>WaCuNm0 -Rj{Q6aWAK2mmD%m`?Rsje!{k001r$000*N0000000000005+c^!EY)aA|NaUv_0~WN&gWUtei%X>?y- -E^v8JO928D0~7!N00;mj6qrumUj{Tl5&!_>UjP6W00000000000001_fkOTQ0B~t=FJE?LZe(wAFJW+ -SWNC79E^v8JO928D0~7!N00;mj6qruxZmG*9CjbERr~m*J00000000000001_fwm9>0B~t=FJE?LZe( -wAFJx(RbaHPlaCuNm0Rj{Q6aWAK2mmD%m`*N@iz0qI008Va0RR{P0000000000005+c4mbkeg=WO8M5b1rasP)h*<6ay3h000O8B@~!WFobuJ|K7ytkO0000000000q=CY70 -|0Poa4%nWWo~3|axZXsaA9(DX>MmOaCuNm0Rj{Q6aWAK2mmG&m`)*kyb8|=008tR000*N0000000000 -005+c_gVx1aA|NaUv_0~WN&gWa%FUKd1-EEE^v8JO928D0~7!N00;mk6qrtEzg*Go9smHuegFUx0000 -0000000001_f%{|x0B~t=FJE?LZe(wAFLP;lE^v8JO928D0~7!N00;mj6qrtk0whkX0000k0RR9b000 -00000000001_ffZgg^QY%gD5X>MtBUtcb8c~DCM0u%!j0000803 -{TdPD-13rvd^101pKK03ZMW00000000000HlEjg#-X_X>c!Jc4cm4Z*nhVVPj}zV{dMBa&K%eUt?`#E -^v8JO928D0~7!N00;mj6qrtU7M&J|1pom55&!@r00000000000001_fk%e~0B~t=FJE?LZe(wAFJob2 -Xk}w>Zgg^QY%gJCVQ_S1axQRrP)h*<6ay3h000O8B@~!W#$vopG64VpB?ABeApigX0000000000q=68 -P1ORYpa4%nWWo~3|axY_HV`yb#Z*FvQZ)`7PVPj}zE^v8JO928D0~7!N00;mj6qrthmShtW0RRBE0ss -Ia00000000000001_fq{+$0B~t=FJE?LZe(wAFJob2Xk}w>Zgg^QY%gPPZE#_9E^v8JO928D0~7!N00 -;mj6qruhwv5__4*&pyH2?r600000000000001_fzyu!0B~t=FJE?LZe(wAFJob2Xk}w>Zgg^QY%gPPZ -gg^QY;0w6E^v8JO928D0~7!N00;mj6qru)(f%6x0{{T!2><{m00000000000001_ft{ZO0B~t=FJE?L -Ze(wAFJob2Xk}w>Zgg^QY%gYMY-M+HVQ_F|axQRrP)h*<6ay3h000O8B@~!WlqGFmuLS@A<_`b>CIA2 -c0000000000q=DR{1ORYpa4%nWWo~3|axY_HV`yb#Z*FvQZ)`7UWp#3Cb98BAb1rasP)h*<6ay3h000 -O8B@~!WxKRxc*$4mtDjNU*B>(^b0000000000q=C<=1ORYpa4%nWWo~3|axY_HV`yb#Z*FvQZ)`7fWp -Zg@Y-xIBE^v8JO928D0~7!N00;mj6qrsFuAyD$0001=0ssIb00000000000001_f$Opa0B~t=FJE?LZ -e(wAFJob2Xk}w>Zgg^QY%h0mVQ_F|axQRrP)h*<6ay3h000O8B@~!W8NawNHvj+tRsaA1D*ylh00000 -00000q=6H(1ORYpa4%nWWo~3|axY_HV`yb#Z*FvQZ)`7PVPj}zb1z?CX>MtBUtcb8c~DCM0u%!j0000 -803{TdPV&hS!4U=k08tPC04)Fj00000000000HlGFv;+WfX>c!Jc4cm4Z*nhVVPj}zV{dMBa&K%eV_{ -=xWpgiPX>4U*V_{=xWiD`eP)h*<6ay3h000O8B@~!WsK-IyX8`~JSOWk6E&u=k0000000000q=E0c1O -RYpa4%nWWo~3|axY_HV`yb#Z*FvQZ)`7PVPj}zb1!mbWNC9>V_{=xWiD`eP)h*<6ay3h000O8B@~!W5 -m;ebHUIzsGynhq9{>OV0000000000q=BNm1ORYpa4%nWWo~3|axY_La&&2CX)j-2X>MtBUtcb8c~DCM -0u%!j0000803{TdP6_W6?=t`Z05t#r03QGV00000000000HlExy#xSoX>c!Jc4cm4Z*nhVWpZ?BW@#^ -9Uu|J&ZeL$6aCuNm0Rj{Q6aWAK2mmD%m`?o{2Bzp%0sv-L1OOfY0000000000005+cg}np-aA|NaUv_ -0~WN&gWV`Xx5X=Z6JV_{=ua&#_mWo=MP0Rj{Q6aWAK2mmD%m`>kP>w}sA007zm000{R000000000000 -5+csT2nQaA|NaUv_0~WN&gWV`Xx5X=Z6JV{dY0E^v8JO928D0~7!N00;mj6qru%&ks}N0ssIP1^@sb0 -0000000000001_fqWGQ0B~t=FJE?LZe(wAFJow7a%5$6FJE72ZfSI1UoLQYP)h*<6ay3h000O8B@~!W -IlqJu?>PVf7J2{x9{>OV0000000000q=B6n2LNzsa4%nWWo~3|axY_OVRB?;bT49QXEkPWWpOTWc~DC -M0u%!j0000803{TdPRr+KW;_D`0Nn-v03iSX00000000000HlG*QU?HVX>c!Jc4cm4Z*nhVXkl_>Wpp -oMX=gQXa&KZ~axQRrP)h*<6ay3h000O8B@~!W;8`d=JqZ8+!z2IzCjbBd0000000000q=7_M2LNzsa4 -%nWWo~3|axY_OVRB?;bT4CQVRB??b98cPVs&(BZ*DGdc~DCM0u%!j0000803{TdPKjA0h;jq~0Lu;l0 -4V?f00000000000HlG&Uk3niX>c!Jc4cm4Z*nhVXkl_>WppoNXkl`5Wprn9Z*_2Ra&KZ~axQRrP)h*< -6ay3h000O8B@~!W;Fn=qzXt#S_7eaABme*a0000000000q=A2A2LNzsa4%nWWo~3|axY_OVRB?;bT4C -QVRCb2bZ~NSVr6nJaCuNm0Rj{Q6aWAK2mmD%m`+^#H%O!f000IK001cf0000000000005+cfNTcZfA3JVRU6}VPj}%Ze=cTc~DCM0u%!j0000803{TdPJD*tWk~`60B -!^T0384T00000000000HlFyat8o#X>c!Jc4cm4Z*nhVXkl_>WppoNZ*6d4bS`jtP)h*<6ay3h000O8B -@~!Wy+WEXXafKMKL-E+A^-pY0000000000q=D~r2LNzsa4%nWWo~3|axY_OVRB?;bT4CYIW#$Na&KZ~ -axQRrP)h*<6ay3h000O8B@~!WLgTaCuNm0Rj{Q6aWAK2mmD%m`)%!#Ly}Q0 -05;9001HY0000000000005+cQilfsaA|NaUv_0~WN&gWV`yP=WMy008PV001BW0000000000005+cyo?6`aA|NaUv_0~WN&gWV`yP=WMyc!Jc4c -m4Z*nhVXkl_>WppoRVlp!^GH`NlVr6nJaCuNm0Rj{Q6aWAK2mmD%m`)8T)3TWo000g)001KZ0000000 -000005+c)e#5)aA|NaUv_0~WN&gWV`yP=WMypj00000000000001_fv+S80B~t=FJE?LZe(wAFJow7a%5$6FKTIXW^!e5E^v8JO928D -0~7!N00;mj6qrs1c_nI26953aOaK5K00000000000001_fdEwq0B~t=FJE?LZe(wAFJow7a%5$6FKTd -OZghAqaCuNm0Rj{Q6aWAK2mmD%m`?C$$;u!L001X4001cf0000000000005+ciD(D_aA|NaUv_0~WN& -gWV`yP=WMyc!Jc4cm4Z*nhVXkl_>WppoWVQyz*d2(rNY-wX{Z)9a`E^v8JO928D0~7!N0 -0;mj6qru_yRRu~2><|)F#rH100000000000001_fjEE&0B~t=FJE?LZe(wAFJow7a%5$6FKl6MXJ>L{ -WovD3WMynFaCuNm0Rj{Q6aWAK2mmD%m`;yotr)!t002=e001Tc0000000000005+c<%tLYaA|NaUv_0 -~WN&gWV`yP=WMyc!Jc4cm4Z*nhVXkl_>WppoWVQy!1X -klq>Z)9a`E^v8JO928D0~7!N00;mj6qru6GQ(uZ3IG6JD*yl|00000000000001_fi|iL0B~t=FJE?L -Ze(wAFJow7a%5$6FKl6MXLNOPYiV<6ZEs{{Y%XwlP)h*<6ay3h000O8B@~!WAWpXZXc~DCM0u%!j0000803{ -TdPBwKIP2B_l096eD044wc00000000000HlE%ya)hrX>c!Jc4cm4Z*nhVXkl_>WppoXVq<7wa&u*LaB -^>AWpXZXc~DCM0u%!j0000803{TdPOZ}ssB!}U0Ne)v044wc00000000000HlFD!3Y3wX>c!Jc4cm4Z -*nhVXkl_>WppoXVqa&L8TaB^>AWpXZXc~DCM0u%!j0000803{TdPHFbx59JI10EuG&0384T00000 -000000HlHP#0UUzX>c!Jc4cm4Z*nhVXkl_>WppoXVq2mo+ta4%nWWo~3|axY_OVRB?;bT -4yaV{>P6Z*_2Ra&KZ~axQRrP)h*<6ay3h000O8B@~!W){$p2AO!#bz77BYApigX0000000000q=CNP2 -mo+ta4%nWWo~3|axY_OVRB?;bT4yiX>)LLZ(?O~E^v8JO928D0~7!N00;mj6qrtRfJZ%W4FCYeFaQ83 -00000000000001_fgR)s0B~t=FJE?LZe(wAFJow7a%5$6FLiEdc4cyNVQge&bY)|7Z*nehc~DCM0u%! -j0000803{TdPW8XMJw*fn0L}^k03iSX00000000000HlG_@dyBLX>c!Jc4cm4Z*nhVXkl_>WppofbY? -hka&KZ~axQRrP)h*<6ay3h000O8B@~!WN5_!Yxc~qF@&Et;9smFU0000000000q=8rV2mo+ta4%nWWo -~3|axY_OVRB?;bT4*ga&u{KZZ2?nP)h*<6ay3h000O8B@~!WlLpr^0{{R30RR91BLDyZ0000000000q -=8KL2mo+ta4%nWWo~3|axY_OVRB?;bT4CUX)j-2X>MtBUtcb8c~DCM0u%!j0000803{TdPWL9XpP&Q) -0M-fs03`qb00000000000HlGC_Xq%RX>c!Jc4cm4Z*nhVXkl_>WppoNY-ulJXkl_>Wprg@bS`jtP)h* -<6ay3h000O8B@~!WZAzfivH$=8?*IS*AOHXW0000000000q=9q%2mo+ta4%nWWo~3|axY_VY;SU5ZDB -88UukY>bYEXCaCuNm0Rj{Q6aWAK2mmD%m`*+wr(cT$007(x000~S0000000000005+cWBmvKaA|NaUv -_0~WN&gWV{dG4a$#*@FJW$TX)bViP)h*<6ay3h000O8B@~!WBk*i@_ua4%nWWo~3|axY_VY;SU5ZDB8AZgXjLZ+B^KGcqo4c~DCM0u%!j0000803{TdP8)AUa)SZ@ -0DA`j03rYY00000000000HlG^3<&^mX>c!Jc4cm4Z*nhVZ)|UJVQpbAX>MtBX<=+>b7d}Yc~DCM0u%! -j0000803{TdP6!(e5l{sH02~zn0384T00000000000HlGH4+#KpX>c!Jc4cm4Z*nhVZ)|UJVQpbAcWG -`jGA?j=P)h*<6ay3h000O8B@~!WqA1qp?ganOV0000000000q=6t62>@_ua4%nWWo~3|ax -Y_VY;SU5ZDB8WX>N37a&0bfc~DCM0u%!j0000803{TdP8*_L`CI`207U`-03QGV00000000000HlFS8 -wmh#X>c!Jc4cm4Z*nhWX>)XJX<{#5UukY>bYEXCaCuNm0Rj{Q6aWAK2mmD%m`-Ne(&;ZN006w90012T -0000000000005+cc!Jc4cm4Z*nhWX>)XJX<{#AVRT_)VRL0JaCuNm0Rj -{Q6aWAK2mmD%m` -Md?crI{xP)h*<6ay3h000O8B@~!WOp>%zMKb^Zbjkn#9{>OV0000000000q=EH~2>@_ua4%nWWo~3|a -xY|Qb98KJVlQlOV_|e}a&sc!Jc4cm4Z*nhWX>)XJX<{#JVQy(=Wpi{caCuNm0Rj{Q6aWAK2mmD%m`=90h-L!@001Kq0015 -U0000000000005+cAkql{aA|NaUv_0~WN&gWWNCABY-wUIZDDe2WpZ;aaCuNm0Rj{Q6aWAK2mmD%m`? -5gg%biL008Wq0018V0000000000005+cU)Tu%aA|NaUv_0~WN&gWWNCABY-wUIZDn*}WMOn+E^v8JO9 -28D0~7!N00;mj6qrtq-GmaT3jhEPDgXc=00000000000001_fu8*d0B~t=FJE?LZe(wAFJx(RbZlv2F -LGsbZ*_8GWpgfYc~DCM0u%!j0000803{TdPEX#?6S@-s0RBJ#03HAU00000000000HlG02?_vkX>c!J -c4cm4Z*nhWX>)XJX<{#PV{&P5baO6nc~DCM0u%!j0000803{TdPHv@lC#$jm003$M02=@R000000000 -00HlF>9SQ(&X>c!Jc4cm4Z*nhWX>)XJX<{#QGcqn^cx6ya0Rj{Q6aWAK2mmD%m`=6@qPy500000000000001_fl8AL0B~t=FJE?LZe(wAFJx(RbZlv2FLiWjY%XwlP)h*<6ay3h0 -00O8B@~!W_Gl<9P8k3IUt0hG9smFU0000000000q=CQE3jlCwa4%nWWo~3|axY|Qb98KJVlQ@Oa&u{K -ZZ2?nP)h*<6ay3h000O8B@~!WEr?>m)UE&k09*k88vpc -!Jc4cm4Z*nhWX>)XJX<{#THZ(3}cx6ya0Rj{Q6aWAK2mmD%m`=Xn)X%de0079F000~S000000000000 -5+cZ(0oiaA|NaUv_0~WN&gWWNCABY-wUIcW7m0Y%XwlP)h*<6ay3h000O8B@~!WBkyPY!vFvP5&-}JD -F6Tf0000000000q=8(34FGUya4%nWWo~3|axY|Qb98KJVlQ7}VPk7>Z*p`mUtei%X>?y-E^v8JO928D -0~7!N00;mj6qru0iZ5l(0RRBY0{{Re00000000000001_fo6dX0B~t=FJE?LZe(wAFJx(RbZlv2FJEF -|V{344a&#|kX>(&PaCuNm0Rj{Q6aWAK2mmD%m`>tiJZ*p`mb9r-PZ*FF3XD)DgP)h*<6ay3h000O8B@~!WL_!}!Vp#wH)M)_#C;$Ke000000000 -0q=9q64FGUya4%nWWo~3|axY|Qb98KJVlQ7}VPk7>Z*p`mbYXI4X>4UKaCuNm0Rj{Q6aWAK2mmD%m`* -aR9Nk3%004>v001BW0000000000005+c8ygM)aA|NaUv_0~WN&gWXmo9CHEd~OFJE72ZfSI1UoLQYP) -h*<6ay3h000O8B@~!WbsBC3B@_SvK|ufjApigX0000000000q=B9t4ghdza4%nWWo~3|axZ9fZEQ7cX -<{#5X=q_|Wq56DE^v8JO928D0~7!N00;mj6qrsHH}m9P9{>O-e*gd^00000000000001_fdVoP0B~t= -FJE?LZe(wAFKBdaY&C3YVlQ85Zg6#Ub98cLVQnsOc~DCM0u%!j0000803{TdPQ*rP7QY+-03<5`03rY -Y00000000000HlGUQ4RobX>c!Jc4cm4Z*nhabZu-kY-wUIUvzJ4Wo~JDWpXZXc~DCM0u%!j0000803{ -TdPTF~la}ovs0Iv@K03HAU00000000000HlGTZVmu&X>c!Jc4cm4Z*nhabZu-kY-wUIUv+e8Y;!Jfc~ -DCM0u%!j0000803{TdPSy*C?^8$s06sc!Jc4cm4Z*nhabZu-kY --wUIV{dMAbYX6Eb1rasP)h*<6ay3h000O8B@~!WU)FBu4MYF{v(NzmBLDyZ0000000000q=A9G4ghdz -a4%nWWo~3|axZ9fZEQ7cX<{#EbZu-kaA9(DWpXZXc~DCM0u%!j0000803{TdPOt+FBDoL%0FFHX03rY -Y00000000000HlG>0S^FhX>c!Jc4cm4Z*nhabZu-kY-wUIb7gXAVQgu7WpXZXc~DCM0u%!j0000803{ -TdPVdvN52gSB03iVY044wc00000000000HlG)5)S}yX>c!Jc4cm4Z*nhabZu-kY-wUIUvzS5WiMY}X> -MtBUtcb8c~DCM0u%!j0000803{TdPH2qZRe=Ej0HOl`03!eZ00000000000HlGk6Au7zX>c!Jc4cm4Z -*nhabZu-kY-wUIUvzS5WiMZ1VRL0JaCuNm0Rj{Q6aWAK2mmD%m`)^BovEe)005c<001Na0000000000 -005+cbQKQ(aA|NaUv_0~WN&gWXmo9CHEd~OFJE+WX=N{DVRUk7WiD`eP)h*<6ay3h000O8B@~!WOHXd -j9RdIV?*;$>AOHXW0000000000q=8%)4*+m!a4%nWWo~3|axZ9fZEQ7cX<{#5baH8BFK~G-aCuNm0Rj -{Q6aWAK2mmD%m`(ry0006200000001Ze0000000000005+cw;2xraA|NaUv_0~WN&gWXmo9CHEd~OFJ -@_MbY*gLFJE72ZfSI1UoLQYP)h*<6ay3h000O8B@~!WfUpD*!T|sPmjeI*HUIzs0000000000q=Ek#4 -*+m!a4%nWWo~3|axZ9fZEQ7cX<{#CX>4?5a&s?XY;b5{Vr6t`V_|GzbaZlQVs&(7b1rasP)h*<6ay3h -000O8B@~!WB7pnEl>h($9svLVBme*a0000000000q=6M24*+m!a4%nWWo~3|axZ9fZEQ7cX<{#CX>4? -5a&s?YVRL0JaCuNm0Rj{Q6aWAK2mmD%m`?M+KNl7Q004mt001)p0000000000005+c>>LjOaA|NaUv_ -0~WN&gWXmo9CHEd~OFJ@_MbY*gLFKKRSWn*+-ZDn*}Ut?%ta&u*LE^v8JO928D0~7!N00;mj6qrtu(P -W@(0{{R!4gdfo00000000000001_fm0w40B~t=FJE?LZe(wAFKBdaY&C3YVlQTCY;^X>c!Jc4cm4Z*nhabZu-k -Y-wUIW@&76WpZ;bZ*X*JZ*F01bYW+6E^v8JO928D0~7!N00;mj6qrsx!2wY6761TMtBUtcb8c~DCM0u%!j0000803{TdPEw2!DO3Ug -0J8=F04o3h00000000000HlFfMh^gRX>c!Jc4cm4Z*nhabZu-kY-wUIbaG{7VPs)&bY*gLFK1?y-E^v8JO928D0~7!N0 -0;mj6qruL)uOES4gdi2H~;`C00000000000001_fgMo~0B~t=FJE?LZe(wAFKBdaY&C3YVlQ-ZWo2S@ -X>4R=a&s?YVRL0JaCuNm0Rj{Q6aWAK2mmD%m`(`lF8JFA004s`001Ze0000000000005+cT3`A4*+m!a4%nWWo~3|axZ9fZEQ7cX<{#Qa%E*=b!lv5WpZ;bWpr|7WiD`eP) -h*<6ay3h000O8B@~!W8c*uCUkv~NDmMTCF8}}l0000000000q=EKw4*+m!a4%nWWo~3|axZ9fZEQ7cX -<{#Qa%E*=b!lv5WpZ;bWpr|7WnXM~ZEP-Zc~DCM0u%!j0000803{TdPOWC#2$==|08$nJ04x9i00000 -000000HlGUfDZt0X>c!Jc4cm4Z*nhabZu-kY-wUIbaG{7cVTR6WpZ;bUtei%X>?y-E^v8JO928D0~7! -N00;mj6qrsSE!sjC2LJ#x9RL6*00000000000001_frW<;0B~t=FJE?LZe(wAFKBdaY&C3YVlQ-ZWo3 -6^Y-?q5b1!0Hb7d}Yc~DCM0u%!j0000803{TdPGyR3srLZ@0EGnr04D$d00000000000HlH9jt>BEX> -c!Jc4cm4Z*nhabZu-kY-wUIbaG{7cVTR6WpZ;bWN&RQaCuNm0Rj{Q6aWAK2mmD%m`=XM@-6BF0071j0 -01cf0000000000005+c9+3|KaA|NaUv_0~WN&gWXmo9CHEd~OFLZKcWp`n0Yh`kCFJ*LcWo0gKc~DCM -0u%!j0000803{TdPL>UvM`#8B0HqiJ04@Lk00000000000HlFWmJa}MX>c!Jc4cm4Z*nhabZu-kY-wU -IbaG{7cVTR6WpZ;bWpr|7WnXM~ZEP-Zc~DCM0u%!j0000803{TdP7_~k5Xb@m00jvE04e|g00000000 -000HlEfoeuzTX>c!Jc4cm4Z*nhabZu-kY-wUIbaG{7cVTR6WpZ;bXJu}4XlX8Rc~DCM0u%!j0000803 -{TdP5?(-n==3a06G8w02}}S00000000000HlEvpbr3WX>c!Jc4cm4Z*nhbWNu+EUtei%X>?y-E^v8JO -928D0~7!N00;mj6qru)NYv>X0{{Ty3;+Nb00000000000001_fq%008I!000^Q0000000000005+c(W4IlaA|NaUv_0~WN&g -WX=H9;FJo_QaA9;VaCuNm0Rj{Q6aWAK2mmD%m`)X!*;e)n007l3000;O0000000000005+cn4}K?aA| -NaUv_0~WN&gWX=H9;FJo_VWiD`eP)h*<6ay3h000O8B@~!W%rG=tL?QqH!=C^E8~^|S0000000000q= -Ce*4*+m!a4%nWWo~3|axZCQZecHJWNu+(VRT_GaCuNm0Rj{Q6aWAK2mmD%m`=B2^s?px007kn0012T0 -000000000005+cLedWaaA|NaUv_0~WN&gWX=H9;FKKRca$#;~WpgfYc~DCM0u%!j0000803{TdPAHI~ -LKgr402KfL03ZMW00000000000HlFq)eiu0X>c!Jc4cm4Z*nhbWNu+EaA9L>VP|DuWMOn+E^v8JO928 -D0~7!N00;mj6qrr|1KdMz5Z)0m_X>4UKaCuNm0Rj{Q6aWAK2mmD%m`))kynb^7 -000;a001Qb0000000000005+cNq7(daA|NaUv_0~WN&gWY;R+0W@&6?FKugNX>x3DV{2w_0Lm8t03!eZ00000000000HlHcdk_F{X>c!Jc4cm4Z*nheZ)0m_X>4 -ULaA{<0Z)0m_X>4UKaCuNm0Rj{Q6aWAK2mmD%m`=Ne@VyBI004p&001Tc0000000000005+cT7(b)aA -|NaUv_0~WN&gWY;R+0W@&6?FLQBhX>?_5Z)0m_X>4UKaCuNm0Rj{Q6aWAK2mmD%m`;%+3E4dZ001}&0 -01Wd0000000000005+cr-={%aA|NaUv_0~WN&gWY;R+0W@&6?FLQZqY-w(5Y;R+0W@&6?E^v8JO928D -0~7!N00;mj6qruu>Q|wG0ssJw1^@sb00000000000001_fhmm;0B~t=FJE?LZe(wAFKu&YaA9L>FJE7 -2ZfSI1UoLQYP)h*<6ay3h000O8B@~!W9n}zr761SM6aWAK9{>OV0000000000q=Dy;5CCv#a4%nWWo~ -3|axZOjXK-O-YcF4RWpZc!Jc4cm4Z*nhfb7yd2V{0#Ecw=R7bZKvHb1rasP)h*<6ay3h000O8B@~!WTr6(~KN|o5J -B|PV9{>OV0000000000q=DR#5CCv#a4%nWWo~3|axZOjXK-O-YcFPDY;0m-V{0yOc~DCM0u%!j00008 -03{TdPJavm7l;7>0O$e$03rYY00000000000HlFftq=fkX>c!Jc4cm4Z*nhiVPk7yXK8L{FJE6_VsCY -HUtcb8c~DCM0u%!j0000803{TdPGuVrL=*u405Spq03iSX00000000000HlE+uMhxmX>c!Jc4cm4Z*n -hiVPk7yXK8L{FJE72ZfSI1UoLQYP)h*<6ay3h000O8B@~!WW{TS5%>e)aVFLgFAOHXW0000000000q= -9p=5CCv#a4%nWWo~3|axZXUV{2h&X>MmPUt@1=aA9;VaCuNm0Rj{Q6aWAK2mmD%m`-bt9F=kb004*u0 -01Na0000000000005+cezFh%aA|NaUv_0~WN&gWaA9L>VP|P>XD?rKbaHiLbairNb1rasP)h*<6ay3h -000O8B@~!WBJ^Gp^a%g}Dj)y=AOHXW0000000000q=7QD5CCv#a4%nWWo~3|axZXUV{2h&X>MmPZDDe -2WpZ;aaCuNm0Rj{Q6aWAK2mmD%m`)W^p8Vwo003MP001Qb0000000000005+cWWEppaA|NaUv_0~WN& -gWaA9L>VP|P>XD@PPadl~OWo>0{baO6nc~DCM0u%!j0000803{TdPV$IG({C660D^1)03!eZ0000000 -0000HlG8#Sj2+X>c!Jc4cm4Z*nhiVPk7yXK8L{FLQ8ZV`*k-WpZ;aaCuNm0Rj{Q6aWAK2mmD%m`-6mt -(}Jg008g>0015U0000000000005+cJl+rhaA|NaUv_0~WN&gWaA9L>VP|P>XD@YhX>4;YaCuNm0Rj{Q -6aWAK2mmD%m`?FCa_fE#007D^001BW0000000000005+c|KJb+aA|NaUv_0~WN&gWaA9L>VP|P>XD@b -Ta&u{KZZ2?nP)h*<6ay3h000O8B@~!WP5}d;RR910Q~&?~9smFU0000000000q=CEc5CCv#a4%nWWo~ -3|axZXYa5XVEFJE72ZfSI1UoLQYP)h*<6ay3h000O8B@~!W$8flSW(NQOtrq|QApigX0000000000q= -8KD5CCv#a4%nWWo~3|axZXYa5XVEFJEbHUvP47V`X!5E^v8JO928D0~7!N00;mj6qrt_^9=w%1ONbw3 -IG5b00000000000001_f${bb0B~t=FJE?LZe(wAFK}gWH8D3YVs&Y3WG--dP)h*<6ay3h000O8B@~!W -AOZwdbp-$b{T2WK8vpc!Jc4cm4Z*nhiWpFhyH!ovvY;S -UGZ)YxWc~DCM0u%!j0000803{TdPDnn-g7N?W0Cxfa02}}S00000000000HlH52N3{pX>c!Jc4cm4Z* -nhiWpFhyH!ovvZE#_9E^v8JO928D0~7!N00;mj6qruMj+S)K2LJ$r761Sq00000000000001_feHx`0 -B~t=FJE?LZe(wAFK}gWH8D3YWo~w2b!lv5E^v8JO928D0~7!N00;mj6qrsC+V+(O2LJ#V7XSbr00000 -000000001_ffW%E0B~t=FJE?LZe(wAFK}gWH8D3YcXDBHaAk6HE^v8JO928D0~7!N00;mj6qrsgq{LK -4a{vH_r2zmX00000000000001_fmaw20B~t=FJE?LZe(wAFK}yTUvg!0Z*_8GWpgiIUukY>bYEXCaCu -Nm0Rj{Q6aWAK2mmD%m`-6N1J+9c001%q001Wd0000000000005+c;ENFeaA|NaUv_0~WN&gWaBF8@a% -FRGb#h~6b1!gtGcjXtZE#_9E^v8JO928D0~7!N00;mj6qrszX%kCq1^@v05&!@o00000000000001_f -pCox0B~t=FJE?LZe(wAFK}{iXL4n8b1z?CX>MtBUtcb8c~DCM0u%!j0000803{TdPM6HJxTXXE0456n -02=@R00000000000HlE$lo0@MX>c!Jc4cm4Z*nhia&KpHWpi^cVqtPFaCuNm0Rj{Q6aWAK2mmD%m`-@ -$xqFa%FRKFJo_YZggdGE^v8JO92 -8D0~7!N00;mj6qrsg;N7|k0{{SI1poja00000000000001_fhU|10B~t=FJE?LZe(wAFK}{iXL4n8b1 -!pnX>M+1axQRrP)h*<6ay3h000O8B@~!Wc*ke+Q~&?~e*gdg9smFU0000000000q=9aq5dd&$a4%nWW -o~3|axZXsbZ>2JFJE72ZfSI1UoLQYP)h*<6ay3h000O8B@~!WOgs63z5oCK{Q&>~8UO$Q0000000000 -q=EjQ5dd&$a4%nWWo~3|axZXsbZ>2JFJo_VWiD`eP)h*<6ay3h000O8B@~!WZ%4f&=m`J-Rww`f8~^| -S0000000000q=EFH5dd&$a4%nWWo~3|axZXsbZ>2JFK}UUb7gWaaCuNm0Rj{Q6aWAK2mmD%m`<$$+<$ -KY008|1000^Q0000000000005+c7ON2eaA|NaUv_0~WN&gWaCvlZZEP=eWpi{caCuNm0Rj{Q6aWAK2m -mD%m`>srbc!Jc4cm -4Z*nhkWpQ<7b98erUtei%X>?y-E^v8JO928D0~7!N00;mj6qrunt*Tf50002A0RR9a0000000000000 -1_ft0!t0B~t=FJE?LZe(wAFLGsZb!BsOb1z?Cc4cyNX>V>{UoLQYP)h*<6ay3h000O8B@~!Wh^aZd6a -oMMNCW@?CjbBd0000000000q=D4C5dd&$a4%nWWo~3|axZdaadl;LbaO9XX>N37a&BR4Uv+e8Y;!Jfc -~DCM0u%!j00008045ZePMkR|M2r*w04!7h03ZMW00000000000HlE}z7YU$X>c!Jc4cm4Z*nhkWpQ<7 -b98erVPs)&bY*gLE^v8JO928D0~7!N00;mk6qrr`5iTeQ1^@tU7ytkp00000000000001_f%no80B~t -=FJE?LZe(wAFLGsZb!BsOb1z|VX)bViP)h*<6ay3h000O8CKQ-XHt20c!Jc4cm4Z*nhkWpQ<7b98erV{dJ6VRSBVc~DCM -0u%!j00008045ZePQ51=I=~YE0RBe+03QGV00000000000HlFa=@9^MX>c!Jc4cm4Z*nhkWpQ<7b98e -rV{dP3X=QURaCuNm0Rj{Q6aWAK2mmG&m`=I4Y;ijT004aq001HY0000000000005+cQ2h}AaA|NaUv_ -0~WN&gWa%FLKWpi|MFJ*XRWpH$9Z*FrgaCuNm0Rj{Q6aWAK2mmG&m`<%dNAF4m008<8000~S0000000 -000005+c%K;JqaA|NaUv_0~WN&gWa%FLKWpi|MFKA_Ka4v9pP)h*<6ay3h000O8CKQ-X8%lHGc>w?b^ -#T9@9RL6T0000000000q=8Qc5&&>%a4%nWWo~3|axZdaadl;LbaO9gZ*OaJE^v8JO928D0~7!N00;mk -6qruaHj0)xCIA5Ag#Z8^00000000000001_fddE<0B~t=FJE?LZe(wAFLGsZb!BsOb1!XgWMyn~E^v8 -JO928D0~7!N00;mk6qrsDJl=t80RRBE0ssIY00000000000001_fp{(w0B~t=FJE?LZe(wAFLGsZb!B -sOb1!gVV{2h&WpgfYc~DCM0u%!j00008045ZePCw>@*h3%y0F-h703ZMW00000000000HlE-FcJW8X> -c!Jc4cm4Z*nhkWpQ<7b98erb7gaLX>V?GE^v8JO928D0~7!N00;mk6qrs*x@LBL1^@sd5C8xq000000 -00000001_fuc|n0B~t=FJE?LZe(wAFLGsZb!BsOb1!prVRUtKUt@1%WpgfYc~DCM0u%!j00008045Ze -PU(v|d36K;0Hq5603rYY00000000000HlFoR}uhlX>c!Jc4cm4Z*nhkWpQ<7b98erb98cbV{~c!Jc4cm4Z*nhkWpQ -<7b98erb#!TLb1rasP)h*<6ay3h000O8CKQ-Xk&FXPJOls$q6z>29{>OV0000000000q=ATm5&&>%a4 -%nWWo~3|axZmqY;0*_GcR9XX>MtBUtcb8c~DCM0u%!j00008045ZeP89bFCi@Hk0QxBa03!eZ000000 -00000HlEdh7tg9X>c!Jc4cm4Z*nhna%^mAVlyvaV{dG1Wn*+{Z*FrgaCuNm0Rj{Q6aWAK2mmG&m`)(m -1?V{u000j*001EX0000000000005+cJ(CguaA|NaUv_0~WN&gWb#iQMX<{=kV{dM5Wn*+{Z*DGdc~DC -M0u%!j00008045ZePOvU|YfB~o02zq@03`qb00000000000HlGnq!IvdX>c!Jc4cm4Z*nhna%^mAVly -veZ*Fd7V{~b6Zg6jJY%XwlP)h*<6ay3h000O8CKQ-Xz0_N$fCvBp%ozXxApigX0000000000q=7@r5& -&>%a4%nWWo~3|axZmqY;0*_GcRR$V`Xr3X>V?GE^v8JO928D0~7!N00;mk6qrtf^}-G;2LJ#!7XSbq0 -0000000000001_fdbSL0B~t=FJE?LZe(wAFLiQkY-wUMFJ@_FY-DpTaCuNm0Rj{Q6aWAK2mmG&m`)^C -wJClB004vu0018V0000000000005+cY1z?E00000000000001_fh6A&0B~t=FJE?LZe(wAFLiQkY-wUMFK} -;fY;9p~VP|D>E^v8JO928D0~7!N00;mk6qru@=-vpN2LJ$P7XSbr00000000000001_fzR?10B~t=FJ -E?LZe(wAFLiQkY-wUMFLGsZb!BsOE^v8JO928D0~7!N00;mk6qruQ`1mF`8vppk00000000000 -001_fv5Ts0B~t=FJE?LZe(wAFLiQkY-wUMFLGsbaBpsNWiD`eP)h*<6ay3h000O8CKQ-X000000ssI2 -00000CjbBd0000000000q=6h3698~&a4%nWWo~3|axZmqY;0*_GcRLrZgg^KVlQ7`X>MtBUtcb8c~DC -M0u%!j00008045ZePVO(B=Mn(`0L=mb05Jdn00000000000HlFq783w)X>c!Jc4cm4Z*nhna%^mAVly -veZ*FvQX<{#5VQ_F|Zf9w3WnX1(c4=~NZZ2?nP)h*<6ay3h000O8CKQ-X1b1H%a0~zdx+(wwC;$Ke00 -00000000q=Cd2698~&a4%nWWo~3|axZmqY;0*_GcRLrZgg^KVlQEEaAj_1X>MgMaCuNm0Rj{Q6aWAK2 -mmG&m`;RB)A_9h003(d001Wd0000000000005+cdL$D7aA|NaUv_0~WN&gWb#iQMX<{=kV{dMBa%o~O -ZggyIaBpvHE^v8JO928D0~7!N00;mk6qrsU6!e&@6953uJpceG00000000000001_fov)h0B~t=FJE? -LZe(wAFLiQkY-wUMFJo_RbaH88FK~HpaAj_Db8Iefc~DCM0u%!j00008045ZePNfXg=>H!80A+Rn04@ -Lk00000000000HlFkJ`(_NX>c!Jc4cm4Z*nhna%^mAVlyveZ*FvQX<{#PWn*=6Wpr|3ZgX&Na&#_mc~ -DCM0u%!j00008045ZePN@W-uzd#r0QVRG03-ka00000000000HlGaUK0RtX>c!Jc4cm4Z*nhna%^mAV -lyveZ*FvQX<{#PZ)0n7E^v8JO928D0~7!N00;mk6qrr`00002000000000u00000000000001_foEnD -0B~t=FJE?LZe(wAFLiQkY-wUMFJo_RbaH88FJE(IV|8+6baG*Cb8v5RbT40DX>MtBUtcb8c~DCM0u%! -j00008045ZePPbW$eOC_v0GLDo05|{u00000000000HlGxW)lE#X>c!Jc4cm4Z*nhna%^mAVlyveZ*F -vQX<{#5b7f<7a%FUKVQzD9Z*p`mVrgzMn8E^v8JO928D0~7!N00;mk6qrteb4!hL4*&pyF8}~J00 -000000000001_foygY0B~t=FJE?LZe(wAFLiQkY-wUMFJo_RbaH88FJE(IV|8+6baG*Cb8v5RbT4dgc -VBE}c4cfXaCuNm0Rj{Q6aWAK2mmG&m`;yfpnOmO003VP|D?FJE72ZfSI1UoLQYP)h*<6ay3h000O8CKQ-XnOIF)NF4wGl63$8BLDy -Z0000000000q=C$a698~&a4%nWWo~3|axZmqY;0*_GcRyqV{2h&WpgicX?QMhc~DCM0u%!j00008045 -ZeP5=M^00IC20000005Sjo00000000000HlFcq!R#eX>c!Jc4cm4Z*nhna%^mAVlyvrVPk7yXJvCQVq -s%zaBp&Sb1z?CX>MtBUtcb8c~DCM0u%!j00008045ZePO^IqgH8ef0I&rB05Sjo00000000000HlGZq -!R#eX>c!Jc4cm4Z*nhna%^mAVlyvrVPk7yXJvCQVqs%zaBp&Sb1!XSYh`9>Y-KKRc~DCM0u%!j00008 -045ZePWx@jc!Jc4cm4Z*nhna%^mAVlyvrVPk7yXJvC -Qb8~E8ZDDj{XkTb=b98QDZDlWCUukY>bYEXCaCuNm0Rj{Q6aWAK2mmG&m`VP|D?FLQHjUu|J@V`yJ!Z*z2RVQpnEUu -kV{Y-Md_ZggREX>V>WaCuNm0Rj{Q6aWAK2mmG&m`+l4;lHE-000yO001Na0000000000005+c@UasBa -A|NaUv_0~WN&gWb#iQMX<{=kb#!TLFJE72ZfSI1UoLQYP)h*<6ay3h000O8CKQ-X*VSNXF$Vwu9})ln -CIA2c0000000000q=DA6698~&a4%nWWo~3|axZmqY;0*_GcR>?X>2cJZ*Fd7V{~b6ZZ2?nP)h*<6ay3 -h000O8CKQ-X^elTY`~Uy|@c{q;ApigX0000000000q=8Gj698~&a4%nWWo~3|axZmqY;0*_GcR>?X>2 -cXb!ByBE^v8JO928D0~7!N00;mk6qrsyVUX7W1pokf4gdfn00000000000001_frh*j0B~t=FJE?LZe -(wAFLiQkY-wUMFLiWjY%g+Uadl;LbS`jtP)h*<6ay3h000O8CKQ-X);no&Gz0(u8VUdaBme*a000000 -0000q=Cr6698~&a4%nWWo~3|axZmqY;0*_GcR>?X>2cYWpi+EZgXWWaCuNm0Rj{Q6aWAK2mmG&m`)&1 -M2+te0003y001EX0000000000005+cKE@LOaA|NaUv_0~WN&gWb#iQMX<{=kb#!TLFLGsca(OOrc~DC -M0u%!j00008045ZePV^x-v;GkP0CY0|03ZMW00000000000HlFz*b@M7X>c!Jc4cm4Z*nhna%^mAVly -vwbZKlab8~E8E^v8JO928D0~7!N00;mk6qrs`QqCZA3jhEeCIA2<00000000000001_fvD;e0B~t=FJ -E?LZe(wAFLiQkY-wUMFLiWjY%g?aZDntDbS`jtP)h*<6ay3h000O8CKQ-X!yauB3<&@LR~Y~R9{>OV0 -000000000q=8)a698~&a4%nWWo~3|axZmqY;0*_GcR>?X>2cba%?Vec~DCM0u%!j00008045ZePHv~R -aJ~ls02>tm03ZMW00000000000HlGX{}TXkX>c!Jc4cm4Z*nhna%^mAVlyvwbZKlacVTICE^v8JO928 -D0~7!N00;mk6qrtU&>wL!3jhF9DF6T@00000000000001_fuRQ!0B~t=FJE?LZe(wAFLz~PWo~0{WNB -_^b1z?CX>MtBUtcb8c~DCM0u%!j00008045ZePRFeXiv -c!Jc4cm4Z*nhpWnyJ+V{c?>ZfA2ZY++($Y;!Jfc~DCM0u%!j00008045ZePEda_A4CEG02u`U03-ka0 -0000000000HlFh8596;X>c!Jc4cm4Z*nhpWnyJ+V{c?>ZfA2ZZEI{{Vr6V|E^v8JO928D0~7!N00;mk -6qrtDIB=)A1pok}82|tw00000000000001_f#4ey0B~t=FJE?LZe(wAFLz~PWo~0{WNB_^b1!sdb98e -qaCuNm0Rj{Q6aWAK2mmG&m`>XU{MMxe007ev001fg0000000000005+c*dY`EaA|NaUv_0~WN&gWcV% -K_Zewp`X>Mn8FL+;db7gX0WMyV)Ze?UHaCuNm1qJ{B001)qGXYg!006}%6aWAK -""" - - -if __name__ == "__main__": - main() diff --git a/experiments.json b/experiments.json index c0b3736825b0..2ce03b4ed5e8 100644 --- a/experiments.json +++ b/experiments.json @@ -21,13 +21,13 @@ "name": "ShowExtensionSurveyPrompt - enabled", "salt": "ShowExtensionSurveyPrompt", "max": 100, - "min": 60 + "min": 80 }, { "name": "ShowExtensionSurveyPrompt - control", "salt": "ShowExtensionSurveyPrompt", "min": 0, - "max": 40 + "max": 20 }, { "name": "DebugAdapterFactory - control", @@ -57,25 +57,13 @@ "name": "Reload - control", "salt": "DebugAdapterFactory", "min": 0, - "max": 20 + "max": 0 }, { "name": "Reload - experiment", "salt": "DebugAdapterFactory", - "min": 80, - "max": 100 - }, - { - "name": "LS - enabled", - "salt": "LS", "min": 0, - "max": 4 - }, - { - "name": "LS - control", - "salt": "LS", - "min": 20, - "max": 24 + "max": 0 }, { "name": "UseTerminalToGetActivatedEnvVars - experiment", @@ -102,15 +90,15 @@ "max": 100 }, { - "name": "WebHostNotebook - experiment", - "salt": "WebHostNotebook", - "max": 0, - "min": 0 + "name": "LocalZMQKernel - experiment", + "salt": "LocalZMQKernel", + "min": 0, + "max": 75 }, { - "name": "WebHostNotebook - control", - "salt": "WebHostNotebook", - "min": 0, + "name": "LocalZMQKernel - control", + "salt": "LocalZMQKernel", + "min": 75, "max": 100 }, { @@ -136,5 +124,59 @@ "salt": "CollectNodeLSRequestTiming", "min": 0, "max": 0 + }, + { + "name": "EnableIPyWidgets - experiment", + "salt": "EnableIPyWidgets", + "min": 0, + "max": 100 + }, + { + "name": "EnableIPyWidgets - control", + "salt": "EnableIPyWidgets", + "min": 0, + "max": 0 + }, + { + "name": "DeprecatePythonPath - experiment", + "salt": "DeprecatePythonPath", + "min": 0, + "max": 20 + }, + { + "name": "DeprecatePythonPath - control", + "salt": "DeprecatePythonPath", + "min": 80, + "max": 100 + }, + { + "name": "RunByLine - experiment", + "salt": "RunByLine", + "min": 0, + "max": 40 + }, + { + "name": "RunByLine - control", + "salt": "RunByLine", + "min": 40, + "max": 100 + }, + { + "name": "CustomEditorSupport - control", + "salt": "CustomEditorSupport", + "min": 0, + "max": 100 + }, + { + "name": "CustomEditorSupport - experiment", + "salt": "CustomEditorSupport", + "max": 0, + "min": 0 + }, + { + "name": "NativeNotebook - experiment", + "salt": "CustomEditorSupport", + "max": 0, + "min": 0 } ] diff --git a/gulpfile.js b/gulpfile.js index 1b00f5043b01..036eb353592f 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -33,7 +33,7 @@ const rmrf = require('rimraf'); const isCI = process.env.TRAVIS === 'true' || process.env.TF_BUILD !== undefined; -const noop = function() {}; +const noop = function () {}; /** * Hygiene works by creating cascading subsets of all our files and * passing them through a sequence of checks. Here are the current subsets, @@ -64,7 +64,7 @@ const tslintFilter = [ '!**/*.d.ts' ]; -gulp.task('compile', done => { +gulp.task('compile', (done) => { let failed = false; const tsProject = ts.createProject('tsconfig.json'); tsProject @@ -75,15 +75,15 @@ gulp.task('compile', done => { .on('finish', () => (failed ? done(new Error('TypeScript compilation errors')) : done())); }); -gulp.task('precommit', done => run({ exitOnError: true, mode: 'staged' }, done)); +gulp.task('precommit', (done) => run({ exitOnError: true, mode: 'staged' }, done)); gulp.task('hygiene-watch', () => gulp.watch(tsFilter, gulp.series('hygiene-modified'))); -gulp.task('hygiene', done => run({ mode: 'compile', skipFormatCheck: true, skipIndentationCheck: true }, done)); +gulp.task('hygiene', (done) => run({ mode: 'compile', skipFormatCheck: true, skipIndentationCheck: true }, done)); gulp.task( 'hygiene-modified', - gulp.series('compile', done => run({ mode: 'changes' }, done)) + gulp.series('compile', (done) => run({ mode: 'changes' }, done)) ); gulp.task('watch', gulp.parallel('hygiene-modified', 'hygiene-watch')); @@ -93,100 +93,90 @@ gulp.task('watchProblems', gulp.parallel('hygiene-modified', 'hygiene-watch')); gulp.task('hygiene-watch-branch', () => gulp.watch(tsFilter, gulp.series('hygiene-branch'))); -gulp.task('hygiene-all', done => run({ mode: 'all' }, done)); +gulp.task('hygiene-all', (done) => run({ mode: 'all' }, done)); -gulp.task('hygiene-branch', done => run({ mode: 'diffMaster' }, done)); +gulp.task('hygiene-branch', (done) => run({ mode: 'diffMain' }, done)); gulp.task('output:clean', () => del(['coverage'])); gulp.task('clean:cleanExceptTests', () => del(['clean:vsix', 'out/client', 'out/datascience-ui', 'out/server'])); gulp.task('clean:vsix', () => del(['*.vsix'])); gulp.task('clean:out', () => del(['out'])); +gulp.task('clean:ipywidgets', () => spawnAsync('npm', ['run', 'build-ipywidgets-clean'], webpackEnv)); gulp.task('clean', gulp.parallel('output:clean', 'clean:vsix', 'clean:out')); -gulp.task('checkNativeDependencies', done => { +gulp.task('checkNativeDependencies', (done) => { if (hasNativeDependencies()) { done(new Error('Native dependencies detected')); } done(); }); -gulp.task('check-datascience-dependencies', () => checkDatascienceDependencies()); +gulp.task('compile-ipywidgets', () => buildIPyWidgets()); const webpackEnv = { NODE_OPTIONS: '--max_old_space_size=9096' }; -async function buildDataScienceUI() { - await spawnAsync( - 'npm', - [ - 'run', - 'webpack', - '--', - '--config', - './build/webpack/webpack.datascience-ui-notebooks.config.js', - '--mode', - 'production' - ], - webpackEnv - ); - await spawnAsync( - 'npm', - [ - 'run', - 'webpack', - '--', - '--config', - './build/webpack/webpack.datascience-ui-viewers.config.js', - '--mode', - 'production' - ], - webpackEnv - ); +async function buildIPyWidgets() { + // if the output ipywidgest file exists, then no need to re-build. + // Barely changes. If making changes, then re-build manually. + if (!isCI && fs.existsSync(path.join(__dirname, 'out/ipywidgets/dist/ipywidgets.js'))) { + return; + } + await spawnAsync('npm', ['run', 'build-ipywidgets'], webpackEnv); } +gulp.task('compile-notebooks', async () => { + await buildWebPackForDevOrProduction('./build/webpack/webpack.datascience-ui-notebooks.config.js'); +}); + +gulp.task('compile-renderers', async () => { + await buildWebPackForDevOrProduction('./build/webpack/webpack.datascience-ui-renderers.config.js'); +}); -gulp.task('compile-webviews', async () => { - buildDataScienceUI(); +gulp.task('compile-viewers', async () => { + await buildWebPackForDevOrProduction('./build/webpack/webpack.datascience-ui-viewers.config.js'); }); +gulp.task('compile-webviews', gulp.series('compile-ipywidgets', 'compile-notebooks', 'compile-viewers')); + +gulp.task( + 'check-datascience-dependencies', + gulp.series( + (done) => { + if (process.env.VSC_PYTHON_FORCE_ANALYZER) { + process.env.XVSC_PYTHON_FORCE_ANALYZER = '1'; + } + process.env.VSC_PYTHON_FORCE_ANALYZER = '1'; + done(); + }, + 'compile-webviews', + () => checkDatascienceDependencies(), + (done) => { + if (!process.env.XVSC_PYTHON_FORCE_ANALYZER) { + delete process.env.VSC_PYTHON_FORCE_ANALYZER; + } + done(); + } + ) +); + +async function buildWebPackForDevOrProduction(configFile, configNameForProductionBuilds) { + if (configNameForProductionBuilds) { + await buildWebPack(configNameForProductionBuilds, ['--config', configFile], webpackEnv); + } else { + await spawnAsync('npm', ['run', 'webpack', '--', '--config', configFile, '--mode', 'production'], webpackEnv); + } +} gulp.task('webpack', async () => { // Build node_modules. - await buildWebPack( - 'production', - ['--config', './build/webpack/webpack.extension.dependencies.config.js'], - webpackEnv - ); + await buildWebPackForDevOrProduction('./build/webpack/webpack.extension.dependencies.config.js', 'production'); // Build DS stuff (separately as it uses far too much memory and slows down CI). // Individually is faster on CI. - await buildWebPack( - 'production', - ['--config', './build/webpack/webpack.datascience-ui-notebooks.config.js'], - webpackEnv - ); - await buildWebPack( - 'production', - ['--config', './build/webpack/webpack.datascience-ui-viewers.config.js'], - webpackEnv - ); - // Run both in parallel, for faster process on CI. - // Yes, console would print output from both, that's ok, we have a faster CI. - // If things fail, we can run locally separately. - if (isCI) { - const buildExtension = buildWebPack( - 'extension', - ['--config', './build/webpack/webpack.extension.config.js'], - webpackEnv - ); - const buildDebugAdapter = buildWebPack( - 'debugAdapter', - ['--config', './build/webpack/webpack.debugadapter.config.js'], - webpackEnv - ); - await Promise.all([buildExtension, buildDebugAdapter]); - } else { - await buildWebPack('extension', ['--config', './build/webpack/webpack.extension.config.js'], webpackEnv); - await buildWebPack('debugAdapter', ['--config', './build/webpack/webpack.debugadapter.config.js'], webpackEnv); - } + await buildIPyWidgets(); + await buildWebPackForDevOrProduction('./build/webpack/webpack.datascience-ui-notebooks.config.js', 'production'); + await buildWebPackForDevOrProduction('./build/webpack/webpack.datascience-ui-viewers.config.js', 'production'); + await buildWebPackForDevOrProduction('./build/webpack/webpack.extension.config.js', 'extension'); + await buildWebPackForDevOrProduction('./build/webpack/webpack.datascience-ui-renderers.config.js', 'production'); }); gulp.task('updateBuildNumber', async () => { @@ -230,7 +220,7 @@ async function updateBuildNumber(args) { async function buildWebPack(webpackConfigName, args, env) { // Remember to perform a case insensitive search. - const allowedWarnings = getAllowedWarningsForWebPack(webpackConfigName).map(item => item.toLowerCase()); + const allowedWarnings = getAllowedWarningsForWebPack(webpackConfigName).map((item) => item.toLowerCase()); const stdOut = await spawnAsync( 'npm', ['run', 'webpack', '--', ...args, ...['--mode', 'production', '--devtool', 'source-map']], @@ -238,18 +228,18 @@ async function buildWebPack(webpackConfigName, args, env) { ); const stdOutLines = stdOut .split(os.EOL) - .map(item => item.trim()) - .filter(item => item.length > 0); + .map((item) => item.trim()) + .filter((item) => item.length > 0); // Remember to perform a case insensitive search. const warnings = stdOutLines - .filter(item => item.startsWith('WARNING in ')) + .filter((item) => item.startsWith('WARNING in ')) .filter( - item => - allowedWarnings.findIndex(allowedWarning => + (item) => + allowedWarnings.findIndex((allowedWarning) => item.toLowerCase().startsWith(allowedWarning.toLowerCase()) ) == -1 ); - const errors = stdOutLines.some(item => item.startsWith('ERROR in')); + const errors = stdOutLines.some((item) => item.startsWith('ERROR in')); if (errors) { throw new Error(`Errors in ${webpackConfigName}, \n${warnings.join(', ')}\n\n${stdOut}`); } @@ -276,7 +266,9 @@ function getAllowedWarningsForWebPack(buildConfig) { 'WARNING in ./node_modules/@jupyterlab/services/node_modules/ws/lib/validation.js', 'WARNING in ./node_modules/any-promise/register.js', 'WARNING in ./node_modules/log4js/lib/appenders/index.js', - 'WARNING in ./node_modules/log4js/lib/clustering.js' + 'WARNING in ./node_modules/log4js/lib/clustering.js', + 'WARNING in ./node_modules/diagnostic-channel-publishers/dist/src/azure-coretracing.pub.js', + 'WARNING in ./node_modules/applicationinsights/out/AutoCollection/NativePerformance.js' ]; case 'extension': return [ @@ -285,10 +277,20 @@ function getAllowedWarningsForWebPack(buildConfig) { 'WARNING in ./node_modules/ws/lib/buffer-util.js', 'WARNING in ./node_modules/ws/lib/Validation.js', 'WARNING in ./node_modules/ws/lib/validation.js', - 'WARNING in ./node_modules/any-promise/register.js' + 'WARNING in ./node_modules/any-promise/register.js', + 'remove-files-plugin@1.4.0:', + 'WARNING in ./node_modules/@jupyterlab/services/node_modules/ws/lib/buffer-util.js', + 'WARNING in ./node_modules/@jupyterlab/services/node_modules/ws/lib/validation.js', + 'WARNING in ./node_modules/@jupyterlab/services/node_modules/ws/lib/Validation.js', + 'WARNING in ./node_modules/diagnostic-channel-publishers/dist/src/azure-coretracing.pub.js', + 'WARNING in ./node_modules/applicationinsights/out/AutoCollection/NativePerformance.js' ]; case 'debugAdapter': - return ['WARNING in ./node_modules/vscode-uri/lib/index.js']; + return [ + 'WARNING in ./node_modules/vscode-uri/lib/index.js', + 'WARNING in ./node_modules/diagnostic-channel-publishers/dist/src/azure-coretracing.pub.js', + 'WARNING in ./node_modules/applicationinsights/out/AutoCollection/NativePerformance.js' + ]; default: throw new Error('Unknown WebPack Configuration'); } @@ -297,9 +299,7 @@ gulp.task('renameSourceMaps', async () => { // By default source maps will be disabled in the extension. // Users will need to use the command `python.enableSourceMapSupport` to enable source maps. const extensionSourceMap = path.join(__dirname, 'out', 'client', 'extension.js.map'); - const debuggerSourceMap = path.join(__dirname, 'out', 'client', 'debugger', 'debugAdapter', 'main.js.map'); await fs.rename(extensionSourceMap, `${extensionSourceMap}.disabled`); - await fs.rename(debuggerSourceMap, `${debuggerSourceMap}.disabled`); }); gulp.task('verifyBundle', async () => { @@ -333,18 +333,20 @@ gulp.task('installPythonRequirements', async () => { ]; const success = await spawnAsync(process.env.CI_PYTHON_PATH || 'python3', args, undefined, true) .then(() => true) - .catch(ex => { + .catch((ex) => { console.error("Failed to install Python Libs using 'python3'", ex); return false; }); if (!success) { console.info("Failed to install Python Libs using 'python3', attempting to install using 'python'"); - await spawnAsync('python', args).catch(ex => console.error("Failed to install Python Libs using 'python'", ex)); + await spawnAsync('python', args).catch((ex) => + console.error("Failed to install Python Libs using 'python'", ex) + ); } }); // See https://github.com/microsoft/vscode-python/issues/7136 -gulp.task('installNewDebugpy', async () => { +gulp.task('installDebugpy', async () => { // Install dependencies needed for 'install_debugpy.py' const depsArgs = [ '-m', @@ -358,7 +360,7 @@ gulp.task('installNewDebugpy', async () => { ]; const successWithWheelsDeps = await spawnAsync(process.env.CI_PYTHON_PATH || 'python3', depsArgs, undefined, true) .then(() => true) - .catch(ex => { + .catch((ex) => { console.error("Failed to install new DEBUGPY wheels using 'python3'", ex); return false; }); @@ -366,7 +368,7 @@ gulp.task('installNewDebugpy', async () => { console.info( "Failed to install dependencies need by 'install_debugpy.py' using 'python3', attempting to install using 'python'" ); - await spawnAsync('python', depsArgs).catch(ex => + await spawnAsync('python', depsArgs).catch((ex) => console.error("Failed to install dependencies need by 'install_debugpy.py' using 'python'", ex) ); } @@ -376,82 +378,21 @@ gulp.task('installNewDebugpy', async () => { const wheelsEnv = { PYTHONPATH: './pythonFiles/lib/temp' }; const successWithWheels = await spawnAsync(process.env.CI_PYTHON_PATH || 'python3', wheelsArgs, wheelsEnv, true) .then(() => true) - .catch(ex => { + .catch((ex) => { console.error("Failed to install new DEBUGPY wheels using 'python3'", ex); return false; }); if (!successWithWheels) { console.info("Failed to install new DEBUGPY wheels using 'python3', attempting to install using 'python'"); - await spawnAsync('python', wheelsArgs, wheelsEnv).catch(ex => + await spawnAsync('python', wheelsArgs, wheelsEnv).catch((ex) => console.error("Failed to install DEBUGPY wheels using 'python'", ex) ); } rmrf.sync('./pythonFiles/lib/temp'); - - // Install source only version of new DEBUGPY for use with all other python versions. - const args = [ - '-m', - 'pip', - '--disable-pip-version-check', - 'install', - '-t', - './pythonFiles/lib/python/debugpy/no_wheels', - '--no-cache-dir', - '--implementation', - 'py', - '--no-deps', - '--upgrade', - '--pre', - 'debugpy' - ]; - const successWithoutWheels = await spawnAsync(process.env.CI_PYTHON_PATH || 'python3', args, undefined, true) - .then(() => true) - .catch(ex => { - console.error("Failed to install DEBUGPY using 'python3'", ex); - return false; - }); - if (!successWithoutWheels) { - console.info( - "Failed to install source only version of new DEBUGPY using 'python3', attempting to install using 'python'" - ); - await spawnAsync('python', args).catch(ex => - console.error("Failed to install source only DEBUGPY using 'python'", ex) - ); - } -}); - -// Install the last stable version of old PTVSD (which includes a middle layer adapter and requires ptvsd_launcher.py) -// until all users have migrated to the new debug adapter + new DEBUGPY (specified in requirements.txt) -// See https://github.com/microsoft/vscode-python/issues/7136 -gulp.task('installOldPtvsd', async () => { - const args = [ - '-m', - 'pip', - '--disable-pip-version-check', - 'install', - '-t', - './pythonFiles/lib/python/old_ptvsd', - '--no-cache-dir', - '--implementation', - 'py', - '--no-deps', - '--upgrade', - 'ptvsd==4.3.2' - ]; - const success = await spawnAsync(process.env.CI_PYTHON_PATH || 'python3', args, undefined, true) - .then(() => true) - .catch(ex => { - console.error("Failed to install PTVSD using 'python3'", ex); - return false; - }); - if (!success) { - console.info("Failed to install PTVSD using 'python3', attempting to install using 'python'"); - await spawnAsync('python', args).catch(ex => console.error("Failed to install PTVSD using 'python'", ex)); - } }); -gulp.task('installPythonLibs', gulp.series('installPythonRequirements', 'installOldPtvsd', 'installNewDebugpy')); +gulp.task('installPythonLibs', gulp.series('installPythonRequirements', 'installDebugpy')); function uploadExtension(uploadBlobName) { const azure = require('gulp-azure-storage'); @@ -480,21 +421,21 @@ function spawnAsync(command, args, env, rejectOnStdErr = false) { let stdOut = ''; console.info(`> ${command} ${args.join(' ')}`); const proc = spawn(command, args, { cwd: __dirname, env }); - proc.stdout.on('data', data => { + proc.stdout.on('data', (data) => { // Log output on CI (else travis times out when there's not output). stdOut += data.toString(); if (isCI) { console.log(data.toString()); } }); - proc.stderr.on('data', data => { + proc.stderr.on('data', (data) => { console.error(data.toString()); if (rejectOnStdErr) { reject(data.toString()); } }); proc.on('close', () => resolve(stdOut)); - proc.on('error', error => reject(error)); + proc.on('error', (error) => reject(error)); }); } @@ -509,21 +450,19 @@ function spawnAsync(command, args, env, rejectOnStdErr = false) { * */ async function checkDatascienceDependencies() { - await buildDataScienceUI(); - const existingModulesFileName = 'package.datascience-ui.dependencies.json'; const existingModulesFile = path.join(__dirname, existingModulesFileName); - const existingModulesList = JSON.parse(await fsExtra.readFile(existingModulesFile).then(data => data.toString())); + const existingModulesList = JSON.parse(await fsExtra.readFile(existingModulesFile).then((data) => data.toString())); const existingModules = new Set(existingModulesList); const existingModulesCopy = new Set(existingModulesList); const newModules = new Set(); - const packageLock = JSON.parse(await fsExtra.readFile('package-lock.json').then(data => data.toString())); + const packageLock = JSON.parse(await fsExtra.readFile('package-lock.json').then((data) => data.toString())); const modulesInPackageLock = Object.keys(packageLock.dependencies); // Right now the script only handles two parts in the dependency name (with one '/'). // If we have dependencies with more than one '/', then update this code. - if (modulesInPackageLock.some(dependency => dependency.indexOf('/') !== dependency.lastIndexOf('/'))) { + if (modulesInPackageLock.some((dependency) => dependency.indexOf('/') !== dependency.lastIndexOf('/'))) { throwAndLogError("Dependencies detected with more than one '/', please update this script."); } @@ -534,16 +473,16 @@ async function checkDatascienceDependencies() { */ async function processWebpackStatFile(statFile) { /** @type{import("webpack").Stats.ToJsonOutput} */ - const json = await fsExtra.readFile(statFile).then(data => JSON.parse(data.toString())); - json.children.forEach(child => { - child.chunks.forEach(chunk => { + const json = await fsExtra.readFile(statFile).then((data) => JSON.parse(data.toString())); + json.children.forEach((child) => { + child.chunks.forEach((chunk) => { processModules(chunk.modules); - (chunk.origins || []).forEach(origin => processOriginOrReason(origin)); + (chunk.origins || []).forEach((origin) => processOriginOrReason(origin)); }); }); - json.chunks.forEach(chunk => { + json.chunks.forEach((chunk) => { processModules(chunk.modules); - (chunk.origins || []).forEach(origin => processOriginOrReason(origin)); + (chunk.origins || []).forEach((origin) => processOriginOrReason(origin)); }); } @@ -559,7 +498,7 @@ async function checkDatascienceDependencies() { return; } const matchedModules = modulesInPackageLock.filter( - dependency => dependency === moduleName2 || dependency === moduleName1 || dependency === name + (dependency) => dependency === moduleName2 || dependency === moduleName1 || dependency === name ); switch (matchedModules.length) { case 0: @@ -667,9 +606,9 @@ async function checkDatascienceDependencies() { */ function processReasons(reasons) { reasons = (reasons || []) - .map(reason => reason.userRequest) - .filter(item => typeof item === 'string' && !item.startsWith('.')); - reasons.forEach(item => processOriginOrReason(item)); + .map((reason) => reason.userRequest) + .filter((item) => typeof item === 'string' && !item.startsWith('.')); + reasons.forEach((item) => processOriginOrReason(item)); } await processWebpackStatFile(path.join(__dirname, 'out', 'datascience-ui', 'notebook', 'notebook.stats.json')); @@ -707,14 +646,14 @@ function hasNativeDependencies() { } const dependencies = JSON.parse(spawn.sync('npm', ['ls', '--json', '--prod']).stdout.toString()); const jsonProperties = Object.keys(flat.flatten(dependencies)); - nativeDependencies = _.flatMap(nativeDependencies, item => + nativeDependencies = _.flatMap(nativeDependencies, (item) => path.dirname(item.substring(item.indexOf('node_modules') + 'node_modules'.length)).split(path.sep) ) - .filter(item => item.length > 0) - .filter(item => !item.includes('zeromq')) // This is a known native. Allow this one for now + .filter((item) => item.length > 0) + .filter((item) => !item.includes('zeromq')) // This is a known native. Allow this one for now .filter( - item => - jsonProperties.findIndex(flattenedDependency => + (item) => + jsonProperties.findIndex((flattenedDependency) => flattenedDependency.endsWith(`dependencies.${item}.version`) ) >= 0 ); @@ -727,7 +666,7 @@ function hasNativeDependencies() { /** * @typedef {Object} hygieneOptions - creates a new type named 'SpecialType' - * @property {'changes'|'staged'|'all'|'compile'|'diffMaster'} [mode=] - Mode. + * @property {'changes'|'staged'|'all'|'compile'|'diffMain'} [mode=] - Mode. * @property {boolean=} skipIndentationCheck - Skip indentation checks. * @property {boolean=} skipFormatCheck - Skip format checks. * @property {boolean=} skipLinter - Skip linter. @@ -769,7 +708,7 @@ const hygiene = (options, done) => { if ( Array.isArray(fileListToProcess) && fileListToProcess !== all && - fileListToProcess.filter(item => item.endsWith('.ts')).length === 0 + fileListToProcess.filter((item) => item.endsWith('.ts')).length === 0 ) { return done(); } @@ -779,7 +718,7 @@ const hygiene = (options, done) => { options = options || {}; let errorCount = 0; - const indentation = es.through(function(file) { + const indentation = es.through(function (file) { file.contents .toString('utf8') .split(/\r\n|\r|\n/) @@ -803,10 +742,10 @@ const hygiene = (options, done) => { }); const formatOptions = { verify: true, tsconfig: true, tslint: true, editorconfig: true, tsfmt: true }; - const formatting = es.map(function(file, cb) { + const formatting = es.map(function (file, cb) { tsfmt .processString(file.path, file.contents.toString('utf8'), formatOptions) - .then(result => { + .then((result) => { if (result.error) { let message = result.message.trim(); let formattedMessage = ''; @@ -840,7 +779,7 @@ const hygiene = (options, done) => { function reportLinterFailures(failures) { return ( failures - .map(failure => { + .map((failure) => { const name = failure.name || failure.fileName; const position = failure.startPosition; const line = position.lineAndCharacter ? position.lineAndCharacter.line : position.line; @@ -849,8 +788,9 @@ const hygiene = (options, done) => { : position.character; // Output in format similar to tslint for the linter to pickup. - const message = `ERROR: (${failure.ruleName}) ${relative(__dirname, name)}[${line + - 1}, ${character + 1}]: ${failure.failure}`; + const message = `ERROR: (${failure.ruleName}) ${relative(__dirname, name)}[${line + 1}, ${ + character + 1 + }]: ${failure.failure}`; if (reportedLinterFailures.indexOf(message) === -1) { console.error(message); reportedLinterFailures.push(message); @@ -859,12 +799,12 @@ const hygiene = (options, done) => { return false; } }) - .filter(reported => reported === true).length > 0 + .filter((reported) => reported === true).length > 0 ); } const { linter, configuration } = getLinter(options); - const tsl = es.through(function(file) { + const tsl = es.through(function (file) { const contents = file.contents.toString('utf8'); if (isCI) { // Don't print anything to the console, we'll do that. @@ -891,7 +831,7 @@ const hygiene = (options, done) => { }); const tsFiles = []; - const tscFilesTracker = es.through(function(file) { + const tscFilesTracker = es.through(function (file) { tsFiles.push(file.path.replace(/\\/g, '/')); tsFiles.push(file.path); this.emit('data', file); @@ -899,19 +839,19 @@ const hygiene = (options, done) => { const tsProject = getTsProject(options); - const tsc = function() { + const tsc = function () { function customReporter() { return { - error: function(error, typescript) { + error: function (error, typescript) { const fullFilename = error.fullFilename || ''; const relativeFilename = error.relativeFilename || ''; - if (tsFiles.findIndex(file => fullFilename === file || relativeFilename === file) === -1) { + if (tsFiles.findIndex((file) => fullFilename === file || relativeFilename === file) === -1) { return; } console.error(`Error: ${error.message}`); errorCount += 1; }, - finish: function() { + finish: function () { // forget the summary. console.log('Finished compilation'); } @@ -923,7 +863,7 @@ const hygiene = (options, done) => { const files = options.mode === 'compile' ? tsProject.src() : getFilesToProcess(fileListToProcess); const dest = options.mode === 'compile' ? './out' : '.'; - let result = files.pipe(filter(f => f && f.stat && !f.stat.isDirectory())); + let result = files.pipe(filter((f) => f && f.stat && !f.stat.isDirectory())); if (!options.skipIndentationCheck) { result = result.pipe(filter(indentationFilter)).pipe(indentation); @@ -945,12 +885,9 @@ const hygiene = (options, done) => { .pipe(sourcemaps.init()) .pipe(tsc()) .pipe( - sourcemaps.mapSources(function(sourcePath, file) { + sourcemaps.mapSources(function (sourcePath, file) { let tsFileName = path.basename(file.path).replace(/js$/, 'ts'); - const qualifiedSourcePath = path - .dirname(file.path) - .replace('out/', 'src/') - .replace('out\\', 'src\\'); + const qualifiedSourcePath = path.dirname(file.path).replace('out/', 'src/').replace('out\\', 'src\\'); if (!fs.existsSync(path.join(qualifiedSourcePath, tsFileName))) { const tsxFileName = path.basename(file.path).replace(/js$/, 'tsx'); if (!fs.existsSync(path.join(qualifiedSourcePath, tsxFileName))) { @@ -965,10 +902,11 @@ const hygiene = (options, done) => { .pipe(sourcemaps.write('.', { includeContent: false })) .pipe(gulp.dest(dest)) .pipe( - es.through(null, function() { + es.through(null, function () { if (errorCount > 0) { - const errorMessage = `Hygiene failed with errors 👎 . Check 'gulpfile.js' (completed in ${new Date().getTime() - - started}ms).`; + const errorMessage = `Hygiene failed with errors 👎 . Check 'gulpfile.js' (completed in ${ + new Date().getTime() - started + }ms).`; console.error(colors.red(errorMessage)); exitHandler(options); } else { @@ -992,7 +930,7 @@ const hygiene = (options, done) => { this.emit('end'); }) ) - .on('error', ex => { + .on('error', (ex) => { exitHandler(options, ex); done(); }); @@ -1056,24 +994,15 @@ function git(args) { function getStagedFilesSync() { const out = git(['diff', '--cached', '--name-only']); - return out.split(/\r?\n/).filter(l => !!l); + return out.split(/\r?\n/).filter((l) => !!l); } function getAddedFilesSync() { const out = git(['status', '-u', '-s']); return out .split(/\r?\n/) - .filter(l => !!l) - .filter( - l => - _.intersection( - ['A', '?', 'U'], - l - .substring(0, 2) - .trim() - .split('') - ).length > 0 - ) - .map(l => path.join(__dirname, l.substring(2).trim())); + .filter((l) => !!l) + .filter((l) => _.intersection(['A', '?', 'U'], l.substring(0, 2).trim().split('')).length > 0) + .map((l) => path.join(__dirname, l.substring(2).trim())); } function getAzureDevOpsVarValue(varName) { return process.env[varName.replace(/\./g, '_').toUpperCase()]; @@ -1086,7 +1015,7 @@ function getModifiedFilesSync() { return []; } const targetBranch = process.env.TRAVIS_BRANCH || getAzureDevOpsVarValue('System.PullRequest.TargetBranch'); - if (targetBranch !== 'master') { + if (targetBranch !== 'main') { return []; } @@ -1098,9 +1027,9 @@ function getModifiedFilesSync() { : 'upstream'; // If on CI, get a list of modified files comparing against - // PR branch and master of current (assumed 'origin') repo. + // PR branch and main of current (assumed 'origin') repo. try { - cp.execSync(`git remote set-branches --add ${originOrUpstream} master`, { + cp.execSync(`git remote set-branches --add ${originOrUpstream} main`, { encoding: 'utf8', cwd: __dirname }); @@ -1108,48 +1037,33 @@ function getModifiedFilesSync() { } catch (ex) { return []; } - const cmd = `git diff --name-only HEAD ${originOrUpstream}/master`; + const cmd = `git diff --name-only HEAD ${originOrUpstream}/main`; console.info(cmd); const out = cp.execSync(cmd, { encoding: 'utf8', cwd: __dirname }); return out .split(/\r?\n/) - .filter(l => !!l) - .filter(l => l.length > 0) - .map(l => l.trim().replace(/\//g, path.sep)) - .map(l => path.join(__dirname, l)); + .filter((l) => !!l) + .filter((l) => l.length > 0) + .map((l) => l.trim().replace(/\//g, path.sep)) + .map((l) => path.join(__dirname, l)); } else { const out = cp.execSync('git status -u -s', { encoding: 'utf8' }); return out .split(/\r?\n/) - .filter(l => !!l) + .filter((l) => !!l) .filter( - l => - _.intersection( - ['M', 'A', 'R', 'C', 'U', '?'], - l - .substring(0, 2) - .trim() - .split('') - ).length > 0 + (l) => _.intersection(['M', 'A', 'R', 'C', 'U', '?'], l.substring(0, 2).trim().split('')).length > 0 ) - .map(l => - path.join( - __dirname, - l - .substring(2) - .trim() - .replace(/\//g, path.sep) - ) - ); + .map((l) => path.join(__dirname, l.substring(2).trim().replace(/\//g, path.sep))); } } -function getDifferentFromMasterFilesSync() { - const out = git(['diff', '--name-status', 'master']); +function getDifferentFromMainFilesSync() { + const out = git(['diff', '--name-status', 'main']); return out .split(/\r?\n/) - .filter(l => !!l) - .map(l => path.join(__dirname, l.substring(2).trim())); + .filter((l) => !!l) + .map((l) => path.join(__dirname, l.substring(2).trim())); } /** @@ -1169,15 +1083,15 @@ function getFileListToProcess(options) { // If we need only modified files, then filter the glob. if (options && options.mode === 'changes') { - return getModifiedFilesSync().filter(f => fs.existsSync(f)); + return getModifiedFilesSync().filter((f) => fs.existsSync(f)); } if (options && options.mode === 'staged') { - return getStagedFilesSync().filter(f => fs.existsSync(f)); + return getStagedFilesSync().filter((f) => fs.existsSync(f)); } - if (options && options.mode === 'diffMaster') { - return getDifferentFromMasterFilesSync().filter(f => fs.existsSync(f)); + if (options && options.mode === 'diffMain') { + return getDifferentFromMainFilesSync().filter((f) => fs.existsSync(f)); } return all; diff --git a/images/dataviewer.gif b/images/dataviewer.gif new file mode 100644 index 000000000000..b2f5e080a401 Binary files /dev/null and b/images/dataviewer.gif differ diff --git a/images/kernelchange.gif b/images/kernelchange.gif new file mode 100644 index 000000000000..a414e2252efa Binary files /dev/null and b/images/kernelchange.gif differ diff --git a/images/plotviewer.gif b/images/plotviewer.gif new file mode 100644 index 000000000000..d1f6524f3769 Binary files /dev/null and b/images/plotviewer.gif differ diff --git a/images/remoteserver.gif b/images/remoteserver.gif new file mode 100644 index 000000000000..be836e673b72 Binary files /dev/null and b/images/remoteserver.gif differ diff --git a/images/runbyline.gif b/images/runbyline.gif new file mode 100644 index 000000000000..1c0679f9a458 Binary files /dev/null and b/images/runbyline.gif differ diff --git a/images/savetopythonfile.png b/images/savetopythonfile.png new file mode 100644 index 000000000000..ccb0a7bfa387 Binary files /dev/null and b/images/savetopythonfile.png differ diff --git a/images/variableexplorer.png b/images/variableexplorer.png new file mode 100644 index 000000000000..0f6c9f73b4de Binary files /dev/null and b/images/variableexplorer.png differ diff --git a/news/.vscode/settings.json b/news/.vscode/settings.json index 3875b000e2c0..2b759d72bd35 100644 --- a/news/.vscode/settings.json +++ b/news/.vscode/settings.json @@ -1,10 +1,8 @@ { - "python.jediEnabled": false, + "python.languageServer": "Microsoft", "python.formatting.provider": "black", "editor.formatOnSave": true, - "python.testing.pytestArgs": [ - "." - ], + "python.testing.pytestArgs": ["."], "python.testing.unittestEnabled": false, "python.testing.nosetestsEnabled": false, "python.testing.pytestEnabled": true diff --git a/news/1 Enhancements/10198.md b/news/1 Enhancements/10198.md deleted file mode 100644 index eed15c9b96ed..000000000000 --- a/news/1 Enhancements/10198.md +++ /dev/null @@ -1 +0,0 @@ -Support using 'esc' or 'ctrl+u' to clear the contents of the interactive window input box. \ No newline at end of file diff --git a/news/1 Enhancements/10437.md b/news/1 Enhancements/10437.md deleted file mode 100644 index 169e1a1fdb35..000000000000 --- a/news/1 Enhancements/10437.md +++ /dev/null @@ -1 +0,0 @@ -Support reverse connection ("listen" in launch.json) from debug adapter to VSCode. diff --git a/news/1 Enhancements/12932.md b/news/1 Enhancements/12932.md new file mode 100644 index 000000000000..5075b7151f76 --- /dev/null +++ b/news/1 Enhancements/12932.md @@ -0,0 +1 @@ +Upgraded isort to `5.3.2`. diff --git a/news/1 Enhancements/13061.md b/news/1 Enhancements/13061.md new file mode 100644 index 000000000000..6b65b12e6243 --- /dev/null +++ b/news/1 Enhancements/13061.md @@ -0,0 +1,2 @@ +Remove default "--no-reload" from debug configurations. +(thanks [ian910297](https://github.com/ian910297)) diff --git a/news/1 Enhancements/13716.md b/news/1 Enhancements/13716.md new file mode 100644 index 000000000000..9289e62b8c4a --- /dev/null +++ b/news/1 Enhancements/13716.md @@ -0,0 +1 @@ +Show a general warning prompt pointing to the upgrade guide when users attempt to run isort5 using deprecated settings. diff --git a/news/1 Enhancements/5578.md b/news/1 Enhancements/5578.md new file mode 100644 index 000000000000..7fc44ac63861 --- /dev/null +++ b/news/1 Enhancements/5578.md @@ -0,0 +1 @@ +Docstrings are added to `class` and `def` snippets (thanks [alannt777](https://github.com/alannt777/)) \ No newline at end of file diff --git a/news/1 Enhancements/README.md b/news/1 Enhancements/README.md index ecc51777759d..2a159b65f4f0 100644 --- a/news/1 Enhancements/README.md +++ b/news/1 Enhancements/README.md @@ -1 +1,2 @@ Changes that add new features. + diff --git a/news/2 Fixes/10023.md b/news/2 Fixes/10023.md deleted file mode 100644 index d335b8eaf47b..000000000000 --- a/news/2 Fixes/10023.md +++ /dev/null @@ -1 +0,0 @@ -Jupyter autocompletion will only show magic commands on empty lines, preventing them of appearing in functions. diff --git a/news/2 Fixes/10206.md b/news/2 Fixes/10206.md deleted file mode 100644 index 877769ac67fd..000000000000 --- a/news/2 Fixes/10206.md +++ /dev/null @@ -1 +0,0 @@ -Fix interactive window debugging after running cells in a notebook. \ No newline at end of file diff --git a/news/2 Fixes/10270.md b/news/2 Fixes/10270.md new file mode 100644 index 000000000000..b90f01f1e949 --- /dev/null +++ b/news/2 Fixes/10270.md @@ -0,0 +1 @@ +Fixed the output being trimmed. Tables that start with empty space will now display correctly. diff --git a/news/2 Fixes/10280.md b/news/2 Fixes/10280.md deleted file mode 100644 index 64b59bc50cad..000000000000 --- a/news/2 Fixes/10280.md +++ /dev/null @@ -1 +0,0 @@ -Fix problem with Data Viewer not working when builtin functions are overridden (like max). \ No newline at end of file diff --git a/news/2 Fixes/10395.md b/news/2 Fixes/10395.md deleted file mode 100644 index fa288666c88f..000000000000 --- a/news/2 Fixes/10395.md +++ /dev/null @@ -1 +0,0 @@ -Fix interactive window debugging when debugging the first cell to be run. \ No newline at end of file diff --git a/news/2 Fixes/10396.md b/news/2 Fixes/10396.md deleted file mode 100644 index 8a9539149dab..000000000000 --- a/news/2 Fixes/10396.md +++ /dev/null @@ -1 +0,0 @@ -Fix interactive window debugging for extra lines in a function. \ No newline at end of file diff --git a/news/2 Fixes/10597.md b/news/2 Fixes/10597.md deleted file mode 100644 index c666d8d8d5b4..000000000000 --- a/news/2 Fixes/10597.md +++ /dev/null @@ -1 +0,0 @@ -Ensure default `host` is not set, if `connect` or `listen` settings are available. diff --git a/news/2 Fixes/10647.md b/news/2 Fixes/10647.md deleted file mode 100644 index 42e0c6cd7460..000000000000 --- a/news/2 Fixes/10647.md +++ /dev/null @@ -1 +0,0 @@ -Fix save button not working on notebooks. \ No newline at end of file diff --git a/news/2 Fixes/11729.md b/news/2 Fixes/11729.md new file mode 100644 index 000000000000..912cb3af7ab5 --- /dev/null +++ b/news/2 Fixes/11729.md @@ -0,0 +1,3 @@ +#11729 +Prevent test discovery from picking up stdout from low level file descriptors +(thanks [Ryo Miyajima](https://github.com/sergeant-wizard)) diff --git a/news/2 Fixes/12245.md b/news/2 Fixes/12245.md new file mode 100644 index 000000000000..e493d890bb56 --- /dev/null +++ b/news/2 Fixes/12245.md @@ -0,0 +1 @@ +Fix opening new blank notebooks when using the VS code custom editor API. \ No newline at end of file diff --git a/news/2 Fixes/12760.md b/news/2 Fixes/12760.md new file mode 100644 index 000000000000..f47a84a5c3fb --- /dev/null +++ b/news/2 Fixes/12760.md @@ -0,0 +1 @@ +Support starting kernels with the same directory as the notebook. \ No newline at end of file diff --git a/news/2 Fixes/12949.md b/news/2 Fixes/12949.md new file mode 100644 index 000000000000..0e16948f227f --- /dev/null +++ b/news/2 Fixes/12949.md @@ -0,0 +1 @@ +Fixed `Sort imports` command with setuptools version `49.2`. diff --git a/news/2 Fixes/12962.md b/news/2 Fixes/12962.md new file mode 100644 index 000000000000..c94aeff6e07f --- /dev/null +++ b/news/2 Fixes/12962.md @@ -0,0 +1 @@ +Do not fail interpreter discovery if accessing Windows registry fails. diff --git a/news/2 Fixes/13258.md b/news/2 Fixes/13258.md new file mode 100644 index 000000000000..f0dafc1af18c --- /dev/null +++ b/news/2 Fixes/13258.md @@ -0,0 +1 @@ +Prevent daemon from trying to prewarm an execution service. \ No newline at end of file diff --git a/news/2 Fixes/13338.md b/news/2 Fixes/13338.md new file mode 100644 index 000000000000..052f45ac03ad --- /dev/null +++ b/news/2 Fixes/13338.md @@ -0,0 +1 @@ +Respect stop on error setting for executing cells in native notebook. \ No newline at end of file diff --git a/news/2 Fixes/13409.md b/news/2 Fixes/13409.md new file mode 100644 index 000000000000..fc7d478c9e4b --- /dev/null +++ b/news/2 Fixes/13409.md @@ -0,0 +1 @@ +Native notebook launch doesn't hang if the kernel does not start, and notifies the user of the failure. Also does not show the first cell as executing until the kernel is actually started and connected. \ No newline at end of file diff --git a/news/2 Fixes/13493.md b/news/2 Fixes/13493.md new file mode 100644 index 000000000000..c7c567cfed4a --- /dev/null +++ b/news/2 Fixes/13493.md @@ -0,0 +1 @@ +Fix path to isolated script on Windows shell_exec. diff --git a/news/2 Fixes/13509.md b/news/2 Fixes/13509.md new file mode 100644 index 000000000000..62188ee43dba --- /dev/null +++ b/news/2 Fixes/13509.md @@ -0,0 +1 @@ +Updating other cells with display.update does not work in native notebooks. \ No newline at end of file diff --git a/news/2 Fixes/13520.md b/news/2 Fixes/13520.md new file mode 100644 index 000000000000..6ee5043c3184 --- /dev/null +++ b/news/2 Fixes/13520.md @@ -0,0 +1 @@ +Fix for notebook using the first kernel every time. It will now use the language in the notebook to determine the most appropriate kernel. \ No newline at end of file diff --git a/news/2 Fixes/13553.md b/news/2 Fixes/13553.md new file mode 100644 index 000000000000..05434a9f1c16 --- /dev/null +++ b/news/2 Fixes/13553.md @@ -0,0 +1 @@ +Shift+enter should execute current cell and select the next cell. diff --git a/news/2 Fixes/13612.md b/news/2 Fixes/13612.md new file mode 100644 index 000000000000..c74758c73759 --- /dev/null +++ b/news/2 Fixes/13612.md @@ -0,0 +1,2 @@ +Fixes typo in export command registration. +(thanks [Anton Kosyakov](https://github.com/akosyakov/)) diff --git a/news/2 Fixes/13706.md b/news/2 Fixes/13706.md new file mode 100644 index 000000000000..fb3074fa7820 --- /dev/null +++ b/news/2 Fixes/13706.md @@ -0,0 +1 @@ +Fix the behavior of the 'python.showStartPage' setting. diff --git a/news/2 Fixes/9403.md b/news/2 Fixes/9403.md deleted file mode 100644 index c3f8ae7dcaea..000000000000 --- a/news/2 Fixes/9403.md +++ /dev/null @@ -1 +0,0 @@ -Ensure plot fits within the page of the `PDF`. diff --git a/news/3 Code Health/10134.md b/news/3 Code Health/10134.md deleted file mode 100644 index 4030f2477b91..000000000000 --- a/news/3 Code Health/10134.md +++ /dev/null @@ -1 +0,0 @@ -Add conda environments to nightly test runs \ No newline at end of file diff --git a/news/3 Code Health/10454.md b/news/3 Code Health/10454.md deleted file mode 100644 index 698c4bbbea30..000000000000 --- a/news/3 Code Health/10454.md +++ /dev/null @@ -1 +0,0 @@ -Refactor the extension activation code to split on phases. diff --git a/news/3 Code Health/10483.md b/news/3 Code Health/10483.md deleted file mode 100644 index d86f97481b94..000000000000 --- a/news/3 Code Health/10483.md +++ /dev/null @@ -1 +0,0 @@ -Add ZMQ library to extension \ No newline at end of file diff --git a/news/3 Code Health/13103.md b/news/3 Code Health/13103.md new file mode 100644 index 000000000000..a22bfbd98e3c --- /dev/null +++ b/news/3 Code Health/13103.md @@ -0,0 +1 @@ +Fix bandit issues in vscode_datascience_helpers. \ No newline at end of file diff --git a/news/3 Code Health/13411.md b/news/3 Code Health/13411.md new file mode 100644 index 000000000000..5cce02971318 --- /dev/null +++ b/news/3 Code Health/13411.md @@ -0,0 +1 @@ +Cast type to `any` to get around issues with `ts-node` (`ts-node` is used by `nyc` for code coverage). diff --git a/news/3 Code Health/13459.md b/news/3 Code Health/13459.md new file mode 100644 index 000000000000..b1a4e4d8d88d --- /dev/null +++ b/news/3 Code Health/13459.md @@ -0,0 +1 @@ +Drop support for Python 3.5 (it reaches end-of-life on September 13, 2020 and isort 5 does not support it). diff --git a/news/3 Code Health/13501.md b/news/3 Code Health/13501.md new file mode 100644 index 000000000000..440c4d45789b --- /dev/null +++ b/news/3 Code Health/13501.md @@ -0,0 +1 @@ +Fix nightly flake test issue with timeout waiting for kernel. \ No newline at end of file diff --git a/news/3 Code Health/13542.md b/news/3 Code Health/13542.md new file mode 100644 index 000000000000..33b462f5b54e --- /dev/null +++ b/news/3 Code Health/13542.md @@ -0,0 +1 @@ +Disable sorting tests for Python 2.7 as isort5 is not compatible with Python 2.7. diff --git a/news/3 Code Health/13605.md b/news/3 Code Health/13605.md new file mode 100644 index 000000000000..248a8f7d61fe --- /dev/null +++ b/news/3 Code Health/13605.md @@ -0,0 +1 @@ +Fix nightly flake test current directory failing test. \ No newline at end of file diff --git a/news/3 Code Health/13645.md b/news/3 Code Health/13645.md new file mode 100644 index 000000000000..c7c4adb9a668 --- /dev/null +++ b/news/3 Code Health/13645.md @@ -0,0 +1 @@ +Rename the `master` branch to `main`. diff --git a/news/3 Code Health/13647.md b/news/3 Code Health/13647.md new file mode 100644 index 000000000000..9b86400b03c4 --- /dev/null +++ b/news/3 Code Health/13647.md @@ -0,0 +1 @@ +Remove usage of the terms "blacklist" and "whitelist". diff --git a/news/3 Code Health/13726.md b/news/3 Code Health/13726.md new file mode 100644 index 000000000000..f7180bab124c --- /dev/null +++ b/news/3 Code Health/13726.md @@ -0,0 +1 @@ +Fix a test failure and warning when running test adapter tests under pytest 5 diff --git a/news/3 Code Health/13729.md b/news/3 Code Health/13729.md new file mode 100644 index 000000000000..a27cd06e3784 --- /dev/null +++ b/news/3 Code Health/13729.md @@ -0,0 +1 @@ +Remove unused imports from data science ipython test files. \ No newline at end of file diff --git a/news/3 Code Health/13734.md b/news/3 Code Health/13734.md new file mode 100644 index 000000000000..40e0edd43fe5 --- /dev/null +++ b/news/3 Code Health/13734.md @@ -0,0 +1 @@ +Fix nighly failure with beakerx. \ No newline at end of file diff --git a/news/README.md b/news/README.md index 24363e76037e..f26d25030fab 100644 --- a/news/README.md +++ b/news/README.md @@ -25,7 +25,7 @@ would be saved in the `1 Fixes` directory and named `42.md` regarding issue #42) and could contain the following: ```markdown -[Answer](https://en.wikipedia.org/wiki/42_(number)) +[Answer]() to the Ultimate Question of Life, the Universe, and Everything! (thanks [Don Jaymanne](https://github.com/donjayamanne/)) ``` diff --git a/news/requirements.txt b/news/requirements.txt index 676ca35073cf..2656a4bd16de 100644 --- a/news/requirements.txt +++ b/news/requirements.txt @@ -4,17 +4,14 @@ # # pip-compile # -atomicwrites==1.3.0 # via pytest attrs==19.3.0 # via pytest -colorama==0.4.1 # via pytest -docopt==0.6.2 -importlib-metadata==1.1.0 # via pluggy, pytest -more-itertools==8.0.0 # via pytest, zipp -packaging==19.2 # via pytest +docopt==0.6.2 # via -r news/requirements.in +iniconfig==1.0.1 # via pytest +more-itertools==8.0.0 # via pytest +packaging==20.4 # via pytest pluggy==0.13.1 # via pytest -py==1.8.0 # via pytest +py==1.9.0 # via pytest pyparsing==2.4.5 # via packaging -pytest==5.3.1 +pytest==6.0.1 # via -r news/requirements.in six==1.13.0 # via packaging -wcwidth==0.1.7 # via pytest -zipp==0.6.0 # via importlib-metadata +toml==0.10.1 # via pytest diff --git a/package-lock.json b/package-lock.json index 1d8f357e0cd9..0d76244b1ab9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,27 +1,53 @@ { "name": "python", - "version": "2020.4.0-dev", + "version": "2020.9.0-dev", "lockfileVersion": 1, "requires": true, "dependencies": { "@babel/cli": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.5.0.tgz", - "integrity": "sha512-qNH55fWbKrEsCwID+Qc/3JDPnsSGpIIiMDbppnR8Z6PxLAqMQCFNqBctkIkBrMH49Nx+qqVTrHRWUR+ho2k+qQ==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.8.4.tgz", + "integrity": "sha512-XXLgAm6LBbaNxaGhMAznXXaxtCWfuv6PIDJ9Alsy9JYTOh+j2jJz+L/162kkfU1j/pTSxK1xGmlwI4pdIMkoag==", "dev": true, "requires": { - "chokidar": "^2.0.4", - "commander": "^2.8.1", + "chokidar": "^2.1.8", + "commander": "^4.0.1", "convert-source-map": "^1.1.0", "fs-readdir-recursive": "^1.1.0", "glob": "^7.0.0", - "lodash": "^4.17.11", - "mkdirp": "^0.5.1", - "output-file-sync": "^2.0.0", + "lodash": "^4.17.13", + "make-dir": "^2.1.0", "slash": "^2.0.0", "source-map": "^0.5.0" }, "dependencies": { + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -289,6 +315,12 @@ "@babel/types": "^7.4.4" } }, + "@babel/helper-validator-identifier": { + "version": "7.9.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", + "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==", + "dev": true + }, "@babel/helper-wrap-function": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", @@ -895,24 +927,27 @@ } }, "@babel/register": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.4.4.tgz", - "integrity": "sha512-sn51H88GRa00+ZoMqCVgOphmswG4b7mhf9VOB0LUBAieykq2GnRFerlN+JQkO/ntT7wz4jaHNSRPg9IdMPEUkA==", + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.9.0.tgz", + "integrity": "sha512-Tv8Zyi2J2VRR8g7pC5gTeIN8Ihultbmk0ocyNz8H2nEZbmhp1N6q0A1UGsQbDvGP/sNinQKUHf3SqXwqjtFv4Q==", "dev": true, "requires": { - "core-js": "^3.0.0", "find-cache-dir": "^2.0.0", - "lodash": "^4.17.11", - "mkdirp": "^0.5.1", + "lodash": "^4.17.13", + "make-dir": "^2.1.0", "pirates": "^4.0.0", - "source-map-support": "^0.5.9" + "source-map-support": "^0.5.16" }, "dependencies": { - "core-js": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.1.4.tgz", - "integrity": "sha512-YNZN8lt82XIMLnLirj9MhKDFZHalwzzrL9YLt6eb0T5D0EDl4IQ90IGkua8mHbnxNrkj1d8hbdizMc0Qmg1WnQ==", - "dev": true + "source-map-support": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", + "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } } } }, @@ -943,6 +978,24 @@ } } }, + "@babel/runtime-corejs3": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.10.5.tgz", + "integrity": "sha512-RMafpmrNB5E/bwdSphLr8a8++9TosnyJp98RZzI6VOx2R2CCMpsXXXRvmI700O9oEKpXdZat6oEK68/F0zjd4A==", + "dev": true, + "requires": { + "core-js-pure": "^3.0.0", + "regenerator-runtime": "^0.13.4" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "dev": true + } + } + }, "@babel/template": { "version": "7.4.4", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz", @@ -1127,6 +1180,90 @@ "integrity": "sha512-BCN9uNWH8AmiP7BXBJqEinUY9KXalmRzo+L0cB/mQsmFfzODxwQrbvxCHXUNH2iP+qKkWYtB4vyy8N62PViMFw==", "dev": true }, + "@eslint/eslintrc": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.1.3.tgz", + "integrity": "sha512-4YVwPkANLeNtRjMekzux1ci8hIaH5eGKktGqR0d3LWsKNn5B2X/1Z6Trxy7jQXl9EBGE6Yj02O+t09FMeRllaA==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "lodash": "^4.17.19", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "ajv": { + "version": "6.12.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz", + "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "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 + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + } + } + }, "@gulp-sourcemaps/identity-map": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-1.0.2.tgz", @@ -1141,9 +1278,9 @@ }, "dependencies": { "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", "dev": true }, "normalize-path": { @@ -1261,45 +1398,196 @@ "@types/yargs": "^13.0.0" } }, - "@jupyterlab/coreutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jupyterlab/coreutils/-/coreutils-3.1.0.tgz", - "integrity": "sha512-ZqgzDUyanyvc86gtCrIbc1M6iniKHYmWNWHvWOcnq3KIP3wk3grchsTYPTfQDxcUS6F04baPGp/KohEU2ml40Q==", + "@jupyter-widgets/base": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@jupyter-widgets/base/-/base-2.0.2.tgz", + "integrity": "sha512-nNpD+RGJ0As74XxDSGMeObfXSZ8XPBFHJ1AyugzYxpmxIigB2n3DxTyonASkR/3hXwxl3/nXBxHGlxQGs/+nOA==", + "dev": true, + "requires": { + "@jupyterlab/services": "^4.0.0", + "@phosphor/coreutils": "^1.2.0", + "@phosphor/messaging": "^1.2.1", + "@phosphor/widgets": "^1.3.0", + "@types/backbone": "^1.4.1", + "@types/lodash": "^4.14.134", + "backbone": "1.2.3", + "base64-js": "^1.2.1", + "jquery": "^3.1.1", + "lodash": "^4.17.4" + } + }, + "@jupyter-widgets/controls": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@jupyter-widgets/controls/-/controls-1.5.3.tgz", + "integrity": "sha512-eigiIdhYeziKslm+pddZSz5RkzbkDB1C1O25K/S1+yzHm5DTR4iPt00vliOn2wokTvZUsmaC2JPL05eaVAf2iA==", + "dev": true, "requires": { - "@phosphor/commands": "^1.6.3", - "@phosphor/coreutils": "^1.3.1", - "@phosphor/disposable": "^1.2.0", - "@phosphor/properties": "^1.1.3", - "@phosphor/signaling": "^1.2.3", - "ajv": "^6.5.5", - "json5": "^2.1.0", - "minimist": "~1.2.0", - "moment": "^2.24.0", - "path-posix": "~1.0.0", - "url-parse": "~1.4.3" + "@jupyter-widgets/base": "^2.0.2", + "@phosphor/algorithm": "^1.1.0", + "@phosphor/domutils": "^1.1.0", + "@phosphor/messaging": "^1.2.1", + "@phosphor/signaling": "^1.2.0", + "@phosphor/widgets": "^1.3.0", + "d3-format": "^1.3.0", + "jquery": "^3.1.1", + "jquery-ui": "^1.12.1", + "underscore": "^1.8.3" } }, - "@jupyterlab/observables": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@jupyterlab/observables/-/observables-2.4.0.tgz", - "integrity": "sha512-M/fhAnPqd6F4Zwt4IIsvHCkJmwbSw1Tko/hUXgdUQG86lPsJiTOh98sB3qwV1gtzb9oFF+kH21XsHnQZ6Yl6Pw==", + "@jupyter-widgets/jupyterlab-manager": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@jupyter-widgets/jupyterlab-manager/-/jupyterlab-manager-1.1.0.tgz", + "integrity": "sha512-2dKdzl43nMvmr8A/AtonPb23SWWTQW9KjwCmTjWcWMfMsAcmAg5yLY+KfmQE59RnVA/xEcgdb53y1/ADuNbzhg==", + "dev": true, + "requires": { + "@jupyter-widgets/base": "^2.0.2", + "@jupyter-widgets/controls": "^1.5.3", + "@jupyter-widgets/output": "^2.0.1", + "@jupyterlab/application": "^1.2.0", + "@jupyterlab/coreutils": "^3.2.0", + "@jupyterlab/docregistry": "^1.2.0", + "@jupyterlab/logconsole": "^1.0.0", + "@jupyterlab/mainmenu": "^1.2.0", + "@jupyterlab/notebook": "^1.2.0", + "@jupyterlab/outputarea": "^1.2.0", + "@jupyterlab/rendermime": "^1.2.0", + "@jupyterlab/rendermime-interfaces": "^1.5.0", + "@jupyterlab/services": "^4.2.0", + "@phosphor/algorithm": "^1.1.0", + "@phosphor/coreutils": "^1.3.0", + "@phosphor/disposable": "^1.1.1", + "@phosphor/messaging": "^1.2.1", + "@phosphor/properties": "^1.1.0", + "@phosphor/signaling": "^1.2.0", + "@phosphor/widgets": "^1.3.0", + "@types/backbone": "^1.4.1", + "jquery": "^3.1.1", + "semver": "^6.1.1" + }, + "dependencies": { + "@jupyterlab/coreutils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@jupyterlab/coreutils/-/coreutils-3.2.0.tgz", + "integrity": "sha512-LATiUsHuwze/h3JC2EZOBV+kGBoUKO3npqw/Pcgge4bz09xF/oTDrx4G8jl5eew3w1dCUNp9eLduNh8Orrw7xQ==", + "dev": true, + "requires": { + "@phosphor/commands": "^1.7.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.3.0", + "ajv": "^6.5.5", + "json5": "^2.1.0", + "minimist": "~1.2.0", + "moment": "^2.24.0", + "path-posix": "~1.0.0", + "url-parse": "~1.4.3" + }, + "dependencies": { + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==", + "dev": true + }, + "@phosphor/disposable": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.1.tgz", + "integrity": "sha512-0NGzoTXTOizWizK/brKKd5EjJhuuEH4903tLika7q6wl/u0tgneJlTh7R+MBVeih0iNxtuJAfBa3IEY6Qmj+Sw==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.1" + } + }, + "@phosphor/signaling": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.3.1.tgz", + "integrity": "sha512-Eq3wVCPQAhUd9+gUGaYygMr+ov7dhSGblSBXiDzpZlSIfa8OVD4P3cCvYXr/acDTNmZ/gHTcSFO8/n3rDkeXzg==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0" + } + } + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@jupyter-widgets/output": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@jupyter-widgets/output/-/output-2.0.1.tgz", + "integrity": "sha512-8yljIRbn98XNAoLnTOGEiBGKc7SH/ZEueatcJqu8FBMv3FN8hUKc2mgPLfcrlFRDwfe09p51j793oBUYdJUKPg==", + "dev": true, + "requires": { + "@jupyter-widgets/base": "^2.0.2" + } + }, + "@jupyter-widgets/schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@jupyter-widgets/schema/-/schema-0.4.0.tgz", + "integrity": "sha512-0MAZ6hLOCe2dYiUvEAfYvWKD7zV9AdkC4AoIEQiWqAai9Pq06oPNWMMg6x+J0ZaNnZWqR2c16f62ehd57Ql7Zw==" + }, + "@jupyterlab/application": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/application/-/application-1.2.2.tgz", + "integrity": "sha512-HNHVR6ApLdS542ndCmvD0GBitNuLeQwAP2cc+L7fSu67KG4CiMaPyJfyFuQKcMyZbWb5ngebDf8qMgyUX8+gwQ==", + "dev": true, "requires": { + "@jupyterlab/apputils": "^1.2.2", + "@jupyterlab/coreutils": "^3.2.0", + "@jupyterlab/docregistry": "^1.2.2", + "@jupyterlab/rendermime": "^1.2.2", + "@jupyterlab/rendermime-interfaces": "^1.5.0", + "@jupyterlab/services": "^4.2.0", + "@jupyterlab/ui-components": "^1.2.1", "@phosphor/algorithm": "^1.2.0", + "@phosphor/application": "^1.7.0", + "@phosphor/commands": "^1.7.0", "@phosphor/coreutils": "^1.3.1", "@phosphor/disposable": "^1.3.0", "@phosphor/messaging": "^1.3.0", - "@phosphor/signaling": "^1.3.0" + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.3.0", + "@phosphor/widgets": "^1.9.0", + "font-awesome": "~4.7.0" }, "dependencies": { + "@jupyterlab/coreutils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@jupyterlab/coreutils/-/coreutils-3.2.0.tgz", + "integrity": "sha512-LATiUsHuwze/h3JC2EZOBV+kGBoUKO3npqw/Pcgge4bz09xF/oTDrx4G8jl5eew3w1dCUNp9eLduNh8Orrw7xQ==", + "dev": true, + "requires": { + "@phosphor/commands": "^1.7.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.3.0", + "ajv": "^6.5.5", + "json5": "^2.1.0", + "minimist": "~1.2.0", + "moment": "^2.24.0", + "path-posix": "~1.0.0", + "url-parse": "~1.4.3" + } + }, "@phosphor/algorithm": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", - "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==" + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==", + "dev": true }, "@phosphor/disposable": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.1.tgz", "integrity": "sha512-0NGzoTXTOizWizK/brKKd5EjJhuuEH4903tLika7q6wl/u0tgneJlTh7R+MBVeih0iNxtuJAfBa3IEY6Qmj+Sw==", + "dev": true, "requires": { "@phosphor/algorithm": "^1.2.0", "@phosphor/signaling": "^1.3.1" @@ -1309,31 +1597,43 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.3.1.tgz", "integrity": "sha512-Eq3wVCPQAhUd9+gUGaYygMr+ov7dhSGblSBXiDzpZlSIfa8OVD4P3cCvYXr/acDTNmZ/gHTcSFO8/n3rDkeXzg==", + "dev": true, "requires": { "@phosphor/algorithm": "^1.2.0" } } } }, - "@jupyterlab/services": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@jupyterlab/services/-/services-4.2.0.tgz", - "integrity": "sha512-diqiWCYLROwZoeZ46hO4oCINQKr3S789GOA3drw5gDie18/u1nJcvegnY9Oo58xHINnKTs0rKZmFgTe2DvYgQg==", + "@jupyterlab/apputils": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/apputils/-/apputils-1.2.2.tgz", + "integrity": "sha512-9JFub/RTxL/9w2oyihDrUGk/hJW06PbeE7aIyl4S92ePK6trl3q/N1nPqEoC0N1Kj3KmMt9wFpNHt7BYHyVoQw==", + "dev": true, "requires": { "@jupyterlab/coreutils": "^3.2.0", - "@jupyterlab/observables": "^2.4.0", + "@jupyterlab/services": "^4.2.0", + "@jupyterlab/ui-components": "^1.2.1", "@phosphor/algorithm": "^1.2.0", + "@phosphor/commands": "^1.7.0", "@phosphor/coreutils": "^1.3.1", "@phosphor/disposable": "^1.3.0", + "@phosphor/domutils": "^1.1.3", + "@phosphor/messaging": "^1.3.0", + "@phosphor/properties": "^1.1.3", "@phosphor/signaling": "^1.3.0", - "node-fetch": "^2.6.0", - "ws": "^7.0.0" + "@phosphor/virtualdom": "^1.2.0", + "@phosphor/widgets": "^1.9.0", + "@types/react": "~16.8.18", + "react": "~16.8.4", + "react-dom": "~16.8.4", + "sanitize-html": "~1.20.1" }, "dependencies": { "@jupyterlab/coreutils": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/@jupyterlab/coreutils/-/coreutils-3.2.0.tgz", "integrity": "sha512-LATiUsHuwze/h3JC2EZOBV+kGBoUKO3npqw/Pcgge4bz09xF/oTDrx4G8jl5eew3w1dCUNp9eLduNh8Orrw7xQ==", + "dev": true, "requires": { "@phosphor/commands": "^1.7.0", "@phosphor/coreutils": "^1.3.1", @@ -1351,12 +1651,14 @@ "@phosphor/algorithm": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", - "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==" + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==", + "dev": true }, "@phosphor/disposable": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.1.tgz", "integrity": "sha512-0NGzoTXTOizWizK/brKKd5EjJhuuEH4903tLika7q6wl/u0tgneJlTh7R+MBVeih0iNxtuJAfBa3IEY6Qmj+Sw==", + "dev": true, "requires": { "@phosphor/algorithm": "^1.2.0", "@phosphor/signaling": "^1.3.1" @@ -1366,298 +1668,57 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.3.1.tgz", "integrity": "sha512-Eq3wVCPQAhUd9+gUGaYygMr+ov7dhSGblSBXiDzpZlSIfa8OVD4P3cCvYXr/acDTNmZ/gHTcSFO8/n3rDkeXzg==", + "dev": true, "requires": { "@phosphor/algorithm": "^1.2.0" } - }, - "node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" - }, - "ws": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.0.tgz", - "integrity": "sha512-+SqNqFbwTm/0DC18KYzIsMTnEWpLwJsiasW/O17la4iDRRIO9uaHbvKiAS3AHgTiuuWerK/brj4O6MYZkei9xg==", - "requires": { - "async-limiter": "^1.0.0" - } } } }, - "@koa/cors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@koa/cors/-/cors-3.0.0.tgz", - "integrity": "sha512-hDp+cXj6vTYSwHRJfiSpnf5dTMv3FmqNKh1or9BPJk4SHOviHnK9GoL9dT0ypt/E+hlkRkZ9edHylcosW3Ghrw==", - "requires": { - "vary": "^1.1.2" - } - }, - "@loadable/component": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/@loadable/component/-/component-5.12.0.tgz", - "integrity": "sha512-eDG7FPZ8tCFA/mqu2IrYV6eS+UxGBo21PwtEV9QpkpYrx25xKRXzJUm36yfQPK3o7jXu43xpPkwiU4mLWcjJlw==", + "@jupyterlab/attachments": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/attachments/-/attachments-1.2.2.tgz", + "integrity": "sha512-ME7aWyEs4piW6tCQbJ4zfuX6XipX07Wb9vVcW7SuRPlDp7lIUi4nPINkMO2us/lTsuS0/ZjgXjb+VKu4CbTYFQ==", + "dev": true, "requires": { - "@babel/runtime": "^7.7.7", - "hoist-non-react-statics": "^3.3.1" + "@jupyterlab/coreutils": "^3.2.0", + "@jupyterlab/observables": "^2.4.0", + "@jupyterlab/rendermime": "^1.2.2", + "@jupyterlab/rendermime-interfaces": "^1.5.0", + "@phosphor/disposable": "^1.3.0", + "@phosphor/signaling": "^1.3.0" }, "dependencies": { - "@babel/runtime": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.3.tgz", - "integrity": "sha512-fVHx1rzEmwB130VTkLnxR+HmxcTjGzH12LYQcFFoBwakMd3aOMD4OsRN7tGG/UOYE2ektgFrS8uACAoRk1CY0w==", + "@jupyterlab/coreutils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@jupyterlab/coreutils/-/coreutils-3.2.0.tgz", + "integrity": "sha512-LATiUsHuwze/h3JC2EZOBV+kGBoUKO3npqw/Pcgge4bz09xF/oTDrx4G8jl5eew3w1dCUNp9eLduNh8Orrw7xQ==", + "dev": true, "requires": { - "regenerator-runtime": "^0.13.2" + "@phosphor/commands": "^1.7.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.3.0", + "ajv": "^6.5.5", + "json5": "^2.1.0", + "minimist": "~1.2.0", + "moment": "^2.24.0", + "path-posix": "~1.0.0", + "url-parse": "~1.4.3" } }, - "hoist-non-react-statics": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", - "integrity": "sha512-wbg3bpgA/ZqWrZuMOeJi8+SKMhr7X9TesL/rXMjTzh0p0JUBo3II8DHboYbuIXWRlttrUFxwcu/5kygrCw8fJw==", - "requires": { - "react-is": "^16.7.0" - } - } - } - }, - "@mapbox/polylabel": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@mapbox/polylabel/-/polylabel-1.0.2.tgz", - "integrity": "sha1-xXFGGbZa3QgmOOoGAn5psUUA76Y=", - "dev": true, - "requires": { - "tinyqueue": "^1.1.0" - } - }, - "@nteract/markdown": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@nteract/markdown/-/markdown-3.0.1.tgz", - "integrity": "sha512-Dr79niruytzbcDsLLS5NoPIzvVJ3YkJX18O0hmZAmrVn2Ni8L5VW+ZymWsSgRBogDgrYQzhV4L1MmIC/X6rbUg==", - "dev": true, - "requires": { - "@babel/runtime-corejs2": "^7.0.0", - "@nteract/mathjax": "^3.0.1", - "babel-runtime": "^6.26.0", - "react-markdown": "^4.0.0" - } - }, - "@nteract/mathjax": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@nteract/mathjax/-/mathjax-3.0.1.tgz", - "integrity": "sha512-jL4a2KjY9wzcg7dG3HvufKMXOk+FxWQ6BFH6p3fwJUerbf3SF6H/RlaLxuMgFP+Tv+sHVXo7FHTTTIIsRyuv8g==", - "dev": true, - "requires": { - "@babel/runtime-corejs2": "^7.0.0", - "babel-runtime": "^6.26.0" - } - }, - "@nteract/octicons": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/@nteract/octicons/-/octicons-0.5.1.tgz", - "integrity": "sha512-7d42YfTbaiL2cF8txcQirDCNTbhmKfSoJSRlFMnEH11D0e0XUk/dxEWRGxxLrbP3SApY84hF/9uP3u1p6jqiAQ==", - "dev": true, - "requires": { - "@babel/runtime-corejs2": "^7.0.0", - "babel-runtime": "^6.26.0" - } - }, - "@nteract/plotly": { - "version": "1.48.3", - "resolved": "https://registry.npmjs.org/@nteract/plotly/-/plotly-1.48.3.tgz", - "integrity": "sha512-1Km5MtjyUL9POZjU6LMzH/npFUYIC6vewH0Gd2Ua1FON3qN1KCRoJ8em5Gkp+K57QJRpMET1F4z4N9d3U9HOqA==", - "dev": true - }, - "@nteract/styled-blueprintjsx": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@nteract/styled-blueprintjsx/-/styled-blueprintjsx-1.1.1.tgz", - "integrity": "sha512-y5HLOPqbjapP7918rpp0o6Y6a8ZGZyINFPUQYoOc7iN8KqIOrNvWnhMISgzGwmXv8T+wDZFycSOnPxDbH7tBUA==", - "dev": true, - "requires": { - "@babel/runtime-corejs2": "^7.0.0", - "babel-runtime": "^6.26.0", - "styled-jsx": "^3.1.0" - } - }, - "@nteract/transform-dataresource": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/@nteract/transform-dataresource/-/transform-dataresource-4.5.2.tgz", - "integrity": "sha512-48m/Xd14+vyNGp11qrnts9APKu8kSqZLaI+VJpgErZieakleESaVbleg4EiTlU6j/p7DvihBSKDTuFXuBOpyUA==", - "dev": true, - "requires": { - "@babel/runtime": "^7.0.0", - "@babel/runtime-corejs2": "^7.0.0", - "@nteract/octicons": "^0.5.1", - "@nteract/styled-blueprintjsx": "^1.1.1", - "@nteract/transform-plotly": "^3.2.5", - "d3-collection": "^1.0.7", - "d3-scale": "^2.1.2", - "d3-shape": "^1.2.2", - "d3-time-format": "^2.0.5", - "lodash": "^4.17.4", - "moment": "^2.18.1", - "numeral": "^2.0.6", - "react-color": "^2.14.1", - "react-hot-loader": "^4.1.2", - "react-table": "^6.8.6", - "react-table-hoc-fixed-columns": "1.0.2", - "semiotic": "^1.15.6", - "styled-jsx": "^3.1.0", - "tv4": "^1.3.0" - }, - "dependencies": { - "@nteract/transform-plotly": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/@nteract/transform-plotly/-/transform-plotly-3.2.5.tgz", - "integrity": "sha512-tQi47Ly1b/YLNJWhUV8gKVkweJb6ugfGg4XylG2wnLVDoaM8ObJrHAtY74S+Kg9e88N8ExNPy9ulG2xhhSrMag==", - "dev": true, - "requires": { - "@babel/runtime-corejs2": "^7.0.0", - "@nteract/plotly": "^1.0.0", - "babel-runtime": "^6.26.0", - "lodash": "^4.17.4" - } - } - } - }, - "@nteract/transform-geojson": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/@nteract/transform-geojson/-/transform-geojson-3.2.5.tgz", - "integrity": "sha512-crP5yFXAFNgE8CQzwcvCbBkbcSdJhn7YruiYreo2gU48fbX8YXOXRMwFsk31jVcMqE9/fYh9zA9sHX38UjKg/w==", - "dev": true, - "requires": { - "@babel/runtime-corejs2": "^7.0.0", - "babel-runtime": "^6.26.0", - "leaflet": "^1.0.3" - } - }, - "@nteract/transform-model-debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/@nteract/transform-model-debug/-/transform-model-debug-3.2.5.tgz", - "integrity": "sha512-vmtuPfMuClpFo9j9LLX9EqwEkT8B6jrYUSO30YeG2Ct9G1fPlmvmGBtIJSgHv7Km3W4FlVvwglsenFBg/ff6Og==", - "dev": true, - "requires": { - "@babel/runtime-corejs2": "^7.0.0", - "babel-runtime": "^6.26.0" - } - }, - "@nteract/transform-plotly": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@nteract/transform-plotly/-/transform-plotly-6.0.0.tgz", - "integrity": "sha512-RnKPL/UxY0slrXtsP/7ShqZAgXSQjohOVyQcXBXZzqaC3KSd+esJhHYtYzTK2obaLv4YZwjhlLupcVolslN03A==", - "dev": true, - "requires": { - "lodash": "^4.17.4", - "plotly.js-dist": "^1.48.3" - } - }, - "@nteract/transform-vdom": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/@nteract/transform-vdom/-/transform-vdom-2.2.5.tgz", - "integrity": "sha512-q6FbWlrSEWUmQpDV1DBPcw5FZpUcQbKOQ2a59vY/qcQ/Qjh1KUCC+gortso+WIE4P36eHZRxKz5ptCu5i47OLg==", - "dev": true, - "requires": { - "@babel/runtime-corejs2": "^7.0.0", - "babel-runtime": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "@nteract/transform-vega": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@nteract/transform-vega/-/transform-vega-6.0.3.tgz", - "integrity": "sha512-sUY9EeCguUfP3G6AI4yg0jUOT2r7eB1VvuQGxjGj0fyhWnYIZR3xv80/aq2J6iACSBxazV+rU2Ne4abWYy6nwQ==", - "dev": true, - "requires": { - "@nteract/vega-embed-v2": "^1.1.0", - "@nteract/vega-embed-v3": "^1.1.1", - "lodash": "^4.17.4", - "vega": "^5.4.0", - "vega-embed": "^4.2.0", - "vega-lite": "^3.3.0" - } - }, - "@nteract/transforms": { - "version": "4.4.7", - "resolved": "https://registry.npmjs.org/@nteract/transforms/-/transforms-4.4.7.tgz", - "integrity": "sha512-G84BeBfzfdAg3cAV78ES9/yxe2ZNitg7j8MCKKx4iNS9vqeQbO92vyBsBW2D6qlddefU/RB5/HUvvtNUpd0ZRw==", - "dev": true, - "requires": { - "@babel/runtime-corejs2": "^7.0.0", - "@nteract/markdown": "^3.0.1", - "@nteract/mathjax": "^3.0.1", - "@nteract/transform-vdom": "^2.2.5", - "ansi-to-react": "^3.3.5", - "babel-runtime": "^6.26.0", - "react-json-tree": "^0.11.0" - } - }, - "@nteract/vega-embed-v2": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@nteract/vega-embed-v2/-/vega-embed-v2-1.1.0.tgz", - "integrity": "sha512-5sCymGk2qzb1BC8P8MTkD0L9rG/8gPb8jyQ2Fz5aqftblgZ+DooHNcR4oi4T49mhRv0zLjqstBwDxx5JmzNdtw==", - "dev": true, - "requires": { - "d3": "3.5.17", - "d3-cloud": "^1.2.5", - "datalib": "^1.9.1", - "json-stable-stringify": "^1.0.1" - } - }, - "@nteract/vega-embed-v3": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@nteract/vega-embed-v3/-/vega-embed-v3-1.1.1.tgz", - "integrity": "sha512-tPMGmYI3aJIu4+HI03Rtub6yjCmACuvtVTjrq8+h2/OIgxBIrzaexo/QCdTKgV4bg0Pd88hskwZ8heqdMFDoHw==", - "dev": true, - "requires": { - "d3": "3.5.17", - "d3-cloud": "^1.2.5", - "d3-request": "^1.0.6", - "d3-scale-chromatic": "^1.3.3", - "datalib": "^1.9.1", - "json-stable-stringify": "^1.0.1" - } - }, - "@phosphor/algorithm": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.1.3.tgz", - "integrity": "sha512-+dkdYTBglR+qGnLVQdCvYojNZMGxf+xSl1Jeksha3pm7niQktSFz2aR5gEPu/nI5LM8T8slTpqE4Pjvq8P+IVA==" - }, - "@phosphor/collections": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@phosphor/collections/-/collections-1.2.0.tgz", - "integrity": "sha512-T9/0EjSuY6+ga2LIFRZ0xupciOR3Qnyy8Q95lhGTC0FXZUFwC8fl9e8On6IcwasCszS+1n8dtZUWSIynfgdpzw==", - "requires": { - "@phosphor/algorithm": "^1.2.0" - }, - "dependencies": { - "@phosphor/algorithm": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", - "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==" - } - } - }, - "@phosphor/commands": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@phosphor/commands/-/commands-1.7.2.tgz", - "integrity": "sha512-iSyBIWMHsus323BVEARBhuVZNnVel8USo+FIPaAxGcq+icTSSe6+NtSxVQSmZblGN6Qm4iw6I6VtiSx0e6YDgQ==", - "requires": { - "@phosphor/algorithm": "^1.2.0", - "@phosphor/coreutils": "^1.3.1", - "@phosphor/disposable": "^1.3.1", - "@phosphor/domutils": "^1.1.4", - "@phosphor/keyboard": "^1.1.3", - "@phosphor/signaling": "^1.3.1" - }, - "dependencies": { "@phosphor/algorithm": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", - "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==" + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==", + "dev": true }, "@phosphor/disposable": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.1.tgz", "integrity": "sha512-0NGzoTXTOizWizK/brKKd5EjJhuuEH4903tLika7q6wl/u0tgneJlTh7R+MBVeih0iNxtuJAfBa3IEY6Qmj+Sw==", + "dev": true, "requires": { "@phosphor/algorithm": "^1.2.0", "@phosphor/signaling": "^1.3.1" @@ -1667,2575 +1728,3205 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.3.1.tgz", "integrity": "sha512-Eq3wVCPQAhUd9+gUGaYygMr+ov7dhSGblSBXiDzpZlSIfa8OVD4P3cCvYXr/acDTNmZ/gHTcSFO8/n3rDkeXzg==", + "dev": true, "requires": { "@phosphor/algorithm": "^1.2.0" } } } }, - "@phosphor/coreutils": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@phosphor/coreutils/-/coreutils-1.3.1.tgz", - "integrity": "sha512-9OHCn8LYRcPU/sbHm5v7viCA16Uev3gbdkwqoQqlV+EiauDHl70jmeL7XVDXdigl66Dz0LI11C99XOxp+s3zOA==" - }, - "@phosphor/disposable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.2.0.tgz", - "integrity": "sha512-4PoWoffdrLyWOW5Qv7I8//owvZmv57YhaxetAMWeJl13ThXc901RprL0Gxhtue2ZxL2PtUjM1207HndKo2FVjA==", - "requires": { - "@phosphor/algorithm": "^1.1.3", - "@phosphor/signaling": "^1.2.3" - } - }, - "@phosphor/domutils": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@phosphor/domutils/-/domutils-1.1.4.tgz", - "integrity": "sha512-ivwq5TWjQpKcHKXO8PrMl+/cKqbgxPClPiCKc1gwbMd+6hnW5VLwNG0WBzJTxCzXK43HxX18oH+tOZ3E04wc3w==" - }, - "@phosphor/keyboard": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@phosphor/keyboard/-/keyboard-1.1.3.tgz", - "integrity": "sha512-dzxC/PyHiD6mXaESRy6PZTd9JeK+diwG1pyngkyUf127IXOEzubTIbu52VSdpGBklszu33ws05BAGDa4oBE4mQ==" - }, - "@phosphor/messaging": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@phosphor/messaging/-/messaging-1.3.0.tgz", - "integrity": "sha512-k0JE+BTMKlkM335S2AmmJxoYYNRwOdW5jKBqLgjJdGRvUQkM0+2i60ahM45+J23atGJDv9esKUUBINiKHFhLew==", + "@jupyterlab/cells": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@jupyterlab/cells/-/cells-1.2.3.tgz", + "integrity": "sha512-7ZyXdq/bcQAlPS5ACAGSB/T2NLSnMhMSmItyYq1j77VCKAh2RW5IJEdGuHfUn+6+wBrBIcF3/P4wwzPGVUtCgw==", + "dev": true, "requires": { + "@jupyterlab/apputils": "^1.2.2", + "@jupyterlab/attachments": "^1.2.2", + "@jupyterlab/codeeditor": "^1.2.0", + "@jupyterlab/codemirror": "^1.2.2", + "@jupyterlab/coreutils": "^3.2.0", + "@jupyterlab/filebrowser": "^1.2.2", + "@jupyterlab/observables": "^2.4.0", + "@jupyterlab/outputarea": "^1.2.3", + "@jupyterlab/rendermime": "^1.2.2", + "@jupyterlab/services": "^4.2.0", "@phosphor/algorithm": "^1.2.0", - "@phosphor/collections": "^1.2.0" + "@phosphor/coreutils": "^1.3.1", + "@phosphor/dragdrop": "^1.3.0", + "@phosphor/messaging": "^1.3.0", + "@phosphor/signaling": "^1.3.0", + "@phosphor/virtualdom": "^1.2.0", + "@phosphor/widgets": "^1.9.0", + "react": "~16.8.4" }, "dependencies": { + "@jupyterlab/coreutils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@jupyterlab/coreutils/-/coreutils-3.2.0.tgz", + "integrity": "sha512-LATiUsHuwze/h3JC2EZOBV+kGBoUKO3npqw/Pcgge4bz09xF/oTDrx4G8jl5eew3w1dCUNp9eLduNh8Orrw7xQ==", + "dev": true, + "requires": { + "@phosphor/commands": "^1.7.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.3.0", + "ajv": "^6.5.5", + "json5": "^2.1.0", + "minimist": "~1.2.0", + "moment": "^2.24.0", + "path-posix": "~1.0.0", + "url-parse": "~1.4.3" + } + }, "@phosphor/algorithm": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", - "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==" + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==", + "dev": true + }, + "@phosphor/disposable": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.1.tgz", + "integrity": "sha512-0NGzoTXTOizWizK/brKKd5EjJhuuEH4903tLika7q6wl/u0tgneJlTh7R+MBVeih0iNxtuJAfBa3IEY6Qmj+Sw==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.1" + } + }, + "@phosphor/signaling": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.3.1.tgz", + "integrity": "sha512-Eq3wVCPQAhUd9+gUGaYygMr+ov7dhSGblSBXiDzpZlSIfa8OVD4P3cCvYXr/acDTNmZ/gHTcSFO8/n3rDkeXzg==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0" + } } } }, - "@phosphor/properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@phosphor/properties/-/properties-1.1.3.tgz", - "integrity": "sha512-GiglqzU77s6+tFVt6zPq9uuyu/PLQPFcqZt914ZhJ4cN/7yNI/SLyMzpYZ56IRMXvzK9TUgbRna6URE3XAwFUg==" - }, - "@phosphor/signaling": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.2.3.tgz", - "integrity": "sha512-DMwS0m9OgfY5ljpTsklRQPUQpTyg4obz85FyImRDacUVxUVbas95djIDEbU4s1TMzdHBBO+gfki3V4giXUvXzw==", - "requires": { - "@phosphor/algorithm": "^1.1.3" - } - }, - "@sheerun/mutationobserver-shim": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@sheerun/mutationobserver-shim/-/mutationobserver-shim-0.3.2.tgz", - "integrity": "sha512-vTCdPp/T/Q3oSqwHmZ5Kpa9oI7iLtGl3RQaA/NyLHikvcrPxACkkKVr/XzkSPJWXHRhKGzVvb0urJsbMlRxi1Q==", - "dev": true - }, - "@sindresorhus/df": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/df/-/df-2.1.0.tgz", - "integrity": "sha1-0gjPJ+BvC7R20U197M19cm6ao4k=", + "@jupyterlab/codeeditor": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@jupyterlab/codeeditor/-/codeeditor-1.2.0.tgz", + "integrity": "sha512-toejhF/a80X10SZyvEnsnnlS9SxR5W4cz67ju7e/2lsZ8RMwZEDDJAJXyW3mw/EEjt8oVRNP2QpM8L5clE9XyQ==", "dev": true, "requires": { - "execa": "^0.2.2" + "@jupyterlab/coreutils": "^3.2.0", + "@jupyterlab/observables": "^2.4.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/dragdrop": "^1.3.0", + "@phosphor/messaging": "^1.3.0", + "@phosphor/signaling": "^1.3.0", + "@phosphor/widgets": "^1.9.0" }, "dependencies": { - "execa": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.2.2.tgz", - "integrity": "sha1-4urUcsLDGq1vc/GslW7vReEjIMs=", + "@jupyterlab/coreutils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@jupyterlab/coreutils/-/coreutils-3.2.0.tgz", + "integrity": "sha512-LATiUsHuwze/h3JC2EZOBV+kGBoUKO3npqw/Pcgge4bz09xF/oTDrx4G8jl5eew3w1dCUNp9eLduNh8Orrw7xQ==", "dev": true, "requires": { - "cross-spawn-async": "^2.1.1", - "npm-run-path": "^1.0.0", - "object-assign": "^4.0.1", - "path-key": "^1.0.0", - "strip-eof": "^1.0.0" + "@phosphor/commands": "^1.7.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.3.0", + "ajv": "^6.5.5", + "json5": "^2.1.0", + "minimist": "~1.2.0", + "moment": "^2.24.0", + "path-posix": "~1.0.0", + "url-parse": "~1.4.3" } }, - "npm-run-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-1.0.0.tgz", - "integrity": "sha1-9cMr9ZX+ga6Sfa7FLoL4sACsPI8=", + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==", + "dev": true + }, + "@phosphor/disposable": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.1.tgz", + "integrity": "sha512-0NGzoTXTOizWizK/brKKd5EjJhuuEH4903tLika7q6wl/u0tgneJlTh7R+MBVeih0iNxtuJAfBa3IEY6Qmj+Sw==", "dev": true, "requires": { - "path-key": "^1.0.0" + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.1" } }, - "path-key": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-1.0.0.tgz", - "integrity": "sha1-XVPVeAGWRsDWiADbThRua9wqx68=", - "dev": true - } - } - }, - "@sindresorhus/is": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", - "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", - "dev": true - }, - "@sinonjs/commons": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.7.0.tgz", - "integrity": "sha512-qbk9AP+cZUsKdW1GJsBpxPKFmCJ0T8swwzVje3qFd+AkQb74Q/tiuzrdfFg8AD2g5HH/XbE/I8Uc1KYHVYWfhg==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/formatio": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-4.0.1.tgz", - "integrity": "sha512-asIdlLFrla/WZybhm0C8eEzaDNNrzymiTqHMeJl6zPW2881l3uuVRpm0QlRQEjqYWv6CcKMGYME3LbrLJsORBw==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1", - "@sinonjs/samsam": "^4.2.0" - } - }, - "@sinonjs/samsam": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-4.2.0.tgz", - "integrity": "sha512-yG7QbUz38ZPIegfuSMEcbOo0kkLGmPa8a0Qlz4dk7+cXYALDScWjIZzAm/u2+Frh+bcdZF6wZJZwwuJjY0WAjA==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.6.0", - "array-from": "^2.1.1", - "lodash.get": "^4.4.2" - } - }, - "@sinonjs/text-encoding": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz", - "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==", - "dev": true - }, - "@stroncium/procfs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@stroncium/procfs/-/procfs-1.1.1.tgz", - "integrity": "sha512-c8A7hTAu1FgWJTfOQNqp0N9K/9amlVktNRQidzeeX4dTJpSNl2Y65s9BSfnMlFFGMGP+rBvrb0WTTv7ad6MJ9A==", - "dev": true - }, - "@testing-library/dom": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-6.11.0.tgz", - "integrity": "sha512-Pkx9LMIGshyNbfmecjt18rrAp/ayMqGH674jYER0SXj0iG9xZc+zWRjk2Pg9JgPBDvwI//xGrI/oOQkAi4YEew==", - "dev": true, - "requires": { - "@babel/runtime": "^7.6.2", - "@sheerun/mutationobserver-shim": "^0.3.2", - "@types/testing-library__dom": "^6.0.0", - "aria-query": "3.0.0", - "pretty-format": "^24.9.0", - "wait-for-expect": "^3.0.0" - }, - "dependencies": { - "@babel/runtime": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.3.tgz", - "integrity": "sha512-fVHx1rzEmwB130VTkLnxR+HmxcTjGzH12LYQcFFoBwakMd3aOMD4OsRN7tGG/UOYE2ektgFrS8uACAoRk1CY0w==", + "@phosphor/signaling": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.3.1.tgz", + "integrity": "sha512-Eq3wVCPQAhUd9+gUGaYygMr+ov7dhSGblSBXiDzpZlSIfa8OVD4P3cCvYXr/acDTNmZ/gHTcSFO8/n3rDkeXzg==", "dev": true, "requires": { - "regenerator-runtime": "^0.13.2" + "@phosphor/algorithm": "^1.2.0" } } } }, - "@testing-library/react": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-9.4.0.tgz", - "integrity": "sha512-XdhDWkI4GktUPsz0AYyeQ8M9qS/JFie06kcSnUVcpgOwFjAu9vhwR83qBl+lw9yZWkbECjL8Hd+n5hH6C0oWqg==", + "@jupyterlab/codemirror": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/codemirror/-/codemirror-1.2.2.tgz", + "integrity": "sha512-hVPpUa5FnuseJj+ZXIUtjP2nP4fjJB/Fwwc5EdpQHiogwpCR6xibyGdSlkRWmIEzFBp4C0yAB2XbqJt13Ofkkg==", "dev": true, "requires": { - "@babel/runtime": "^7.7.6", - "@testing-library/dom": "^6.11.0", - "@types/testing-library__react": "^9.1.2" + "@jupyterlab/apputils": "^1.2.2", + "@jupyterlab/codeeditor": "^1.2.0", + "@jupyterlab/coreutils": "^3.2.0", + "@jupyterlab/observables": "^2.4.0", + "@jupyterlab/statusbar": "^1.2.2", + "@phosphor/algorithm": "^1.2.0", + "@phosphor/commands": "^1.7.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/signaling": "^1.3.0", + "@phosphor/widgets": "^1.9.0", + "codemirror": "~5.47.0", + "react": "~16.8.4" }, "dependencies": { - "@babel/runtime": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.3.tgz", - "integrity": "sha512-fVHx1rzEmwB130VTkLnxR+HmxcTjGzH12LYQcFFoBwakMd3aOMD4OsRN7tGG/UOYE2ektgFrS8uACAoRk1CY0w==", + "@jupyterlab/coreutils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@jupyterlab/coreutils/-/coreutils-3.2.0.tgz", + "integrity": "sha512-LATiUsHuwze/h3JC2EZOBV+kGBoUKO3npqw/Pcgge4bz09xF/oTDrx4G8jl5eew3w1dCUNp9eLduNh8Orrw7xQ==", "dev": true, "requires": { - "regenerator-runtime": "^0.13.2" + "@phosphor/commands": "^1.7.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.3.0", + "ajv": "^6.5.5", + "json5": "^2.1.0", + "minimist": "~1.2.0", + "moment": "^2.24.0", + "path-posix": "~1.0.0", + "url-parse": "~1.4.3" } - } - } - }, - "@tootallnate/once": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.0.0.tgz", - "integrity": "sha512-KYyTT/T6ALPkIRd2Ge080X/BsXvy9O0hcWTtMWkPvwAwF99+vn6Dv4GzrFT/Nn1LePr+FFDbRXXlqmsy9lw2zA==", - "dev": true - }, - "@types/accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==", - "dev": true, - "requires": { - "@types/node": "*" + }, + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==", + "dev": true + }, + "@phosphor/disposable": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.1.tgz", + "integrity": "sha512-0NGzoTXTOizWizK/brKKd5EjJhuuEH4903tLika7q6wl/u0tgneJlTh7R+MBVeih0iNxtuJAfBa3IEY6Qmj+Sw==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.1" + } + }, + "@phosphor/signaling": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.3.1.tgz", + "integrity": "sha512-Eq3wVCPQAhUd9+gUGaYygMr+ov7dhSGblSBXiDzpZlSIfa8OVD4P3cCvYXr/acDTNmZ/gHTcSFO8/n3rDkeXzg==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0" + } + } } }, - "@types/ansi-regex": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/ansi-regex/-/ansi-regex-4.0.0.tgz", - "integrity": "sha512-r1W316vjsZXn1/csLC4HcCJs6jIHIzksHJd7xx+Dl+PAb0S2Dh9cR8ZsIMEfGmbBtP7JNWlf2KKahSkDP6rg3g==", - "dev": true - }, - "@types/anymatch": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", - "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==", - "dev": true - }, - "@types/body-parser": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.17.1.tgz", - "integrity": "sha512-RoX2EZjMiFMjZh9lmYrwgoP9RTpAjSHiJxdp4oidAQVO02T7HER3xj9UKue5534ULWeqVEkujhWcyvUce+d68w==", - "dev": true, + "@jupyterlab/coreutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jupyterlab/coreutils/-/coreutils-3.1.0.tgz", + "integrity": "sha512-ZqgzDUyanyvc86gtCrIbc1M6iniKHYmWNWHvWOcnq3KIP3wk3grchsTYPTfQDxcUS6F04baPGp/KohEU2ml40Q==", "requires": { - "@types/connect": "*", - "@types/node": "*" + "@phosphor/commands": "^1.6.3", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.2.0", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.2.3", + "ajv": "^6.5.5", + "json5": "^2.1.0", + "minimist": "~1.2.0", + "moment": "^2.24.0", + "path-posix": "~1.0.0", + "url-parse": "~1.4.3" } }, - "@types/caseless": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz", - "integrity": "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==", - "dev": true - }, - "@types/chai": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.7.tgz", - "integrity": "sha512-2Y8uPt0/jwjhQ6EiluT0XCri1Dbplr0ZxfFXUz+ye13gaqE8u5gL5ppao1JrUYr9cIip5S6MvQzBS7Kke7U9VA==", - "dev": true - }, - "@types/chai-arrays": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/chai-arrays/-/chai-arrays-1.0.2.tgz", - "integrity": "sha512-/kgYvj5Pwiv/bOlJ6c5GlRF/W6lUGSLrpQGl/7Gg6w7tvBYcf0iF91+wwyuwDYGO2zM0wNpcoPixZVif8I/r6g==", + "@jupyterlab/docmanager": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/docmanager/-/docmanager-1.2.2.tgz", + "integrity": "sha512-JlA/4rUIumH2sZndTzd2/f8Aevegi4eXvUrvZY6cA3fG9Nir6hHSBznUfaL3iR2YHmnxTM5hUwAK8jnjwmLuig==", "dev": true, "requires": { - "@types/chai": "*" + "@jupyterlab/apputils": "^1.2.2", + "@jupyterlab/coreutils": "^3.2.0", + "@jupyterlab/docregistry": "^1.2.2", + "@jupyterlab/services": "^4.2.0", + "@jupyterlab/statusbar": "^1.2.2", + "@phosphor/algorithm": "^1.2.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/messaging": "^1.3.0", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.3.0", + "@phosphor/widgets": "^1.9.0", + "react": "~16.8.4" + }, + "dependencies": { + "@jupyterlab/coreutils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@jupyterlab/coreutils/-/coreutils-3.2.0.tgz", + "integrity": "sha512-LATiUsHuwze/h3JC2EZOBV+kGBoUKO3npqw/Pcgge4bz09xF/oTDrx4G8jl5eew3w1dCUNp9eLduNh8Orrw7xQ==", + "dev": true, + "requires": { + "@phosphor/commands": "^1.7.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.3.0", + "ajv": "^6.5.5", + "json5": "^2.1.0", + "minimist": "~1.2.0", + "moment": "^2.24.0", + "path-posix": "~1.0.0", + "url-parse": "~1.4.3" + } + }, + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==", + "dev": true + }, + "@phosphor/disposable": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.1.tgz", + "integrity": "sha512-0NGzoTXTOizWizK/brKKd5EjJhuuEH4903tLika7q6wl/u0tgneJlTh7R+MBVeih0iNxtuJAfBa3IEY6Qmj+Sw==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.1" + } + }, + "@phosphor/signaling": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.3.1.tgz", + "integrity": "sha512-Eq3wVCPQAhUd9+gUGaYygMr+ov7dhSGblSBXiDzpZlSIfa8OVD4P3cCvYXr/acDTNmZ/gHTcSFO8/n3rDkeXzg==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0" + } + } } }, - "@types/chai-as-promised": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.0.tgz", - "integrity": "sha512-MFiW54UOSt+f2bRw8J7LgQeIvE/9b4oGvwU7XW30S9QGAiHGnU/fmiOprsyMkdmH2rl8xSPc0/yrQw8juXU6bQ==", + "@jupyterlab/docregistry": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/docregistry/-/docregistry-1.2.2.tgz", + "integrity": "sha512-2c3nA+PsTsZ8h5Z80EE38Iz7LJTpxmk57c7aZ0LWw65eAf+c071w9xUdWRg9apmXz4o7NJsMeDm6Dns+7+AZow==", "dev": true, "requires": { - "@types/chai": "*" + "@jupyterlab/apputils": "^1.2.2", + "@jupyterlab/codeeditor": "^1.2.0", + "@jupyterlab/codemirror": "^1.2.2", + "@jupyterlab/coreutils": "^3.2.0", + "@jupyterlab/observables": "^2.4.0", + "@jupyterlab/rendermime": "^1.2.2", + "@jupyterlab/rendermime-interfaces": "^1.5.0", + "@jupyterlab/services": "^4.2.0", + "@phosphor/algorithm": "^1.2.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/messaging": "^1.3.0", + "@phosphor/signaling": "^1.3.0", + "@phosphor/widgets": "^1.9.0" + }, + "dependencies": { + "@jupyterlab/coreutils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@jupyterlab/coreutils/-/coreutils-3.2.0.tgz", + "integrity": "sha512-LATiUsHuwze/h3JC2EZOBV+kGBoUKO3npqw/Pcgge4bz09xF/oTDrx4G8jl5eew3w1dCUNp9eLduNh8Orrw7xQ==", + "dev": true, + "requires": { + "@phosphor/commands": "^1.7.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.3.0", + "ajv": "^6.5.5", + "json5": "^2.1.0", + "minimist": "~1.2.0", + "moment": "^2.24.0", + "path-posix": "~1.0.0", + "url-parse": "~1.4.3" + } + }, + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==", + "dev": true + }, + "@phosphor/disposable": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.1.tgz", + "integrity": "sha512-0NGzoTXTOizWizK/brKKd5EjJhuuEH4903tLika7q6wl/u0tgneJlTh7R+MBVeih0iNxtuJAfBa3IEY6Qmj+Sw==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.1" + } + }, + "@phosphor/signaling": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.3.1.tgz", + "integrity": "sha512-Eq3wVCPQAhUd9+gUGaYygMr+ov7dhSGblSBXiDzpZlSIfa8OVD4P3cCvYXr/acDTNmZ/gHTcSFO8/n3rDkeXzg==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0" + } + } } }, - "@types/cheerio": { - "version": "0.22.12", - "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.12.tgz", - "integrity": "sha512-aczowyAJNfrkBV+HS8DyAA87OnvkqGrrOmm5s7V6Jbgimzv/1ZoAy91cLJX8GQrUS60KufD7EIzA2LbK8HV4hg==", + "@jupyterlab/filebrowser": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/filebrowser/-/filebrowser-1.2.2.tgz", + "integrity": "sha512-xs01yLt6LBCDaCDVowthRQT+oIFuLQ9n3unwMctHZLi1aeo5cJVzBq/OKMBNJcMAOMAn6HSAEvKwfSnWkpKuiw==", "dev": true, "requires": { - "@types/node": "*" + "@jupyterlab/apputils": "^1.2.2", + "@jupyterlab/coreutils": "^3.2.0", + "@jupyterlab/docmanager": "^1.2.2", + "@jupyterlab/docregistry": "^1.2.2", + "@jupyterlab/services": "^4.2.0", + "@jupyterlab/statusbar": "^1.2.2", + "@jupyterlab/ui-components": "^1.2.1", + "@phosphor/algorithm": "^1.2.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/domutils": "^1.1.3", + "@phosphor/dragdrop": "^1.3.0", + "@phosphor/messaging": "^1.3.0", + "@phosphor/signaling": "^1.3.0", + "@phosphor/widgets": "^1.9.0", + "react": "~16.8.4" + }, + "dependencies": { + "@jupyterlab/coreutils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@jupyterlab/coreutils/-/coreutils-3.2.0.tgz", + "integrity": "sha512-LATiUsHuwze/h3JC2EZOBV+kGBoUKO3npqw/Pcgge4bz09xF/oTDrx4G8jl5eew3w1dCUNp9eLduNh8Orrw7xQ==", + "dev": true, + "requires": { + "@phosphor/commands": "^1.7.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.3.0", + "ajv": "^6.5.5", + "json5": "^2.1.0", + "minimist": "~1.2.0", + "moment": "^2.24.0", + "path-posix": "~1.0.0", + "url-parse": "~1.4.3" + } + }, + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==", + "dev": true + }, + "@phosphor/disposable": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.1.tgz", + "integrity": "sha512-0NGzoTXTOizWizK/brKKd5EjJhuuEH4903tLika7q6wl/u0tgneJlTh7R+MBVeih0iNxtuJAfBa3IEY6Qmj+Sw==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.1" + } + }, + "@phosphor/signaling": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.3.1.tgz", + "integrity": "sha512-Eq3wVCPQAhUd9+gUGaYygMr+ov7dhSGblSBXiDzpZlSIfa8OVD4P3cCvYXr/acDTNmZ/gHTcSFO8/n3rDkeXzg==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0" + } + } } }, - "@types/clean-css": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@types/clean-css/-/clean-css-4.2.1.tgz", - "integrity": "sha512-A1HQhQ0hkvqqByJMgg+Wiv9p9XdoYEzuwm11SVo1mX2/4PSdhjcrUlilJQoqLscIheC51t1D5g+EFWCXZ2VTQQ==", + "@jupyterlab/logconsole": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@jupyterlab/logconsole/-/logconsole-1.0.3.tgz", + "integrity": "sha512-W/YCr57UwH11O+6iyWyLILffBeIGDAzCY6B/Yb97+YH4Cgdxovmy0zlTazLLBD+Pju7oDqJht4OQonDc0XchIA==", "dev": true, "requires": { - "@types/node": "*" - } - }, - "@types/clone": { - "version": "0.1.30", - "resolved": "https://registry.npmjs.org/@types/clone/-/clone-0.1.30.tgz", - "integrity": "sha1-5zZWSMG0ITalnH1QQGN7O1yDthQ=", - "dev": true - }, - "@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", - "dev": true + "@jupyterlab/coreutils": "^3.2.0", + "@jupyterlab/outputarea": "^1.2.3", + "@jupyterlab/rendermime": "^1.2.2", + "@jupyterlab/services": "^4.2.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/messaging": "^1.3.0", + "@phosphor/signaling": "^1.3.0", + "@phosphor/widgets": "^1.9.0" + }, + "dependencies": { + "@jupyterlab/coreutils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@jupyterlab/coreutils/-/coreutils-3.2.0.tgz", + "integrity": "sha512-LATiUsHuwze/h3JC2EZOBV+kGBoUKO3npqw/Pcgge4bz09xF/oTDrx4G8jl5eew3w1dCUNp9eLduNh8Orrw7xQ==", + "dev": true, + "requires": { + "@phosphor/commands": "^1.7.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.3.0", + "ajv": "^6.5.5", + "json5": "^2.1.0", + "minimist": "~1.2.0", + "moment": "^2.24.0", + "path-posix": "~1.0.0", + "url-parse": "~1.4.3" + } + }, + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==", + "dev": true + }, + "@phosphor/disposable": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.1.tgz", + "integrity": "sha512-0NGzoTXTOizWizK/brKKd5EjJhuuEH4903tLika7q6wl/u0tgneJlTh7R+MBVeih0iNxtuJAfBa3IEY6Qmj+Sw==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.1" + } + }, + "@phosphor/signaling": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.3.1.tgz", + "integrity": "sha512-Eq3wVCPQAhUd9+gUGaYygMr+ov7dhSGblSBXiDzpZlSIfa8OVD4P3cCvYXr/acDTNmZ/gHTcSFO8/n3rDkeXzg==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0" + } + } + } }, - "@types/concat-stream": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha1-OU2+C7X+5Gs42JZzXoto7yOQ0A0=", + "@jupyterlab/mainmenu": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/mainmenu/-/mainmenu-1.2.2.tgz", + "integrity": "sha512-hNFvNvsjbqzM1GQp3tF/34j7Y9eR1zoGUuZBsAkge3W0Nsri8fUXfPwBTfOFBXhIx4j9aB4vZhCrgU91eNt7MA==", "dev": true, "requires": { - "@types/node": "*" + "@jupyterlab/apputils": "^1.2.2", + "@jupyterlab/services": "^4.2.0", + "@phosphor/algorithm": "^1.2.0", + "@phosphor/commands": "^1.7.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/widgets": "^1.9.0" + }, + "dependencies": { + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==", + "dev": true + }, + "@phosphor/disposable": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.1.tgz", + "integrity": "sha512-0NGzoTXTOizWizK/brKKd5EjJhuuEH4903tLika7q6wl/u0tgneJlTh7R+MBVeih0iNxtuJAfBa3IEY6Qmj+Sw==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.1" + } + }, + "@phosphor/signaling": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.3.1.tgz", + "integrity": "sha512-Eq3wVCPQAhUd9+gUGaYygMr+ov7dhSGblSBXiDzpZlSIfa8OVD4P3cCvYXr/acDTNmZ/gHTcSFO8/n3rDkeXzg==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0" + } + } } }, - "@types/connect": { - "version": "3.4.32", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.32.tgz", - "integrity": "sha512-4r8qa0quOvh7lGD0pre62CAb1oni1OO6ecJLGCezTmhQ8Fz50Arx9RUszryR8KlgK6avuSXvviL6yWyViQABOg==", + "@jupyterlab/notebook": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@jupyterlab/notebook/-/notebook-1.2.3.tgz", + "integrity": "sha512-+LGIgWRTIaCVTFG8v3Ps1v0lb717Q8ojwvKvv1DdH4g/nbd6KiO5LXKbeprhZ55nyHmxJMzD6Zu87YzDSea5aA==", "dev": true, "requires": { - "@types/node": "*" + "@jupyterlab/apputils": "^1.2.2", + "@jupyterlab/cells": "^1.2.3", + "@jupyterlab/codeeditor": "^1.2.0", + "@jupyterlab/coreutils": "^3.2.0", + "@jupyterlab/docregistry": "^1.2.2", + "@jupyterlab/observables": "^2.4.0", + "@jupyterlab/rendermime": "^1.2.2", + "@jupyterlab/services": "^4.2.0", + "@jupyterlab/statusbar": "^1.2.2", + "@jupyterlab/ui-components": "^1.2.1", + "@phosphor/algorithm": "^1.2.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/domutils": "^1.1.3", + "@phosphor/dragdrop": "^1.3.0", + "@phosphor/messaging": "^1.3.0", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.3.0", + "@phosphor/virtualdom": "^1.2.0", + "@phosphor/widgets": "^1.9.0", + "react": "~16.8.4" + }, + "dependencies": { + "@jupyterlab/coreutils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@jupyterlab/coreutils/-/coreutils-3.2.0.tgz", + "integrity": "sha512-LATiUsHuwze/h3JC2EZOBV+kGBoUKO3npqw/Pcgge4bz09xF/oTDrx4G8jl5eew3w1dCUNp9eLduNh8Orrw7xQ==", + "dev": true, + "requires": { + "@phosphor/commands": "^1.7.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.3.0", + "ajv": "^6.5.5", + "json5": "^2.1.0", + "minimist": "~1.2.0", + "moment": "^2.24.0", + "path-posix": "~1.0.0", + "url-parse": "~1.4.3" + } + }, + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==", + "dev": true + }, + "@phosphor/disposable": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.1.tgz", + "integrity": "sha512-0NGzoTXTOizWizK/brKKd5EjJhuuEH4903tLika7q6wl/u0tgneJlTh7R+MBVeih0iNxtuJAfBa3IEY6Qmj+Sw==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.1" + } + }, + "@phosphor/signaling": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.3.1.tgz", + "integrity": "sha512-Eq3wVCPQAhUd9+gUGaYygMr+ov7dhSGblSBXiDzpZlSIfa8OVD4P3cCvYXr/acDTNmZ/gHTcSFO8/n3rDkeXzg==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0" + } + } } }, - "@types/cookiejar": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.1.tgz", - "integrity": "sha512-aRnpPa7ysx3aNW60hTiCtLHlQaIFsXFCgQlpakNgDNVFzbtusSY8PwjAQgRWfSk0ekNoBjO51eQRB6upA9uuyw==", - "dev": true + "@jupyterlab/observables": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@jupyterlab/observables/-/observables-2.4.0.tgz", + "integrity": "sha512-M/fhAnPqd6F4Zwt4IIsvHCkJmwbSw1Tko/hUXgdUQG86lPsJiTOh98sB3qwV1gtzb9oFF+kH21XsHnQZ6Yl6Pw==", + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/messaging": "^1.3.0", + "@phosphor/signaling": "^1.3.0" + }, + "dependencies": { + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==" + }, + "@phosphor/disposable": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.1.tgz", + "integrity": "sha512-0NGzoTXTOizWizK/brKKd5EjJhuuEH4903tLika7q6wl/u0tgneJlTh7R+MBVeih0iNxtuJAfBa3IEY6Qmj+Sw==", + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.1" + } + }, + "@phosphor/signaling": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.3.1.tgz", + "integrity": "sha512-Eq3wVCPQAhUd9+gUGaYygMr+ov7dhSGblSBXiDzpZlSIfa8OVD4P3cCvYXr/acDTNmZ/gHTcSFO8/n3rDkeXzg==", + "requires": { + "@phosphor/algorithm": "^1.2.0" + } + } + } }, - "@types/cookies": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.4.tgz", - "integrity": "sha512-oTGtMzZZAVuEjTwCjIh8T8FrC8n/uwy+PG0yTvQcdZ7etoel7C7/3MSd7qrukENTgQtotG7gvBlBojuVs7X5rw==", + "@jupyterlab/outputarea": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@jupyterlab/outputarea/-/outputarea-1.2.3.tgz", + "integrity": "sha512-7bFq4sUwoQfAS4KlDu8ogKwo2xGelj5YnVIxw4jlVY2+InMptfhltCI4q8qwvxgTAXVW9m+8QGC4ZHgtRdJt7Q==", "dev": true, "requires": { - "@types/connect": "*", - "@types/express": "*", - "@types/keygrip": "*", - "@types/node": "*" + "@jupyterlab/apputils": "^1.2.2", + "@jupyterlab/coreutils": "^3.2.0", + "@jupyterlab/observables": "^2.4.0", + "@jupyterlab/rendermime": "^1.2.2", + "@jupyterlab/rendermime-interfaces": "^1.5.0", + "@jupyterlab/services": "^4.2.0", + "@phosphor/algorithm": "^1.2.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/messaging": "^1.3.0", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.3.0", + "@phosphor/widgets": "^1.9.0" + }, + "dependencies": { + "@jupyterlab/coreutils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@jupyterlab/coreutils/-/coreutils-3.2.0.tgz", + "integrity": "sha512-LATiUsHuwze/h3JC2EZOBV+kGBoUKO3npqw/Pcgge4bz09xF/oTDrx4G8jl5eew3w1dCUNp9eLduNh8Orrw7xQ==", + "dev": true, + "requires": { + "@phosphor/commands": "^1.7.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.3.0", + "ajv": "^6.5.5", + "json5": "^2.1.0", + "minimist": "~1.2.0", + "moment": "^2.24.0", + "path-posix": "~1.0.0", + "url-parse": "~1.4.3" + } + }, + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==", + "dev": true + }, + "@phosphor/disposable": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.1.tgz", + "integrity": "sha512-0NGzoTXTOizWizK/brKKd5EjJhuuEH4903tLika7q6wl/u0tgneJlTh7R+MBVeih0iNxtuJAfBa3IEY6Qmj+Sw==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.1" + } + }, + "@phosphor/signaling": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.3.1.tgz", + "integrity": "sha512-Eq3wVCPQAhUd9+gUGaYygMr+ov7dhSGblSBXiDzpZlSIfa8OVD4P3cCvYXr/acDTNmZ/gHTcSFO8/n3rDkeXzg==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0" + } + } } }, - "@types/copy-webpack-plugin": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/@types/copy-webpack-plugin/-/copy-webpack-plugin-4.4.4.tgz", - "integrity": "sha512-D8NyCMfHFWi638Cn5gi88mELGrISQdzDAcmOk4j70bzm0kLey99Zp5xsFsL44qPi+a22tcB39U5jiJiV2XMd9A==", + "@jupyterlab/rendermime": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/rendermime/-/rendermime-1.2.2.tgz", + "integrity": "sha512-Meptrw869XQ5LUVOTpKUZNzJPcAO1rCc71Ch1jrPM4VRq3wkGvFGN5p82z2qWPOWXIG5IcQbfTnqpWLDVNzqMw==", "dev": true, "requires": { - "@types/minimatch": "*", - "@types/node": "*", - "@types/webpack": "*" - } - }, - "@types/decompress": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/@types/decompress/-/decompress-4.2.3.tgz", - "integrity": "sha512-W24e3Ycz1UZPgr1ZEDHlK4XnvOr+CpJH3qNsFeqXwwlW/9END9gxn3oJSsp7gYdiQxrXUHwUUd3xuzVz37MrZQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@types/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-EGlKlgMhnLt/cM4DbUSafFdrkeJoC9Mvnj0PUCU7tFmTjMjNRT957kXCx0wYm3JuEq4o4ZsS5vG+NlkM2DMd2A==", - "dev": true - }, - "@types/del": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/del/-/del-3.0.1.tgz", - "integrity": "sha512-y6qRq6raBuu965clKgx6FHuiPu3oHdtmzMPXi8Uahsjdq1L6DL5fS/aY5/s71YwM7k6K1QIWvem5vNwlnNGIkQ==", - "dev": true, - "requires": { - "@types/glob": "*" - } - }, - "@types/diff-match-patch": { - "version": "1.0.32", - "resolved": "https://registry.npmjs.org/@types/diff-match-patch/-/diff-match-patch-1.0.32.tgz", - "integrity": "sha512-bPYT5ECFiblzsVzyURaNhljBH2Gh1t9LowgUwciMrNAhFewLkHT2H0Mto07Y4/3KCOGZHRQll3CTtQZ0X11D/A==", - "dev": true - }, - "@types/dom4": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/dom4/-/dom4-2.0.1.tgz", - "integrity": "sha512-kSkVAvWmMZiCYtvqjqQEwOmvKwcH+V4uiv3qPQ8pAh1Xl39xggGEo8gHUqV4waYGHezdFw0rKBR8Jt0CrQSDZA==", - "dev": true - }, - "@types/download": { - "version": "6.2.4", - "resolved": "https://registry.npmjs.org/@types/download/-/download-6.2.4.tgz", - "integrity": "sha512-Lo5dy3ai6LNnbL663sgdzqL1eib11u1yKH6w3v3IXEOO4kRfQpMn1qWUTaumcHLACjFp1RcBx9tUXEvJoR3vcA==", - "dev": true, - "requires": { - "@types/decompress": "*", - "@types/got": "^8", - "@types/node": "*" + "@jupyterlab/apputils": "^1.2.2", + "@jupyterlab/codemirror": "^1.2.2", + "@jupyterlab/coreutils": "^3.2.0", + "@jupyterlab/observables": "^2.4.0", + "@jupyterlab/rendermime-interfaces": "^1.5.0", + "@jupyterlab/services": "^4.2.0", + "@phosphor/algorithm": "^1.2.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/messaging": "^1.3.0", + "@phosphor/signaling": "^1.3.0", + "@phosphor/widgets": "^1.9.0", + "lodash.escape": "^4.0.1", + "marked": "^0.7.0" + }, + "dependencies": { + "@jupyterlab/coreutils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@jupyterlab/coreutils/-/coreutils-3.2.0.tgz", + "integrity": "sha512-LATiUsHuwze/h3JC2EZOBV+kGBoUKO3npqw/Pcgge4bz09xF/oTDrx4G8jl5eew3w1dCUNp9eLduNh8Orrw7xQ==", + "dev": true, + "requires": { + "@phosphor/commands": "^1.7.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.3.0", + "ajv": "^6.5.5", + "json5": "^2.1.0", + "minimist": "~1.2.0", + "moment": "^2.24.0", + "path-posix": "~1.0.0", + "url-parse": "~1.4.3" + } + }, + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==", + "dev": true + }, + "@phosphor/disposable": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.1.tgz", + "integrity": "sha512-0NGzoTXTOizWizK/brKKd5EjJhuuEH4903tLika7q6wl/u0tgneJlTh7R+MBVeih0iNxtuJAfBa3IEY6Qmj+Sw==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.1" + } + }, + "@phosphor/signaling": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.3.1.tgz", + "integrity": "sha512-Eq3wVCPQAhUd9+gUGaYygMr+ov7dhSGblSBXiDzpZlSIfa8OVD4P3cCvYXr/acDTNmZ/gHTcSFO8/n3rDkeXzg==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0" + } + } } }, - "@types/enzyme": { - "version": "3.10.2", - "resolved": "https://registry.npmjs.org/@types/enzyme/-/enzyme-3.10.2.tgz", - "integrity": "sha512-tAFqfBVAxaxOCCcCpFrv6yFDg/hwL1KtJc7dsOaO+BBdSppTcyRP7jO2ze5va7NDa8iSFfAaZ9NeuybmMulu0w==", + "@jupyterlab/rendermime-interfaces": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jupyterlab/rendermime-interfaces/-/rendermime-interfaces-1.5.0.tgz", + "integrity": "sha512-k6DjX/srKl1FA1CZyrAzz1qA2v1arXUIAmbEddZ5L3O+dnvDlOKjkI/NexaRQvmQ62aziSln+wKrr2P1JPNmGg==", "dev": true, "requires": { - "@types/cheerio": "*", - "@types/react": "*" + "@phosphor/coreutils": "^1.3.1", + "@phosphor/widgets": "^1.9.0" } }, - "@types/enzyme-adapter-react-16": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.0.5.tgz", - "integrity": "sha512-K7HLFTkBDN5RyRmU90JuYt8OWEY2iKUn43SDWEoBOXd/PowUWjLZ3Q6qMBiQuZeFYK/TOstaZxsnI0fXoAfLpg==", - "dev": true, + "@jupyterlab/services": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@jupyterlab/services/-/services-4.2.0.tgz", + "integrity": "sha512-diqiWCYLROwZoeZ46hO4oCINQKr3S789GOA3drw5gDie18/u1nJcvegnY9Oo58xHINnKTs0rKZmFgTe2DvYgQg==", "requires": { - "@types/enzyme": "*" + "@jupyterlab/coreutils": "^3.2.0", + "@jupyterlab/observables": "^2.4.0", + "@phosphor/algorithm": "^1.2.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/signaling": "^1.3.0", + "node-fetch": "^2.6.0", + "ws": "^7.0.0" + }, + "dependencies": { + "@jupyterlab/coreutils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@jupyterlab/coreutils/-/coreutils-3.2.0.tgz", + "integrity": "sha512-LATiUsHuwze/h3JC2EZOBV+kGBoUKO3npqw/Pcgge4bz09xF/oTDrx4G8jl5eew3w1dCUNp9eLduNh8Orrw7xQ==", + "requires": { + "@phosphor/commands": "^1.7.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.3.0", + "ajv": "^6.5.5", + "json5": "^2.1.0", + "minimist": "~1.2.0", + "moment": "^2.24.0", + "path-posix": "~1.0.0", + "url-parse": "~1.4.3" + } + }, + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==" + }, + "@phosphor/disposable": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.1.tgz", + "integrity": "sha512-0NGzoTXTOizWizK/brKKd5EjJhuuEH4903tLika7q6wl/u0tgneJlTh7R+MBVeih0iNxtuJAfBa3IEY6Qmj+Sw==", + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.1" + } + }, + "@phosphor/signaling": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.3.1.tgz", + "integrity": "sha512-Eq3wVCPQAhUd9+gUGaYygMr+ov7dhSGblSBXiDzpZlSIfa8OVD4P3cCvYXr/acDTNmZ/gHTcSFO8/n3rDkeXzg==", + "requires": { + "@phosphor/algorithm": "^1.2.0" + } + }, + "node-fetch": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" + }, + "ws": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.0.tgz", + "integrity": "sha512-+SqNqFbwTm/0DC18KYzIsMTnEWpLwJsiasW/O17la4iDRRIO9uaHbvKiAS3AHgTiuuWerK/brj4O6MYZkei9xg==", + "requires": { + "async-limiter": "^1.0.0" + } + } } }, - "@types/event-stream": { - "version": "3.3.34", - "resolved": "https://registry.npmjs.org/@types/event-stream/-/event-stream-3.3.34.tgz", - "integrity": "sha512-LLiivgWKii4JeMzFy3trrxqkRrVSdue8WmbXyHuSJLwNrhIQU5MTrc65jhxEPwMyh5HR1xevSdD+k2nnSRKw9g==", + "@jupyterlab/statusbar": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@jupyterlab/statusbar/-/statusbar-1.2.2.tgz", + "integrity": "sha512-1SIyW3pqoqD1y7g5WvGB2UJASQ6uikE1HtRLj67UEstdTfiZyVPSutTZJrXqkRqsB7jPEU4EfwCLUFXEbZkLZw==", "dev": true, "requires": { - "@types/node": "*" + "@jupyterlab/apputils": "^1.2.2", + "@jupyterlab/codeeditor": "^1.2.0", + "@jupyterlab/coreutils": "^3.2.0", + "@jupyterlab/services": "^4.2.0", + "@jupyterlab/ui-components": "^1.2.1", + "@phosphor/algorithm": "^1.2.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/messaging": "^1.3.0", + "@phosphor/signaling": "^1.3.0", + "@phosphor/widgets": "^1.9.0", + "react": "~16.8.4", + "typestyle": "^2.0.1" + }, + "dependencies": { + "@jupyterlab/coreutils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@jupyterlab/coreutils/-/coreutils-3.2.0.tgz", + "integrity": "sha512-LATiUsHuwze/h3JC2EZOBV+kGBoUKO3npqw/Pcgge4bz09xF/oTDrx4G8jl5eew3w1dCUNp9eLduNh8Orrw7xQ==", + "dev": true, + "requires": { + "@phosphor/commands": "^1.7.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.3.0", + "ajv": "^6.5.5", + "json5": "^2.1.0", + "minimist": "~1.2.0", + "moment": "^2.24.0", + "path-posix": "~1.0.0", + "url-parse": "~1.4.3" + } + }, + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==", + "dev": true + }, + "@phosphor/disposable": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.1.tgz", + "integrity": "sha512-0NGzoTXTOizWizK/brKKd5EjJhuuEH4903tLika7q6wl/u0tgneJlTh7R+MBVeih0iNxtuJAfBa3IEY6Qmj+Sw==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.1" + } + }, + "@phosphor/signaling": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.3.1.tgz", + "integrity": "sha512-Eq3wVCPQAhUd9+gUGaYygMr+ov7dhSGblSBXiDzpZlSIfa8OVD4P3cCvYXr/acDTNmZ/gHTcSFO8/n3rDkeXzg==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0" + } + } } }, - "@types/events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", - "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", - "dev": true - }, - "@types/express": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.2.tgz", - "integrity": "sha512-5mHFNyavtLoJmnusB8OKJ5bshSzw+qkMIBAobLrIM48HJvunFva9mOa6aBwh64lBFyNwBbs0xiEFuj4eU/NjCA==", + "@jupyterlab/ui-components": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jupyterlab/ui-components/-/ui-components-1.2.1.tgz", + "integrity": "sha512-GUtIRwTmFnlJaPUM8SiFw1STmsyMVGjchLKqIoQnn0qYAJvaSUGyRqqoSD5iIpwov6OHCOOyxH6fQ5OAtH1kwA==", "dev": true, "requires": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "*", - "@types/serve-static": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.17.0", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.0.tgz", - "integrity": "sha512-Xnub7w57uvcBqFdIGoRg1KhNOeEj0vB6ykUM7uFWyxvbdE89GFyqgmUcanAriMr4YOxNFZBAWkfcWIb4WBPt3g==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/range-parser": "*" + "@blueprintjs/core": "^3.9.0", + "@blueprintjs/select": "^3.3.0", + "@jupyterlab/coreutils": "^3.2.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/messaging": "^1.3.0", + "@phosphor/virtualdom": "^1.2.0", + "@phosphor/widgets": "^1.9.0", + "react": "~16.8.4", + "typestyle": "^2.0.1" + }, + "dependencies": { + "@jupyterlab/coreutils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@jupyterlab/coreutils/-/coreutils-3.2.0.tgz", + "integrity": "sha512-LATiUsHuwze/h3JC2EZOBV+kGBoUKO3npqw/Pcgge4bz09xF/oTDrx4G8jl5eew3w1dCUNp9eLduNh8Orrw7xQ==", + "dev": true, + "requires": { + "@phosphor/commands": "^1.7.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.0", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.3.0", + "ajv": "^6.5.5", + "json5": "^2.1.0", + "minimist": "~1.2.0", + "moment": "^2.24.0", + "path-posix": "~1.0.0", + "url-parse": "~1.4.3" + } + }, + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==", + "dev": true + }, + "@phosphor/disposable": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.1.tgz", + "integrity": "sha512-0NGzoTXTOizWizK/brKKd5EjJhuuEH4903tLika7q6wl/u0tgneJlTh7R+MBVeih0iNxtuJAfBa3IEY6Qmj+Sw==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.1" + } + }, + "@phosphor/signaling": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.3.1.tgz", + "integrity": "sha512-Eq3wVCPQAhUd9+gUGaYygMr+ov7dhSGblSBXiDzpZlSIfa8OVD4P3cCvYXr/acDTNmZ/gHTcSFO8/n3rDkeXzg==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0" + } + } } }, - "@types/fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha512-mky/O83TXmGY39P1H9YbUpjV6l6voRYlufqfFCvel8l1phuy8HRjdWc1rrPuN53ITBJlbyMSV6z3niOySO5pgQ==", - "dev": true + "@loadable/component": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/@loadable/component/-/component-5.12.0.tgz", + "integrity": "sha512-eDG7FPZ8tCFA/mqu2IrYV6eS+UxGBo21PwtEV9QpkpYrx25xKRXzJUm36yfQPK3o7jXu43xpPkwiU4mLWcjJlw==", + "requires": { + "@babel/runtime": "^7.7.7", + "hoist-non-react-statics": "^3.3.1" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.3.tgz", + "integrity": "sha512-fVHx1rzEmwB130VTkLnxR+HmxcTjGzH12LYQcFFoBwakMd3aOMD4OsRN7tGG/UOYE2ektgFrS8uACAoRk1CY0w==", + "requires": { + "regenerator-runtime": "^0.13.2" + } + }, + "hoist-non-react-statics": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", + "integrity": "sha512-wbg3bpgA/ZqWrZuMOeJi8+SKMhr7X9TesL/rXMjTzh0p0JUBo3II8DHboYbuIXWRlttrUFxwcu/5kygrCw8fJw==", + "requires": { + "react-is": "^16.7.0" + } + } + } }, - "@types/form-data": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz", - "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==", + "@mapbox/polylabel": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@mapbox/polylabel/-/polylabel-1.0.2.tgz", + "integrity": "sha1-xXFGGbZa3QgmOOoGAn5psUUA76Y=", "dev": true, "requires": { - "@types/node": "*" + "tinyqueue": "^1.1.0" } }, - "@types/fs-extra": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-5.1.0.tgz", - "integrity": "sha512-AInn5+UBFIK9FK5xc9yP5e3TQSPNNgjHByqYcj9g5elVBnDQcQL7PlO1CIRy2gWlbwK7UPYqi7vRvFA44dCmYQ==", + "@npmcli/move-file": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.0.1.tgz", + "integrity": "sha512-Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw==", "dev": true, "requires": { - "@types/node": "*" + "mkdirp": "^1.0.4" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + } } }, - "@types/get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@types/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-TiNg8R1kjDde5Pub9F9vCwZA/BNW9HeXP5b9j7Qucqncy/McfPZ6xze/EyBdXS5FhMIGN6Fx3vg75l5KHy3V1Q==", - "dev": true - }, - "@types/glob": { - "version": "5.0.36", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-5.0.36.tgz", - "integrity": "sha512-KEzSKuP2+3oOjYYjujue6Z3Yqis5HKA1BsIC+jZ1v3lrRNdsqyNNtX0rQf6LSuI4DJJ2z5UV//zBZCcvM0xikg==", - "dev": true, + "@nteract/commutable": { + "version": "7.2.9", + "resolved": "https://registry.npmjs.org/@nteract/commutable/-/commutable-7.2.9.tgz", + "integrity": "sha512-QwNp8LO4vq5j1W1ls2ZMpwS4E1YIk92ZmfZLy7QLbNumLrkxP/Q0SWNyxRGfugAsWco+8ORqFf/tY8ePBUCcxg==", "requires": { - "@types/events": "*", - "@types/minimatch": "*", - "@types/node": "*" + "immutable": "^4.0.0-rc.12", + "uuid": "^7.0.0" + }, + "dependencies": { + "uuid": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", + "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==" + } } }, - "@types/got": { - "version": "8.3.5", - "resolved": "https://registry.npmjs.org/@types/got/-/got-8.3.5.tgz", - "integrity": "sha512-AaXSrIF99SjjtPVNmCmYb388HML+PKEJb/xmj4SbL2ZO0hHuETZZzyDIKfOqaEoAHZEuX4sC+FRFrHYJoIby6A==", + "@nteract/markdown": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@nteract/markdown/-/markdown-3.0.1.tgz", + "integrity": "sha512-Dr79niruytzbcDsLLS5NoPIzvVJ3YkJX18O0hmZAmrVn2Ni8L5VW+ZymWsSgRBogDgrYQzhV4L1MmIC/X6rbUg==", "dev": true, "requires": { - "@types/node": "*" + "@babel/runtime-corejs2": "^7.0.0", + "@nteract/mathjax": "^3.0.1", + "babel-runtime": "^6.26.0", + "react-markdown": "^4.0.0" } }, - "@types/hoist-non-react-statics": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", - "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", + "@nteract/mathjax": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@nteract/mathjax/-/mathjax-3.0.1.tgz", + "integrity": "sha512-jL4a2KjY9wzcg7dG3HvufKMXOk+FxWQ6BFH6p3fwJUerbf3SF6H/RlaLxuMgFP+Tv+sHVXo7FHTTTIIsRyuv8g==", "dev": true, "requires": { - "@types/react": "*", - "hoist-non-react-statics": "^3.3.0" + "@babel/runtime-corejs2": "^7.0.0", + "babel-runtime": "^6.26.0" } }, - "@types/html-minifier": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/@types/html-minifier/-/html-minifier-3.5.3.tgz", - "integrity": "sha512-j1P/4PcWVVCPEy5lofcHnQ6BtXz9tHGiFPWzqm7TtGuWZEfCHEP446HlkSNc9fQgNJaJZ6ewPtp2aaFla/Uerg==", - "dev": true, + "@nteract/messaging": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/@nteract/messaging/-/messaging-7.0.4.tgz", + "integrity": "sha512-n0vggzsrRFEtte5SgMVMbgjo19qXa5khDGhvXt4qqmNY3gOSnNSQMpVkXbno6fQXreKOYQ1uO8YIlQTDfOt/Nw==", "requires": { - "@types/clean-css": "*", - "@types/relateurl": "*", - "@types/uglify-js": "*" + "@nteract/types": "^6.0.4", + "@types/uuid": "^7.0.0", + "lodash.clonedeep": "^4.5.0", + "rxjs": "^6.3.3", + "uuid": "^7.0.0" + }, + "dependencies": { + "@types/uuid": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-7.0.2.tgz", + "integrity": "sha512-8Ly3zIPTnT0/8RCU6Kg/G3uTICf9sRwYOpUzSIM3503tLIKcnJPRuinHhXngJUy2MntrEf6dlpOHXJju90Qh5w==" + }, + "uuid": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", + "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==" + } } }, - "@types/html-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@types/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", - "integrity": "sha512-in9rViBsTRB4ZApndZ12It68nGzSMHVK30JD7c49iLIHMFeTPbP7I7wevzMv7re2o0k5TlU6Ry/beyrmgWX7Bg==", + "@nteract/octicons": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@nteract/octicons/-/octicons-0.5.1.tgz", + "integrity": "sha512-7d42YfTbaiL2cF8txcQirDCNTbhmKfSoJSRlFMnEH11D0e0XUk/dxEWRGxxLrbP3SApY84hF/9uP3u1p6jqiAQ==", "dev": true, "requires": { - "@types/html-minifier": "*", - "@types/tapable": "*", - "@types/webpack": "*" + "@babel/runtime-corejs2": "^7.0.0", + "babel-runtime": "^6.26.0" } }, - "@types/http-assert": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.1.tgz", - "integrity": "sha512-PGAK759pxyfXE78NbKxyfRcWYA/KwW17X290cNev/qAsn9eQIxkH4shoNBafH37wewhDG/0p1cHPbK6+SzZjWQ==", + "@nteract/plotly": { + "version": "1.48.3", + "resolved": "https://registry.npmjs.org/@nteract/plotly/-/plotly-1.48.3.tgz", + "integrity": "sha512-1Km5MtjyUL9POZjU6LMzH/npFUYIC6vewH0Gd2Ua1FON3qN1KCRoJ8em5Gkp+K57QJRpMET1F4z4N9d3U9HOqA==", "dev": true }, - "@types/iconv-lite": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@types/iconv-lite/-/iconv-lite-0.0.1.tgz", - "integrity": "sha1-qjuL2ivlErGuCgV7lC6GnDcKVWk=", + "@nteract/styled-blueprintjsx": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@nteract/styled-blueprintjsx/-/styled-blueprintjsx-1.1.1.tgz", + "integrity": "sha512-y5HLOPqbjapP7918rpp0o6Y6a8ZGZyINFPUQYoOc7iN8KqIOrNvWnhMISgzGwmXv8T+wDZFycSOnPxDbH7tBUA==", "dev": true, "requires": { - "@types/node": "*" + "@babel/runtime-corejs2": "^7.0.0", + "babel-runtime": "^6.26.0", + "styled-jsx": "^3.1.0" } }, - "@types/istanbul-lib-coverage": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", - "integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", - "integrity": "sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg==", + "@nteract/transform-dataresource": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/@nteract/transform-dataresource/-/transform-dataresource-4.5.2.tgz", + "integrity": "sha512-48m/Xd14+vyNGp11qrnts9APKu8kSqZLaI+VJpgErZieakleESaVbleg4EiTlU6j/p7DvihBSKDTuFXuBOpyUA==", "dev": true, "requires": { - "@types/istanbul-lib-coverage": "*" + "@babel/runtime": "^7.0.0", + "@babel/runtime-corejs2": "^7.0.0", + "@nteract/octicons": "^0.5.1", + "@nteract/styled-blueprintjsx": "^1.1.1", + "@nteract/transform-plotly": "^3.2.5", + "d3-collection": "^1.0.7", + "d3-scale": "^2.1.2", + "d3-shape": "^1.2.2", + "d3-time-format": "^2.0.5", + "lodash": "^4.17.4", + "moment": "^2.18.1", + "numeral": "^2.0.6", + "react-color": "^2.14.1", + "react-hot-loader": "^4.1.2", + "react-table": "^6.8.6", + "react-table-hoc-fixed-columns": "1.0.2", + "semiotic": "^1.15.6", + "styled-jsx": "^3.1.0", + "tv4": "^1.3.0" + }, + "dependencies": { + "@nteract/transform-plotly": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@nteract/transform-plotly/-/transform-plotly-3.2.5.tgz", + "integrity": "sha512-tQi47Ly1b/YLNJWhUV8gKVkweJb6ugfGg4XylG2wnLVDoaM8ObJrHAtY74S+Kg9e88N8ExNPy9ulG2xhhSrMag==", + "dev": true, + "requires": { + "@babel/runtime-corejs2": "^7.0.0", + "@nteract/plotly": "^1.0.0", + "babel-runtime": "^6.26.0", + "lodash": "^4.17.4" + } + } } }, - "@types/istanbul-reports": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz", - "integrity": "sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==", + "@nteract/transform-geojson": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@nteract/transform-geojson/-/transform-geojson-3.2.5.tgz", + "integrity": "sha512-crP5yFXAFNgE8CQzwcvCbBkbcSdJhn7YruiYreo2gU48fbX8YXOXRMwFsk31jVcMqE9/fYh9zA9sHX38UjKg/w==", "dev": true, "requires": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" + "@babel/runtime-corejs2": "^7.0.0", + "babel-runtime": "^6.26.0", + "leaflet": "^1.0.3" } }, - "@types/jquery": { - "version": "1.10.35", - "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-1.10.35.tgz", - "integrity": "sha512-SVtqEcudm7yjkTwoRA1gC6CNMhGDdMx4Pg8BPdiqI7bXXdCn1BPmtxgeWYQOgDxrq53/5YTlhq5ULxBEAlWIBg==", - "dev": true - }, - "@types/jsdom": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-11.12.0.tgz", - "integrity": "sha512-XHMNZFQ0Ih3A4/NTWAO15+OsQafPKnQCanN0FYGbsTM/EoI5EoEAvvkF51/DQC2BT5low4tomp7k2RLMlriA5Q==", + "@nteract/transform-model-debug": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@nteract/transform-model-debug/-/transform-model-debug-3.2.5.tgz", + "integrity": "sha512-vmtuPfMuClpFo9j9LLX9EqwEkT8B6jrYUSO30YeG2Ct9G1fPlmvmGBtIJSgHv7Km3W4FlVvwglsenFBg/ff6Og==", "dev": true, "requires": { - "@types/events": "*", - "@types/node": "*", - "@types/tough-cookie": "*", - "parse5": "^4.0.0" + "@babel/runtime-corejs2": "^7.0.0", + "babel-runtime": "^6.26.0" } }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", - "dev": true - }, - "@types/keygrip": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.1.tgz", - "integrity": "sha1-/1QEYtL7TQqIRBzq8n0oewHD2Hg=", - "dev": true - }, - "@types/koa": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.11.0.tgz", - "integrity": "sha512-Hgx/1/rVlJvqYBrdeCsS7PDiR2qbxlMt1RnmNWD4Uxi5FF9nwkYqIldo7urjc+dfNpk+2NRGcnAYd4L5xEhCcQ==", + "@nteract/transform-plotly": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@nteract/transform-plotly/-/transform-plotly-6.0.0.tgz", + "integrity": "sha512-RnKPL/UxY0slrXtsP/7ShqZAgXSQjohOVyQcXBXZzqaC3KSd+esJhHYtYzTK2obaLv4YZwjhlLupcVolslN03A==", "dev": true, "requires": { - "@types/accepts": "*", - "@types/cookies": "*", - "@types/http-assert": "*", - "@types/keygrip": "*", - "@types/koa-compose": "*", - "@types/node": "*" + "lodash": "^4.17.4", + "plotly.js-dist": "^1.48.3" } }, - "@types/koa-compose": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.5.tgz", - "integrity": "sha512-B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ==", + "@nteract/transform-vdom": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@nteract/transform-vdom/-/transform-vdom-2.2.5.tgz", + "integrity": "sha512-q6FbWlrSEWUmQpDV1DBPcw5FZpUcQbKOQ2a59vY/qcQ/Qjh1KUCC+gortso+WIE4P36eHZRxKz5ptCu5i47OLg==", "dev": true, "requires": { - "@types/koa": "*" + "@babel/runtime-corejs2": "^7.0.0", + "babel-runtime": "^6.26.0", + "lodash": "^4.17.4" } }, - "@types/koa-compress": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@types/koa-compress/-/koa-compress-2.0.9.tgz", - "integrity": "sha512-1Sa9OsbHd2N2N7gLpdIRHe8W99EZbfIR31D7Iisx16XgwZCnWUtGXzXQejhu74Y1pE/wILqBP6VL49ch/MVpZw==", + "@nteract/transform-vega": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@nteract/transform-vega/-/transform-vega-6.0.3.tgz", + "integrity": "sha512-sUY9EeCguUfP3G6AI4yg0jUOT2r7eB1VvuQGxjGj0fyhWnYIZR3xv80/aq2J6iACSBxazV+rU2Ne4abWYy6nwQ==", "dev": true, "requires": { - "@types/koa": "*", - "@types/node": "*" + "@nteract/vega-embed-v2": "^1.1.0", + "@nteract/vega-embed-v3": "^1.1.1", + "lodash": "^4.17.4", + "vega": "^5.4.0", + "vega-embed": "^4.2.0", + "vega-lite": "^3.3.0" } }, - "@types/koa-logger": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@types/koa-logger/-/koa-logger-3.1.1.tgz", - "integrity": "sha512-wp2HaskkPugfwgXgNnc+idnReuJZSTTYQbkcxXjsMhp1kTc342PxDzTL9FXDgBfEvgt9NX1CCGjkwPKX2dlEKQ==", + "@nteract/transforms": { + "version": "4.4.7", + "resolved": "https://registry.npmjs.org/@nteract/transforms/-/transforms-4.4.7.tgz", + "integrity": "sha512-G84BeBfzfdAg3cAV78ES9/yxe2ZNitg7j8MCKKx4iNS9vqeQbO92vyBsBW2D6qlddefU/RB5/HUvvtNUpd0ZRw==", "dev": true, "requires": { - "@types/koa": "*" + "@babel/runtime-corejs2": "^7.0.0", + "@nteract/markdown": "^3.0.1", + "@nteract/mathjax": "^3.0.1", + "@nteract/transform-vdom": "^2.2.5", + "ansi-to-react": "^3.3.5", + "babel-runtime": "^6.26.0", + "react-json-tree": "^0.11.0" } }, - "@types/koa__cors": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@types/koa__cors/-/koa__cors-2.2.3.tgz", - "integrity": "sha512-RfG2EuSc+nv/E+xbDSLW8KCoeri/3AkqwVPuENfF/DctllRoXhooboO//Sw7yFtkLvj7nG7O1H3JcZmoTQz8nQ==", - "dev": true, + "@nteract/types": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@nteract/types/-/types-6.0.4.tgz", + "integrity": "sha512-Td7+ql+7XukuHzP2b4qiq7xjD7y6hLJAnXfX4aikjYMzUGXNUAfODqeetKEXDRODFIcwr/jcGewIlWKwedqgLQ==", "requires": { - "@types/koa": "*" + "@nteract/commutable": "^7.2.9", + "immutable": "^4.0.0-rc.12", + "rxjs": "^6.3.3", + "uuid": "^7.0.0" + }, + "dependencies": { + "uuid": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", + "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==" + } } }, - "@types/loadable__component": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@types/loadable__component/-/loadable__component-5.10.0.tgz", - "integrity": "sha512-AaDP1VxV3p7CdPOtOTl3ALgQ6ES4AxJKO9UGj9vJonq/w2yERxwdzFiWNQFh9fEDXEzjxujBlM2RmSJtHV1/pA==", + "@nteract/vega-embed-v2": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@nteract/vega-embed-v2/-/vega-embed-v2-1.1.0.tgz", + "integrity": "sha512-5sCymGk2qzb1BC8P8MTkD0L9rG/8gPb8jyQ2Fz5aqftblgZ+DooHNcR4oi4T49mhRv0zLjqstBwDxx5JmzNdtw==", "dev": true, "requires": { - "@types/react": "*" + "d3": "3.5.17", + "d3-cloud": "^1.2.5", + "datalib": "^1.9.1", + "json-stable-stringify": "^1.0.1" } }, - "@types/loader-utils": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@types/loader-utils/-/loader-utils-1.1.3.tgz", - "integrity": "sha512-euKGFr2oCB3ASBwG39CYJMR3N9T0nanVqXdiH7Zu/Nqddt6SmFRxytq/i2w9LQYNQekEtGBz+pE3qG6fQTNvRg==", + "@nteract/vega-embed-v3": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@nteract/vega-embed-v3/-/vega-embed-v3-1.1.1.tgz", + "integrity": "sha512-tPMGmYI3aJIu4+HI03Rtub6yjCmACuvtVTjrq8+h2/OIgxBIrzaexo/QCdTKgV4bg0Pd88hskwZ8heqdMFDoHw==", "dev": true, "requires": { - "@types/node": "*", - "@types/webpack": "*" + "d3": "3.5.17", + "d3-cloud": "^1.2.5", + "d3-request": "^1.0.6", + "d3-scale-chromatic": "^1.3.3", + "datalib": "^1.9.1", + "json-stable-stringify": "^1.0.1" } }, - "@types/lodash": { - "version": "4.14.136", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.136.tgz", - "integrity": "sha512-0GJhzBdvsW2RUccNHOBkabI8HZVdOXmXbXhuKlDEd5Vv12P7oAVGfomGp3Ne21o5D/qu1WmthlNKFaoZJJeErA==", - "dev": true + "@phosphor/algorithm": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.1.3.tgz", + "integrity": "sha512-+dkdYTBglR+qGnLVQdCvYojNZMGxf+xSl1Jeksha3pm7niQktSFz2aR5gEPu/nI5LM8T8slTpqE4Pjvq8P+IVA==" }, - "@types/md5": { - "version": "2.1.33", - "resolved": "https://registry.npmjs.org/@types/md5/-/md5-2.1.33.tgz", - "integrity": "sha512-8+X960EtKLoSblhauxLKy3zzotagjoj3Jt1Tx9oaxUdZEPIBl+mkrUz6PNKpzJgkrKSN9YgkWTA29c0KnLshmA==", + "@phosphor/application": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@phosphor/application/-/application-1.7.3.tgz", + "integrity": "sha512-ohxrW7rv5Tms4PSyPRZT6YArZQQGQNG4MgTeFzkoLJ+7mp/BcbFuvEoaV1/CUKQArofl0DCkKDOTOIkXP+/32A==", "dev": true, "requires": { - "@types/node": "*" + "@phosphor/commands": "^1.7.2", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/widgets": "^1.9.3" } }, - "@types/memoize-one": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@types/memoize-one/-/memoize-one-4.1.1.tgz", - "integrity": "sha512-+9djKUUn8hOyktLCfCy4hLaIPgDNovaU36fsnZe9trFHr6ddlbIn2q0SEsnkCkNR+pBWEU440Molz/+Mpyf+gQ==", - "dev": true - }, - "@types/mime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.1.tgz", - "integrity": "sha512-FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw==", - "dev": true - }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, - "@types/mocha": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", - "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==", - "dev": true + "@phosphor/collections": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/collections/-/collections-1.2.0.tgz", + "integrity": "sha512-T9/0EjSuY6+ga2LIFRZ0xupciOR3Qnyy8Q95lhGTC0FXZUFwC8fl9e8On6IcwasCszS+1n8dtZUWSIynfgdpzw==", + "requires": { + "@phosphor/algorithm": "^1.2.0" + }, + "dependencies": { + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==" + } + } }, - "@types/nock": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/@types/nock/-/nock-10.0.3.tgz", - "integrity": "sha512-OthuN+2FuzfZO3yONJ/QVjKmLEuRagS9TV9lEId+WHL9KhftYG+/2z+pxlr0UgVVXSpVD8woie/3fzQn8ft/Ow==", - "dev": true, + "@phosphor/commands": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@phosphor/commands/-/commands-1.7.2.tgz", + "integrity": "sha512-iSyBIWMHsus323BVEARBhuVZNnVel8USo+FIPaAxGcq+icTSSe6+NtSxVQSmZblGN6Qm4iw6I6VtiSx0e6YDgQ==", "requires": { - "@types/node": "*" + "@phosphor/algorithm": "^1.2.0", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.1", + "@phosphor/domutils": "^1.1.4", + "@phosphor/keyboard": "^1.1.3", + "@phosphor/signaling": "^1.3.1" + }, + "dependencies": { + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==" + }, + "@phosphor/disposable": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.1.tgz", + "integrity": "sha512-0NGzoTXTOizWizK/brKKd5EjJhuuEH4903tLika7q6wl/u0tgneJlTh7R+MBVeih0iNxtuJAfBa3IEY6Qmj+Sw==", + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.1" + } + }, + "@phosphor/signaling": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.3.1.tgz", + "integrity": "sha512-Eq3wVCPQAhUd9+gUGaYygMr+ov7dhSGblSBXiDzpZlSIfa8OVD4P3cCvYXr/acDTNmZ/gHTcSFO8/n3rDkeXzg==", + "requires": { + "@phosphor/algorithm": "^1.2.0" + } + } } }, - "@types/node": { - "version": "10.14.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.18.tgz", - "integrity": "sha512-ryO3Q3++yZC/+b8j8BdKd/dn9JlzlHBPdm80656xwYUdmPkpTGTjkAdt6BByiNupGPE8w0FhBgvYy/fX9hRNGQ==", - "dev": true + "@phosphor/coreutils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/coreutils/-/coreutils-1.3.1.tgz", + "integrity": "sha512-9OHCn8LYRcPU/sbHm5v7viCA16Uev3gbdkwqoQqlV+EiauDHl70jmeL7XVDXdigl66Dz0LI11C99XOxp+s3zOA==" }, - "@types/node-fetch": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.3.7.tgz", - "integrity": "sha512-+bKtuxhj/TYSSP1r4CZhfmyA0vm/aDRQNo7vbAgf6/cZajn0SAniGGST07yvI4Q+q169WTa2/x9gEHfJrkcALw==", - "dev": true, + "@phosphor/disposable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.2.0.tgz", + "integrity": "sha512-4PoWoffdrLyWOW5Qv7I8//owvZmv57YhaxetAMWeJl13ThXc901RprL0Gxhtue2ZxL2PtUjM1207HndKo2FVjA==", "requires": { - "@types/node": "*" + "@phosphor/algorithm": "^1.1.3", + "@phosphor/signaling": "^1.2.3" } }, - "@types/pdfkit": { - "version": "0.7.36", - "resolved": "https://registry.npmjs.org/@types/pdfkit/-/pdfkit-0.7.36.tgz", - "integrity": "sha512-9eRA6MuW+n78yU3HhoIrDxjyAX2++B5MpLDYqHOnaRTquCw+5sYXT+QN8E1eSaxvNUwlRfU3tOm4UzTeGWmBqg==", + "@phosphor/domutils": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@phosphor/domutils/-/domutils-1.1.4.tgz", + "integrity": "sha512-ivwq5TWjQpKcHKXO8PrMl+/cKqbgxPClPiCKc1gwbMd+6hnW5VLwNG0WBzJTxCzXK43HxX18oH+tOZ3E04wc3w==" + }, + "@phosphor/dragdrop": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@phosphor/dragdrop/-/dragdrop-1.4.1.tgz", + "integrity": "sha512-77paMoubIWk7pdwA2GVFkqba1WP48hTZZvS17N30+KVOeWfSqBL3flPSnW2yC4y6FnOP2PFOCtuPIbQv+pYhCA==", "dev": true, "requires": { - "@types/node": "*" + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.1" + }, + "dependencies": { + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==", + "dev": true + }, + "@phosphor/disposable": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.1.tgz", + "integrity": "sha512-0NGzoTXTOizWizK/brKKd5EjJhuuEH4903tLika7q6wl/u0tgneJlTh7R+MBVeih0iNxtuJAfBa3IEY6Qmj+Sw==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.1" + } + }, + "@phosphor/signaling": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.3.1.tgz", + "integrity": "sha512-Eq3wVCPQAhUd9+gUGaYygMr+ov7dhSGblSBXiDzpZlSIfa8OVD4P3cCvYXr/acDTNmZ/gHTcSFO8/n3rDkeXzg==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0" + } + } } }, - "@types/promisify-node": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@types/promisify-node/-/promisify-node-0.4.0.tgz", - "integrity": "sha1-3MceY8Cr9oYbrn0S9swzlceDk2s=", - "dev": true + "@phosphor/keyboard": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/keyboard/-/keyboard-1.1.3.tgz", + "integrity": "sha512-dzxC/PyHiD6mXaESRy6PZTd9JeK+diwG1pyngkyUf127IXOEzubTIbu52VSdpGBklszu33ws05BAGDa4oBE4mQ==" }, - "@types/prop-types": { - "version": "15.7.1", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.1.tgz", - "integrity": "sha512-CFzn9idOEpHrgdw8JsoTkaDDyRWk1jrzIV8djzcgpq0y9tG4B4lFT+Nxh52DVpDXV+n4+NPNv7M1Dj5uMp6XFg==", - "dev": true - }, - "@types/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-Jugo5V/1bS0fRhy2z8+cUAHEyWOATaz4rbyLVvcFs7+dXp5HfwpEwzF1Q11bB10ApUqHf+yTauxI0UXQDwGrbA==", - "dev": true - }, - "@types/range-parser": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz", - "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==", - "dev": true - }, - "@types/react": { - "version": "16.8.23", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.8.23.tgz", - "integrity": "sha512-abkEOIeljniUN9qB5onp++g0EY38h7atnDHxwKUFz1r3VH1+yG1OKi2sNPTyObL40goBmfKFpdii2lEzwLX1cA==", - "dev": true, + "@phosphor/messaging": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@phosphor/messaging/-/messaging-1.3.0.tgz", + "integrity": "sha512-k0JE+BTMKlkM335S2AmmJxoYYNRwOdW5jKBqLgjJdGRvUQkM0+2i60ahM45+J23atGJDv9esKUUBINiKHFhLew==", "requires": { - "@types/prop-types": "*", - "csstype": "^2.2.0" + "@phosphor/algorithm": "^1.2.0", + "@phosphor/collections": "^1.2.0" + }, + "dependencies": { + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==" + } } }, - "@types/react-dom": { - "version": "16.8.4", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.8.4.tgz", - "integrity": "sha512-eIRpEW73DCzPIMaNBDP5pPIpK1KXyZwNgfxiVagb5iGiz6da+9A5hslSX6GAQKdO7SayVCS/Fr2kjqprgAvkfA==", - "dev": true, - "requires": { - "@types/react": "*" - } + "@phosphor/properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@phosphor/properties/-/properties-1.1.3.tgz", + "integrity": "sha512-GiglqzU77s6+tFVt6zPq9uuyu/PLQPFcqZt914ZhJ4cN/7yNI/SLyMzpYZ56IRMXvzK9TUgbRna6URE3XAwFUg==" }, - "@types/react-json-tree": { - "version": "0.6.11", - "resolved": "https://registry.npmjs.org/@types/react-json-tree/-/react-json-tree-0.6.11.tgz", - "integrity": "sha512-HP0Sf0ZHjCi1FHLJxh/pLaxaevEW6ILlV2C5Dn3EZFTkLjWkv+EVf/l/zvtmoU9ZwuO/3TKVeWK/700UDxunTw==", - "dev": true, + "@phosphor/signaling": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.2.3.tgz", + "integrity": "sha512-DMwS0m9OgfY5ljpTsklRQPUQpTyg4obz85FyImRDacUVxUVbas95djIDEbU4s1TMzdHBBO+gfki3V4giXUvXzw==", "requires": { - "@types/react": "*" + "@phosphor/algorithm": "^1.1.3" } }, - "@types/react-redux": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.5.tgz", - "integrity": "sha512-ZoNGQMDxh5ENY7PzU7MVonxDzS1l/EWiy8nUhDqxFqUZn4ovboCyvk4Djf68x6COb7vhGTKjyjxHxtFdAA5sUA==", + "@phosphor/virtualdom": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/virtualdom/-/virtualdom-1.2.0.tgz", + "integrity": "sha512-L9mKNhK2XtVjzjuHLG2uYuepSz8uPyu6vhF4EgCP0rt0TiLYaZeHwuNu3XeFbul9DMOn49eBpye/tfQVd4Ks+w==", "dev": true, "requires": { - "@types/hoist-non-react-statics": "^3.3.0", - "@types/react": "*", - "hoist-non-react-statics": "^3.3.0", - "redux": "^4.0.0" + "@phosphor/algorithm": "^1.2.0" + }, + "dependencies": { + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==", + "dev": true + } } }, - "@types/react-virtualized": { - "version": "9.21.2", - "resolved": "https://registry.npmjs.org/@types/react-virtualized/-/react-virtualized-9.21.2.tgz", - "integrity": "sha512-Q6geJaDd8FlBw3ilD4ODferTyVtYAmDE3d7+GacfwN0jPt9rD9XkeuPjcHmyIwTrMXuLv1VIJmRxU9WQoQFBJw==", + "@phosphor/widgets": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@phosphor/widgets/-/widgets-1.9.3.tgz", + "integrity": "sha512-61jsxloDrW/+WWQs8wOgsS5waQ/MSsXBuhONt0o6mtdeL93HVz7CYO5krOoot5owammfF6oX1z0sDaUYIYgcPA==", "dev": true, "requires": { - "@types/prop-types": "*", - "@types/react": "*" + "@phosphor/algorithm": "^1.2.0", + "@phosphor/commands": "^1.7.2", + "@phosphor/coreutils": "^1.3.1", + "@phosphor/disposable": "^1.3.1", + "@phosphor/domutils": "^1.1.4", + "@phosphor/dragdrop": "^1.4.1", + "@phosphor/keyboard": "^1.1.3", + "@phosphor/messaging": "^1.3.0", + "@phosphor/properties": "^1.1.3", + "@phosphor/signaling": "^1.3.1", + "@phosphor/virtualdom": "^1.2.0" + }, + "dependencies": { + "@phosphor/algorithm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@phosphor/algorithm/-/algorithm-1.2.0.tgz", + "integrity": "sha512-C9+dnjXyU2QAkWCW6QVDGExk4hhwxzAKf5/FIuYlHAI9X5vFv99PYm0EREDxX1PbMuvfFBZhPNu0PvuSDQ7sFA==", + "dev": true + }, + "@phosphor/disposable": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/disposable/-/disposable-1.3.1.tgz", + "integrity": "sha512-0NGzoTXTOizWizK/brKKd5EjJhuuEH4903tLika7q6wl/u0tgneJlTh7R+MBVeih0iNxtuJAfBa3IEY6Qmj+Sw==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0", + "@phosphor/signaling": "^1.3.1" + } + }, + "@phosphor/signaling": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@phosphor/signaling/-/signaling-1.3.1.tgz", + "integrity": "sha512-Eq3wVCPQAhUd9+gUGaYygMr+ov7dhSGblSBXiDzpZlSIfa8OVD4P3cCvYXr/acDTNmZ/gHTcSFO8/n3rDkeXzg==", + "dev": true, + "requires": { + "@phosphor/algorithm": "^1.2.0" + } + } } }, - "@types/redux-logger": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@types/redux-logger/-/redux-logger-3.0.7.tgz", - "integrity": "sha512-oV9qiCuowhVR/ehqUobWWkXJjohontbDGLV88Be/7T4bqMQ3kjXwkFNL7doIIqlbg3X2PC5WPziZ8/j/QHNQ4A==", + "@sheerun/mutationobserver-shim": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@sheerun/mutationobserver-shim/-/mutationobserver-shim-0.3.2.tgz", + "integrity": "sha512-vTCdPp/T/Q3oSqwHmZ5Kpa9oI7iLtGl3RQaA/NyLHikvcrPxACkkKVr/XzkSPJWXHRhKGzVvb0urJsbMlRxi1Q==", + "dev": true + }, + "@sindresorhus/df": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/df/-/df-2.1.0.tgz", + "integrity": "sha1-0gjPJ+BvC7R20U197M19cm6ao4k=", "dev": true, "requires": { - "redux": "^3.6.0" + "execa": "^0.2.2" }, "dependencies": { - "redux": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz", - "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==", + "execa": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.2.2.tgz", + "integrity": "sha1-4urUcsLDGq1vc/GslW7vReEjIMs=", "dev": true, "requires": { - "lodash": "^4.2.1", - "lodash-es": "^4.2.1", - "loose-envify": "^1.1.0", - "symbol-observable": "^1.0.3" + "cross-spawn-async": "^2.1.1", + "npm-run-path": "^1.0.0", + "object-assign": "^4.0.1", + "path-key": "^1.0.0", + "strip-eof": "^1.0.0" } }, - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", + "npm-run-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-1.0.0.tgz", + "integrity": "sha1-9cMr9ZX+ga6Sfa7FLoL4sACsPI8=", + "dev": true, + "requires": { + "path-key": "^1.0.0" + } + }, + "path-key": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-1.0.0.tgz", + "integrity": "sha1-XVPVeAGWRsDWiADbThRua9wqx68=", "dev": true } } }, - "@types/relateurl": { - "version": "0.2.28", - "resolved": "https://registry.npmjs.org/@types/relateurl/-/relateurl-0.2.28.tgz", - "integrity": "sha1-a9p9uGU/piZD9e5p6facEaOS46Y=", + "@sindresorhus/is": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", + "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", "dev": true }, - "@types/request": { - "version": "2.48.1", - "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.1.tgz", - "integrity": "sha512-ZgEZ1TiD+KGA9LiAAPPJL68Id2UWfeSO62ijSXZjFJArVV+2pKcsVHmrcu+1oiE3q6eDGiFiSolRc4JHoerBBg==", + "@sinonjs/commons": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.7.0.tgz", + "integrity": "sha512-qbk9AP+cZUsKdW1GJsBpxPKFmCJ0T8swwzVje3qFd+AkQb74Q/tiuzrdfFg8AD2g5HH/XbE/I8Uc1KYHVYWfhg==", "dev": true, "requires": { - "@types/caseless": "*", - "@types/form-data": "*", - "@types/node": "*", - "@types/tough-cookie": "*" + "type-detect": "4.0.8" } }, - "@types/semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==", - "dev": true - }, - "@types/serve-static": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.3.tgz", - "integrity": "sha512-oprSwp094zOglVrXdlo/4bAHtKTAxX6VT8FOZlBKrmyLbNvE1zxZyJ6yikMVtHIvwP45+ZQGJn+FdXGKTozq0g==", + "@sinonjs/fake-timers": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", + "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", "dev": true, "requires": { - "@types/express-serve-static-core": "*", - "@types/mime": "*" + "@sinonjs/commons": "^1.7.0" } }, - "@types/shortid": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/shortid/-/shortid-0.0.29.tgz", - "integrity": "sha1-gJPuBBam4r8qpjOBCRFLP7/6Dps=", - "dev": true + "@sinonjs/formatio": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-4.0.1.tgz", + "integrity": "sha512-asIdlLFrla/WZybhm0C8eEzaDNNrzymiTqHMeJl6zPW2881l3uuVRpm0QlRQEjqYWv6CcKMGYME3LbrLJsORBw==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1", + "@sinonjs/samsam": "^4.2.0" + } }, - "@types/sinon": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-7.5.1.tgz", - "integrity": "sha512-EZQUP3hSZQyTQRfiLqelC9NMWd1kqLcmQE0dMiklxBkgi84T+cHOhnKpgk4NnOWpGX863yE6+IaGnOXUNFqDnQ==", - "dev": true + "@sinonjs/samsam": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-4.2.0.tgz", + "integrity": "sha512-yG7QbUz38ZPIegfuSMEcbOo0kkLGmPa8a0Qlz4dk7+cXYALDScWjIZzAm/u2+Frh+bcdZF6wZJZwwuJjY0WAjA==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.6.0", + "array-from": "^2.1.1", + "lodash.get": "^4.4.2" + } }, - "@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", + "@sinonjs/text-encoding": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz", + "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==", "dev": true }, - "@types/stack-trace": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/stack-trace/-/stack-trace-0.0.29.tgz", - "integrity": "sha512-TgfOX+mGY/NyNxJLIbDWrO9DjGoVSW9+aB8H2yy1fy32jsvxijhmyJI9fDFgvz3YP4lvJaq9DzdR/M1bOgVc9g==", + "@stroncium/procfs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@stroncium/procfs/-/procfs-1.1.1.tgz", + "integrity": "sha512-c8A7hTAu1FgWJTfOQNqp0N9K/9amlVktNRQidzeeX4dTJpSNl2Y65s9BSfnMlFFGMGP+rBvrb0WTTv7ad6MJ9A==", "dev": true }, - "@types/superagent": { - "version": "3.8.7", - "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-3.8.7.tgz", - "integrity": "sha512-9KhCkyXv268A2nZ1Wvu7rQWM+BmdYUVkycFeNnYrUL5Zwu7o8wPQ3wBfW59dDP+wuoxw0ww8YKgTNv8j/cgscA==", - "dev": true, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", "requires": { - "@types/cookiejar": "*", - "@types/node": "*" + "defer-to-connect": "^1.0.1" } }, - "@types/tapable": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.4.tgz", - "integrity": "sha512-78AdXtlhpCHT0K3EytMpn4JNxaf5tbqbLcbIRoQIHzpTIyjpxLQKRoxU55ujBXAtg3Nl2h/XWvfDa9dsMOd0pQ==", - "dev": true - }, - "@types/temp": { - "version": "0.8.34", - "resolved": "https://registry.npmjs.org/@types/temp/-/temp-0.8.34.tgz", - "integrity": "sha512-oLa9c5LHXgS6UimpEVp08De7QvZ+Dfu5bMQuWyMhf92Z26Q10ubEMOWy9OEfUdzW7Y/sDWVHmUaLFtmnX/2j0w==", + "@testing-library/dom": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-6.11.0.tgz", + "integrity": "sha512-Pkx9LMIGshyNbfmecjt18rrAp/ayMqGH674jYER0SXj0iG9xZc+zWRjk2Pg9JgPBDvwI//xGrI/oOQkAi4YEew==", "dev": true, "requires": { - "@types/node": "*" + "@babel/runtime": "^7.6.2", + "@sheerun/mutationobserver-shim": "^0.3.2", + "@types/testing-library__dom": "^6.0.0", + "aria-query": "3.0.0", + "pretty-format": "^24.9.0", + "wait-for-expect": "^3.0.0" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.3.tgz", + "integrity": "sha512-fVHx1rzEmwB130VTkLnxR+HmxcTjGzH12LYQcFFoBwakMd3aOMD4OsRN7tGG/UOYE2ektgFrS8uACAoRk1CY0w==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.2" + } + } } }, - "@types/testing-library__dom": { - "version": "6.11.1", - "resolved": "https://registry.npmjs.org/@types/testing-library__dom/-/testing-library__dom-6.11.1.tgz", - "integrity": "sha512-ImChHtQqmjwraRLqBC2sgSQFtczeFvBmBcfhTYZn/3KwXbyD07LQykEQ0xJo7QHc1GbVvf7pRyGaIe6PkCdxEw==", + "@testing-library/react": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-9.4.0.tgz", + "integrity": "sha512-XdhDWkI4GktUPsz0AYyeQ8M9qS/JFie06kcSnUVcpgOwFjAu9vhwR83qBl+lw9yZWkbECjL8Hd+n5hH6C0oWqg==", "dev": true, "requires": { - "pretty-format": "^24.3.0" + "@babel/runtime": "^7.7.6", + "@testing-library/dom": "^6.11.0", + "@types/testing-library__react": "^9.1.2" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.3.tgz", + "integrity": "sha512-fVHx1rzEmwB130VTkLnxR+HmxcTjGzH12LYQcFFoBwakMd3aOMD4OsRN7tGG/UOYE2ektgFrS8uACAoRk1CY0w==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.2" + } + } } }, - "@types/testing-library__react": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@types/testing-library__react/-/testing-library__react-9.1.2.tgz", - "integrity": "sha512-CYaMqrswQ+cJACy268jsLAw355DZtPZGt3Jwmmotlcu8O/tkoXBI6AeZ84oZBJsIsesozPKzWzmv/0TIU+1E9Q==", - "dev": true, - "requires": { - "@types/react-dom": "*", - "@types/testing-library__dom": "*" - } + "@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/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha1-EHPEvIJHVK49EM+riKsCN7qWTk0=", + "@types/ansi-regex": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/ansi-regex/-/ansi-regex-4.0.0.tgz", + "integrity": "sha512-r1W316vjsZXn1/csLC4HcCJs6jIHIzksHJd7xx+Dl+PAb0S2Dh9cR8ZsIMEfGmbBtP7JNWlf2KKahSkDP6rg3g==", "dev": true }, - "@types/tough-cookie": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.5.tgz", - "integrity": "sha512-SCcK7mvGi3+ZNz833RRjFIxrn4gI1PPR3NtuIS+6vMkvmsGjosqTJwRt5bAEFLRz+wtJMWv8+uOnZf2hi2QXTg==", + "@types/anymatch": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", + "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==", "dev": true }, - "@types/uglify-js": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.0.4.tgz", - "integrity": "sha512-SudIN9TRJ+v8g5pTG8RRCqfqTMNqgWCKKd3vtynhGzkIIjxaicNAMuY5TRadJ6tzDu3Dotf3ngaMILtmOdmWEQ==", + "@types/backbone": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@types/backbone/-/backbone-1.4.1.tgz", + "integrity": "sha512-KYfGuQy4d2vvYXbn0uHFZ6brFLndatTMomxBlljpbWf4kFpA3BG/6LA3ec+J9iredrX6eAVI7sm9SVAvwiIM6g==", "dev": true, "requires": { - "source-map": "^0.6.1" + "@types/jquery": "*", + "@types/underscore": "*" } }, - "@types/untildify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/untildify/-/untildify-3.0.0.tgz", - "integrity": "sha512-FTktI3Y1h+gP9GTjTvXBP5v8xpH4RU6uS9POoBcGy4XkS2Np6LNtnP1eiNNth4S7P+qw2c/rugkwBasSHFzJEg==", - "dev": true - }, - "@types/uuid": { - "version": "3.4.5", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.5.tgz", - "integrity": "sha512-MNL15wC3EKyw1VLF+RoVO4hJJdk9t/Hlv3rt1OL65Qvuadm4BYo6g9ZJQqoq7X8NBFSsQXgAujWciovh2lpVjA==", + "@types/body-parser": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.17.1.tgz", + "integrity": "sha512-RoX2EZjMiFMjZh9lmYrwgoP9RTpAjSHiJxdp4oidAQVO02T7HER3xj9UKue5534ULWeqVEkujhWcyvUce+d68w==", "dev": true, "requires": { + "@types/connect": "*", "@types/node": "*" } }, - "@types/vscode": { - "version": "1.42.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.42.0.tgz", - "integrity": "sha512-ds6TceMsh77Fs0Mq0Vap6Y72JbGWB8Bay4DrnJlf5d9ui2RSe1wis13oQm+XhguOeH1HUfLGzaDAoupTUtgabw==", + "@types/caseless": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz", + "integrity": "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==", "dev": true }, - "@types/webpack": { - "version": "4.4.34", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.4.34.tgz", - "integrity": "sha512-GnEBgjHsfO1M7DIQ0dAupSofcmDItE3Zsu3reK8SQpl/6N0rtUQxUmQzVFAS5ou/FGjsYKjXAWfItLZ0kNFTfQ==", + "@types/chai": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.7.tgz", + "integrity": "sha512-2Y8uPt0/jwjhQ6EiluT0XCri1Dbplr0ZxfFXUz+ye13gaqE8u5gL5ppao1JrUYr9cIip5S6MvQzBS7Kke7U9VA==", + "dev": true + }, + "@types/chai-arrays": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/chai-arrays/-/chai-arrays-1.0.2.tgz", + "integrity": "sha512-/kgYvj5Pwiv/bOlJ6c5GlRF/W6lUGSLrpQGl/7Gg6w7tvBYcf0iF91+wwyuwDYGO2zM0wNpcoPixZVif8I/r6g==", "dev": true, "requires": { - "@types/anymatch": "*", - "@types/node": "*", - "@types/tapable": "*", - "@types/uglify-js": "*", - "source-map": "^0.6.0" + "@types/chai": "*" } }, - "@types/webpack-bundle-analyzer": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/@types/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.13.1.tgz", - "integrity": "sha512-9M9jingj0izx1VfglYYJ+dvd0YCMlFgtrSCeb+C3VIQP8hmTXGJ5qqVeqiBnv0ffMyeKWqyij4K2F4VBcazQNw==", + "@types/chai-as-promised": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.0.tgz", + "integrity": "sha512-MFiW54UOSt+f2bRw8J7LgQeIvE/9b4oGvwU7XW30S9QGAiHGnU/fmiOprsyMkdmH2rl8xSPc0/yrQw8juXU6bQ==", "dev": true, "requires": { - "@types/webpack": "*" + "@types/chai": "*" } }, - "@types/webpack-sources": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.6.tgz", - "integrity": "sha512-FtAWR7wR5ocJ9+nP137DV81tveD/ZgB1sadnJ/axUGM3BUVfRPx8oQNMtv3JNfTeHx3VP7cXiyfR/jmtEsVHsQ==", + "@types/cheerio": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.12.tgz", + "integrity": "sha512-aczowyAJNfrkBV+HS8DyAA87OnvkqGrrOmm5s7V6Jbgimzv/1ZoAy91cLJX8GQrUS60KufD7EIzA2LbK8HV4hg==", "dev": true, "requires": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.6.1" + "@types/node": "*" } }, - "@types/winreg": { - "version": "1.2.30", - "resolved": "https://registry.npmjs.org/@types/winreg/-/winreg-1.2.30.tgz", - "integrity": "sha1-kdZxDlNtNFucmwF8V0z2qNpkxRg=", - "dev": true - }, - "@types/ws": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-6.0.1.tgz", - "integrity": "sha512-EzH8k1gyZ4xih/MaZTXwT2xOkPiIMSrhQ9b8wrlX88L0T02eYsddatQlwVFlEPyEqV0ChpdpNnE51QPH6NVT4Q==", + "@types/clean-css": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@types/clean-css/-/clean-css-4.2.1.tgz", + "integrity": "sha512-A1HQhQ0hkvqqByJMgg+Wiv9p9XdoYEzuwm11SVo1mX2/4PSdhjcrUlilJQoqLscIheC51t1D5g+EFWCXZ2VTQQ==", "dev": true, "requires": { - "@types/events": "*", "@types/node": "*" } }, - "@types/xml2js": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/@types/xml2js/-/xml2js-0.4.4.tgz", - "integrity": "sha512-O6Xgai01b9PB3IGA0lRIp1Ex3JBcxGDhdO0n3NIIpCyDOAjxcIGQFmkvgJpP8anTrthxOUQjBfLdRRi0Zn/TXA==", + "@types/clone": { + "version": "0.1.30", + "resolved": "https://registry.npmjs.org/@types/clone/-/clone-0.1.30.tgz", + "integrity": "sha1-5zZWSMG0ITalnH1QQGN7O1yDthQ=", + "dev": true + }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "dev": true + }, + "@types/concat-stream": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.0.tgz", + "integrity": "sha1-OU2+C7X+5Gs42JZzXoto7yOQ0A0=", "dev": true, "requires": { "@types/node": "*" } }, - "@types/yargs": { - "version": "13.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.5.tgz", - "integrity": "sha512-CF/+sxTO7FOwbIRL4wMv0ZYLCRfMid2HQpzDRyViH7kSpfoAFiMdGqKIxb1PxWfjtQXQhnQuD33lvRHNwr809Q==", + "@types/connect": { + "version": "3.4.32", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.32.tgz", + "integrity": "sha512-4r8qa0quOvh7lGD0pre62CAb1oni1OO6ecJLGCezTmhQ8Fz50Arx9RUszryR8KlgK6avuSXvviL6yWyViQABOg==", "dev": true, "requires": { - "@types/yargs-parser": "*" + "@types/node": "*" } }, - "@types/yargs-parser": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", - "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==", + "@types/cookiejar": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.1.tgz", + "integrity": "sha512-aRnpPa7ysx3aNW60hTiCtLHlQaIFsXFCgQlpakNgDNVFzbtusSY8PwjAQgRWfSk0ekNoBjO51eQRB6upA9uuyw==", "dev": true }, - "@webassemblyjs/ast": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", - "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "@types/copy-webpack-plugin": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@types/copy-webpack-plugin/-/copy-webpack-plugin-4.4.4.tgz", + "integrity": "sha512-D8NyCMfHFWi638Cn5gi88mELGrISQdzDAcmOk4j70bzm0kLey99Zp5xsFsL44qPi+a22tcB39U5jiJiV2XMd9A==", "dev": true, "requires": { - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5" + "@types/minimatch": "*", + "@types/node": "*", + "@types/webpack": "*" } }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", - "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", - "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", - "dev": true + "@types/cors": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-invOmosX0DqbpA+cE2yoHGUlF/blyf7nB0OGYBBiH27crcVm5NmFaZkLP4Ta1hGaesckCi5lVLlydNJCxkTOSg==", + "dev": true, + "requires": { + "@types/express": "*" + } }, - "@webassemblyjs/helper-buffer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", - "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", + "@types/debug": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.5.tgz", + "integrity": "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==", "dev": true }, - "@webassemblyjs/helper-code-frame": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", - "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", + "@types/decompress": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/@types/decompress/-/decompress-4.2.3.tgz", + "integrity": "sha512-W24e3Ycz1UZPgr1ZEDHlK4XnvOr+CpJH3qNsFeqXwwlW/9END9gxn3oJSsp7gYdiQxrXUHwUUd3xuzVz37MrZQ==", "dev": true, "requires": { - "@webassemblyjs/wast-printer": "1.8.5" + "@types/node": "*" } }, - "@webassemblyjs/helper-fsm": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", - "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", + "@types/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@types/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-EGlKlgMhnLt/cM4DbUSafFdrkeJoC9Mvnj0PUCU7tFmTjMjNRT957kXCx0wYm3JuEq4o4ZsS5vG+NlkM2DMd2A==", "dev": true }, - "@webassemblyjs/helper-module-context": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", - "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", + "@types/del": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/del/-/del-3.0.1.tgz", + "integrity": "sha512-y6qRq6raBuu965clKgx6FHuiPu3oHdtmzMPXi8Uahsjdq1L6DL5fS/aY5/s71YwM7k6K1QIWvem5vNwlnNGIkQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "mamacro": "^0.0.3" + "@types/glob": "*" } }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", - "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", + "@types/diff-match-patch": { + "version": "1.0.32", + "resolved": "https://registry.npmjs.org/@types/diff-match-patch/-/diff-match-patch-1.0.32.tgz", + "integrity": "sha512-bPYT5ECFiblzsVzyURaNhljBH2Gh1t9LowgUwciMrNAhFewLkHT2H0Mto07Y4/3KCOGZHRQll3CTtQZ0X11D/A==", "dev": true }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", - "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", + "@types/dom4": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/dom4/-/dom4-2.0.1.tgz", + "integrity": "sha512-kSkVAvWmMZiCYtvqjqQEwOmvKwcH+V4uiv3qPQ8pAh1Xl39xggGEo8gHUqV4waYGHezdFw0rKBR8Jt0CrQSDZA==", + "dev": true + }, + "@types/download": { + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/@types/download/-/download-6.2.4.tgz", + "integrity": "sha512-Lo5dy3ai6LNnbL663sgdzqL1eib11u1yKH6w3v3IXEOO4kRfQpMn1qWUTaumcHLACjFp1RcBx9tUXEvJoR3vcA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5" + "@types/decompress": "*", + "@types/got": "^8", + "@types/node": "*" } }, - "@webassemblyjs/ieee754": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", - "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "@types/enzyme": { + "version": "3.10.2", + "resolved": "https://registry.npmjs.org/@types/enzyme/-/enzyme-3.10.2.tgz", + "integrity": "sha512-tAFqfBVAxaxOCCcCpFrv6yFDg/hwL1KtJc7dsOaO+BBdSppTcyRP7jO2ze5va7NDa8iSFfAaZ9NeuybmMulu0w==", "dev": true, "requires": { - "@xtuc/ieee754": "^1.2.0" + "@types/cheerio": "*", + "@types/react": "*" } }, - "@webassemblyjs/leb128": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", - "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", + "@types/enzyme-adapter-react-16": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.0.5.tgz", + "integrity": "sha512-K7HLFTkBDN5RyRmU90JuYt8OWEY2iKUn43SDWEoBOXd/PowUWjLZ3Q6qMBiQuZeFYK/TOstaZxsnI0fXoAfLpg==", "dev": true, "requires": { - "@xtuc/long": "4.2.2" + "@types/enzyme": "*" } }, - "@webassemblyjs/utf8": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", - "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", + "@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 }, - "@webassemblyjs/wasm-edit": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", - "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", + "@types/event-stream": { + "version": "3.3.34", + "resolved": "https://registry.npmjs.org/@types/event-stream/-/event-stream-3.3.34.tgz", + "integrity": "sha512-LLiivgWKii4JeMzFy3trrxqkRrVSdue8WmbXyHuSJLwNrhIQU5MTrc65jhxEPwMyh5HR1xevSdD+k2nnSRKw9g==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/helper-wasm-section": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-opt": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5", - "@webassemblyjs/wast-printer": "1.8.5" + "@types/node": "*" } }, - "@webassemblyjs/wasm-gen": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", - "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" - } + "@types/events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", + "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", + "dev": true }, - "@webassemblyjs/wasm-opt": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", - "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", + "@types/express": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.2.tgz", + "integrity": "sha512-5mHFNyavtLoJmnusB8OKJ5bshSzw+qkMIBAobLrIM48HJvunFva9mOa6aBwh64lBFyNwBbs0xiEFuj4eU/NjCA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5" + "@types/body-parser": "*", + "@types/express-serve-static-core": "*", + "@types/serve-static": "*" } }, - "@webassemblyjs/wasm-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", - "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", + "@types/express-serve-static-core": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.0.tgz", + "integrity": "sha512-Xnub7w57uvcBqFdIGoRg1KhNOeEj0vB6ykUM7uFWyxvbdE89GFyqgmUcanAriMr4YOxNFZBAWkfcWIb4WBPt3g==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" + "@types/node": "*", + "@types/range-parser": "*" } }, - "@webassemblyjs/wast-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", - "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", + "@types/fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha512-mky/O83TXmGY39P1H9YbUpjV6l6voRYlufqfFCvel8l1phuy8HRjdWc1rrPuN53ITBJlbyMSV6z3niOySO5pgQ==", + "dev": true + }, + "@types/form-data": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz", + "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/floating-point-hex-parser": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-code-frame": "1.8.5", - "@webassemblyjs/helper-fsm": "1.8.5", - "@xtuc/long": "4.2.2" + "@types/node": "*" } }, - "@webassemblyjs/wast-printer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", - "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", + "@types/fs-extra": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-5.1.0.tgz", + "integrity": "sha512-AInn5+UBFIK9FK5xc9yP5e3TQSPNNgjHByqYcj9g5elVBnDQcQL7PlO1CIRy2gWlbwK7UPYqi7vRvFA44dCmYQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5", - "@xtuc/long": "4.2.2" + "@types/node": "*" } }, - "@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 - }, - "@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 - }, - "abab": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz", - "integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==", - "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==", + "@types/get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@types/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha512-TiNg8R1kjDde5Pub9F9vCwZA/BNW9HeXP5b9j7Qucqncy/McfPZ6xze/EyBdXS5FhMIGN6Fx3vg75l5KHy3V1Q==", "dev": true }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "@types/glob": { + "version": "5.0.36", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-5.0.36.tgz", + "integrity": "sha512-KEzSKuP2+3oOjYYjujue6Z3Yqis5HKA1BsIC+jZ1v3lrRNdsqyNNtX0rQf6LSuI4DJJ2z5UV//zBZCcvM0xikg==", + "dev": true, "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" + "@types/events": "*", + "@types/minimatch": "*", + "@types/node": "*" } }, - "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", - "dev": true - }, - "acorn-dynamic-import": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz", - "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==" - }, - "acorn-globals": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.2.tgz", - "integrity": "sha512-BbzvZhVtZP+Bs1J1HcwrQe8ycfO0wStkSGxuul3He3GkHOIZ6eTqOkPuw9IP1X3+IkOo4wiJmwkobzXYz4wewQ==", + "@types/got": { + "version": "8.3.5", + "resolved": "https://registry.npmjs.org/@types/got/-/got-8.3.5.tgz", + "integrity": "sha512-AaXSrIF99SjjtPVNmCmYb388HML+PKEJb/xmj4SbL2ZO0hHuETZZzyDIKfOqaEoAHZEuX4sC+FRFrHYJoIby6A==", "dev": true, "requires": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" - }, - "dependencies": { - "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", - "dev": true - } + "@types/node": "*" } }, - "acorn-node": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.7.0.tgz", - "integrity": "sha512-XhahLSsCB6X6CJbe+uNu3Mn9sJBNFxtBN9NLgAOQovfS6Kh0lDUtmlclhjn9CvEK7A7YyRU13PXlNcpSiLI9Yw==", + "@types/hoist-non-react-statics": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", + "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", + "dev": true, "requires": { - "acorn": "^6.1.1", - "acorn-dynamic-import": "^4.0.0", - "acorn-walk": "^6.1.1", - "xtend": "^4.0.1" - }, - "dependencies": { - "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==" - } + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" } }, - "acorn-walk": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", - "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==" - }, - "address": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/address/-/address-1.0.3.tgz", - "integrity": "sha512-z55ocwKBRLryBs394Sm3ushTtBeg6VAeuku7utSoSnsJKvKcnXFIyC6vh27n3rXyxSgkJBBCAvyOn7gSUcTYjg==", - "dev": true + "@types/html-minifier": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/@types/html-minifier/-/html-minifier-3.5.3.tgz", + "integrity": "sha512-j1P/4PcWVVCPEy5lofcHnQ6BtXz9tHGiFPWzqm7TtGuWZEfCHEP446HlkSNc9fQgNJaJZ6ewPtp2aaFla/Uerg==", + "dev": true, + "requires": { + "@types/clean-css": "*", + "@types/relateurl": "*", + "@types/uglify-js": "*" + } }, - "agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "@types/html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@types/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-in9rViBsTRB4ZApndZ12It68nGzSMHVK30JD7c49iLIHMFeTPbP7I7wevzMv7re2o0k5TlU6Ry/beyrmgWX7Bg==", "dev": true, "requires": { - "es6-promisify": "^5.0.0" + "@types/html-minifier": "*", + "@types/tapable": "*", + "@types/webpack": "*" } }, - "aggregate-error": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", - "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", + "@types/iconv-lite": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@types/iconv-lite/-/iconv-lite-0.0.1.tgz", + "integrity": "sha1-qjuL2ivlErGuCgV7lC6GnDcKVWk=", "dev": true, "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "@types/node": "*" } }, - "airbnb-prop-types": { - "version": "2.13.2", - "resolved": "https://registry.npmjs.org/airbnb-prop-types/-/airbnb-prop-types-2.13.2.tgz", - "integrity": "sha512-2FN6DlHr6JCSxPPi25EnqGaXC4OC3/B3k1lCd6MMYrZ51/Gf/1qDfaR+JElzWa+Tl7cY2aYOlsYJGFeQyVHIeQ==", + "@types/istanbul-lib-coverage": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", + "integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", + "integrity": "sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg==", "dev": true, "requires": { - "array.prototype.find": "^2.0.4", - "function.prototype.name": "^1.1.0", - "has": "^1.0.3", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object.assign": "^4.1.0", - "object.entries": "^1.1.0", - "prop-types": "^15.7.2", - "prop-types-exact": "^1.2.0", - "react-is": "^16.8.6" + "@types/istanbul-lib-coverage": "*" } }, - "ajv": { - "version": "6.10.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.1.tgz", - "integrity": "sha512-w1YQaVGNC6t2UCPjEawK/vo/dG8OOrVtUmhBT1uJJYxbl5kU2Tj3v6LGqBcsysN1yhuCStJCCA3GqdvKY8sqXQ==", + "@types/istanbul-reports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz", + "integrity": "sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==", + "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" } }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "@types/jquery": { + "version": "1.10.35", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-1.10.35.tgz", + "integrity": "sha512-SVtqEcudm7yjkTwoRA1gC6CNMhGDdMx4Pg8BPdiqI7bXXdCn1BPmtxgeWYQOgDxrq53/5YTlhq5ULxBEAlWIBg==", "dev": true }, - "ajv-keywords": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", - "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", - "dev": true + "@types/jsdom": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-11.12.0.tgz", + "integrity": "sha512-XHMNZFQ0Ih3A4/NTWAO15+OsQafPKnQCanN0FYGbsTM/EoI5EoEAvvkF51/DQC2BT5low4tomp7k2RLMlriA5Q==", + "dev": true, + "requires": { + "@types/events": "*", + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^4.0.0" + } }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "optional": true + "@types/json-schema": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz", + "integrity": "sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ==", + "dev": true }, - "anser": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.8.tgz", - "integrity": "sha512-tVHucTCKIt9VRrpQKzPtOlwm/3AmyQ7J+QE29ixFnvuE2hm83utEVrN7jJapYkHV6hI0HOHkEX9TOMCzHtwvuA==", + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", "dev": true }, - "ansi-colors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", - "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "@types/loadable__component": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/@types/loadable__component/-/loadable__component-5.10.0.tgz", + "integrity": "sha512-AaDP1VxV3p7CdPOtOTl3ALgQ6ES4AxJKO9UGj9vJonq/w2yERxwdzFiWNQFh9fEDXEzjxujBlM2RmSJtHV1/pA==", "dev": true, "requires": { - "ansi-wrap": "^0.1.0" + "@types/react": "*" } }, - "ansi-cyan": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", - "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", + "@types/loader-utils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@types/loader-utils/-/loader-utils-1.1.3.tgz", + "integrity": "sha512-euKGFr2oCB3ASBwG39CYJMR3N9T0nanVqXdiH7Zu/Nqddt6SmFRxytq/i2w9LQYNQekEtGBz+pE3qG6fQTNvRg==", "dev": true, "requires": { - "ansi-wrap": "0.1.0" + "@types/node": "*", + "@types/webpack": "*" } }, - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "@types/lodash": { + "version": "4.14.136", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.136.tgz", + "integrity": "sha512-0GJhzBdvsW2RUccNHOBkabI8HZVdOXmXbXhuKlDEd5Vv12P7oAVGfomGp3Ne21o5D/qu1WmthlNKFaoZJJeErA==", "dev": true }, - "ansi-gray": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", - "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "@types/md5": { + "version": "2.1.33", + "resolved": "https://registry.npmjs.org/@types/md5/-/md5-2.1.33.tgz", + "integrity": "sha512-8+X960EtKLoSblhauxLKy3zzotagjoj3Jt1Tx9oaxUdZEPIBl+mkrUz6PNKpzJgkrKSN9YgkWTA29c0KnLshmA==", "dev": true, "requires": { - "ansi-wrap": "0.1.0" + "@types/node": "*" } }, - "ansi-red": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", - "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", - "dev": true, - "requires": { - "ansi-wrap": "0.1.0" - } + "@types/memoize-one": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@types/memoize-one/-/memoize-one-4.1.1.tgz", + "integrity": "sha512-+9djKUUn8hOyktLCfCy4hLaIPgDNovaU36fsnZe9trFHr6ddlbIn2q0SEsnkCkNR+pBWEU440Molz/+Mpyf+gQ==", + "dev": true }, - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + "@types/mime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.1.tgz", + "integrity": "sha512-FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw==", + "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==", - "requires": { - "color-convert": "^1.9.0" - } + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true }, - "ansi-to-html": { - "version": "0.6.11", - "resolved": "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.11.tgz", - "integrity": "sha512-88XZtrcwrfkyn6fGstHnkaF1kl7hGtNCYh4vSmItgEV+6JnQHryDBf7udF4f2RhTRQmYvJvPcTtqgaqrxzc9oA==", - "dev": true, - "requires": { - "entities": "^1.1.1" - } + "@types/mocha": { + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", + "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==", + "dev": true }, - "ansi-to-react": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/ansi-to-react/-/ansi-to-react-3.3.5.tgz", - "integrity": "sha512-uAI8NOh+/5PC1poTnLwhuO7whaxPst1lZCeq+7P7hlP0A6GRXjXu1f5qprTwT3NHtjIWyMcFJAL0Im0HyB2XeQ==", + "@types/nock": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/@types/nock/-/nock-10.0.3.tgz", + "integrity": "sha512-OthuN+2FuzfZO3yONJ/QVjKmLEuRagS9TV9lEId+WHL9KhftYG+/2z+pxlr0UgVVXSpVD8woie/3fzQn8ft/Ow==", "dev": true, "requires": { - "@babel/runtime-corejs2": "^7.0.0", - "anser": "^1.4.1", - "babel-runtime": "^6.26.0", - "escape-carriage": "^1.2.0" + "@types/node": "*" } }, - "ansi-wrap": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", - "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", + "@types/node": { + "version": "10.17.29", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.29.tgz", + "integrity": "sha512-zLo9rjUeQ5+QVhOufDwrb3XKyso31fJBJnk9wUUQIBDExF/O4LryvpOfozfUaxgqifTnlt7FyqsAPXUq5yFZSA==", "dev": true }, - "any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "@types/node-fetch": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.7.tgz", + "integrity": "sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw==", "dev": true, "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "@types/node": "*", + "form-data": "^3.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=", + "form-data": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", + "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", "dev": true, "requires": { - "remove-trailing-separator": "^1.0.1" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" } } } }, - "append-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", - "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=", + "@types/pdfkit": { + "version": "0.7.36", + "resolved": "https://registry.npmjs.org/@types/pdfkit/-/pdfkit-0.7.36.tgz", + "integrity": "sha512-9eRA6MuW+n78yU3HhoIrDxjyAX2++B5MpLDYqHOnaRTquCw+5sYXT+QN8E1eSaxvNUwlRfU3tOm4UzTeGWmBqg==", "dev": true, "requires": { - "buffer-equal": "^1.0.0" - }, - "dependencies": { - "buffer-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", - "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", - "dev": true - } + "@types/node": "*" } }, - "append-transform": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", + "@types/promisify-node": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@types/promisify-node/-/promisify-node-0.4.0.tgz", + "integrity": "sha1-3MceY8Cr9oYbrn0S9swzlceDk2s=", + "dev": true + }, + "@types/prop-types": { + "version": "15.7.1", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.1.tgz", + "integrity": "sha512-CFzn9idOEpHrgdw8JsoTkaDDyRWk1jrzIV8djzcgpq0y9tG4B4lFT+Nxh52DVpDXV+n4+NPNv7M1Dj5uMp6XFg==", + "dev": true + }, + "@types/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-Jugo5V/1bS0fRhy2z8+cUAHEyWOATaz4rbyLVvcFs7+dXp5HfwpEwzF1Q11bB10ApUqHf+yTauxI0UXQDwGrbA==", + "dev": true + }, + "@types/range-parser": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz", + "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==", + "dev": true + }, + "@types/react": { + "version": "16.8.23", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.8.23.tgz", + "integrity": "sha512-abkEOIeljniUN9qB5onp++g0EY38h7atnDHxwKUFz1r3VH1+yG1OKi2sNPTyObL40goBmfKFpdii2lEzwLX1cA==", "dev": true, "requires": { - "default-require-extensions": "^3.0.0" + "@types/prop-types": "*", + "csstype": "^2.2.0" } }, - "applicationinsights": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/applicationinsights/-/applicationinsights-1.0.6.tgz", - "integrity": "sha512-VQT3kBpJVPw5fCO5n+WUeSx0VHjxFtD7znYbILBlVgOS9/cMDuGFmV2Br3ObzFyZUDGNbEfW36fD1y2/vAiCKw==", + "@types/react-dom": { + "version": "16.8.4", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.8.4.tgz", + "integrity": "sha512-eIRpEW73DCzPIMaNBDP5pPIpK1KXyZwNgfxiVagb5iGiz6da+9A5hslSX6GAQKdO7SayVCS/Fr2kjqprgAvkfA==", + "dev": true, "requires": { - "diagnostic-channel": "0.2.0", - "diagnostic-channel-publishers": "0.2.1", - "zone.js": "0.7.6" + "@types/react": "*" } }, - "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.1.1", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.1.tgz", - "integrity": "sha512-BLM56aPo9vLLFVa8+/+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg==" - }, - "archive-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz", - "integrity": "sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA=", + "@types/react-json-tree": { + "version": "0.6.11", + "resolved": "https://registry.npmjs.org/@types/react-json-tree/-/react-json-tree-0.6.11.tgz", + "integrity": "sha512-HP0Sf0ZHjCi1FHLJxh/pLaxaevEW6ILlV2C5Dn3EZFTkLjWkv+EVf/l/zvtmoU9ZwuO/3TKVeWK/700UDxunTw==", "dev": true, "requires": { - "file-type": "^4.2.0" - }, - "dependencies": { - "file-type": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", - "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=", - "dev": true - } + "@types/react": "*" } }, - "archiver": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-3.0.0.tgz", - "integrity": "sha512-5QeR6Xc5hSA9X1rbQfcuQ6VZuUXOaEdB65Dhmk9duuRJHYif/ZyJfuyJqsQrj34PFjU5emv5/MmfgA8un06onw==", + "@types/react-redux": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.5.tgz", + "integrity": "sha512-ZoNGQMDxh5ENY7PzU7MVonxDzS1l/EWiy8nUhDqxFqUZn4ovboCyvk4Djf68x6COb7vhGTKjyjxHxtFdAA5sUA==", "dev": true, "requires": { - "archiver-utils": "^2.0.0", - "async": "^2.0.0", - "buffer-crc32": "^0.2.1", - "glob": "^7.0.0", - "readable-stream": "^2.0.0", - "tar-stream": "^1.5.0", - "zip-stream": "^2.0.1" - }, - "dependencies": { - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "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" - } - } + "@types/hoist-non-react-statics": "^3.3.0", + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0", + "redux": "^4.0.0" } }, - "archiver-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.0.0.tgz", - "integrity": "sha512-JRBgcVvDX4Mwu2RBF8bBaHcQCSxab7afsxAPYDQ5W+19quIPP5CfKE7Ql+UHs9wYvwsaNR8oDuhtf5iqrKmzww==", + "@types/react-virtualized": { + "version": "9.21.2", + "resolved": "https://registry.npmjs.org/@types/react-virtualized/-/react-virtualized-9.21.2.tgz", + "integrity": "sha512-Q6geJaDd8FlBw3ilD4ODferTyVtYAmDE3d7+GacfwN0jPt9rD9XkeuPjcHmyIwTrMXuLv1VIJmRxU9WQoQFBJw==", "dev": true, "requires": { - "glob": "^7.0.0", - "graceful-fs": "^4.1.0", - "lazystream": "^1.0.0", - "lodash.assign": "^4.2.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.toarray": "^4.4.0", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" - }, - "dependencies": { - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "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" - } - } + "@types/prop-types": "*", + "@types/react": "*" } }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", - "dev": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "@types/redux-logger": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/redux-logger/-/redux-logger-3.0.7.tgz", + "integrity": "sha512-oV9qiCuowhVR/ehqUobWWkXJjohontbDGLV88Be/7T4bqMQ3kjXwkFNL7doIIqlbg3X2PC5WPziZ8/j/QHNQ4A==", "dev": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "redux": "^3.6.0" }, "dependencies": { - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "redux": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz", + "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==", "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" + "lodash": "^4.2.1", + "lodash-es": "^4.2.1", + "loose-envify": "^1.1.0", + "symbol-observable": "^1.0.3" } }, - "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" - } + "symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", + "dev": true } } }, - "arg": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.0.tgz", - "integrity": "sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==", + "@types/relateurl": { + "version": "0.2.28", + "resolved": "https://registry.npmjs.org/@types/relateurl/-/relateurl-0.2.28.tgz", + "integrity": "sha1-a9p9uGU/piZD9e5p6facEaOS46Y=", "dev": true }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "@types/request": { + "version": "2.48.1", + "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.1.tgz", + "integrity": "sha512-ZgEZ1TiD+KGA9LiAAPPJL68Id2UWfeSO62ijSXZjFJArVV+2pKcsVHmrcu+1oiE3q6eDGiFiSolRc4JHoerBBg==", "dev": true, "requires": { - "sprintf-js": "~1.0.2" + "@types/caseless": "*", + "@types/form-data": "*", + "@types/node": "*", + "@types/tough-cookie": "*" } }, - "argv": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/argv/-/argv-0.0.2.tgz", - "integrity": "sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=", + "@types/semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==", "dev": true }, - "aria-query": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz", - "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=", + "@types/serve-static": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.3.tgz", + "integrity": "sha512-oprSwp094zOglVrXdlo/4bAHtKTAxX6VT8FOZlBKrmyLbNvE1zxZyJ6yikMVtHIvwP45+ZQGJn+FdXGKTozq0g==", "dev": true, "requires": { - "ast-types-flow": "0.0.7", - "commander": "^2.11.0" + "@types/express-serve-static-core": "*", + "@types/mime": "*" } }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "@types/shortid": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/shortid/-/shortid-0.0.29.tgz", + "integrity": "sha1-gJPuBBam4r8qpjOBCRFLP7/6Dps=", "dev": true }, - "arr-filter": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", - "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=", - "dev": true, - "requires": { - "make-iterator": "^1.0.0" - } + "@types/sinon": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-7.5.1.tgz", + "integrity": "sha512-EZQUP3hSZQyTQRfiLqelC9NMWd1kqLcmQE0dMiklxBkgi84T+cHOhnKpgk4NnOWpGX863yE6+IaGnOXUNFqDnQ==", + "dev": true }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "@types/sinonjs__fake-timers": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.1.tgz", + "integrity": "sha512-yYezQwGWty8ziyYLdZjwxyMb0CZR49h8JALHGrxjQHWlqGgc8kLdHEgWrgL0uZ29DMvEVBDnHU2Wg36zKSIUtA==", "dev": true }, - "arr-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", - "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=", + "@types/socket.io": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@types/socket.io/-/socket.io-2.1.4.tgz", + "integrity": "sha512-cI98INy7tYnweTsUlp8ocveVdAxENUThO0JsLSCs51cjOP2yV5Mqo5QszMDPckyRRA+PO6+wBgKvGvHUCc23TQ==", "dev": true, "requires": { - "make-iterator": "^1.0.0" + "@types/node": "*" } }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", "dev": true }, - "array-differ": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", - "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", + "@types/stack-trace": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/stack-trace/-/stack-trace-0.0.29.tgz", + "integrity": "sha512-TgfOX+mGY/NyNxJLIbDWrO9DjGoVSW9+aB8H2yy1fy32jsvxijhmyJI9fDFgvz3YP4lvJaq9DzdR/M1bOgVc9g==", "dev": true }, - "array-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", - "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", - "dev": true + "@types/superagent": { + "version": "3.8.7", + "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-3.8.7.tgz", + "integrity": "sha512-9KhCkyXv268A2nZ1Wvu7rQWM+BmdYUVkycFeNnYrUL5Zwu7o8wPQ3wBfW59dDP+wuoxw0ww8YKgTNv8j/cgscA==", + "dev": true, + "requires": { + "@types/cookiejar": "*", + "@types/node": "*" + } }, - "array-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "@types/tapable": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.4.tgz", + "integrity": "sha512-78AdXtlhpCHT0K3EytMpn4JNxaf5tbqbLcbIRoQIHzpTIyjpxLQKRoxU55ujBXAtg3Nl2h/XWvfDa9dsMOd0pQ==", "dev": true }, - "array-filter": { + "@types/tcp-port-used": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", - "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=", - "dev": true - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "array-from": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz", - "integrity": "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=" + "resolved": "https://registry.npmjs.org/@types/tcp-port-used/-/tcp-port-used-1.0.0.tgz", + "integrity": "sha512-UbspV5WZNhfM55HyvLEFyVc5n6K6OKuKep0mzvsgoUXQU1FS42GbePjreBnTCoKXfNzK/3/RJVCRlUDTuszFPg==" }, - "array-initial": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", - "integrity": "sha1-L6dLJnOTccOUe9enrcc74zSz15U=", + "@types/temp": { + "version": "0.8.34", + "resolved": "https://registry.npmjs.org/@types/temp/-/temp-0.8.34.tgz", + "integrity": "sha512-oLa9c5LHXgS6UimpEVp08De7QvZ+Dfu5bMQuWyMhf92Z26Q10ubEMOWy9OEfUdzW7Y/sDWVHmUaLFtmnX/2j0w==", "dev": true, "requires": { - "array-slice": "^1.0.0", - "is-number": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true - } + "@types/node": "*" } }, - "array-last": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz", - "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==", + "@types/testing-library__dom": { + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/@types/testing-library__dom/-/testing-library__dom-6.11.1.tgz", + "integrity": "sha512-ImChHtQqmjwraRLqBC2sgSQFtczeFvBmBcfhTYZn/3KwXbyD07LQykEQ0xJo7QHc1GbVvf7pRyGaIe6PkCdxEw==", "dev": true, "requires": { - "is-number": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true - } + "pretty-format": "^24.3.0" } }, - "array-map": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", - "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=", - "dev": true + "@types/testing-library__react": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@types/testing-library__react/-/testing-library__react-9.1.2.tgz", + "integrity": "sha512-CYaMqrswQ+cJACy268jsLAw355DZtPZGt3Jwmmotlcu8O/tkoXBI6AeZ84oZBJsIsesozPKzWzmv/0TIU+1E9Q==", + "dev": true, + "requires": { + "@types/react-dom": "*", + "@types/testing-library__dom": "*" + } }, - "array-reduce": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", - "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=", + "@types/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha1-EHPEvIJHVK49EM+riKsCN7qWTk0=", "dev": true }, - "array-slice": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", - "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "@types/tough-cookie": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.5.tgz", + "integrity": "sha512-SCcK7mvGi3+ZNz833RRjFIxrn4gI1PPR3NtuIS+6vMkvmsGjosqTJwRt5bAEFLRz+wtJMWv8+uOnZf2hi2QXTg==", "dev": true }, - "array-sort": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz", - "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==", + "@types/uglify-js": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.0.4.tgz", + "integrity": "sha512-SudIN9TRJ+v8g5pTG8RRCqfqTMNqgWCKKd3vtynhGzkIIjxaicNAMuY5TRadJ6tzDu3Dotf3ngaMILtmOdmWEQ==", "dev": true, "requires": { - "default-compare": "^1.0.0", - "get-value": "^2.0.6", - "kind-of": "^5.0.2" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } + "source-map": "^0.6.1" } }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "@types/underscore": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.9.4.tgz", + "integrity": "sha512-CjHWEMECc2/UxOZh0kpiz3lEyX2Px3rQS9HzD20lxMvx571ivOBQKeLnqEjxUY0BMgp6WJWo/pQLRBwMW5v4WQ==", + "dev": true + }, + "@types/untildify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/untildify/-/untildify-3.0.0.tgz", + "integrity": "sha512-FTktI3Y1h+gP9GTjTvXBP5v8xpH4RU6uS9POoBcGy4XkS2Np6LNtnP1eiNNth4S7P+qw2c/rugkwBasSHFzJEg==", + "dev": true + }, + "@types/uuid": { + "version": "3.4.5", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.5.tgz", + "integrity": "sha512-MNL15wC3EKyw1VLF+RoVO4hJJdk9t/Hlv3rt1OL65Qvuadm4BYo6g9ZJQqoq7X8NBFSsQXgAujWciovh2lpVjA==", "dev": true, "requires": { - "array-uniq": "^1.0.1" + "@types/node": "*" } }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "@types/vscode": { + "version": "1.48.0", + "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.48.0.tgz", + "integrity": "sha512-sZJKzsJz1gSoFXcOJWw3fnKl2sseUgZmvB4AJZS+Fea+bC/jfGPVhmFL/FfQHld/TKtukVONsmoD3Pkyx9iadg==", "dev": true }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "@types/vscode-notebook-renderer": { + "version": "1.48.0", + "resolved": "https://registry.npmjs.org/@types/vscode-notebook-renderer/-/vscode-notebook-renderer-1.48.0.tgz", + "integrity": "sha512-V7ifnlOgvVP3Ud1mM6EO98+oWRk9bt59INUL3Q0o06cAw45jOfos8pAFjDyCEHd1n6d3Q0ObPzdB0jgg8TdgDA==", "dev": true }, - "array.prototype.find": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.1.0.tgz", - "integrity": "sha512-Wn41+K1yuO5p7wRZDl7890c3xvv5UBrfVXTVIe28rSQb6LS0fZMDrQB6PAcxQFRFy6vJTLDc3A2+3CjQdzVKRg==", + "@types/webpack": { + "version": "4.4.34", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.4.34.tgz", + "integrity": "sha512-GnEBgjHsfO1M7DIQ0dAupSofcmDItE3Zsu3reK8SQpl/6N0rtUQxUmQzVFAS5ou/FGjsYKjXAWfItLZ0kNFTfQ==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.13.0" + "@types/anymatch": "*", + "@types/node": "*", + "@types/tapable": "*", + "@types/uglify-js": "*", + "source-map": "^0.6.0" } }, - "array.prototype.flat": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.1.tgz", - "integrity": "sha512-rVqIs330nLJvfC7JqYvEWwqVr5QjYF1ib02i3YJtR/fICO6527Tjpc/e4Mvmxh3GIePPreRXMdaGyC99YphWEw==", + "@types/webpack-bundle-analyzer": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/@types/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.13.1.tgz", + "integrity": "sha512-9M9jingj0izx1VfglYYJ+dvd0YCMlFgtrSCeb+C3VIQP8hmTXGJ5qqVeqiBnv0ffMyeKWqyij4K2F4VBcazQNw==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.10.0", - "function-bind": "^1.1.1" + "@types/webpack": "*" } }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "@types/webpack-sources": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.6.tgz", + "integrity": "sha512-FtAWR7wR5ocJ9+nP137DV81tveD/ZgB1sadnJ/axUGM3BUVfRPx8oQNMtv3JNfTeHx3VP7cXiyfR/jmtEsVHsQ==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.6.1" + } + }, + "@types/winreg": { + "version": "1.2.30", + "resolved": "https://registry.npmjs.org/@types/winreg/-/winreg-1.2.30.tgz", + "integrity": "sha1-kdZxDlNtNFucmwF8V0z2qNpkxRg=", "dev": true }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "@types/ws": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-6.0.1.tgz", + "integrity": "sha512-EzH8k1gyZ4xih/MaZTXwT2xOkPiIMSrhQ9b8wrlX88L0T02eYsddatQlwVFlEPyEqV0ChpdpNnE51QPH6NVT4Q==", + "dev": true, "requires": { - "safer-buffer": "~2.1.0" + "@types/events": "*", + "@types/node": "*" } }, - "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "@types/xml2js": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@types/xml2js/-/xml2js-0.4.4.tgz", + "integrity": "sha512-O6Xgai01b9PB3IGA0lRIp1Ex3JBcxGDhdO0n3NIIpCyDOAjxcIGQFmkvgJpP8anTrthxOUQjBfLdRRi0Zn/TXA==", "dev": true, "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "@types/node": "*" } }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "@types/yargs": { + "version": "13.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.5.tgz", + "integrity": "sha512-CF/+sxTO7FOwbIRL4wMv0ZYLCRfMid2HQpzDRyViH7kSpfoAFiMdGqKIxb1PxWfjtQXQhnQuD33lvRHNwr809Q==", "dev": true, "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==", + "dev": true + }, + "@types/yauzl": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz", + "integrity": "sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + }, + "@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, + "requires": { + "@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" }, "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "inherits": "2.0.1" + "ms": "^2.1.1" } + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true } } }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + "@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, + "requires": { + "@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" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz", + "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + } + } }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true + "@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, + "requires": { + "@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" + } }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "@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 }, - "ast-transform": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/ast-transform/-/ast-transform-0.0.0.tgz", - "integrity": "sha1-dJRAWIh9goPhidlUYAlHvJj+AGI=", + "@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, "requires": { - "escodegen": "~1.2.0", - "esprima": "~1.0.4", - "through": "~2.3.4" + "@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" }, "dependencies": { - "escodegen": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.2.0.tgz", - "integrity": "sha1-Cd55Z3kcyVi3+Jot220jRRrzJ+E=", + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, "requires": { - "esprima": "~1.0.4", - "estraverse": "~1.5.0", - "esutils": "~1.0.0", - "source-map": "~0.1.30" + "ms": "^2.1.1" } }, - "esprima": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", - "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=" - }, - "estraverse": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", - "integrity": "sha1-hno+jlip+EYYr7bC3bzZFrfLr3E=" - }, - "esutils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", - "integrity": "sha1-gVHTWOIMisx/t0XnRywAJf5JZXA=" - }, - "source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", - "optional": true, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, "requires": { - "amdefine": ">=0.0.4" + "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" } + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true } } }, - "ast-types": { - "version": "0.7.8", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.7.8.tgz", - "integrity": "sha1-kC0uDWDQcb3NRtwRXhgJ7RHBOKk=" - }, - "ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", - "dev": true - }, - "async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", - "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", + "@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, "requires": { - "lodash": "^4.17.11" + "eslint-visitor-keys": "^1.1.0" } }, - "async-done": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", - "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", + "@webassemblyjs/ast": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", + "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", "dev": true, "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.2", - "process-nextick-args": "^2.0.0", - "stream-exhaust": "^1.0.1" - }, - "dependencies": { - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - } + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5" } }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", + "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", "dev": true }, - "async-limiter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", - "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" + "@webassemblyjs/helper-api-error": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", + "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", + "dev": true }, - "async-settle": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", - "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=", + "@webassemblyjs/helper-buffer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", + "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", + "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", "dev": true, "requires": { - "async-done": "^1.2.2" + "@webassemblyjs/wast-printer": "1.8.5" } }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "@webassemblyjs/helper-fsm": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", + "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", "dev": true }, - "awesome-typescript-loader": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/awesome-typescript-loader/-/awesome-typescript-loader-5.2.1.tgz", - "integrity": "sha512-slv66OAJB8orL+UUaTI3pKlLorwIvS4ARZzYR9iJJyGsEgOqueMfOMdKySWzZ73vIkEe3fcwFgsKMg4d8zyb1g==", + "@webassemblyjs/helper-module-context": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", + "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", "dev": true, "requires": { - "chalk": "^2.4.1", - "enhanced-resolve": "^4.0.0", - "loader-utils": "^1.1.0", - "lodash": "^4.17.5", - "micromatch": "^3.1.9", - "mkdirp": "^0.5.1", - "source-map-support": "^0.5.3", - "webpack-log": "^1.2.0" + "@webassemblyjs/ast": "1.8.5", + "mamacro": "^0.0.3" } }, - "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=" - }, - "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", + "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", + "dev": true }, - "azure-devops-node-api": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-7.2.0.tgz", - "integrity": "sha512-pMfGJ6gAQ7LRKTHgiRF+8iaUUeGAI0c8puLaqHLc7B8AR7W6GJLozK9RFeUHFjEGybC9/EB3r67WPd7e46zQ8w==", + "@webassemblyjs/helper-wasm-section": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", + "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", "dev": true, "requires": { - "os": "0.1.1", - "tunnel": "0.0.4", - "typed-rest-client": "1.2.0", - "underscore": "1.8.3" + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5" } }, - "azure-storage": { - "version": "2.10.3", - "resolved": "https://registry.npmjs.org/azure-storage/-/azure-storage-2.10.3.tgz", - "integrity": "sha512-IGLs5Xj6kO8Ii90KerQrrwuJKexLgSwYC4oLWmc11mzKe7Jt2E5IVg+ZQ8K53YWZACtVTMBNO3iGuA+4ipjJxQ==", + "@webassemblyjs/ieee754": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", + "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "dev": true, "requires": { - "browserify-mime": "~1.2.9", - "extend": "^3.0.2", - "json-edm-parser": "0.1.2", - "md5.js": "1.3.4", - "readable-stream": "~2.0.0", - "request": "^2.86.0", - "underscore": "~1.8.3", - "uuid": "^3.0.0", - "validator": "~9.4.1", - "xml2js": "0.2.8", - "xmlbuilder": "^9.0.7" - }, - "dependencies": { - "readable-stream": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "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=" - }, - "xml2js": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.2.8.tgz", - "integrity": "sha1-m4FpCTFjH/CdGVdUn69U9PmAs8I=", - "requires": { - "sax": "0.5.x" - } - } + "@xtuc/ieee754": "^1.2.0" } }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "@webassemblyjs/leb128": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", + "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - }, - "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" - }, - "dependencies": { - "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" - } - } - } - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "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" - } - }, - "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 - } + "@xtuc/long": "4.2.2" } }, - "babel-loader": { - "version": "8.0.6", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz", - "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==", + "@webassemblyjs/utf8": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", + "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", + "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", "dev": true, "requires": { - "find-cache-dir": "^2.0.0", - "loader-utils": "^1.0.2", - "mkdirp": "^0.5.1", - "pify": "^4.0.1" + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/helper-wasm-section": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-opt": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "@webassemblyjs/wast-printer": "1.8.5" } }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", - "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", + "@webassemblyjs/wasm-gen": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", + "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", "dev": true, "requires": { - "object.assign": "^4.1.0" + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" } }, - "babel-plugin-emotion": { - "version": "9.2.11", - "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-9.2.11.tgz", - "integrity": "sha512-dgCImifnOPPSeXod2znAmgc64NhaaOjGEHROR/M+lmStb3841yK1sgaDYAYMnlvWNz8GnpwIPN0VmNpbWYZ+VQ==", + "@webassemblyjs/wasm-opt": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", + "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@emotion/babel-utils": "^0.6.4", - "@emotion/hash": "^0.6.2", - "@emotion/memoize": "^0.6.1", - "@emotion/stylis": "^0.7.0", - "babel-plugin-macros": "^2.0.0", - "babel-plugin-syntax-jsx": "^6.18.0", - "convert-source-map": "^1.5.0", - "find-root": "^1.1.0", - "mkdirp": "^0.5.1", - "source-map": "^0.5.7", - "touch": "^2.0.1" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5" } }, - "babel-plugin-inline-json-import": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/babel-plugin-inline-json-import/-/babel-plugin-inline-json-import-0.3.2.tgz", - "integrity": "sha512-QNNJx08KjmMT25Cw7rAPQ6dlREDPiZGDyApHL8KQ9vrQHbrr4PTi7W8g1tMMZPz0jEMd39nx/eH7xjnDNxq5sA==", + "@webassemblyjs/wasm-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", + "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", "dev": true, "requires": { - "decache": "^4.5.1" - } - }, - "babel-plugin-macros": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.6.1.tgz", - "integrity": "sha512-6W2nwiXme6j1n2erPOnmRiWfObUhWH7Qw1LMi9XZy8cj+KtESu3T6asZvtk5bMQQjX8te35o7CFueiSdL/2NmQ==", + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", + "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", "dev": true, "requires": { - "@babel/runtime": "^7.4.2", - "cosmiconfig": "^5.2.0", - "resolve": "^1.10.0" + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/floating-point-hex-parser": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-code-frame": "1.8.5", + "@webassemblyjs/helper-fsm": "1.8.5", + "@xtuc/long": "4.2.2" } }, - "babel-plugin-syntax-jsx": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=", + "@webassemblyjs/wast-printer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", + "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@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 }, - "babel-plugin-transform-runtime": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", - "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", + "@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 + }, + "abab": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz", + "integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==", + "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==", + "dev": true + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "mime-types": "~2.1.24", + "negotiator": "0.6.2" } }, - "babel-polyfill": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", - "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", + "acorn": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", + "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", + "dev": true + }, + "acorn-dynamic-import": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz", + "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==" + }, + "acorn-globals": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.2.tgz", + "integrity": "sha512-BbzvZhVtZP+Bs1J1HcwrQe8ycfO0wStkSGxuul3He3GkHOIZ6eTqOkPuw9IP1X3+IkOo4wiJmwkobzXYz4wewQ==", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "regenerator-runtime": "^0.10.5" + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" }, "dependencies": { - "core-js": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", - "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==", - "dev": true - }, - "regenerator-runtime": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", + "acorn": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", + "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", "dev": true } } }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "acorn-jsx": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", + "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", + "dev": true + }, + "acorn-node": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.7.0.tgz", + "integrity": "sha512-XhahLSsCB6X6CJbe+uNu3Mn9sJBNFxtBN9NLgAOQovfS6Kh0lDUtmlclhjn9CvEK7A7YyRU13PXlNcpSiLI9Yw==", "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "acorn": "^6.1.1", + "acorn-dynamic-import": "^4.0.0", + "acorn-walk": "^6.1.1", + "xtend": "^4.0.1" }, "dependencies": { - "core-js": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", - "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" - }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + "acorn": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", + "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==" } } }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==" + }, + "address": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/address/-/address-1.0.3.tgz", + "integrity": "sha512-z55ocwKBRLryBs394Sm3ushTtBeg6VAeuku7utSoSnsJKvKcnXFIyC6vh27n3rXyxSgkJBBCAvyOn7gSUcTYjg==", + "dev": true + }, + "after": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", + "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", + "dev": true + }, + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - }, - "dependencies": { - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true - } + "es6-promisify": "^5.0.0" } }, - "bach": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", - "integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=", + "aggregate-error": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", + "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "airbnb-prop-types": { + "version": "2.13.2", + "resolved": "https://registry.npmjs.org/airbnb-prop-types/-/airbnb-prop-types-2.13.2.tgz", + "integrity": "sha512-2FN6DlHr6JCSxPPi25EnqGaXC4OC3/B3k1lCd6MMYrZ51/Gf/1qDfaR+JElzWa+Tl7cY2aYOlsYJGFeQyVHIeQ==", "dev": true, "requires": { - "arr-filter": "^1.1.1", - "arr-flatten": "^1.0.1", - "arr-map": "^2.0.0", - "array-each": "^1.0.0", - "array-initial": "^1.0.0", - "array-last": "^1.1.1", - "async-done": "^1.2.2", - "async-settle": "^1.0.0", - "now-and-later": "^2.0.0" + "array.prototype.find": "^2.0.4", + "function.prototype.name": "^1.1.0", + "has": "^1.0.3", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object.assign": "^4.1.0", + "object.entries": "^1.1.0", + "prop-types": "^15.7.2", + "prop-types-exact": "^1.2.0", + "react-is": "^16.8.6" } }, - "bail": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.4.tgz", - "integrity": "sha512-S8vuDB4w6YpRhICUDET3guPlQpaJl7od94tpZ0Fvnyp+MKW/HyDTcRDck+29C9g+d/qQHnddRH3+94kZdrW0Ww==", + "ajv": { + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.1.tgz", + "integrity": "sha512-w1YQaVGNC6t2UCPjEawK/vo/dG8OOrVtUmhBT1uJJYxbl5kU2Tj3v6LGqBcsysN1yhuCStJCCA3GqdvKY8sqXQ==", + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", "dev": true }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", + "dev": true }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "optional": true + }, + "anser": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.8.tgz", + "integrity": "sha512-tVHucTCKIt9VRrpQKzPtOlwm/3AmyQ7J+QE29ixFnvuE2hm83utEVrN7jJapYkHV6hI0HOHkEX9TOMCzHtwvuA==", + "dev": true + }, + "ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "dev": true, + "requires": { + "ansi-wrap": "^0.1.0" } }, - "base16": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz", - "integrity": "sha1-4pf2DX7BAUp6lxo568ipjAtoHnA=", + "ansi-cyan": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", + "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", "dev": true }, - "base64-js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", - "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" + "ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "ansi-red": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", + "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", + "dev": true, "requires": { - "tweetnacl": "^0.14.3" + "ansi-wrap": "0.1.0" } }, - "bfj": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz", - "integrity": "sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==", + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "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": { - "bluebird": "^3.5.5", - "check-types": "^8.0.3", - "hoopy": "^0.1.4", - "tryer": "^1.0.1" + "color-convert": "^1.9.0" } }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true + "ansi-to-html": { + "version": "0.6.11", + "resolved": "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.11.tgz", + "integrity": "sha512-88XZtrcwrfkyn6fGstHnkaF1kl7hGtNCYh4vSmItgEV+6JnQHryDBf7udF4f2RhTRQmYvJvPcTtqgaqrxzc9oA==", + "dev": true, + "requires": { + "entities": "^1.1.1" + } }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "ansi-to-react": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/ansi-to-react/-/ansi-to-react-3.3.5.tgz", + "integrity": "sha512-uAI8NOh+/5PC1poTnLwhuO7whaxPst1lZCeq+7P7hlP0A6GRXjXu1f5qprTwT3NHtjIWyMcFJAL0Im0HyB2XeQ==", + "dev": true, + "requires": { + "@babel/runtime-corejs2": "^7.0.0", + "anser": "^1.4.1", + "babel-runtime": "^6.26.0", + "escape-carriage": "^1.2.0" + } + }, + "ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", "dev": true }, - "bintrees": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "append-buffer": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bintrees/-/bintrees-1.0.2.tgz", - "integrity": "sha1-SfiW1uhYpKSZ34XDj7OZua/4QPg=", + "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", + "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=", + "dev": true, + "requires": { + "buffer-equal": "^1.0.0" + }, + "dependencies": { + "buffer-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", + "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", + "dev": true + } + } + }, + "append-transform": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", + "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", + "dev": true, + "requires": { + "default-require-extensions": "^3.0.0" + } + }, + "applicationinsights": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/applicationinsights/-/applicationinsights-1.7.4.tgz", + "integrity": "sha512-XFLsNlcanpjFhHNvVWEfcm6hr7lu9znnb6Le1Lk5RE03YUV9X2B2n2MfM4kJZRrUdV+C0hdHxvWyv+vWoLfY7A==", + "requires": { + "cls-hooked": "^4.2.2", + "continuation-local-storage": "^3.2.1", + "diagnostic-channel": "0.2.0", + "diagnostic-channel-publishers": "^0.3.3" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true }, - "bl": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", - "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", + "arch": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.1.tgz", + "integrity": "sha512-BLM56aPo9vLLFVa8+/+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg==" + }, + "archive-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz", + "integrity": "sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA=", "dev": true, "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" + "file-type": "^4.2.0" + }, + "dependencies": { + "file-type": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", + "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=", + "dev": true + } + } + }, + "archiver": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-3.0.0.tgz", + "integrity": "sha512-5QeR6Xc5hSA9X1rbQfcuQ6VZuUXOaEdB65Dhmk9duuRJHYif/ZyJfuyJqsQrj34PFjU5emv5/MmfgA8un06onw==", + "dev": true, + "requires": { + "archiver-utils": "^2.0.0", + "async": "^2.0.0", + "buffer-crc32": "^0.2.1", + "glob": "^7.0.0", + "readable-stream": "^2.0.0", + "tar-stream": "^1.5.0", + "zip-stream": "^2.0.1" }, "dependencies": { "process-nextick-args": { @@ -4270,148 +4961,85 @@ } } }, - "block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "archiver-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.0.0.tgz", + "integrity": "sha512-JRBgcVvDX4Mwu2RBF8bBaHcQCSxab7afsxAPYDQ5W+19quIPP5CfKE7Ql+UHs9wYvwsaNR8oDuhtf5iqrKmzww==", "dev": true, "requires": { - "inherits": "~2.0.0" - } - }, - "bluebird": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", - "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", - "dev": true - }, - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", - "dev": true - }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "dev": true, - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" + "glob": "^7.0.0", + "graceful-fs": "^4.1.0", + "lazystream": "^1.0.0", + "lodash.assign": "^4.2.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.toarray": "^4.4.0", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" }, "dependencies": { - "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==", + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" + "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": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "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 + "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" + } } } }, - "boolbase": { + "archy": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "bootstrap": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.3.1.tgz", - "integrity": "sha512-rXqOmH1VilAt2DyPzluTi2blhk17bO7ef+zLLPlWvG494pDxcM234pJ8wTc/6R40UWizAIIMgxjvxZg5kmsbag==", - "dev": true - }, - "bootstrap-less": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/bootstrap-less/-/bootstrap-less-3.3.8.tgz", - "integrity": "sha1-cfKd1af//t/onxYFu63+CjONrlM=", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", "dev": true }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "dev": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "brfs": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brfs/-/brfs-2.0.2.tgz", - "integrity": "sha512-IrFjVtwu4eTJZyu8w/V2gxU7iLTtcHih67sgEdzrhjLBMHp2uYefUBfdM4k2UvcuWMgV7PQDZHSLeNWnLFKWVQ==", - "requires": { - "quote-stream": "^1.0.1", - "resolve": "^1.1.5", - "static-module": "^3.0.2", - "through2": "^2.0.0" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" }, "dependencies": { "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true }, "readable-stream": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -4422,732 +5050,805 @@ "util-deprecate": "~1.0.1" } }, - "static-module": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/static-module/-/static-module-3.0.3.tgz", - "integrity": "sha512-RDaMYaI5o/ym0GkCqL/PlD1Pn216omp8fY81okxZ6f6JQxWW5tptOw9reXoZX85yt/scYvbWIt6uoszeyf+/MQ==", - "requires": { - "acorn-node": "^1.3.0", - "concat-stream": "~1.6.0", - "convert-source-map": "^1.5.1", - "duplexer2": "~0.1.4", - "escodegen": "~1.9.0", - "has": "^1.0.1", - "magic-string": "^0.22.4", - "merge-source-map": "1.0.4", - "object-inspect": "~1.4.0", - "readable-stream": "~2.3.3", - "scope-analyzer": "^2.0.1", - "shallow-copy": "~0.0.1", - "static-eval": "^2.0.2", - "through2": "~2.0.3" - } - }, "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" } } } }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "arg": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.0.tgz", + "integrity": "sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==", "dev": true }, - "brotli": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.2.tgz", - "integrity": "sha1-UlqcrU/LqWR119OI9q7LE+7VL0Y=", + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, "requires": { - "base64-js": "^1.1.2" + "sprintf-js": "~1.0.2" } }, - "browser-process-hrtime": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz", - "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==", + "argv": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/argv/-/argv-0.0.2.tgz", + "integrity": "sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=", "dev": true }, - "browser-resolve": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", - "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "aria-query": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz", + "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=", + "dev": true, "requires": { - "resolve": "1.1.7" - }, - "dependencies": { - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=" - } + "ast-types-flow": "0.0.7", + "commander": "^2.11.0" } }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "arr-filter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", + "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=", "dev": true, "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "make-iterator": "^1.0.0" } }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "arr-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", + "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=", "dev": true, "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "make-iterator": "^1.0.0" } }, - "browserify-mime": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/browserify-mime/-/browserify-mime-1.2.9.tgz", - "integrity": "sha1-rrGvKN5sDXpqLOQK22j/GEIq8x8=" + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true }, - "browserify-optional": { + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", + "dev": true + }, + "array-each": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-optional/-/browserify-optional-1.0.1.tgz", - "integrity": "sha1-HhNyLP3g2F8SFnbCpyztUzoBiGk=", - "requires": { - "ast-transform": "0.0.0", - "ast-types": "^0.7.0", - "browser-resolve": "^1.8.1" - } + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", + "dev": true }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - } + "array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "dev": true }, - "browserify-sign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "array-filter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", + "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "array-from": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz", + "integrity": "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=" + }, + "array-includes": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", + "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", "dev": true, "requires": { - "bn.js": "^4.1.1", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.2", - "elliptic": "^6.0.0", - "inherits": "^2.0.1", - "parse-asn1": "^5.0.0" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "is-string": "^1.0.5" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "dev": true + }, + "object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true + } } }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "array-initial": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", + "integrity": "sha1-L6dLJnOTccOUe9enrcc74zSz15U=", "dev": true, "requires": { - "pako": "~1.0.5" + "array-slice": "^1.0.0", + "is-number": "^4.0.0" }, "dependencies": { - "pako": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", - "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", "dev": true } } }, - "browserslist": { - "version": "4.6.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.4.tgz", - "integrity": "sha512-ErJT8qGfRt/VWHSr1HeqZzz50DvxHtr1fVL1m5wf20aGrG8e1ce8fpZ2EjZEfs09DDZYSvtRaDlMpWslBf8Low==", + "array-last": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz", + "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000981", - "electron-to-chromium": "^1.3.188", - "node-releases": "^1.1.25" + "is-number": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } } }, - "buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", - "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "array-map": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", + "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=", + "dev": true + }, + "array-reduce": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", + "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=", + "dev": true + }, + "array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "dev": true + }, + "array-sort": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz", + "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==", "dev": true, "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" + "default-compare": "^1.0.0", + "get-value": "^2.0.6", + "kind-of": "^5.0.2" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } } }, - "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==", + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dev": true, "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" + "array-uniq": "^1.0.1" } }, - "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==", + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", "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=", + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, - "buffer-equal": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", - "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=" + "array.prototype.find": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.1.0.tgz", + "integrity": "sha512-Wn41+K1yuO5p7wRZDl7890c3xvv5UBrfVXTVIe28rSQb6LS0fZMDrQB6PAcxQFRFy6vJTLDc3A2+3CjQdzVKRg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.13.0" + } }, - "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.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + "array.prototype.flat": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.1.tgz", + "integrity": "sha512-rVqIs330nLJvfC7JqYvEWwqVr5QjYF1ib02i3YJtR/fICO6527Tjpc/e4Mvmxh3GIePPreRXMdaGyC99YphWEw==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.10.0", + "function-bind": "^1.1.1" + } }, - "cacache": { - "version": "12.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", - "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "array.prototype.flatmap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz", + "integrity": "sha512-OOEk+lkePcg+ODXIpvuU9PAryCikCJyo7GlDG1upleEpQRx6mzL9puEBkozQ5iAx20KV0l3DbyQwqciJtqe5Pg==", "dev": true, "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1" }, "dependencies": { - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", "dev": true, "requires": { - "yallist": "^3.0.2" + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" } }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", "dev": true } } }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "array.prototype.map": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array.prototype.map/-/array.prototype.map-1.0.2.tgz", + "integrity": "sha512-Az3OYxgsa1g7xDYp86l0nnN4bcmuEITGe1rbdEBVkrqkzMgDcbdQ2R7r41pNzti+4NMces3H8gMmuioZUilLgw==", "dev": true, "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.4" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true + } } }, - "cache-content-type": { + "arraybuffer.slice": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", + "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", + "dev": true + }, + "arrify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz", - "integrity": "sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "requires": { - "mime-types": "^2.1.18", - "ylru": "^1.2.0" + "safer-buffer": "~2.1.0" } }, - "cacheable-request": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", - "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", "dev": true, "requires": { - "clone-response": "1.0.2", - "get-stream": "3.0.0", - "http-cache-semantics": "3.8.1", - "keyv": "3.0.0", - "lowercase-keys": "1.0.0", - "normalize-url": "2.0.1", - "responselike": "1.0.2" - }, - "dependencies": { - "lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", - "dev": true - } + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, - "caching-transform": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", "dev": true, "requires": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" + "object-assign": "^4.1.1", + "util": "0.10.3" }, "dependencies": { - "make-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz", - "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==", + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", "dev": true, "requires": { - "semver": "^6.0.0" + "inherits": "2.0.1" } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true } } }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "dev": true, - "requires": { - "callsites": "^2.0.0" - } - }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "requires": { - "caller-callsite": "^2.0.0" - } - }, - "callsite": { + "assert-plus": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "dev": true }, - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", "dev": true }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "dev": true, + "ast-transform": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/ast-transform/-/ast-transform-0.0.0.tgz", + "integrity": "sha1-dJRAWIh9goPhidlUYAlHvJj+AGI=", "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" + "escodegen": "~1.2.0", + "esprima": "~1.0.4", + "through": "~2.3.4" + }, + "dependencies": { + "escodegen": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.2.0.tgz", + "integrity": "sha1-Cd55Z3kcyVi3+Jot220jRRrzJ+E=", + "requires": { + "esprima": "~1.0.4", + "estraverse": "~1.5.0", + "esutils": "~1.0.0", + "source-map": "~0.1.30" + } + }, + "esprima": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", + "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=" + }, + "estraverse": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", + "integrity": "sha1-hno+jlip+EYYr7bC3bzZFrfLr3E=" + }, + "esutils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", + "integrity": "sha1-gVHTWOIMisx/t0XnRywAJf5JZXA=" + }, + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "optional": true, + "requires": { + "amdefine": ">=0.0.4" + } + } } }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true + "ast-types": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.7.8.tgz", + "integrity": "sha1-kC0uDWDQcb3NRtwRXhgJ7RHBOKk=" }, - "caniuse-lite": { - "version": "1.0.30000983", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000983.tgz", - "integrity": "sha512-/llD1bZ6qwNkt41AsvjsmwNOoA4ZB+8iqmf5LVyeSXuBODT/hAMFNVOh84NdUzoiYiSKqo5vQ3ZzeYHSi/olDQ==", + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", "dev": true }, - "canvas": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/canvas/-/canvas-2.6.0.tgz", - "integrity": "sha512-bEO9f1ThmbknLPxCa8Es7obPlN9W3stB1bo7njlhOFKIdUTldeTqXCh9YclCPAi2pSQs84XA0jq/QEZXSzgyMw==", - "dev": true, - "requires": { - "nan": "^2.14.0", - "node-pre-gyp": "^0.11.0", - "simple-get": "^3.0.3" - } - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true }, - "caw": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", - "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", - "dev": true, + "async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", + "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", "requires": { - "get-proxy": "^2.0.0", - "isurl": "^1.0.0-alpha5", - "tunnel-agent": "^0.6.0", - "url-to-options": "^1.0.1" + "lodash": "^4.17.11" } }, - "chai": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", - "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", + "async-done": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", + "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", "dev": true, "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "pathval": "^1.1.0", - "type-detect": "^4.0.5" + "end-of-stream": "^1.1.0", + "once": "^1.3.2", + "process-nextick-args": "^2.0.0", + "stream-exhaust": "^1.0.1" + }, + "dependencies": { + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + } } }, - "chai-arrays": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chai-arrays/-/chai-arrays-2.0.0.tgz", - "integrity": "sha512-jWAvZu1BV8tL3pj0iosBECzzHEg+XB1zSnMjJGX83bGi/1GlGdDO7J/A0sbBBS6KJT0FVqZIzZW9C6WLiMkHpQ==", + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", "dev": true }, - "chai-as-promised": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", - "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", - "dev": true, + "async-hook-jl": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/async-hook-jl/-/async-hook-jl-1.7.6.tgz", + "integrity": "sha512-gFaHkFfSxTjvoxDMYqDuGHlcRyUuamF8s+ZTtJdDzqjws4mCt7v0vuV79/E2Wr2/riMQgtG4/yUtXWs1gZ7JMg==", "requires": { - "check-error": "^1.0.2" + "stack-chain": "^1.3.7" } }, - "chai-http": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/chai-http/-/chai-http-4.3.0.tgz", - "integrity": "sha512-zFTxlN7HLMv+7+SPXZdkd5wUlK+KxH6Q7bIEMiEx0FK3zuuMqL7cwICAQ0V1+yYRozBburYuxN1qZstgHpFZQg==", - "dev": true, + "async-limiter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", + "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" + }, + "async-listener": { + "version": "0.6.10", + "resolved": "https://registry.npmjs.org/async-listener/-/async-listener-0.6.10.tgz", + "integrity": "sha512-gpuo6xOyF4D5DE5WvyqZdPA3NGhiT6Qf07l7DCB0wwDEsLvDIbCr6j9S5aj5Ch96dLace5tXVzWBZkxU/c5ohw==", "requires": { - "@types/chai": "4", - "@types/superagent": "^3.8.3", - "cookiejar": "^2.1.1", - "is-ip": "^2.0.0", - "methods": "^1.1.2", - "qs": "^6.5.1", - "superagent": "^3.7.0" + "semver": "^5.3.0", + "shimmer": "^1.1.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==", + "async-settle": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", + "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=", + "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "async-done": "^1.2.2" } }, - "character-entities": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.3.tgz", - "integrity": "sha512-yB4oYSAa9yLcGyTbB4ItFwHw43QHdH129IJ5R+WvxOkWlyFnR5FAaBNnUq4mcxsTVZGh28bHoeTHMKXH1wZf3w==", - "dev": true - }, - "character-entities-legacy": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz", - "integrity": "sha512-YAxUpPoPwxYFsslbdKkhrGnXAtXoHNgYjlBM3WMXkWGTl5RsY3QmOyhwAgL8Nxm9l5LBThXGawxKPn68y6/fww==", - "dev": true - }, - "character-reference-invalid": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz", - "integrity": "sha512-VOq6PRzQBam/8Jm6XBGk2fNEnHXAdGd6go0rtd4weAGECBamHDwwCQSOT12TACIYUZegUXnV6xBXqUssijtxIg==", - "dev": true - }, - "chardet": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", - "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", - "dev": true - }, - "charenc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=" - }, - "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, - "check-types": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz", - "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==", + "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 }, - "cheerio": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz", - "integrity": "sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==", + "autoprefixer": { + "version": "7.2.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.6.tgz", + "integrity": "sha512-Iq8TRIB+/9eQ8rbGhcP7ct5cYb/3qjNYAR2SnzLCEcwF6rvVOax8+9+fccgXk4bEhQGjOZd5TLhsksmAdsbGqQ==", "dev": true, "requires": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.1", - "entities": "~1.1.1", - "htmlparser2": "^3.9.1", - "lodash": "^4.15.0", - "parse5": "^3.0.1" + "browserslist": "^2.11.3", + "caniuse-lite": "^1.0.30000805", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^6.0.17", + "postcss-value-parser": "^3.2.3" }, "dependencies": { - "parse5": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", - "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", + "browserslist": { + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz", + "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", "dev": true, "requires": { - "@types/node": "*" - } - } - } - }, - "chokidar": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.6.tgz", - "integrity": "sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "dependencies": { - "extend-shallow": { - "version": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "readable-stream": { - "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "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" + "caniuse-lite": "^1.0.30000792", + "electron-to-chromium": "^1.3.30" } }, - "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==", + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" } } } }, - "chownr": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.2.tgz", - "integrity": "sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==", + "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=" + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" + }, + "axe-core": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-3.5.5.tgz", + "integrity": "sha512-5P0QZ6J5xGikH780pghEdbEKijCTrruK9KxtPZCFWUpef0f6GipO+xEZ5GKCb020mmqgbiNO6TcA55CriL784Q==", "dev": true }, - "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "dev": true, + "axios": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", + "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", "requires": { - "tslib": "^1.9.0" + "follow-redirects": "1.5.10" } }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", + "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", "dev": true }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "azure-devops-node-api": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-7.2.0.tgz", + "integrity": "sha512-pMfGJ6gAQ7LRKTHgiRF+8iaUUeGAI0c8puLaqHLc7B8AR7W6GJLozK9RFeUHFjEGybC9/EB3r67WPd7e46zQ8w==", "dev": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "os": "0.1.1", + "tunnel": "0.0.4", + "typed-rest-client": "1.2.0", + "underscore": "1.8.3" } }, - "circular-json": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", - "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", - "dev": true - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, + "azure-storage": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/azure-storage/-/azure-storage-2.10.3.tgz", + "integrity": "sha512-IGLs5Xj6kO8Ii90KerQrrwuJKexLgSwYC4oLWmc11mzKe7Jt2E5IVg+ZQ8K53YWZACtVTMBNO3iGuA+4ipjJxQ==", "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "browserify-mime": "~1.2.9", + "extend": "^3.0.2", + "json-edm-parser": "0.1.2", + "md5.js": "1.3.4", + "readable-stream": "~2.0.0", + "request": "^2.86.0", + "underscore": "~1.8.3", + "uuid": "^3.0.0", + "validator": "~9.4.1", + "xml2js": "0.2.8", + "xmlbuilder": "^9.0.7" }, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", "requires": { - "is-descriptor": "^0.1.0" + "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=" + }, + "xml2js": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.2.8.tgz", + "integrity": "sha1-m4FpCTFjH/CdGVdUn69U9PmAs8I=", + "requires": { + "sax": "0.5.x" } } } }, - "classnames": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", - "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==", - "dev": true - }, - "clean-css": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", - "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", - "dev": true, - "requires": { - "source-map": "~0.6.0" - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" }, "dependencies": { "ansi-regex": { @@ -5156,6 +5857,42 @@ "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" + }, + "dependencies": { + "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" + } + } + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -5164,295 +5901,353 @@ "requires": { "ansi-regex": "^2.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 } } }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" - }, - "clone-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", - "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", - "dev": true - }, - "clone-deep": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", - "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", + "babel-loader": { + "version": "8.0.6", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz", + "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==", "dev": true, "requires": { - "for-own": "^1.0.0", - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.0", - "shallow-clone": "^1.0.0" - }, - "dependencies": { - "for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - } + "find-cache-dir": "^2.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1", + "pify": "^4.0.1" } }, - "clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "babel-plugin-dynamic-import-node": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", + "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", "dev": true, "requires": { - "mimic-response": "^1.0.0" + "object.assign": "^4.1.0" } }, - "clone-stats": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", - "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", - "dev": true - }, - "cloneable-readable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", - "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", + "babel-plugin-emotion": { + "version": "9.2.11", + "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-9.2.11.tgz", + "integrity": "sha512-dgCImifnOPPSeXod2znAmgc64NhaaOjGEHROR/M+lmStb3841yK1sgaDYAYMnlvWNz8GnpwIPN0VmNpbWYZ+VQ==", "dev": true, "requires": { - "inherits": "^2.0.1", - "process-nextick-args": "^2.0.0", - "readable-stream": "^2.3.5" + "@babel/helper-module-imports": "^7.0.0", + "@emotion/babel-utils": "^0.6.4", + "@emotion/hash": "^0.6.2", + "@emotion/memoize": "^0.6.1", + "@emotion/stylis": "^0.7.0", + "babel-plugin-macros": "^2.0.0", + "babel-plugin-syntax-jsx": "^6.18.0", + "convert-source-map": "^1.5.0", + "find-root": "^1.1.0", + "mkdirp": "^0.5.1", + "source-map": "^0.5.7", + "touch": "^2.0.1" }, "dependencies": { - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "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" - } } } }, - "clsx": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.0.4.tgz", - "integrity": "sha512-1mQ557MIZTrL/140j+JVdRM6e31/OA4vTYxXgqIIZlndyfjHpyawKZia1Im05Vp9BWmImkcNrNtFYQMyFcgJDg==", - "dev": true + "babel-plugin-inline-json-import": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/babel-plugin-inline-json-import/-/babel-plugin-inline-json-import-0.3.2.tgz", + "integrity": "sha512-QNNJx08KjmMT25Cw7rAPQ6dlREDPiZGDyApHL8KQ9vrQHbrr4PTi7W8g1tMMZPz0jEMd39nx/eH7xjnDNxq5sA==", + "dev": true, + "requires": { + "decache": "^4.5.1" + } }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + "babel-plugin-macros": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.6.1.tgz", + "integrity": "sha512-6W2nwiXme6j1n2erPOnmRiWfObUhWH7Qw1LMi9XZy8cj+KtESu3T6asZvtk5bMQQjX8te35o7CFueiSdL/2NmQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.4.2", + "cosmiconfig": "^5.2.0", + "resolve": "^1.10.0" + } }, - "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=", + "babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=", "dev": true }, - "codecov": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.6.5.tgz", - "integrity": "sha512-v48WuDMUug6JXwmmfsMzhCHRnhUf8O3duqXvltaYJKrO1OekZWpB/eH6iIoaxMl8Qli0+u3OxptdsBOYiD7VAQ==", + "babel-plugin-transform-runtime": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", + "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", "dev": true, "requires": { - "argv": "0.0.2", - "ignore-walk": "3.0.3", - "js-yaml": "3.13.1", - "teeny-request": "6.0.1", - "urlgrey": "0.4.4" + "babel-runtime": "^6.22.0" + } + }, + "babel-polyfill": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", + "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "regenerator-runtime": "^0.10.5" }, "dependencies": { - "ignore-walk": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", - "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", - "dev": true, - "requires": { - "minimatch": "^3.0.4" - } + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", + "dev": true } } }, - "collapse-white-space": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.5.tgz", - "integrity": "sha512-703bOOmytCYAX9cXYqoikYIx6twmFCXsnzRQheBcTG3nzKYBR4P/+wkYeH+Mvj7qUz8zZDtdyzbxfnEi/kYzRQ==", - "dev": true - }, - "collection-map": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", - "integrity": "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=", - "dev": true, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "requires": { - "arr-map": "^2.0.2", - "for-own": "^1.0.0", - "make-iterator": "^1.0.0" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" }, "dependencies": { - "for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" } } }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + }, + "dependencies": { + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + } } }, - "color": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz", - "integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==", + "bach": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", + "integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=", + "dev": true, "requires": { - "color-convert": "^1.9.1", - "color-string": "^1.5.2" + "arr-filter": "^1.1.1", + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "array-each": "^1.0.0", + "array-initial": "^1.0.0", + "array-last": "^1.1.1", + "async-done": "^1.2.2", + "async-settle": "^1.0.0", + "now-and-later": "^2.0.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==", + "backbone": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/backbone/-/backbone-1.2.3.tgz", + "integrity": "sha1-wiz9B/yG676uYdGJKe0RXpmdZbk=", + "dev": true, "requires": { - "color-name": "1.1.3" + "underscore": ">=1.7.0" } }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", + "dev": true }, - "color-string": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", - "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", + "bail": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", + "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } } }, - "color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "base16": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz", + "integrity": "sha1-4pf2DX7BAUp6lxo568ipjAtoHnA=", "dev": true }, - "colornames": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/colornames/-/colornames-1.1.1.tgz", - "integrity": "sha1-+IiQMGhcfE/54qVZ9Qd+t2qBb5Y=" + "base64-arraybuffer": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", + "dev": true }, - "colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==" + "base64-js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" }, - "colorspace": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz", - "integrity": "sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ==", + "base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "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=", "requires": { - "color": "3.0.x", - "text-hex": "1.0.x" + "tweetnacl": "^0.14.3" } }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "better-assert": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", + "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "dev": true, "requires": { - "delayed-stream": "~1.0.0" + "callsite": "1.0.0" } }, - "commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", - "dev": true + "bfj": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz", + "integrity": "sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "check-types": "^8.0.3", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + } }, - "commandpost": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/commandpost/-/commandpost-1.4.0.tgz", - "integrity": "sha512-aE2Y4MTFJ870NuB/+2z1cXBhSBBzRydVVjzhFC4gtenEhpnj15yu0qptWGJsO9YGrcPZ3ezX8AWb1VA391MKpQ==", + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, - "compare-module-exports": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/compare-module-exports/-/compare-module-exports-2.1.0.tgz", - "integrity": "sha512-3Lc0sTIuX1jmY2K2RrXRJOND6KsRTX2D4v3+eu1PDptsuJZVK4LZc852eZa9I+avj0NrUKlTNgqvccNOH6mbGg==", - "dev": true + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "bintrees": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bintrees/-/bintrees-1.0.2.tgz", + "integrity": "sha1-SfiW1uhYpKSZ34XDj7OZua/4QPg=", "dev": true }, - "compress-commons": { + "bl": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", - "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", + "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", "dev": true, "requires": { - "buffer-crc32": "^0.2.1", - "crc32-stream": "^2.0.0", - "normalize-path": "^2.0.0", - "readable-stream": "^2.0.0" + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" }, "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" - } - }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -5485,2341 +6280,4963 @@ } } }, - "compressible": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz", - "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==", + "blob": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", + "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", + "dev": true + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, "requires": { - "mime-db": ">= 1.40.0 < 2" + "inherits": "~2.0.0" } }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "bluebird": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", + "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", + "dev": true }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dev": true, "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" }, "dependencies": { - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "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==", + "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" + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" } }, - "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==", - "requires": { - "safe-buffer": "~5.1.0" - } + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "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 } } }, - "config-chain": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", - "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", - "dev": true, - "requires": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "dev": true, - "requires": { - "date-now": "^0.1.4" - } + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "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=", + "bootstrap": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.3.1.tgz", + "integrity": "sha512-rXqOmH1VilAt2DyPzluTi2blhk17bO7ef+zLLPlWvG494pDxcM234pJ8wTc/6R40UWizAIIMgxjvxZg5kmsbag==", "dev": true }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "bootstrap-less": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/bootstrap-less/-/bootstrap-less-3.3.8.tgz", + "integrity": "sha1-cfKd1af//t/onxYFu63+CjONrlM=", "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==", + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "safe-buffer": "5.1.2" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } }, - "convert-source-map": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", - "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "brfs": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brfs/-/brfs-2.0.2.tgz", + "integrity": "sha512-IrFjVtwu4eTJZyu8w/V2gxU7iLTtcHih67sgEdzrhjLBMHp2uYefUBfdM4k2UvcuWMgV7PQDZHSLeNWnLFKWVQ==", "requires": { - "safe-buffer": "~5.1.1" + "quote-stream": "^1.0.1", + "resolve": "^1.1.5", + "static-module": "^3.0.2", + "through2": "^2.0.0" + }, + "dependencies": { + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "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" + } + }, + "static-module": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/static-module/-/static-module-3.0.3.tgz", + "integrity": "sha512-RDaMYaI5o/ym0GkCqL/PlD1Pn216omp8fY81okxZ6f6JQxWW5tptOw9reXoZX85yt/scYvbWIt6uoszeyf+/MQ==", + "requires": { + "acorn-node": "^1.3.0", + "concat-stream": "~1.6.0", + "convert-source-map": "^1.5.1", + "duplexer2": "~0.1.4", + "escodegen": "~1.9.0", + "has": "^1.0.1", + "magic-string": "^0.22.4", + "merge-source-map": "1.0.4", + "object-inspect": "~1.4.0", + "readable-stream": "~2.3.3", + "scope-analyzer": "^2.0.1", + "shallow-copy": "~0.0.1", + "static-eval": "^2.0.2", + "through2": "~2.0.3" + } + }, + "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==", + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", "dev": true }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true + "brotli": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.2.tgz", + "integrity": "sha1-UlqcrU/LqWR119OI9q7LE+7VL0Y=", + "requires": { + "base64-js": "^1.1.2" + } }, - "cookiejar": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", - "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==", + "browser-process-hrtime": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz", + "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==", "dev": true }, - "cookies": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz", - "integrity": "sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==", + "browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", "requires": { - "depd": "~2.0.0", - "keygrip": "~1.1.0" + "resolve": "1.1.7" }, "dependencies": { - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=" } } }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "copy-props": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.4.tgz", - "integrity": "sha512-7cjuUME+p+S3HZlbllgsn2CDwS+5eCCX16qBgNC4jgSTf49qR1VKy/Zhl400m0IQXl/bPGEVqncgUUMjrr4s8A==", + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, "requires": { - "each-props": "^1.3.0", - "is-plain-object": "^2.0.1" + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" } }, - "copy-webpack-plugin": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.1.tgz", - "integrity": "sha512-P15M5ZC8dyCjQHWwd4Ia/dm0SgVvZJMYeykVIVYXbGyqO4dWB5oyPHp9i7wjwo5LhtlhKbiBCdS2NvM07Wlybg==", + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, "requires": { - "cacache": "^12.0.3", - "find-cache-dir": "^2.1.0", - "glob-parent": "^3.1.0", - "globby": "^7.1.1", - "is-glob": "^4.0.1", - "loader-utils": "^1.2.3", - "minimatch": "^3.0.4", - "normalize-path": "^3.0.0", - "p-limit": "^2.2.1", - "schema-utils": "^1.0.0", - "serialize-javascript": "^2.1.2", - "webpack-log": "^2.0.0" - }, - "dependencies": { - "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "dev": true - }, - "p-limit": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", - "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", - "dev": true, - "requires": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" - } - } + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", - "dev": true + "browserify-mime": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/browserify-mime/-/browserify-mime-1.2.9.tgz", + "integrity": "sha1-rrGvKN5sDXpqLOQK22j/GEIq8x8=" }, - "core-js-compat": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.1.4.tgz", - "integrity": "sha512-Z5zbO9f1d0YrJdoaQhphVAnKPimX92D6z8lCGphH89MNRxlL1prI9ExJPqVwP0/kgkQCv8c4GJGT8X16yUncOg==", + "browserify-optional": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-optional/-/browserify-optional-1.0.1.tgz", + "integrity": "sha1-HhNyLP3g2F8SFnbCpyztUzoBiGk=", + "requires": { + "ast-transform": "0.0.0", + "ast-types": "^0.7.0", + "browser-resolve": "^1.8.1" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { - "browserslist": "^4.6.2", - "core-js-pure": "3.1.4", - "semver": "^6.1.1" + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" }, "dependencies": { - "semver": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.2.0.tgz", - "integrity": "sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==", + "pako": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", + "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", "dev": true } } }, - "core-js-pure": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.1.4.tgz", - "integrity": "sha512-uJ4Z7iPNwiu1foygbcZYJsJs1jiXrTTCvxfLDXNhI/I+NHbSIEyr548y4fcsCEyWY0XgfAG/qqaunJ1SThHenA==", - "dev": true - }, - "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=" + "browserslist": { + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.4.tgz", + "integrity": "sha512-ErJT8qGfRt/VWHSr1HeqZzz50DvxHtr1fVL1m5wf20aGrG8e1ce8fpZ2EjZEfs09DDZYSvtRaDlMpWslBf8Low==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30000981", + "electron-to-chromium": "^1.3.188", + "node-releases": "^1.1.25" + } }, - "cosmiconfig": { + "buffer": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", + "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", "dev": true, "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" } }, - "cp-file": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz", - "integrity": "sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==", + "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==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "make-dir": "^2.0.0", - "nested-error-stacks": "^2.0.0", - "pify": "^4.0.1", - "safe-buffer": "^5.0.1" + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" } }, - "cpx": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/cpx/-/cpx-1.5.0.tgz", - "integrity": "sha1-GFvgGFEdhycN7czCkxceN2VauI8=", + "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-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", + "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=" + }, + "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.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "buffer-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/buffer-json/-/buffer-json-2.0.0.tgz", + "integrity": "sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + }, + "cacache": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", + "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", "dev": true, "requires": { - "babel-runtime": "^6.9.2", - "chokidar": "^1.6.0", - "duplexer": "^0.1.1", - "glob": "^7.0.5", - "glob2base": "^0.0.12", - "minimatch": "^3.0.2", + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", "mkdirp": "^0.5.1", - "resolve": "^1.1.7", - "safe-buffer": "^5.0.1", - "shell-quote": "^1.6.1", - "subarg": "^1.0.0" + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" }, "dependencies": { - "anymatch": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "requires": { - "micromatch": "^2.1.5", - "normalize-path": "^2.0.0" + "yallist": "^3.0.2" } }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "requires": { - "arr-flatten": "^1.0.1" + "glob": "^7.1.3" } }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" - } - }, - "chokidar": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", - "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", - "dev": true, - "requires": { - "anymatch": "^1.3.0", - "async-each": "^1.0.0", - "fsevents": "^1.0.0", - "glob-parent": "^2.0.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^2.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0" + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cache-loader": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-4.1.0.tgz", + "integrity": "sha512-ftOayxve0PwKzBF/GLsZNC9fJBXl8lkZE3TOsjkboHfVHVkL39iUEs1FO07A33mizmci5Dudt38UZrrYXDtbhw==", + "dev": true, + "requires": { + "buffer-json": "^2.0.0", + "find-cache-dir": "^3.0.0", + "loader-utils": "^1.2.3", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "schema-utils": "^2.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "dev": true + }, + "find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", "dev": true, "requires": { - "is-posix-bracket": "^0.1.0" + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" } }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" } }, - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { - "is-glob": "^2.0.0" + "p-locate": "^4.1.0" } }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "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": { - "is-extglob": "^1.0.0" + "semver": "^6.0.0" } }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "p-limit": "^2.2.0" } }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" + "find-up": "^4.0.0" } }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "schema-utils": { + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.6.tgz", + "integrity": "sha512-wHutF/WPSbIi9x6ctjGGk2Hvl0VOz5l3EKEuKbjPlB30mKZUzb9A5k9yEXRX3pwyqVLPvpfZZEllaFq/M718hA==", "dev": true, "requires": { - "remove-trailing-separator": "^1.0.1" + "ajv": "^6.12.0", + "ajv-keywords": "^3.4.1" } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true } } }, - "crc": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", - "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", + "cacheable-request": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", "dev": true, "requires": { - "buffer": "^5.1.0" + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" + }, + "dependencies": { + "lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", + "dev": true + } } }, - "crc32-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", - "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=", + "caching-transform": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", + "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", "dev": true, "requires": { - "crc": "^3.4.4", - "readable-stream": "^2.0.0" + "hasha": "^5.0.0", + "make-dir": "^3.0.0", + "package-hash": "^4.0.0", + "write-file-atomic": "^3.0.0" }, "dependencies": { - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "make-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz", + "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==", "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" + "semver": "^6.0.0" } }, - "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" - } + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true } } }, - "create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", "dev": true, "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" + "callsites": "^2.0.0" } }, - "create-emotion": { - "version": "9.2.12", - "resolved": "https://registry.npmjs.org/create-emotion/-/create-emotion-9.2.12.tgz", - "integrity": "sha512-P57uOF9NL2y98Xrbl2OuiDQUZ30GVmASsv5fbsjF4Hlraip2kyAvMm+2PoYUvFFw03Fhgtxk3RqZSm2/qHL9hA==", + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", "dev": true, "requires": { - "@emotion/hash": "^0.6.2", - "@emotion/memoize": "^0.6.1", - "@emotion/stylis": "^0.7.0", - "@emotion/unitless": "^0.6.2", - "csstype": "^2.5.2", - "stylis": "^3.5.0", - "stylis-rule-sheet": "^0.0.10" + "caller-callsite": "^2.0.0" } }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } + "callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", + "dev": true }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true }, - "create-react-context": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.3.0.tgz", - "integrity": "sha512-dNldIoSuNSvlTJ7slIKC/ZFGKexBMBrrcc+TTe1NdmROnaASuLPvqpwj9v4XS4uXZ8+YPu0sNmShX2rXI5LNsw==", + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", "dev": true, "requires": { - "gud": "^1.0.0", - "warning": "^4.0.3" + "no-case": "^2.2.0", + "upper-case": "^1.1.1" } }, - "cross-env": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-6.0.3.tgz", - "integrity": "sha512-+KqxF6LCvfhWvADcDPqo64yVIB31gv/jQulX2NGzKS/g3GEVz6/pt4wjHFtFWsHMddebWD/sDthJemzM4MaAag==", + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caniuse-api": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-2.0.0.tgz", + "integrity": "sha1-sd21pZZrFvSNxJmERNS7xsfZ2DQ=", "dev": true, "requires": { - "cross-spawn": "^7.0.0" + "browserslist": "^2.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" }, "dependencies": { - "cross-spawn": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", - "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "browserslist": { + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz", + "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", "dev": true, "requires": { - "isexe": "^2.0.0" + "caniuse-lite": "^1.0.30000792", + "electron-to-chromium": "^1.3.30" } } } }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "caniuse-lite": { + "version": "1.0.30000983", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000983.tgz", + "integrity": "sha512-/llD1bZ6qwNkt41AsvjsmwNOoA4ZB+8iqmf5LVyeSXuBODT/hAMFNVOh84NdUzoiYiSKqo5vQ3ZzeYHSi/olDQ==", + "dev": true + }, + "canvas": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/canvas/-/canvas-2.6.0.tgz", + "integrity": "sha512-bEO9f1ThmbknLPxCa8Es7obPlN9W3stB1bo7njlhOFKIdUTldeTqXCh9YclCPAi2pSQs84XA0jq/QEZXSzgyMw==", "dev": true, "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "nan": "^2.14.0", + "node-pre-gyp": "^0.11.0", + "simple-get": "^3.0.3" } }, - "cross-spawn-async": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/cross-spawn-async/-/cross-spawn-async-2.2.5.tgz", - "integrity": "sha1-hF/wwINKPe2dFg2sptOQkGuyiMw=", + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "caw": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", + "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", "dev": true, "requires": { - "lru-cache": "^4.0.0", - "which": "^1.2.8" + "get-proxy": "^2.0.0", + "isurl": "^1.0.0-alpha5", + "tunnel-agent": "^0.6.0", + "url-to-options": "^1.0.1" } }, - "crypt": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=" - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "chai": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", + "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", "dev": true, "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^3.0.1", + "get-func-name": "^2.0.0", + "pathval": "^1.1.0", + "type-detect": "^4.0.5" } }, - "crypto-js": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-3.3.0.tgz", - "integrity": "sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q==" + "chai-arrays": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chai-arrays/-/chai-arrays-2.0.0.tgz", + "integrity": "sha512-jWAvZu1BV8tL3pj0iosBECzzHEg+XB1zSnMjJGX83bGi/1GlGdDO7J/A0sbBBS6KJT0FVqZIzZW9C6WLiMkHpQ==", + "dev": true }, - "css": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "chai-as-promised": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", + "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", "dev": true, "requires": { - "inherits": "^2.0.3", - "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" + "check-error": "^1.0.2" } }, - "css-loader": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz", - "integrity": "sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw==", + "chai-http": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/chai-http/-/chai-http-4.3.0.tgz", + "integrity": "sha512-zFTxlN7HLMv+7+SPXZdkd5wUlK+KxH6Q7bIEMiEx0FK3zuuMqL7cwICAQ0V1+yYRozBburYuxN1qZstgHpFZQg==", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "css-selector-tokenizer": "^0.7.0", - "icss-utils": "^2.1.0", - "loader-utils": "^1.0.2", - "lodash": "^4.17.11", - "postcss": "^6.0.23", - "postcss-modules-extract-imports": "^1.2.0", - "postcss-modules-local-by-default": "^1.2.0", - "postcss-modules-scope": "^1.1.0", - "postcss-modules-values": "^1.3.0", - "postcss-value-parser": "^3.3.0", - "source-list-map": "^2.0.0" + "@types/chai": "4", + "@types/superagent": "^3.8.3", + "cookiejar": "^2.1.1", + "is-ip": "^2.0.0", + "methods": "^1.1.2", + "qs": "^6.5.1", + "superagent": "^3.7.0" } }, - "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "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": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", + "dev": true + }, + "character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", + "dev": true + }, + "character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", + "dev": true + }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "dev": true + }, + "charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=" + }, + "check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "dev": true + }, + "check-types": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz", + "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==", + "dev": true + }, + "cheerio": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz", + "integrity": "sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==", + "dev": true, + "requires": { + "css-select": "~1.2.0", + "dom-serializer": "~0.1.1", + "entities": "~1.1.1", + "htmlparser2": "^3.9.1", + "lodash": "^4.15.0", + "parse5": "^3.0.1" }, "dependencies": { - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "parse5": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", + "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", "dev": true, "requires": { - "dom-serializer": "0", - "domelementtype": "1" + "@types/node": "*" } } } }, - "css-selector-tokenizer": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz", - "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==", + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", "dev": true, "requires": { - "cssesc": "^0.1.0", - "fastparse": "^1.1.1", - "regexpu-core": "^1.0.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - }, - "regexpu-core": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", - "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", - "dev": true, - "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" - } - }, - "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", - "dev": true - }, - "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - } - } + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" } }, - "css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", - "dev": true - }, - "cssesc": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", - "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", - "dev": true - }, - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "chownr": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.2.tgz", + "integrity": "sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==", "dev": true }, - "cssstyle": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.3.0.tgz", - "integrity": "sha512-wXsoRfsRfsLVNaVzoKdqvEmK/5PFaEXNspVT22Ots6K/cnJdpoDKuQFw+qlMiXnmaif1OgeC466X1zISgAOcGg==", + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", "dev": true, "requires": { - "cssom": "~0.3.6" + "tslib": "^1.9.0" } }, - "csstype": { - "version": "2.6.6", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.6.tgz", - "integrity": "sha512-RpFbQGUE74iyPgvr46U9t1xoQBM8T4BL8SxrN66Le2xYAPSaDJJKeztV3awugusb3g3G9iL8StmkBBXhcbbXhg==", - "dev": true - }, - "cyclist": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", - "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", "dev": true }, - "d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, "requires": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "d3": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/d3/-/d3-3.5.17.tgz", - "integrity": "sha1-vEZ0gAQ3iyGjYMn8fPUjF5B2L7g=", - "dev": true - }, - "d3-array": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz", - "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==", + "circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", "dev": true }, - "d3-bboxCollide": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/d3-bboxCollide/-/d3-bboxCollide-1.0.4.tgz", - "integrity": "sha512-Sc8FKGGeejlowLW1g/0WBrVcbd++SBRW4N8OuZhVeRAfwlTL96+75JKlFfHweYdYRui1zPabfNXZrNaphBjS+w==", + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "requires": { - "d3-quadtree": "1.0.1" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } } }, - "d3-brush": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.0.6.tgz", - "integrity": "sha512-lGSiF5SoSqO5/mYGD5FAeGKKS62JdA1EV7HPrU2b5rTX4qEJJtpjaGLJngjnkewQy7UnGstnFd3168wpf5z76w==", + "classnames": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", + "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" + }, + "clean-css": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", + "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", "dev": true, "requires": { - "d3-dispatch": "1", - "d3-drag": "1", - "d3-interpolate": "1", - "d3-selection": "1", - "d3-transition": "1" + "source-map": "~0.6.0" } }, - "d3-chord": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.6.tgz", - "integrity": "sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA==", + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "d3-array": "1", - "d3-path": "1" + "restore-cursor": "^2.0.0" } }, - "d3-cloud": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/d3-cloud/-/d3-cloud-1.2.5.tgz", - "integrity": "sha512-4s2hXZgvs0CoUIw31oBAGrHt9Kt/7P9Ik5HIVzISFiWkD0Ga2VLAuO/emO/z1tYIpE7KG2smB4PhMPfFMJpahw==", + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "dev": true, "requires": { - "d3-dispatch": "^1.0.3" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^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 + }, + "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" + } + } } }, - "d3-collection": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.7.tgz", - "integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==", - "dev": true + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" }, - "d3-color": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.2.8.tgz", - "integrity": "sha512-yeANXzP37PHk0DbSTMNPhnJD+Nn4G//O5E825bR6fAfHH43hobSBpgB9G9oWVl9+XgUaQ4yCnsX1H+l8DoaL9A==", + "clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", "dev": true }, - "d3-contour": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-1.3.2.tgz", - "integrity": "sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==", + "clone-deep": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", + "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", "dev": true, "requires": { - "d3-array": "^1.1.1" + "for-own": "^1.0.0", + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.0", + "shallow-clone": "^1.0.0" + }, + "dependencies": { + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + } } }, - "d3-delaunay": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-5.1.6.tgz", - "integrity": "sha512-VF6bxon2bn1cdXuesInEtVKlE4aUfq5IjE5y0Jl2aZP1yvLsf0QENqQxNhjS4vq95EmYKauA30ofTwvREtPSXA==", - "dev": true, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "requires": { - "delaunator": "4" + "mimic-response": "^1.0.0" } }, - "d3-dispatch": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.5.tgz", - "integrity": "sha512-vwKx+lAqB1UuCeklr6Jh1bvC4SZgbSqbkGBLClItFBIYH4vqDJCA7qfoy14lXmJdnBOdxndAMxjCbImJYW7e6g==", + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", "dev": true }, - "d3-drag": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.3.tgz", - "integrity": "sha512-8S3HWCAg+ilzjJsNtWW1Mutl74Nmzhb9yU6igspilaJzeZVFktmY6oO9xOh5TDk+BM2KrNFjttZNoJJmDnkjkg==", - "dev": true, - "requires": { - "d3-dispatch": "1", - "d3-selection": "1" - } - }, - "d3-dsv": { - "version": "0.1.14", - "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-0.1.14.tgz", - "integrity": "sha1-mDPNYaWj6B4DJjoc54903lah27g=", - "dev": true - }, - "d3-ease": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.5.tgz", - "integrity": "sha512-Ct1O//ly5y5lFM9YTdu+ygq7LleSgSE4oj7vUt9tPLHUi8VCV7QoizGpdWRWAwCO9LdYzIrQDg97+hGVdsSGPQ==", - "dev": true - }, - "d3-force": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-1.2.1.tgz", - "integrity": "sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==", + "cloneable-readable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", + "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", "dev": true, "requires": { - "d3-collection": "1", - "d3-dispatch": "1", - "d3-quadtree": "1", - "d3-timer": "1" + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" + }, + "dependencies": { + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "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" + } + } } }, - "d3-format": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.3.2.tgz", - "integrity": "sha512-Z18Dprj96ExragQ0DeGi+SYPQ7pPfRMtUXtsg/ChVIKNBCzjO8XYJvRTC1usblx52lqge56V5ect+frYTQc8WQ==", - "dev": true - }, - "d3-geo": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.11.6.tgz", - "integrity": "sha512-z0J8InXR9e9wcgNtmVnPTj0TU8nhYT6lD/ak9may2PdKqXIeHUr8UbFLoCtrPYNsjv6YaLvSDQVl578k6nm7GA==", - "dev": true, + "cls-hooked": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/cls-hooked/-/cls-hooked-4.2.2.tgz", + "integrity": "sha512-J4Xj5f5wq/4jAvcdgoGsL3G103BtWpZrMo8NEinRltN+xpTZdI+M38pyQqhuFU/P792xkMFvnKSf+Lm81U1bxw==", "requires": { - "d3-array": "1" + "async-hook-jl": "^1.7.6", + "emitter-listener": "^1.0.1", + "semver": "^5.4.1" } }, - "d3-glyphedge": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/d3-glyphedge/-/d3-glyphedge-1.2.0.tgz", - "integrity": "sha512-F49fyMXMLYDHvqvxSmuGZrtIWeWLZWxar82WL1CJDBDPk4z6GUGSG4wX7rdv7N7R/YazAyMMnpOL0YQcmTLlOQ==", + "clsx": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.0.4.tgz", + "integrity": "sha512-1mQ557MIZTrL/140j+JVdRM6e31/OA4vTYxXgqIIZlndyfjHpyawKZia1Im05Vp9BWmImkcNrNtFYQMyFcgJDg==", "dev": true }, - "d3-hexbin": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/d3-hexbin/-/d3-hexbin-0.2.2.tgz", - "integrity": "sha1-nFg32s/UcasFM3qeke8Qv8T5iDE=", + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", "dev": true }, - "d3-hierarchy": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.8.tgz", - "integrity": "sha512-L+GHMSZNwTpiq4rt9GEsNcpLa4M96lXMR8M/nMG9p5hBE0jy6C+3hWtyZMenPQdwla249iJy7Nx0uKt3n+u9+w==", + "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=", "dev": true }, - "d3-interpolate": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.3.2.tgz", - "integrity": "sha512-NlNKGopqaz9qM1PXh9gBF1KSCVh+jSFErrSlD/4hybwoNX/gt1d8CDbDW+3i+5UOHhjC6s6nMvRxcuoMVNgL2w==", + "codecov": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.7.1.tgz", + "integrity": "sha512-JHWxyPTkMLLJn9SmKJnwAnvY09kg2Os2+Ux+GG7LwZ9g8gzDDISpIN5wAsH1UBaafA/yGcd3KofMaorE8qd6Lw==", "dev": true, "requires": { - "d3-color": "1" + "argv": "0.0.2", + "ignore-walk": "3.0.3", + "js-yaml": "3.13.1", + "teeny-request": "6.0.1", + "urlgrey": "0.4.4" + }, + "dependencies": { + "ignore-walk": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", + "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", + "dev": true, + "requires": { + "minimatch": "^3.0.4" + } + } } }, - "d3-path": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.7.tgz", - "integrity": "sha512-q0cW1RpvA5c5ma2rch62mX8AYaiLX0+bdaSM2wxSU9tXjU4DNvkx9qiUvjkuWCj3p22UO/hlPivujqMiR9PDzA==", - "dev": true - }, - "d3-polygon": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.5.tgz", - "integrity": "sha512-RHhh1ZUJZfhgoqzWWuRhzQJvO7LavchhitSTHGu9oj6uuLFzYZVeBzaWTQ2qSO6bz2w55RMoOCf0MsLCDB6e0w==", + "codemirror": { + "version": "5.47.0", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.47.0.tgz", + "integrity": "sha512-kV49Fr+NGFHFc/Imsx6g180hSlkGhuHxTSDDmDHOuyln0MQYFLixDY4+bFkBVeCEiepYfDimAF/e++9jPJk4QA==", "dev": true }, - "d3-quadtree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.1.tgz", - "integrity": "sha1-E74CViTxEEBe1DU2xQaq7Bme1ZE=", + "collapse-white-space": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", + "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==", "dev": true }, - "d3-request": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/d3-request/-/d3-request-1.0.6.tgz", - "integrity": "sha512-FJj8ySY6GYuAJHZMaCQ83xEYE4KbkPkmxZ3Hu6zA1xxG2GD+z6P+Lyp+zjdsHf0xEbp2xcluDI50rCS855EQ6w==", + "collection-map": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", + "integrity": "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=", "dev": true, "requires": { - "d3-collection": "1", - "d3-dispatch": "1", - "d3-dsv": "1", - "xmlhttprequest": "1" + "arr-map": "^2.0.2", + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" }, "dependencies": { - "d3-dsv": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.1.1.tgz", - "integrity": "sha512-1EH1oRGSkeDUlDRbhsFytAXU6cAmXFzc52YUe6MRlPClmWb85MP1J5x+YJRzya4ynZWnbELdSAvATFW/MbxaXw==", + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", "dev": true, "requires": { - "commander": "2", - "iconv-lite": "0.4", - "rw": "1" + "for-in": "^1.0.1" } } } }, - "d3-sankey-circular": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/d3-sankey-circular/-/d3-sankey-circular-0.25.0.tgz", - "integrity": "sha512-maYak22afBAvmybeaopd1cVUNTIroEHhWCmh19gEQ+qgOhBkTav8YeP3Uw4OV/K4OksWaQrhhBOE4Rcxgc2JbQ==", + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, "requires": { - "d3-array": "^1.2.1", - "d3-collection": "^1.0.4", - "d3-shape": "^1.2.0" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, - "d3-scale": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-2.2.2.tgz", - "integrity": "sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==", - "dev": true, + "color": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz", + "integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==", "requires": { - "d3-array": "^1.2.0", - "d3-collection": "1", - "d3-format": "1", - "d3-interpolate": "1", - "d3-time": "1", - "d3-time-format": "2" + "color-convert": "^1.9.1", + "color-string": "^1.5.2" } }, - "d3-scale-chromatic": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-1.5.0.tgz", - "integrity": "sha512-ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg==", - "dev": true, + "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==", "requires": { - "d3-color": "1", - "d3-interpolate": "1" + "color-name": "1.1.3" } }, - "d3-selection": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.0.tgz", - "integrity": "sha512-EYVwBxQGEjLCKF2pJ4+yrErskDnz5v403qvAid96cNdCMr8rmCYfY5RGzWz24mdIbxmDf6/4EAH+K9xperD5jg==", - "dev": true + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, - "d3-shape": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.5.tgz", - "integrity": "sha512-VKazVR3phgD+MUCldapHD7P9kcrvPcexeX/PkMJmkUov4JM8IxsSg1DvbYoYich9AtdTsa5nNk2++ImPiDiSxg==", - "dev": true, + "color-string": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", + "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", "requires": { - "d3-path": "1" + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" } }, - "d3-time": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.0.11.tgz", - "integrity": "sha512-Z3wpvhPLW4vEScGeIMUckDW7+3hWKOQfAWg/U7PlWBnQmeKQ00gCUsTtWSYulrKNA7ta8hJ+xXc6MHrMuITwEw==", + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", "dev": true }, - "d3-time-format": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.1.3.tgz", - "integrity": "sha512-6k0a2rZryzGm5Ihx+aFMuO1GgelgIz+7HhB4PH4OEndD5q2zGn1mDfRdNrulspOfR6JXkb2sThhDK41CSK85QA==", - "dev": true, - "requires": { - "d3-time": "1" - } + "colornames": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/colornames/-/colornames-1.1.1.tgz", + "integrity": "sha1-+IiQMGhcfE/54qVZ9Qd+t2qBb5Y=" }, - "d3-timer": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.9.tgz", - "integrity": "sha512-rT34J5HnQUHhcLvhSB9GjCkN0Ddd5Y8nCwDBG2u6wQEeYxT/Lf51fTFFkldeib/sE/J0clIe0pnCfs6g/lRbyg==", - "dev": true + "colors": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", + "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==" }, - "d3-transition": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.2.0.tgz", - "integrity": "sha512-VJ7cmX/FPIPJYuaL2r1o1EMHLttvoIuZhhuAlRoOxDzogV8iQS6jYulDm3xEU3TqL80IZIhI551/ebmCMrkvhw==", - "dev": true, + "colorspace": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz", + "integrity": "sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ==", "requires": { - "d3-color": "1", - "d3-dispatch": "1", - "d3-ease": "1", - "d3-interpolate": "1", - "d3-selection": "^1.1.0", - "d3-timer": "1" + "color": "3.0.x", + "text-hex": "1.0.x" } }, - "d3-voronoi": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.4.tgz", - "integrity": "sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==", - "dev": true - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "requires": { - "assert-plus": "^1.0.0" + "delayed-stream": "~1.0.0" } }, - "data-urls": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", - "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", - "dev": true, - "requires": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" - } + "commander": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", + "dev": true }, - "datalib": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/datalib/-/datalib-1.9.2.tgz", - "integrity": "sha512-sV49o/1J3VdtTlJpsvPYT39WfUxyZGTO2rEGhEJt2eNY7LN2Z9K7nq3fOjgYMQtbuL0dVCWvmtxT2hpCgwx9Mg==", + "commandpost": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/commandpost/-/commandpost-1.4.0.tgz", + "integrity": "sha512-aE2Y4MTFJ870NuB/+2z1cXBhSBBzRydVVjzhFC4gtenEhpnj15yu0qptWGJsO9YGrcPZ3ezX8AWb1VA391MKpQ==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "compare-module-exports": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/compare-module-exports/-/compare-module-exports-2.1.0.tgz", + "integrity": "sha512-3Lc0sTIuX1jmY2K2RrXRJOND6KsRTX2D4v3+eu1PDptsuJZVK4LZc852eZa9I+avj0NrUKlTNgqvccNOH6mbGg==", + "dev": true + }, + "component-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", + "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "component-inherit": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", + "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", + "dev": true + }, + "compress-commons": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", + "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=", "dev": true, "requires": { - "d3-dsv": "0.1", - "d3-format": "0.4", - "d3-time": "0.1", - "d3-time-format": "0.2", - "request": "^2.67.0", - "sync-request": "^6.0.0", - "topojson-client": "^3.0.0" + "buffer-crc32": "^0.2.1", + "crc32-stream": "^2.0.0", + "normalize-path": "^2.0.0", + "readable-stream": "^2.0.0" }, "dependencies": { - "d3-format": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-0.4.2.tgz", - "integrity": "sha1-qnWcHlquX6javJq3gZxQL8a1aHU=", - "dev": true + "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" + } }, - "d3-time": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-0.1.1.tgz", - "integrity": "sha1-OM4qe7R6QDFhOCPd5GiOWOiSrls=", + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, - "d3-time-format": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-0.2.1.tgz", - "integrity": "sha1-hG45638iZ2aS2GBAxI6fpU/Yvxg=", + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "d3-time": "~0.1.1" + "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" } } } }, - "date-format": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-3.0.0.tgz", - "integrity": "sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==" - }, - "date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, - "debug-fabulous": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.1.0.tgz", - "integrity": "sha512-GZqvGIgKNlUnHUPQhepnUZFIMoi3dgZKQBzKDeL2g7oJF9SNAji/AAu36dusFUas0O+pae74lNeoIPHqXWDkLg==", - "dev": true, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "requires": { - "debug": "3.X", - "memoizee": "0.4.X", - "object-assign": "4.X" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" }, "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "ms": "^2.1.1" + "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==", + "requires": { + "safe-buffer": "~5.1.0" } } } }, - "decache": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/decache/-/decache-4.5.1.tgz", - "integrity": "sha512-5J37nATc6FmOTLbcsr9qx7Nm28qQyg1SK4xyEHqM0IBkNhWFp0Sm+vKoWYHD8wq+OUEb9jLyaKFfzzd1A9hcoA==", + "config-chain": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", + "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", "dev": true, "requires": { - "callsite": "^1.0.0" + "ini": "^1.3.4", + "proto-list": "~1.2.1" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "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=", + "confusing-browser-globals": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz", + "integrity": "sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw==", "dev": true }, - "decompress": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz", - "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=", + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", "dev": true, "requires": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" - }, - "dependencies": { - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } + "date-now": "^0.1.4" } }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "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 + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "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==", "dev": true, "requires": { - "mimic-response": "^1.0.0" + "safe-buffer": "5.1.2" } }, - "decompress-tar": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", - "dev": true, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "continuation-local-storage": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/continuation-local-storage/-/continuation-local-storage-3.2.1.tgz", + "integrity": "sha512-jx44cconVqkCEEyLSKWwkvUXwO561jXMa3LPjTPsm5QR22PA0/mhe33FT4Xb5y74JDvt/Cq+5lm8S8rskLv9ZA==", "requires": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - }, - "dependencies": { - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", - "dev": true - } + "async-listener": "^0.6.0", + "emitter-listener": "^1.1.1" } }, - "decompress-tarbz2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "convert-source-map": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", + "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "cookiejar": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", + "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==", + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "dev": true, "requires": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" }, "dependencies": { - "file-type": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", - "dev": true + "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" + } } } }, - "decompress-targz": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "copy-props": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.4.tgz", + "integrity": "sha512-7cjuUME+p+S3HZlbllgsn2CDwS+5eCCX16qBgNC4jgSTf49qR1VKy/Zhl400m0IQXl/bPGEVqncgUUMjrr4s8A==", "dev": true, "requires": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - }, - "dependencies": { - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", - "dev": true - } + "each-props": "^1.3.0", + "is-plain-object": "^2.0.1" } }, - "decompress-unzip": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", + "copy-webpack-plugin": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.1.tgz", + "integrity": "sha512-P15M5ZC8dyCjQHWwd4Ia/dm0SgVvZJMYeykVIVYXbGyqO4dWB5oyPHp9i7wjwo5LhtlhKbiBCdS2NvM07Wlybg==", "dev": true, "requires": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" + "cacache": "^12.0.3", + "find-cache-dir": "^2.1.0", + "glob-parent": "^3.1.0", + "globby": "^7.1.1", + "is-glob": "^4.0.1", + "loader-utils": "^1.2.3", + "minimatch": "^3.0.4", + "normalize-path": "^3.0.0", + "p-limit": "^2.2.1", + "schema-utils": "^1.0.0", + "serialize-javascript": "^2.1.2", + "webpack-log": "^2.0.0" }, "dependencies": { - "file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", "dev": true }, - "get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", + "p-limit": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", "dev": true, "requires": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" + "p-try": "^2.0.0" } }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "serialize-javascript": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", + "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", "dev": true + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + } } } }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", "dev": true }, - "deep-assign": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/deep-assign/-/deep-assign-1.0.0.tgz", - "integrity": "sha1-sJJ0O+hCfcYh6gBnzex+cN0Z83s=", + "core-js-compat": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.1.4.tgz", + "integrity": "sha512-Z5zbO9f1d0YrJdoaQhphVAnKPimX92D6z8lCGphH89MNRxlL1prI9ExJPqVwP0/kgkQCv8c4GJGT8X16yUncOg==", "dev": true, "requires": { - "is-obj": "^1.0.0" + "browserslist": "^4.6.2", + "core-js-pure": "3.1.4", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.2.0.tgz", + "integrity": "sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==", + "dev": true + } } }, - "deep-diff": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/deep-diff/-/deep-diff-0.3.8.tgz", - "integrity": "sha1-wB3mPvsO7JeYgB1Ax+Da4ltYLIQ=", - "dev": true - }, - "deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "dev": true, - "requires": { - "type-detect": "^4.0.0" - } - }, - "deep-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=" - }, - "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==", + "core-js-pure": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.1.4.tgz", + "integrity": "sha512-uJ4Z7iPNwiu1foygbcZYJsJs1jiXrTTCvxfLDXNhI/I+NHbSIEyr548y4fcsCEyWY0XgfAG/qqaunJ1SThHenA==", "dev": true }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" - }, - "deepmerge": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz", - "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==", - "dev": true + "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=" }, - "default-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", - "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==", + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", "dev": true, "requires": { - "kind-of": "^5.0.2" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } + "object-assign": "^4", + "vary": "^1" } }, - "default-require-extensions": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", - "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", "dev": true, "requires": { - "strip-bom": "^4.0.0" - }, - "dependencies": { - "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 - } + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" } }, - "default-resolution": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", - "integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=", - "dev": true - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "cp-file": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz", + "integrity": "sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==", "dev": true, "requires": { - "object-keys": "^1.0.12" + "graceful-fs": "^4.1.2", + "make-dir": "^2.0.0", + "nested-error-stacks": "^2.0.0", + "pify": "^4.0.1", + "safe-buffer": "^5.0.1" } }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "cpx-fixed": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/cpx-fixed/-/cpx-fixed-1.6.0.tgz", + "integrity": "sha512-0X6cfGWup886yM/ma/3I2DASv+QSDhlvPoSzHi1DZrYwl7QIFvSKtk60i2kTyRvUbxzrqLwP1At/1TSD2pGCqg==", "dev": true, "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "co": "^4.6.0", + "debounce": "^1.1.0", + "debug": "^3.1.0", + "duplexer": "^0.1.1", + "fs-extra": "^6.0.1", + "glob": "^7.1.2", + "glob2base": "0.0.12", + "minimatch": "^3.0.4", + "resolve": "^1.8.1", + "safe-buffer": "^5.1.2", + "shell-quote": "^1.6.1", + "subarg": "^1.0.0" }, "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "ms": "^2.1.1" } }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "fs-extra": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz", + "integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } } } }, - "del": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "crc": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", + "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", "dev": true, "requires": { - "globby": "^6.1.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "p-map": "^1.1.1", - "pify": "^3.0.0", - "rimraf": "^2.2.8" + "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" }, "dependencies": { - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } + "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" } }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true + "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" + } } } }, - "delaunator": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-4.0.1.tgz", - "integrity": "sha512-WNPWi1IRKZfCt/qIDMfERkDp93+iZEmOxN2yy4Jg+Xhv8SLk2UTqqbe1sfiipn0and9QrE914/ihdx82Y/Giag==", - "dev": true - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" - }, - "denodeify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", - "integrity": "sha1-OjYof1A05pnnV3kBBSwubJQlFjE=", - "dev": true - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "des.js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", "dev": true, "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" } }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", - "dev": true - }, - "detect-indent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz", - "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==" - }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "dev": true - }, - "detect-newline": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", - "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", - "dev": true - }, - "detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "create-emotion": { + "version": "9.2.12", + "resolved": "https://registry.npmjs.org/create-emotion/-/create-emotion-9.2.12.tgz", + "integrity": "sha512-P57uOF9NL2y98Xrbl2OuiDQUZ30GVmASsv5fbsjF4Hlraip2kyAvMm+2PoYUvFFw03Fhgtxk3RqZSm2/qHL9hA==", "dev": true, "requires": { - "address": "^1.0.1", - "debug": "^2.6.0" + "@emotion/hash": "^0.6.2", + "@emotion/memoize": "^0.6.1", + "@emotion/stylis": "^0.7.0", + "@emotion/unitless": "^0.6.2", + "csstype": "^2.5.2", + "stylis": "^3.5.0", + "stylis-rule-sheet": "^0.0.10" } }, - "dfa": { + "create-hash": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz", - "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==" - }, - "diagnostic-channel": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/diagnostic-channel/-/diagnostic-channel-0.2.0.tgz", - "integrity": "sha1-zJmvlhLCP7H/8TYSxy8sv6qNWhc=", - "requires": { - "semver": "^5.3.0" - } - }, - "diagnostic-channel-publishers": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/diagnostic-channel-publishers/-/diagnostic-channel-publishers-0.2.1.tgz", - "integrity": "sha1-ji1geottef6IC1SLxYzGvrKIxPM=" - }, - "diagnostics": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/diagnostics/-/diagnostics-1.1.1.tgz", - "integrity": "sha512-8wn1PmdunLJ9Tqbx+Fx/ZEuHfJf4NKSN2ZBj7SJC/OWRWha843+WsTjqMe1B5E3p28jqBlp+mJ2fPVxPyNgYKQ==", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, "requires": { - "colorspace": "1.1.x", - "enabled": "1.0.x", - "kuler": "1.0.x" + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" } }, - "didyoumean": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.1.tgz", - "integrity": "sha1-6S7f2tplN9SE1zwBcv0eugxJdv8=", - "dev": true - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true - }, - "diff-match-patch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.4.tgz", - "integrity": "sha512-Uv3SW8bmH9nAtHKaKSanOQmj2DnlH65fUpcrMdfdaOxUG02QQ4YGZ8AE7kKOMisF7UqvOlGKVYWRvezdncW9lg==" - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, - "dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", - "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "create-react-context": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.3.0.tgz", + "integrity": "sha512-dNldIoSuNSvlTJ7slIKC/ZFGKexBMBrrcc+TTe1NdmROnaASuLPvqpwj9v4XS4uXZ8+YPu0sNmShX2rXI5LNsw==", "dev": true, "requires": { - "path-type": "^3.0.0" + "gud": "^1.0.0", + "warning": "^4.0.3" } }, - "discontinuous-range": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz", - "integrity": "sha1-44Mx8IRLukm5qctxx3FYWqsbxlo=", - "dev": true - }, - "doctrine": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", - "integrity": "sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM=", + "cross-env": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-6.0.3.tgz", + "integrity": "sha512-+KqxF6LCvfhWvADcDPqo64yVIB31gv/jQulX2NGzKS/g3GEVz6/pt4wjHFtFWsHMddebWD/sDthJemzM4MaAag==", "dev": true, "requires": { - "esutils": "^1.1.6", - "isarray": "0.0.1" + "cross-spawn": "^7.0.0" }, "dependencies": { - "esutils": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.1.6.tgz", - "integrity": "sha1-wBzKqa5LiXxtDD4hCuUvPHqEQ3U=", + "cross-spawn": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", + "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } } } }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { - "utila": "~0.4" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, - "dom-helpers": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", - "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", + "cross-spawn-async": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/cross-spawn-async/-/cross-spawn-async-2.2.5.tgz", + "integrity": "sha1-hF/wwINKPe2dFg2sptOQkGuyiMw=", "dev": true, "requires": { - "@babel/runtime": "^7.1.2" + "lru-cache": "^4.0.0", + "which": "^1.2.8" } }, - "dom-serializer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", - "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", + "crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=" + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "requires": { - "domelementtype": "^1.3.0", - "entities": "^1.1.1" + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" } }, - "dom-walk": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", - "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=", - "dev": true - }, - "dom4": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/dom4/-/dom4-2.1.5.tgz", - "integrity": "sha512-gJbnVGq5zaBUY0lUh0LUEVGYrtN75Ks8ZwpwOYvnVFrKy/qzXK4R/1WuLIFExWj/tBxbRAkTzZUGJHXmqsBNjQ==", - "dev": true - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true + "crypto-js": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-3.3.0.tgz", + "integrity": "sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q==" }, - "domexception": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", - "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "css": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", + "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", "dev": true, "requires": { - "webidl-conversions": "^4.0.2" - } - }, - "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "dev": true, - "requires": { - "domelementtype": "1" + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" } }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "css-color-function": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/css-color-function/-/css-color-function-1.3.3.tgz", + "integrity": "sha1-jtJMLAIFBzM5+voAS8jBQfzLKC4=", "dev": true, "requires": { - "dom-serializer": "0", - "domelementtype": "1" + "balanced-match": "0.1.0", + "color": "^0.11.0", + "debug": "^3.1.0", + "rgb": "~0.1.0" + }, + "dependencies": { + "balanced-match": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.1.0.tgz", + "integrity": "sha1-tQS9BYabOSWd0MXvw12EMXbczEo=", + "dev": true + }, + "color": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", + "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", + "dev": true, + "requires": { + "clone": "^1.0.2", + "color-convert": "^1.3.0", + "color-string": "^0.3.0" + } + }, + "color-string": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", + "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", + "dev": true, + "requires": { + "color-name": "^1.0.0" + } + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } } }, - "download": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz", - "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==", + "css-loader": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz", + "integrity": "sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw==", "dev": true, "requires": { - "archive-type": "^4.0.0", - "caw": "^2.0.1", - "content-disposition": "^0.5.2", - "decompress": "^4.2.0", - "ext-name": "^5.0.0", - "file-type": "^8.1.0", - "filenamify": "^2.0.0", - "get-stream": "^3.0.0", - "got": "^8.3.1", - "make-dir": "^1.2.0", - "p-event": "^2.1.0", - "pify": "^3.0.0" + "babel-code-frame": "^6.26.0", + "css-selector-tokenizer": "^0.7.0", + "icss-utils": "^2.1.0", + "loader-utils": "^1.0.2", + "lodash": "^4.17.11", + "postcss": "^6.0.23", + "postcss-modules-extract-imports": "^1.2.0", + "postcss-modules-local-by-default": "^1.2.0", + "postcss-modules-scope": "^1.1.0", + "postcss-modules-values": "^1.3.0", + "postcss-value-parser": "^3.3.0", + "source-list-map": "^2.0.0" }, "dependencies": { - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "dev": true, "requires": { - "pify": "^3.0.0" + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true } } }, - "duplexer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", - "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", - "dev": true - }, - "duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "dev": true, "requires": { - "readable-stream": "^2.0.2" + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" }, "dependencies": { - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "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==", + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "dom-serializer": "0", + "domelementtype": "1" } } } }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "css-selector-tokenizer": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz", + "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==", "dev": true, "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "cssesc": "^0.1.0", + "fastparse": "^1.1.1", + "regexpu-core": "^1.0.0" }, "dependencies": { - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", "dev": true }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "regexpu-core": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", + "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", "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" + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" } }, - "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==", + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "jsesc": "~0.5.0" } } } }, - "each-props": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz", - "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.1", - "object.defaults": "^1.1.0" - } + "css-unit-converter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.1.tgz", + "integrity": "sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY=", + "dev": true }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } + "css-what": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "dev": true }, - "editorconfig": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", - "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", + "cssesc": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", + "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", + "dev": true + }, + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "cssstyle": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.3.0.tgz", + "integrity": "sha512-wXsoRfsRfsLVNaVzoKdqvEmK/5PFaEXNspVT22Ots6K/cnJdpoDKuQFw+qlMiXnmaif1OgeC466X1zISgAOcGg==", "dev": true, "requires": { - "commander": "^2.19.0", - "lru-cache": "^4.1.5", - "semver": "^5.6.0", - "sigmund": "^1.0.1" + "cssom": "~0.3.6" } }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + "csstype": { + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.6.tgz", + "integrity": "sha512-RpFbQGUE74iyPgvr46U9t1xoQBM8T4BL8SxrN66Le2xYAPSaDJJKeztV3awugusb3g3G9iL8StmkBBXhcbbXhg==", + "dev": true }, - "ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.189", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.189.tgz", - "integrity": "sha512-C26Kv6/rLNmGDaPR5HORMtTQat9aWBBKjQk9aFtN1Bk6cQBSw8cYdsel/mcrQlNlMMjt1sAKsTYqf77+sK2uTw==", + "cyclist": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", "dev": true }, - "elliptic": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.0.tgz", - "integrity": "sha512-eFOJTMyCYb7xtE/caJ6JJu+bhi67WCYNbkGSknu20pmM8Ke/bqOfdnZWxyoGN26JgfxTbXrsCkEw4KheCT/KGg==", - "dev": true, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" + "es5-ext": "^0.10.50", + "type": "^1.0.1" } }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "d3": { + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/d3/-/d3-3.5.17.tgz", + "integrity": "sha1-vEZ0gAQ3iyGjYMn8fPUjF5B2L7g=", "dev": true }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "d3-array": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz", + "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==", "dev": true }, - "emotion": { - "version": "9.2.12", - "resolved": "https://registry.npmjs.org/emotion/-/emotion-9.2.12.tgz", - "integrity": "sha512-hcx7jppaI8VoXxIWEhxpDW7I+B4kq9RNzQLmsrF6LY8BGKqe2N+gFAQr0EfuFucFlPs2A9HM4+xNj4NeqEWIOQ==", + "d3-bboxCollide": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/d3-bboxCollide/-/d3-bboxCollide-1.0.4.tgz", + "integrity": "sha512-Sc8FKGGeejlowLW1g/0WBrVcbd++SBRW4N8OuZhVeRAfwlTL96+75JKlFfHweYdYRui1zPabfNXZrNaphBjS+w==", "dev": true, "requires": { - "babel-plugin-emotion": "^9.2.11", - "create-emotion": "^9.2.12" - } - }, - "enabled": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz", - "integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=", - "requires": { - "env-variable": "0.0.x" + "d3-quadtree": "1.0.1" } }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" - }, - "encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "d3-brush": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.0.6.tgz", + "integrity": "sha512-lGSiF5SoSqO5/mYGD5FAeGKKS62JdA1EV7HPrU2b5rTX4qEJJtpjaGLJngjnkewQy7UnGstnFd3168wpf5z76w==", + "dev": true, "requires": { - "iconv-lite": "~0.4.13" + "d3-dispatch": "1", + "d3-drag": "1", + "d3-interpolate": "1", + "d3-selection": "1", + "d3-transition": "1" } }, - "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "d3-chord": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.6.tgz", + "integrity": "sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA==", + "dev": true, "requires": { - "once": "^1.4.0" + "d3-array": "1", + "d3-path": "1" } }, - "enhanced-resolve": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", - "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "d3-cloud": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/d3-cloud/-/d3-cloud-1.2.5.tgz", + "integrity": "sha512-4s2hXZgvs0CoUIw31oBAGrHt9Kt/7P9Ik5HIVzISFiWkD0Ga2VLAuO/emO/z1tYIpE7KG2smB4PhMPfFMJpahw==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", - "tapable": "^1.0.0" + "d3-dispatch": "^1.0.3" } }, - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "d3-collection": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.7.tgz", + "integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==", "dev": true }, - "env-variable": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.5.tgz", - "integrity": "sha512-zoB603vQReOFvTg5xMl9I1P2PnHsHQQKTEowsKKD7nseUfJq6UWzK+4YtlWUO1nhiQUxe6XMkk+JleSZD1NZFA==" + "d3-color": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.2.8.tgz", + "integrity": "sha512-yeANXzP37PHk0DbSTMNPhnJD+Nn4G//O5E825bR6fAfHH43hobSBpgB9G9oWVl9+XgUaQ4yCnsX1H+l8DoaL9A==", + "dev": true }, - "enzyme": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.10.0.tgz", - "integrity": "sha512-p2yy9Y7t/PFbPoTvrWde7JIYB2ZyGC+NgTNbVEGvZ5/EyoYSr9aG/2rSbVvyNvMHEhw9/dmGUJHWtfQIEiX9pg==", + "d3-contour": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-1.3.2.tgz", + "integrity": "sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==", "dev": true, "requires": { - "array.prototype.flat": "^1.2.1", - "cheerio": "^1.0.0-rc.2", - "function.prototype.name": "^1.1.0", - "has": "^1.0.3", - "html-element-map": "^1.0.0", - "is-boolean-object": "^1.0.0", - "is-callable": "^1.1.4", - "is-number-object": "^1.0.3", - "is-regex": "^1.0.4", - "is-string": "^1.0.4", - "is-subset": "^0.1.1", - "lodash.escape": "^4.0.1", - "lodash.isequal": "^4.5.0", - "object-inspect": "^1.6.0", - "object-is": "^1.0.1", - "object.assign": "^4.1.0", - "object.entries": "^1.0.4", - "object.values": "^1.0.4", - "raf": "^3.4.0", - "rst-selector-parser": "^2.2.3", - "string.prototype.trim": "^1.1.2" - }, - "dependencies": { - "object-inspect": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", - "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==", - "dev": true - } + "d3-array": "^1.1.1" } }, - "enzyme-adapter-react-16": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.14.0.tgz", - "integrity": "sha512-7PcOF7pb4hJUvjY7oAuPGpq3BmlCig3kxXGi2kFx0YzJHppqX1K8IIV9skT1IirxXlu8W7bneKi+oQ10QRnhcA==", + "d3-delaunay": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-5.1.6.tgz", + "integrity": "sha512-VF6bxon2bn1cdXuesInEtVKlE4aUfq5IjE5y0Jl2aZP1yvLsf0QENqQxNhjS4vq95EmYKauA30ofTwvREtPSXA==", "dev": true, "requires": { - "enzyme-adapter-utils": "^1.12.0", - "has": "^1.0.3", - "object.assign": "^4.1.0", - "object.values": "^1.1.0", - "prop-types": "^15.7.2", - "react-is": "^16.8.6", - "react-test-renderer": "^16.0.0-0", - "semver": "^5.7.0" + "delaunator": "4" } }, - "enzyme-adapter-utils": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.12.0.tgz", - "integrity": "sha512-wkZvE0VxcFx/8ZsBw0iAbk3gR1d9hK447ebnSYBf95+r32ezBq+XDSAvRErkc4LZosgH8J7et7H7/7CtUuQfBA==", + "d3-dispatch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.5.tgz", + "integrity": "sha512-vwKx+lAqB1UuCeklr6Jh1bvC4SZgbSqbkGBLClItFBIYH4vqDJCA7qfoy14lXmJdnBOdxndAMxjCbImJYW7e6g==", + "dev": true + }, + "d3-drag": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.3.tgz", + "integrity": "sha512-8S3HWCAg+ilzjJsNtWW1Mutl74Nmzhb9yU6igspilaJzeZVFktmY6oO9xOh5TDk+BM2KrNFjttZNoJJmDnkjkg==", "dev": true, "requires": { - "airbnb-prop-types": "^2.13.2", - "function.prototype.name": "^1.1.0", - "object.assign": "^4.1.0", - "object.fromentries": "^2.0.0", - "prop-types": "^15.7.2", - "semver": "^5.6.0" + "d3-dispatch": "1", + "d3-selection": "1" } }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "d3-dsv": { + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-0.1.14.tgz", + "integrity": "sha1-mDPNYaWj6B4DJjoc54903lah27g=", + "dev": true + }, + "d3-ease": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.5.tgz", + "integrity": "sha512-Ct1O//ly5y5lFM9YTdu+ygq7LleSgSE4oj7vUt9tPLHUi8VCV7QoizGpdWRWAwCO9LdYzIrQDg97+hGVdsSGPQ==", + "dev": true + }, + "d3-force": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-1.2.1.tgz", + "integrity": "sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==", "dev": true, "requires": { - "prr": "~1.0.1" + "d3-collection": "1", + "d3-dispatch": "1", + "d3-quadtree": "1", + "d3-timer": "1" } }, - "error-ex": { + "d3-format": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.3.2.tgz", + "integrity": "sha512-Z18Dprj96ExragQ0DeGi+SYPQ7pPfRMtUXtsg/ChVIKNBCzjO8XYJvRTC1usblx52lqge56V5ect+frYTQc8WQ==", + "dev": true + }, + "d3-geo": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.11.6.tgz", + "integrity": "sha512-z0J8InXR9e9wcgNtmVnPTj0TU8nhYT6lD/ak9may2PdKqXIeHUr8UbFLoCtrPYNsjv6YaLvSDQVl578k6nm7GA==", "dev": true, "requires": { - "is-arrayish": "^0.2.1" - }, - "dependencies": { - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - } + "d3-array": "1" } }, - "error-inject": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/error-inject/-/error-inject-1.0.0.tgz", - "integrity": "sha1-4rPZG1Su1nLzCdlQ0VSFD6EdTzc=" + "d3-glyphedge": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/d3-glyphedge/-/d3-glyphedge-1.2.0.tgz", + "integrity": "sha512-F49fyMXMLYDHvqvxSmuGZrtIWeWLZWxar82WL1CJDBDPk4z6GUGSG4wX7rdv7N7R/YazAyMMnpOL0YQcmTLlOQ==", + "dev": true }, - "es-abstract": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", - "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", + "d3-hexbin": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/d3-hexbin/-/d3-hexbin-0.2.2.tgz", + "integrity": "sha1-nFg32s/UcasFM3qeke8Qv8T5iDE=", + "dev": true + }, + "d3-hierarchy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.8.tgz", + "integrity": "sha512-L+GHMSZNwTpiq4rt9GEsNcpLa4M96lXMR8M/nMG9p5hBE0jy6C+3hWtyZMenPQdwla249iJy7Nx0uKt3n+u9+w==", + "dev": true + }, + "d3-interpolate": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.3.2.tgz", + "integrity": "sha512-NlNKGopqaz9qM1PXh9gBF1KSCVh+jSFErrSlD/4hybwoNX/gt1d8CDbDW+3i+5UOHhjC6s6nMvRxcuoMVNgL2w==", "dev": true, "requires": { - "es-to-primitive": "^1.2.0", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "is-callable": "^1.1.4", - "is-regex": "^1.0.4", - "object-keys": "^1.0.12" + "d3-color": "1" } }, - "es-to-primitive": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", - "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "d3-path": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.7.tgz", + "integrity": "sha512-q0cW1RpvA5c5ma2rch62mX8AYaiLX0+bdaSM2wxSU9tXjU4DNvkx9qiUvjkuWCj3p22UO/hlPivujqMiR9PDzA==", + "dev": true + }, + "d3-polygon": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.5.tgz", + "integrity": "sha512-RHhh1ZUJZfhgoqzWWuRhzQJvO7LavchhitSTHGu9oj6uuLFzYZVeBzaWTQ2qSO6bz2w55RMoOCf0MsLCDB6e0w==", + "dev": true + }, + "d3-quadtree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.1.tgz", + "integrity": "sha1-E74CViTxEEBe1DU2xQaq7Bme1ZE=", + "dev": true + }, + "d3-request": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-request/-/d3-request-1.0.6.tgz", + "integrity": "sha512-FJj8ySY6GYuAJHZMaCQ83xEYE4KbkPkmxZ3Hu6zA1xxG2GD+z6P+Lyp+zjdsHf0xEbp2xcluDI50rCS855EQ6w==", "dev": true, "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "d3-collection": "1", + "d3-dispatch": "1", + "d3-dsv": "1", + "xmlhttprequest": "1" + }, + "dependencies": { + "d3-dsv": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.1.1.tgz", + "integrity": "sha512-1EH1oRGSkeDUlDRbhsFytAXU6cAmXFzc52YUe6MRlPClmWb85MP1J5x+YJRzya4ynZWnbELdSAvATFW/MbxaXw==", + "dev": true, + "requires": { + "commander": "2", + "iconv-lite": "0.4", + "rw": "1" + } + } } }, - "es5-ext": { - "version": "0.10.50", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.50.tgz", - "integrity": "sha512-KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3agw==", + "d3-sankey-circular": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/d3-sankey-circular/-/d3-sankey-circular-0.25.0.tgz", + "integrity": "sha512-maYak22afBAvmybeaopd1cVUNTIroEHhWCmh19gEQ+qgOhBkTav8YeP3Uw4OV/K4OksWaQrhhBOE4Rcxgc2JbQ==", + "dev": true, "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.1", - "next-tick": "^1.0.0" + "d3-array": "^1.2.1", + "d3-collection": "^1.0.4", + "d3-shape": "^1.2.0" } }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "d3-scale": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-2.2.2.tgz", + "integrity": "sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==", + "dev": true, + "requires": { + "d3-array": "^1.2.0", + "d3-collection": "1", + "d3-format": "1", + "d3-interpolate": "1", + "d3-time": "1", + "d3-time-format": "2" + } + }, + "d3-scale-chromatic": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-1.5.0.tgz", + "integrity": "sha512-ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg==", + "dev": true, + "requires": { + "d3-color": "1", + "d3-interpolate": "1" + } + }, + "d3-selection": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.0.tgz", + "integrity": "sha512-EYVwBxQGEjLCKF2pJ4+yrErskDnz5v403qvAid96cNdCMr8rmCYfY5RGzWz24mdIbxmDf6/4EAH+K9xperD5jg==", "dev": true }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "d3-shape": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.5.tgz", + "integrity": "sha512-VKazVR3phgD+MUCldapHD7P9kcrvPcexeX/PkMJmkUov4JM8IxsSg1DvbYoYich9AtdTsa5nNk2++ImPiDiSxg==", + "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" + "d3-path": "1" } }, - "es6-map": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", - "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "d3-time": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.0.11.tgz", + "integrity": "sha512-Z3wpvhPLW4vEScGeIMUckDW7+3hWKOQfAWg/U7PlWBnQmeKQ00gCUsTtWSYulrKNA7ta8hJ+xXc6MHrMuITwEw==", + "dev": true + }, + "d3-time-format": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.1.3.tgz", + "integrity": "sha512-6k0a2rZryzGm5Ihx+aFMuO1GgelgIz+7HhB4PH4OEndD5q2zGn1mDfRdNrulspOfR6JXkb2sThhDK41CSK85QA==", + "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-set": "~0.1.5", - "es6-symbol": "~3.1.1", - "event-emitter": "~0.3.5" + "d3-time": "1" } }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "d3-timer": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.9.tgz", + "integrity": "sha512-rT34J5HnQUHhcLvhSB9GjCkN0Ddd5Y8nCwDBG2u6wQEeYxT/Lf51fTFFkldeib/sE/J0clIe0pnCfs6g/lRbyg==", "dev": true }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "d3-transition": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.2.0.tgz", + "integrity": "sha512-VJ7cmX/FPIPJYuaL2r1o1EMHLttvoIuZhhuAlRoOxDzogV8iQS6jYulDm3xEU3TqL80IZIhI551/ebmCMrkvhw==", "dev": true, "requires": { - "es6-promise": "^4.0.3" + "d3-color": "1", + "d3-dispatch": "1", + "d3-ease": "1", + "d3-interpolate": "1", + "d3-selection": "^1.1.0", + "d3-timer": "1" + } + }, + "d3-voronoi": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.4.tgz", + "integrity": "sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==", + "dev": true + }, + "damerau-levenshtein": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz", + "integrity": "sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug==", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "dev": true, + "requires": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + } + }, + "datalib": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/datalib/-/datalib-1.9.2.tgz", + "integrity": "sha512-sV49o/1J3VdtTlJpsvPYT39WfUxyZGTO2rEGhEJt2eNY7LN2Z9K7nq3fOjgYMQtbuL0dVCWvmtxT2hpCgwx9Mg==", + "dev": true, + "requires": { + "d3-dsv": "0.1", + "d3-format": "0.4", + "d3-time": "0.1", + "d3-time-format": "0.2", + "request": "^2.67.0", + "sync-request": "^6.0.0", + "topojson-client": "^3.0.0" + }, + "dependencies": { + "d3-format": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-0.4.2.tgz", + "integrity": "sha1-qnWcHlquX6javJq3gZxQL8a1aHU=", + "dev": true + }, + "d3-time": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-0.1.1.tgz", + "integrity": "sha1-OM4qe7R6QDFhOCPd5GiOWOiSrls=", + "dev": true + }, + "d3-time-format": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-0.2.1.tgz", + "integrity": "sha1-hG45638iZ2aS2GBAxI6fpU/Yvxg=", + "dev": true, + "requires": { + "d3-time": "~0.1.1" + } + } + } + }, + "date-format": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-3.0.0.tgz", + "integrity": "sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==" + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "debounce": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.0.tgz", + "integrity": "sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "debug-fabulous": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.1.0.tgz", + "integrity": "sha512-GZqvGIgKNlUnHUPQhepnUZFIMoi3dgZKQBzKDeL2g7oJF9SNAji/AAu36dusFUas0O+pae74lNeoIPHqXWDkLg==", + "dev": true, + "requires": { + "debug": "3.X", + "memoizee": "0.4.X", + "object-assign": "4.X" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "decache": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/decache/-/decache-4.5.1.tgz", + "integrity": "sha512-5J37nATc6FmOTLbcsr9qx7Nm28qQyg1SK4xyEHqM0IBkNhWFp0Sm+vKoWYHD8wq+OUEb9jLyaKFfzzd1A9hcoA==", + "dev": true, + "requires": { + "callsite": "^1.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "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=", + "dev": true + }, + "decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", + "dev": true, + "requires": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + }, + "dependencies": { + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "dev": true, + "requires": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + }, + "dependencies": { + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", + "dev": true + } + } + }, + "decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "dev": true, + "requires": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, + "dependencies": { + "file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", + "dev": true + } + } + }, + "decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "dev": true, + "requires": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + }, + "dependencies": { + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", + "dev": true + } + } + }, + "decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", + "dev": true, + "requires": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "dependencies": { + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", + "dev": true + }, + "get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", + "dev": true + }, + "deemon": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/deemon/-/deemon-1.4.0.tgz", + "integrity": "sha512-S0zK5tNTdVFsJZVUeKi/CYJn4zzhW0Y55lwXzv2hVxb7ajzAHf91BhE5y2xvx1X7czIZ6PHLPDj00TVAmylVXw==", + "dev": true, + "requires": { + "bl": "^4.0.2", + "tree-kill": "^1.2.2" + }, + "dependencies": { + "bl": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.2.tgz", + "integrity": "sha512-j4OH8f6Qg2bGuWfRiltT2HYGx0e1QcBTrK9KAHNMwMZdQnDZFk0ZSYIpADjYCB3U12nicC5tVJwSIhwOWjb4RQ==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "buffer": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", + "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + } + } + }, + "deep-assign": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/deep-assign/-/deep-assign-1.0.0.tgz", + "integrity": "sha1-sJJ0O+hCfcYh6gBnzex+cN0Z83s=", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "deep-diff": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/deep-diff/-/deep-diff-0.3.8.tgz", + "integrity": "sha1-wB3mPvsO7JeYgB1Ax+Da4ltYLIQ=", + "dev": true + }, + "deep-eql": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", + "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "dev": true, + "requires": { + "type-detect": "^4.0.0" + } + }, + "deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=" + }, + "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.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "deepmerge": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz", + "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==", + "dev": true + }, + "default-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", + "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==", + "dev": true, + "requires": { + "kind-of": "^5.0.2" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "default-require-extensions": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", + "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", + "dev": true, + "requires": { + "strip-bom": "^4.0.0" + }, + "dependencies": { + "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 + } + } + }, + "default-resolution": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", + "integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=", + "dev": true + }, + "defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "del": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", + "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "dev": true, + "requires": { + "globby": "^6.1.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "p-map": "^1.1.1", + "pify": "^3.0.0", + "rimraf": "^2.2.8" + }, + "dependencies": { + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "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" + } + } + } + }, + "delaunator": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-4.0.1.tgz", + "integrity": "sha512-WNPWi1IRKZfCt/qIDMfERkDp93+iZEmOxN2yy4Jg+Xhv8SLk2UTqqbe1sfiipn0and9QrE914/ihdx82Y/Giag==", + "dev": true + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "denodeify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", + "integrity": "sha1-OjYof1A05pnnV3kBBSwubJQlFjE=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, + "detect-indent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz", + "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==" + }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "dev": true + }, + "detect-newline": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", + "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", + "dev": true + }, + "detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "dev": true, + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + } + }, + "dfa": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz", + "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==" + }, + "diagnostic-channel": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/diagnostic-channel/-/diagnostic-channel-0.2.0.tgz", + "integrity": "sha1-zJmvlhLCP7H/8TYSxy8sv6qNWhc=", + "requires": { + "semver": "^5.3.0" + } + }, + "diagnostic-channel-publishers": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/diagnostic-channel-publishers/-/diagnostic-channel-publishers-0.3.4.tgz", + "integrity": "sha512-SZ1zMfFiEabf4Qx0Og9V1gMsRoqz3O+5ENkVcNOfI+SMJ3QhQsdEoKX99r0zvreagXot2parPxmrwwUM/ja8ug==" + }, + "diagnostics": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/diagnostics/-/diagnostics-1.1.1.tgz", + "integrity": "sha512-8wn1PmdunLJ9Tqbx+Fx/ZEuHfJf4NKSN2ZBj7SJC/OWRWha843+WsTjqMe1B5E3p28jqBlp+mJ2fPVxPyNgYKQ==", + "requires": { + "colorspace": "1.1.x", + "enabled": "1.0.x", + "kuler": "1.0.x" + } + }, + "didyoumean": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.1.tgz", + "integrity": "sha1-6S7f2tplN9SE1zwBcv0eugxJdv8=", + "dev": true + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + }, + "diff-match-patch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.4.tgz", + "integrity": "sha512-Uv3SW8bmH9nAtHKaKSanOQmj2DnlH65fUpcrMdfdaOxUG02QQ4YGZ8AE7kKOMisF7UqvOlGKVYWRvezdncW9lg==" + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "requires": { + "path-type": "^3.0.0" + } + }, + "discontinuous-range": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz", + "integrity": "sha1-44Mx8IRLukm5qctxx3FYWqsbxlo=", + "dev": true + }, + "dns-packet": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.2.1.tgz", + "integrity": "sha512-JHj2yJeKOqlxzeuYpN1d56GfhzivAxavNwHj9co3qptECel27B1rLY5PifJAvubsInX5pGLDjAHuCfCUc2Zv/w==", + "requires": { + "ip": "^1.1.5" + } + }, + "dns-socket": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dns-socket/-/dns-socket-4.2.0.tgz", + "integrity": "sha512-4XuD3z28jht3jvHbiom6fAipgG5LkjYeDLrX5OH8cbl0AtzTyUUAxGckcW8T7z0pLfBBV5qOiuC4wUEohk6FrQ==", + "requires": { + "dns-packet": "^5.1.2" + } + }, + "doctrine": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", + "integrity": "sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM=", + "dev": true, + "requires": { + "esutils": "^1.1.6", + "isarray": "0.0.1" + }, + "dependencies": { + "esutils": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.1.6.tgz", + "integrity": "sha1-wBzKqa5LiXxtDD4hCuUvPHqEQ3U=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + } + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "requires": { + "utila": "~0.4" + } + }, + "dom-helpers": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", + "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.1.2" + } + }, + "dom-serializer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", + "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", + "dev": true, + "requires": { + "domelementtype": "^1.3.0", + "entities": "^1.1.1" + } + }, + "dom-walk": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", + "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=", + "dev": true + }, + "dom4": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/dom4/-/dom4-2.1.5.tgz", + "integrity": "sha512-gJbnVGq5zaBUY0lUh0LUEVGYrtN75Ks8ZwpwOYvnVFrKy/qzXK4R/1WuLIFExWj/tBxbRAkTzZUGJHXmqsBNjQ==", + "dev": true + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "dev": true, + "requires": { + "webidl-conversions": "^4.0.2" + } + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "download": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz", + "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==", + "dev": true, + "requires": { + "archive-type": "^4.0.0", + "caw": "^2.0.1", + "content-disposition": "^0.5.2", + "decompress": "^4.2.0", + "ext-name": "^5.0.0", + "file-type": "^8.1.0", + "filenamify": "^2.0.0", + "get-stream": "^3.0.0", + "got": "^8.3.1", + "make-dir": "^1.2.0", + "p-event": "^2.1.0", + "pify": "^3.0.0" + }, + "dependencies": { + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, + "duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "requires": { + "readable-stream": "^2.0.2" + }, + "dependencies": { + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "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==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "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" + } + } + } + }, + "each-props": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz", + "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.1", + "object.defaults": "^1.1.0" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "editorconfig": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", + "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", + "dev": true, + "requires": { + "commander": "^2.19.0", + "lru-cache": "^4.1.5", + "semver": "^5.6.0", + "sigmund": "^1.0.1" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.189", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.189.tgz", + "integrity": "sha512-C26Kv6/rLNmGDaPR5HORMtTQat9aWBBKjQk9aFtN1Bk6cQBSw8cYdsel/mcrQlNlMMjt1sAKsTYqf77+sK2uTw==", + "dev": true + }, + "elliptic": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", + "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", + "dev": true, + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "emitter-listener": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/emitter-listener/-/emitter-listener-1.1.2.tgz", + "integrity": "sha512-Bt1sBAGFHY9DKY+4/2cV6izcKJUf5T7/gkdmkxzX/qv9CcGH8xSwVRW5mtX03SWJtRTWSOpzCuWN9rBFYZepZQ==", + "requires": { + "shimmer": "^1.2.0" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "emotion": { + "version": "9.2.12", + "resolved": "https://registry.npmjs.org/emotion/-/emotion-9.2.12.tgz", + "integrity": "sha512-hcx7jppaI8VoXxIWEhxpDW7I+B4kq9RNzQLmsrF6LY8BGKqe2N+gFAQr0EfuFucFlPs2A9HM4+xNj4NeqEWIOQ==", + "dev": true, + "requires": { + "babel-plugin-emotion": "^9.2.11", + "create-emotion": "^9.2.12" + } + }, + "enabled": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz", + "integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=", + "requires": { + "env-variable": "0.0.x" + } + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "dev": true, + "requires": { + "iconv-lite": "~0.4.13" + } + }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "requires": { + "once": "^1.4.0" + } + }, + "engine.io": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.4.0.tgz", + "integrity": "sha512-XCyYVWzcHnK5cMz7G4VTu2W7zJS7SM1QkcelghyIk/FmobWBtXE7fwhBusEKvCSqc3bMh8fNFMlUkCKTFRxH2w==", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "0.3.1", + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", + "ws": "^7.1.2" + }, + "dependencies": { + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "dev": true + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ws": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.3.tgz", + "integrity": "sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ==", + "dev": true + } + } + }, + "engine.io-client": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.4.0.tgz", + "integrity": "sha512-a4J5QO2k99CM2a0b12IznnyQndoEvtA4UAldhGzKqnHf42I3Qs2W5SPnDvatZRcMaNZs4IevVicBPayxYt6FwA==", + "dev": true, + "requires": { + "component-emitter": "1.2.1", + "component-inherit": "0.0.3", + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "ws": "~6.1.0", + "xmlhttprequest-ssl": "~1.5.4", + "yeast": "0.1.2" + }, + "dependencies": { + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ws": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz", + "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, + "engine.io-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.0.tgz", + "integrity": "sha512-6I3qD9iUxotsC5HEMuuGsKA0cXerGz+4uGcXQEkfBidgKf0amsjrrtwcbwK/nzpZBxclXlV7gGl9dgWvu4LF6w==", + "dev": true, + "requires": { + "after": "0.8.2", + "arraybuffer.slice": "~0.0.7", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.5", + "has-binary2": "~1.0.2" + } + }, + "enhanced-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", + "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + }, + "dependencies": { + "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 + } + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "env-variable": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.5.tgz", + "integrity": "sha512-zoB603vQReOFvTg5xMl9I1P2PnHsHQQKTEowsKKD7nseUfJq6UWzK+4YtlWUO1nhiQUxe6XMkk+JleSZD1NZFA==" + }, + "enzyme": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.10.0.tgz", + "integrity": "sha512-p2yy9Y7t/PFbPoTvrWde7JIYB2ZyGC+NgTNbVEGvZ5/EyoYSr9aG/2rSbVvyNvMHEhw9/dmGUJHWtfQIEiX9pg==", + "dev": true, + "requires": { + "array.prototype.flat": "^1.2.1", + "cheerio": "^1.0.0-rc.2", + "function.prototype.name": "^1.1.0", + "has": "^1.0.3", + "html-element-map": "^1.0.0", + "is-boolean-object": "^1.0.0", + "is-callable": "^1.1.4", + "is-number-object": "^1.0.3", + "is-regex": "^1.0.4", + "is-string": "^1.0.4", + "is-subset": "^0.1.1", + "lodash.escape": "^4.0.1", + "lodash.isequal": "^4.5.0", + "object-inspect": "^1.6.0", + "object-is": "^1.0.1", + "object.assign": "^4.1.0", + "object.entries": "^1.0.4", + "object.values": "^1.0.4", + "raf": "^3.4.0", + "rst-selector-parser": "^2.2.3", + "string.prototype.trim": "^1.1.2" + }, + "dependencies": { + "object-inspect": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", + "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==", + "dev": true + } + } + }, + "enzyme-adapter-react-16": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.14.0.tgz", + "integrity": "sha512-7PcOF7pb4hJUvjY7oAuPGpq3BmlCig3kxXGi2kFx0YzJHppqX1K8IIV9skT1IirxXlu8W7bneKi+oQ10QRnhcA==", + "dev": true, + "requires": { + "enzyme-adapter-utils": "^1.12.0", + "has": "^1.0.3", + "object.assign": "^4.1.0", + "object.values": "^1.1.0", + "prop-types": "^15.7.2", + "react-is": "^16.8.6", + "react-test-renderer": "^16.0.0-0", + "semver": "^5.7.0" + } + }, + "enzyme-adapter-utils": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.12.0.tgz", + "integrity": "sha512-wkZvE0VxcFx/8ZsBw0iAbk3gR1d9hK447ebnSYBf95+r32ezBq+XDSAvRErkc4LZosgH8J7et7H7/7CtUuQfBA==", + "dev": true, + "requires": { + "airbnb-prop-types": "^2.13.2", + "function.prototype.name": "^1.1.0", + "object.assign": "^4.1.0", + "object.fromentries": "^2.0.0", + "prop-types": "^15.7.2", + "semver": "^5.6.0" + } + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + } + } + }, + "es-abstract": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", + "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.0", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "is-callable": "^1.1.4", + "is-regex": "^1.0.4", + "object-keys": "^1.0.12" + } + }, + "es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "dev": true + }, + "es-get-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.0.tgz", + "integrity": "sha512-UfrmHuWQlNMTs35e1ypnvikg6jCz3SK8v8ImvmDsh36fCVUR1MqoFDiyn0/k52C8NqO3YsO8Oe0azeesNuqSsQ==", + "dev": true, + "requires": { + "es-abstract": "^1.17.4", + "has-symbols": "^1.0.1", + "is-arguments": "^1.0.4", + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-string": "^1.0.5", + "isarray": "^2.0.5" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "dev": true + }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true + } + } + }, + "es-to-primitive": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", + "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es5-ext": { + "version": "0.10.50", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.50.tgz", + "integrity": "sha512-KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3agw==", + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.1", + "next-tick": "^1.0.0" + } + }, + "es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-map": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "requires": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" + } + }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "dev": true + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "dev": true, + "requires": { + "es6-promise": "^4.0.3" + } + }, + "es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "requires": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-symbol": "3.1.1", + "event-emitter": "~0.3.5" + } + }, + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "escape-carriage": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/escape-carriage/-/escape-carriage-1.3.0.tgz", + "integrity": "sha512-ATWi5MD8QlAGQOeMgI8zTp671BG8aKvAC0M7yenlxU4CRLGO/sKthxVUyjiOFKjHdIo+6dZZUNFgHFeVEaKfGQ==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "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 + }, + "escodegen": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", + "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", + "requires": { + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "eslint": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.8.1.tgz", + "integrity": "sha512-/2rX2pfhyUG0y+A123d0ccXtMm7DV7sH1m3lk9nk2DZ2LReq39FXHueR9xZwshE5MdfSf0xunSaMWRqyIA6M1w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@eslint/eslintrc": "^0.1.3", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "eslint-scope": "^5.1.0", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^1.3.0", + "espree": "^7.3.0", + "esquery": "^1.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash": "^4.17.19", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "eslint-scope": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz", + "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "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 + }, + "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 + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "eslint-config-airbnb": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-18.2.0.tgz", + "integrity": "sha512-Fz4JIUKkrhO0du2cg5opdyPKQXOI2MvF8KUvN2710nJMT6jaRUpRE2swrJftAjVGL7T1otLM5ieo5RqS1v9Udg==", + "dev": true, + "requires": { + "eslint-config-airbnb-base": "^14.2.0", + "object.assign": "^4.1.0", + "object.entries": "^1.1.2" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true + }, + "object.entries": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.2.tgz", + "integrity": "sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "has": "^1.0.3" + } + } + } + }, + "eslint-config-airbnb-base": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.0.tgz", + "integrity": "sha512-Snswd5oC6nJaevs3nZoLSTvGJBvzTfnBqOIArkf3cbyTyq9UD79wOk8s+RiL6bhca0p/eRO6veczhf6A/7Jy8Q==", + "dev": true, + "requires": { + "confusing-browser-globals": "^1.0.9", + "object.assign": "^4.1.0", + "object.entries": "^1.1.2" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true + }, + "object.entries": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.2.tgz", + "integrity": "sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "has": "^1.0.3" + } + } + } + }, + "eslint-config-prettier": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz", + "integrity": "sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA==", + "dev": true, + "requires": { + "get-stdin": "^6.0.0" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", + "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", + "dev": true, + "requires": { + "debug": "^2.6.9", + "resolve": "^1.13.1" + }, + "dependencies": { + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + } + } + }, + "eslint-module-utils": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", + "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", + "dev": true, + "requires": { + "debug": "^2.6.9", + "pkg-dir": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + } + } + }, + "eslint-plugin-import": { + "version": "2.22.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.0.tgz", + "integrity": "sha512-66Fpf1Ln6aIS5Gr/55ts19eUuoDhAbZgnr6UxK5hbDx6l/QgQgx61AePq+BV4PP2uXQFClgMVzep5zZ94qqsxg==", + "dev": true, + "requires": { + "array-includes": "^3.1.1", + "array.prototype.flat": "^1.2.3", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.3", + "eslint-module-utils": "^2.6.0", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.1", + "read-pkg-up": "^2.0.0", + "resolve": "^1.17.0", + "tsconfig-paths": "^3.9.0" + }, + "dependencies": { + "array.prototype.flat": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz", + "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + }, + "es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true + }, + "object.values": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", + "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + } + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "tsconfig-paths": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", + "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0" + } + } } }, - "es6-set": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", - "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "eslint-plugin-jsx-a11y": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.3.1.tgz", + "integrity": "sha512-i1S+P+c3HOlBJzMFORRbC58tHa65Kbo8b52/TwCwSKLohwvpfT5rm2GjGWzOHTEuq4xxf2aRlHHTtmExDQOP+g==", + "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-symbol": "3.1.1", - "event-emitter": "~0.3.5" + "@babel/runtime": "^7.10.2", + "aria-query": "^4.2.2", + "array-includes": "^3.1.1", + "ast-types-flow": "^0.0.7", + "axe-core": "^3.5.4", + "axobject-query": "^2.1.2", + "damerau-levenshtein": "^1.0.6", + "emoji-regex": "^9.0.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.4.1", + "language-tags": "^1.0.5" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.5.tgz", + "integrity": "sha512-otddXKhdNn7d0ptoFRHtMLa8LqDxLYwTjB4nYgM1yy5N6gU/MUf8zqyyLltCH3yAVitBzmwK4us+DD0l/MauAg==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + } + }, + "emoji-regex": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.0.0.tgz", + "integrity": "sha512-6p1NII1Vm62wni/VR/cUMauVQoxmLVb9csqQlvLz+hO2gk8U2UYDfXHQSUYIBKmZwAKz867IDqG7B+u0mj+M6w==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "dev": true + } } }, - "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "eslint-plugin-prettier": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.2.tgz", + "integrity": "sha512-GlolCC9y3XZfv3RQfwGew7NnuFDKsfI4lbvRK+PIIo23SFH+LemGs4cKwzAaRa+Mdb+lQO/STaIayno8T5sJJA==", + "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "prettier-linter-helpers": "^1.0.0" } }, - "es6-weak-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", - "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "eslint-plugin-react": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.20.6.tgz", + "integrity": "sha512-kidMTE5HAEBSLu23CUDvj8dc3LdBU0ri1scwHBZjI41oDv4tjsWZKU7MQccFzH1QYPYhsnTF2ovh7JlcIcmxgg==", "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.46", - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.1" + "array-includes": "^3.1.1", + "array.prototype.flatmap": "^1.2.3", + "doctrine": "^2.1.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.4.1", + "object.entries": "^1.1.2", + "object.fromentries": "^2.0.2", + "object.values": "^1.1.1", + "prop-types": "^15.7.2", + "resolve": "^1.17.0", + "string.prototype.matchall": "^4.0.2" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true + }, + "object.entries": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.2.tgz", + "integrity": "sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "has": "^1.0.3" + } + }, + "object.fromentries": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.2.tgz", + "integrity": "sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "object.values": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", + "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + } } }, - "escape-carriage": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/escape-carriage/-/escape-carriage-1.3.0.tgz", - "integrity": "sha512-ATWi5MD8QlAGQOeMgI8zTp671BG8aKvAC0M7yenlxU4CRLGO/sKthxVUyjiOFKjHdIo+6dZZUNFgHFeVEaKfGQ==", + "eslint-plugin-react-hooks": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.0.0.tgz", + "integrity": "sha512-YKBY+kilK5wrwIdQnCF395Ya6nDro3EAMoe+2xFkmyklyhF16fH83TrQOo9zbZIDxBsXFgBbywta/0JKRNFDkw==", "dev": true }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "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=" - }, - "escodegen": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", - "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", - "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - } - }, - "eslint-config-prettier": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.9.0.tgz", - "integrity": "sha512-k4E14HBtcLv0uqThaI6I/n1LEqROp8XaPu6SO9Z32u5NlGRC07Enu1Bh2KEFw4FNHbekH8yzbIU9kUGxbiGmCA==", + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, "requires": { - "get-stdin": "^6.0.0" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, - "eslint-plugin-prettier": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.2.tgz", - "integrity": "sha512-GlolCC9y3XZfv3RQfwGew7NnuFDKsfI4lbvRK+PIIo23SFH+LemGs4cKwzAaRa+Mdb+lQO/STaIayno8T5sJJA==", + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, "requires": { - "prettier-linter-helpers": "^1.0.0" + "eslint-visitor-keys": "^1.1.0" } }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + }, + "espree": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.0.tgz", + "integrity": "sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw==", "dev": true, "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "acorn": "^7.4.0", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "acorn": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz", + "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==", + "dev": true + } } }, "esprima": { @@ -7827,6 +11244,23 @@ "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" }, + "esquery": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, "esrecurse": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", @@ -7977,57 +11411,6 @@ } } }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true, - "requires": { - "fill-range": "^2.1.0" - }, - "dependencies": { - "fill-range": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", - "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", - "dev": true, - "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" - } - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "expand-tilde": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", @@ -8228,35 +11611,15 @@ } }, "extract-zip": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", - "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", + "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", "dev": true, "requires": { - "concat-stream": "1.6.2", - "debug": "2.6.9", - "mkdirp": "0.5.1", - "yauzl": "2.4.1" - }, - "dependencies": { - "fd-slicer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", - "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", - "dev": true, - "requires": { - "pend": "~1.2.0" - } - }, - "yauzl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", - "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", - "dev": true, - "requires": { - "fd-slicer": "~1.0.1" - } - } + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "yauzl": "^2.10.0" } }, "extsprintf": { @@ -8396,20 +11759,102 @@ "escape-string-regexp": "^1.0.5" } }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "file-loader": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-5.1.0.tgz", + "integrity": "sha512-u/VkLGskw3Ue59nyOwUwXI/6nuBCo7KBkniB/l7ICwr/7cPNGsL1WCXUp3GB0qgOOKU1TiP49bv4DZF/LJqprg==", + "dev": true, + "requires": { + "loader-utils": "^1.4.0", + "schema-utils": "^2.5.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", + "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "schema-utils": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz", + "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==", + "dev": true, + "requires": { + "ajv": "^6.12.0", + "ajv-keywords": "^3.4.1" + } + } + } + }, "file-type": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz", "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==", "dev": true }, - "filemanager-webpack-plugin": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/filemanager-webpack-plugin/-/filemanager-webpack-plugin-2.0.5.tgz", - "integrity": "sha512-Yj5XIdKI2AN2r66uZc4MZ/n18SMqe2KKlkAqHHMW1OwveDs2Vc5129CpbFcI73rq/rjqso+2HsxieS7u5sx6XA==", + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "filemanager-webpack-plugin-fixed": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/filemanager-webpack-plugin-fixed/-/filemanager-webpack-plugin-fixed-2.0.9.tgz", + "integrity": "sha512-iet9rDGF3HjHwObDy2FwzBFtiW59e+/wImVdqYXp5siRI4ESfxJyflOhpr7zrnJ4FcTS+rrIdk5E/Zgh9XtS0Q==", "dev": true, "requires": { "archiver": "^3.0.0", - "cpx": "^1.5.0", + "cpx-fixed": "^1.6.0", "fs-extra": "^7.0.0", "make-dir": "^1.1.0", "mv": "^2.1.1", @@ -8441,15 +11886,18 @@ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true + }, + "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" + } } } }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", - "dev": true - }, "filename-reserved-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", @@ -8591,11 +12039,39 @@ } } }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, "flatted": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==" }, + "flatten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", + "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==", + "dev": true + }, "flush-write-stream": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", @@ -8638,6 +12114,34 @@ } } }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "requires": { + "debug": "=3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "font-awesome": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz", + "integrity": "sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM=" + }, "fontkit": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/fontkit/-/fontkit-1.8.0.tgz", @@ -8675,15 +12179,6 @@ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - }, "foreach": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", @@ -8747,6 +12242,43 @@ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" }, + "fork-ts-checker-webpack-plugin": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz", + "integrity": "sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "chalk": "^2.4.1", + "micromatch": "^3.1.10", + "minimatch": "^3.0.4", + "semver": "^5.6.0", + "tapable": "^1.0.0", + "worker-rpc": "^0.1.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/highlight": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz", + "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.9.0", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + } + } + }, "form-data": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", @@ -8778,10 +12310,17 @@ "map-cache": "^0.2.2" } }, + "free-style": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/free-style/-/free-style-3.1.0.tgz", + "integrity": "sha512-vJujYSIyT30iDoaoeigNAxX4yB1RUrh+N2ZMhIElMr3BvCuGXOw7XNJMEEJkDUeamK2Rnb/IKFGKRKlTWIGRWA==", + "dev": true + }, "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true }, "from": { "version": "0.1.7", @@ -8911,76 +12450,313 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "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" + "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" + } + } + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.2.12", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.12.tgz", + "integrity": "sha512-Ggd/Ktt7E7I8pxZRbGIs7vwqAPscSESMrCSkx2FtWeqmheJgCo2R74fTsZFCifr0VTPwqRpPv17+6b8Zp7th0Q==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1", + "node-pre-gyp": "*" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "3.2.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.6.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": 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" + } + }, + "glob": { + "version": "7.1.6", + "bundled": true, + "dev": true, + "optional": 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" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "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==", + "inherits": { + "version": "2.0.4", + "bundled": true, + "dev": true, + "optional": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, "dev": true, + "optional": true, "requires": { - "safe-buffer": "~5.1.0" + "number-is-nan": "^1.0.0" } - } - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", - "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", - "dev": true, - "optional": true, - "requires": { - "nan": "^2.12.1", - "node-pre-gyp": "^0.12.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, - "chownr": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", - "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==" + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "optional": true, "requires": { - "ms": "^2.1.1" + "brace-expansion": "^1.1.7" } }, "minimist": { - "version": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true + }, + "minipass": { + "version": "2.9.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } }, "minizlib": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz", - "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", + "version": "1.3.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.9.0" + } + }, + "mkdirp": { + "version": "0.5.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "ms": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.3.3", + "bundled": true, + "dev": true, + "optional": true, "requires": { - "minipass": "^2.2.1" + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" } }, "node-pre-gyp": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz", - "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==", + "version": "0.14.0", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -8993,13 +12769,12 @@ "rc": "^1.2.7", "rimraf": "^2.6.1", "semver": "^5.3.0", - "tar": "^4" + "tar": "^4.4.2" } }, "nopt": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "version": "4.0.3", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -9007,15 +12782,116 @@ "osenv": "^0.1.4" } }, + "npm-bundled": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.4.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } }, "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "version": "2.3.7", + "bundled": true, + "dev": true, + "optional": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -9026,31 +12902,127 @@ "util-deprecate": "~1.0.1" } }, + "rimraf": { + "version": "2.7.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, "sax": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.7.1", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } }, "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==", + "bundled": true, + "dev": true, + "optional": true, "requires": { "safe-buffer": "~5.1.0" } }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "bundled": true, + "dev": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.13", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, "yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==" + "version": "3.1.1", + "bundled": true, + "dev": true, + "optional": true } } }, @@ -9064,6 +13036,17 @@ "inherits": "~2.0.0", "mkdirp": ">=0.5 0", "rimraf": "2" + }, + "dependencies": { + "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" + } + } } }, "function-bind": { @@ -9082,6 +13065,12 @@ "is-callable": "^1.1.3" } }, + "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 + }, "fuzzy": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/fuzzy/-/fuzzy-0.1.3.tgz", @@ -9173,57 +13162,21 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", - "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" - } - }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true, - "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" - }, - "dependencies": { - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, - "requires": { - "is-glob": "^2.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - } + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "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" } }, "glob-parent": { @@ -9527,33 +13480,63 @@ } }, "gulp-azure-storage": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/gulp-azure-storage/-/gulp-azure-storage-0.9.0.tgz", - "integrity": "sha512-b6CfmmEtyLDT3afv7wvNin3FJh3eAJy9N26HIXQTbQFP3LzP8XLJrvDe+G9lxFzJt943xgoYFNWUZz3wiJTZdQ==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/gulp-azure-storage/-/gulp-azure-storage-0.11.1.tgz", + "integrity": "sha512-csOwItwZV1P9GLsORVQy+CFwjYDdHNrBol89JlHdlhGx0fTgJBc1COTRZbjGRyRjgdUuVguo3YLl4ToJ10/SIQ==", "dev": true, "requires": { "azure-storage": "^2.10.2", "delayed-stream": "0.0.6", "event-stream": "3.3.4", "mime": "^1.3.4", - "optimist": "^0.6.1", "progress": "^1.1.8", "queue": "^3.0.10", "streamifier": "^0.1.1", - "vinyl": "^0.4.5", - "vinyl-fs": "^3.0.3" + "vinyl": "^2.2.0", + "vinyl-fs": "^3.0.3", + "yargs": "^15.3.0" }, "dependencies": { - "clone": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", - "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, - "clone-stats": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", - "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, "delayed-stream": { @@ -9562,14 +13545,128 @@ "integrity": "sha1-omRst+w9XXd0YUZwp6Zd4MFz7bw=", "dev": true }, - "vinyl": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", - "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", + "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 + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "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 + }, + "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 + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "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 + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "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 + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "yargs": { + "version": "15.3.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", + "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.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": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.1" + } + }, + "yargs-parser": { + "version": "18.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.2.tgz", + "integrity": "sha512-hlIPNR3IzC1YuL1c2UwwDKpXlNFBqD1Fswwh1khz5+d8Cq/8yc/Mn0i+rQXduu8hcrFKvO7Eryk+09NecTQAAQ==", "dev": true, "requires": { - "clone": "^0.2.0", - "clone-stats": "^0.0.1" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } } } @@ -9649,9 +13746,9 @@ }, "dependencies": { "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", "dev": true } } @@ -9785,10 +13882,34 @@ "function-bind": "^1.1.1" } }, + "has-binary2": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", + "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", + "dev": true, + "requires": { + "isarray": "2.0.1" + }, + "dependencies": { + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", + "dev": true + } + } + }, + "has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", + "dev": true + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true }, "has-symbol-support-x": { "version": "1.4.2", @@ -9980,16 +14101,71 @@ } }, "html-to-react": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/html-to-react/-/html-to-react-1.3.4.tgz", - "integrity": "sha512-/tWDdb/8Koi/QEP5YUY1653PcDpBnnMblXRhotnTuhFDjI1Fc6Wzox5d4sw73Xk5rM2OdM5np4AYjT/US/Wj7Q==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/html-to-react/-/html-to-react-1.4.3.tgz", + "integrity": "sha512-txe09A3vxW8yEZGJXJ1is5gGDfBEVACmZDSgwDyH5EsfRdOubBwBCg63ZThZP0xBn0UE4FyvMXZXmohusCxDcg==", "dev": true, "requires": { - "domhandler": "^2.4.2", - "escape-string-regexp": "^1.0.5", - "htmlparser2": "^3.10.0", + "domhandler": "^3.0", + "htmlparser2": "^4.1.0", "lodash.camelcase": "^4.3.0", - "ramda": "^0.26" + "ramda": "^0.27" + }, + "dependencies": { + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", + "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", + "dev": true + }, + "domhandler": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.0.0.tgz", + "integrity": "sha512-eKLdI5v9m67kbXQbJSNn1zjh0SDzvzWVWtX+qEI3eMjZw8daH9k8rlj1FZY9memPwjiskQFbe7vHVVJIAqoEhw==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1" + } + }, + "domutils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.1.0.tgz", + "integrity": "sha512-CD9M0Dm1iaHfQ1R/TI+z3/JWp/pgub0j4jIQKH89ARR4ATAV2nbaOQS5XxU9maJP5jHaPdDDQSEHuE2UmpUTKg==", + "dev": true, + "requires": { + "dom-serializer": "^0.2.1", + "domelementtype": "^2.0.1", + "domhandler": "^3.0.0" + } + }, + "entities": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", + "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", + "dev": true + }, + "htmlparser2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz", + "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^3.0.0", + "domutils": "^2.0.0", + "entities": "^2.0.0" + } + } } }, "html-webpack-plugin": { @@ -10047,15 +14223,6 @@ "readable-stream": "^3.1.1" } }, - "http-assert": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.4.1.tgz", - "integrity": "sha512-rdw7q6GTlibqVVbXr0CKelfV5iY8G2HqEUkhSk297BMbSpSL8crXC+9rjKoMcZZEsksX30le6f/4ul4E28gegw==", - "requires": { - "deep-equal": "~1.0.1", - "http-errors": "~1.7.2" - } - }, "http-basic": { "version": "8.1.3", "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", @@ -10078,6 +14245,7 @@ "version": "1.7.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "dev": true, "requires": { "depd": "~1.1.2", "inherits": "2.0.4", @@ -10165,11 +14333,6 @@ } } }, - "humanize-number": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/humanize-number/-/humanize-number-0.0.2.tgz", - "integrity": "sha1-EcCvakcWQ2M1iFiASPF5lUFInBg=" - }, "husky": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/husky/-/husky-1.3.1.tgz", @@ -10228,6 +14391,19 @@ "dev": true, "requires": { "postcss": "^6.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } } }, "ieee754": { @@ -10267,8 +14443,16 @@ "immutable": { "version": "4.0.0-rc.12", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0-rc.12.tgz", - "integrity": "sha512-0M2XxkZLx/mi3t8NVwIm1g8nHoEmM9p9UBl/G9k4+hm0kBgOVdMV/B3CY5dQ8qG8qc80NN4gDV4HQv6FTJ5q7A==", - "dev": true + "integrity": "sha512-0M2XxkZLx/mi3t8NVwIm1g8nHoEmM9p9UBl/G9k4+hm0kBgOVdMV/B3CY5dQ8qG8qc80NN4gDV4HQv6FTJ5q7A==" + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dev": true, + "requires": { + "import-from": "^2.1.0" + } }, "import-fresh": { "version": "2.0.0", @@ -10280,6 +14464,15 @@ "resolve-from": "^3.0.0" } }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, "import-local": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", @@ -10296,10 +14489,21 @@ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, - "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==", + "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==" + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", "dev": true }, "infer-owner": { @@ -10383,6 +14587,76 @@ } } }, + "internal-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.2.tgz", + "integrity": "sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g==", + "dev": true, + "requires": { + "es-abstract": "^1.17.0-next.1", + "has": "^1.0.3", + "side-channel": "^1.0.2" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true + } + } + }, "interpret": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", @@ -10419,11 +14693,15 @@ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", "dev": true }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, "ip-regex": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" }, "ipaddr.js": { "version": "1.9.0", @@ -10462,15 +14740,15 @@ } }, "is-alphabetical": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.3.tgz", - "integrity": "sha512-eEMa6MKpHFzw38eKm56iNNi6GJ7lf6aLLio7Kr23sJPAECscgRtZvOBYybejWDQ2bM949Y++61PY+udzj5QMLA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", "dev": true }, "is-alphanumerical": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz", - "integrity": "sha512-A1IGAPO5AW9vSh7omxIlOGwIqEvpW/TA+DksVOPM5ODuxKlZS09+TEM1E3275lJqO2oJ38vDpeAL3DCIiHE6eA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", "dev": true, "requires": { "is-alphabetical": "^1.0.0", @@ -10550,9 +14828,9 @@ "dev": true }, "is-decimal": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.3.tgz", - "integrity": "sha512-bvLSwoDg2q6Gf+E2LEPiklHZxxiSi3XAh4Mav65mKqTfCO1HM3uBs24TjEH8iJX3bbDdLXKJXBTmGzuTUuAEjQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", "dev": true }, "is-descriptor": { @@ -10580,25 +14858,11 @@ "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", "dev": true }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", - "dev": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "dev": true, - "requires": { - "is-primitive": "^2.0.0" - } - }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true }, "is-extglob": { "version": "2.1.1", @@ -10615,11 +14879,6 @@ "number-is-nan": "^1.0.0" } }, - "is-generator-function": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.7.tgz", - "integrity": "sha512-YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw==" - }, "is-glob": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", @@ -10630,9 +14889,9 @@ } }, "is-hexadecimal": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz", - "integrity": "sha512-zxQ9//Q3D/34poZf8fiy3m3XVpbQc7ren15iKqrTtLPwkPD/t3Scy9Imp63FujULGxuK0ZlCwoo5xNpktFgbOA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", "dev": true }, "is-ip": { @@ -10644,6 +14903,12 @@ "ip-regex": "^2.0.0" } }, + "is-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.1.tgz", + "integrity": "sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw==", + "dev": true + }, "is-natural-number": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", @@ -10656,6 +14921,12 @@ "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=", "dev": true }, + "is-negative-zero": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", + "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", + "dev": true + }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -10694,6 +14965,111 @@ "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", "dev": true }, + "is-online": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/is-online/-/is-online-8.2.1.tgz", + "integrity": "sha512-853p45I2b//EDV7n1Rbk60f/fy1KQlp1IkTjV/K2EyAD/h8qXrIAxwIbZ8c4K5p5yDsQlTWUrxocgW/aBtNfYQ==", + "requires": { + "got": "^9.6.0", + "p-any": "^2.0.0", + "p-timeout": "^3.0.0", + "public-ip": "^3.0.0" + }, + "dependencies": { + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + } + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + }, + "normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" + }, + "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==", + "requires": { + "p-finally": "^1.0.0" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, "is-path-cwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", @@ -10733,18 +15109,6 @@ "isobject": "^3.0.1" } }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", - "dev": true - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", - "dev": true - }, "is-promise": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", @@ -10781,6 +15145,12 @@ "integrity": "sha1-B7bCM7w5TNnQK6FclmvWZg1jQtU=", "dev": true }, + "is-set": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.1.tgz", + "integrity": "sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA==", + "dev": true + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -10821,6 +15191,11 @@ "unc-path-regex": "^0.1.2" } }, + "is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" + }, "is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", @@ -10834,9 +15209,9 @@ "dev": true }, "is-whitespace-character": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.3.tgz", - "integrity": "sha512-SNPgMLz9JzPccD3nPctcj8sZlX9DAMJSKH8bP7Z6bohCwuNgX8xbWr1eTAYXX9Vpi/aSn8Y1akL9WgM3t43YNQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", + "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==", "dev": true }, "is-windows": { @@ -10846,9 +15221,9 @@ "dev": true }, "is-word-character": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.3.tgz", - "integrity": "sha512-0wfcrFgOOOBdgRNT9H33xe6Zi6yhX/uoc4U8NBZGeQQB0ctU1dnlNTyL9JM2646bHDTpsDm1Brb3VPoCIMrd/A==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", + "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==", "dev": true }, "is-wsl": { @@ -10857,6 +15232,16 @@ "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", "dev": true }, + "is2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is2/-/is2-2.0.1.tgz", + "integrity": "sha512-+WaJvnaA7aJySz2q/8sLjMb2Mw14KTplHmSwcSpZ/fWJPkUmqw3YTzSWbPJ7OAwRvdYTWF2Wg+yYJ1AdP5Z8CA==", + "requires": { + "deep-is": "^0.1.3", + "ip-regex": "^2.1.0", + "is-url": "^1.2.2" + } + }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -10868,6 +15253,12 @@ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, + "isnumeric": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/isnumeric/-/isnumeric-0.2.0.tgz", + "integrity": "sha1-ojR7o2DeGeM9D/1ZD933dVy/LmQ=", + "dev": true + }, "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", @@ -10882,6 +15273,18 @@ "requires": { "node-fetch": "^1.0.1", "whatwg-fetch": ">=0.10.0" + }, + "dependencies": { + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "dev": true, + "requires": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + } } }, "isstream": { @@ -11269,6 +15672,22 @@ "is-object": "^1.0.1" } }, + "iterate-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/iterate-iterator/-/iterate-iterator-1.0.1.tgz", + "integrity": "sha512-3Q6tudGN05kbkDQDI4CqjaBf4qf85w6W6GnuZDtUVYwKgtC1q8yxYX7CZed7N+tLzQqS6roujWvszf13T+n9aw==", + "dev": true + }, + "iterate-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/iterate-value/-/iterate-value-1.0.2.tgz", + "integrity": "sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==", + "dev": true, + "requires": { + "es-get-iterator": "^1.0.2", + "iterate-iterator": "^1.0.1" + } + }, "jest-docblock": { "version": "21.2.0", "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz", @@ -11276,30 +15695,43 @@ "dev": true }, "jest-worker": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", - "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.3.0.tgz", + "integrity": "sha512-Vmpn2F6IASefL+DVBhPzI2J9/GJUsqzomdeN+P+dK8/jKxbh8R3BtFnx3FIta7wYlPU62cpJMJQo4kuOowcMnw==", "dev": true, "requires": { + "@types/node": "*", "merge-stream": "^2.0.0", - "supports-color": "^6.1.0" + "supports-color": "^7.0.0" }, "dependencies": { + "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 + }, "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" } } } }, + "jpeg-js": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.3.7.tgz", + "integrity": "sha512-9IXdWudL61npZjvLuVe/ktHiA41iE8qFyLB+4VDTblEsWBzeg8WQTlktdUK4CdncUqtUgUg0bbOmTE2bKBKaBQ==", + "dev": true + }, "jquery": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.1.tgz", - "integrity": "sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.0.tgz", + "integrity": "sha512-Xb7SVYMvygPxbFMpTFQiHh1J7HClEaThguL15N/Gg37Lri/qKyhRGZYzHRyLH8Stq3Aow0LsHO2O2ci86fCrNQ==", "dev": true }, "jquery-ui": { @@ -11317,8 +15749,7 @@ "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { "version": "3.13.1", @@ -11433,8 +15864,7 @@ "json-buffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", - "dev": true + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" }, "json-edm-parser": { "version": "0.1.2", @@ -11444,6 +15874,12 @@ "jsonparse": "~1.2.0" } }, + "json-loader": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", + "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==", + "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", @@ -11554,138 +15990,42 @@ "verror": "1.10.0" } }, - "just-debounce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.0.0.tgz", - "integrity": "sha1-h/zPrv/AtozRnVX2cilD+SnqNeo=", - "dev": true - }, - "just-extend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.0.2.tgz", - "integrity": "sha512-FrLwOgm+iXrPV+5zDU6Jqu4gCRXbWEQg2O3SKONsWE4w7AXFRkryS53bpWdaL9cNol+AmR3AEYz6kn+o0fCPnw==", - "dev": true - }, - "keygrip": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz", - "integrity": "sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==", - "requires": { - "tsscmp": "1.0.6" - } - }, - "keyv": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", - "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", + "jsx-ast-utils": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz", + "integrity": "sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w==", "dev": true, "requires": { - "json-buffer": "3.0.0" + "array-includes": "^3.1.1", + "object.assign": "^4.1.0" } }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "just-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.0.0.tgz", + "integrity": "sha1-h/zPrv/AtozRnVX2cilD+SnqNeo=", "dev": true }, - "koa": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/koa/-/koa-2.11.0.tgz", - "integrity": "sha512-EpR9dElBTDlaDgyhDMiLkXrPwp6ZqgAIBvhhmxQ9XN4TFgW+gEz6tkcsNI6BnUbUftrKDjVFj4lW2/J2aNBMMA==", - "requires": { - "accepts": "^1.3.5", - "cache-content-type": "^1.0.0", - "content-disposition": "~0.5.2", - "content-type": "^1.0.4", - "cookies": "~0.8.0", - "debug": "~3.1.0", - "delegates": "^1.0.0", - "depd": "^1.1.2", - "destroy": "^1.0.4", - "encodeurl": "^1.0.2", - "error-inject": "^1.0.0", - "escape-html": "^1.0.3", - "fresh": "~0.5.2", - "http-assert": "^1.3.0", - "http-errors": "^1.6.3", - "is-generator-function": "^1.0.7", - "koa-compose": "^4.1.0", - "koa-convert": "^1.2.0", - "on-finished": "^2.3.0", - "only": "~0.0.2", - "parseurl": "^1.3.2", - "statuses": "^1.5.0", - "type-is": "^1.6.16", - "vary": "^1.1.2" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "koa-compose": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz", - "integrity": "sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==" - }, - "koa-compress": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/koa-compress/-/koa-compress-3.0.0.tgz", - "integrity": "sha512-xol+LkNB1mozKJkB5Kj6nYXbJXhkLkZlXl9BsGBPjujVfZ8MsIXwU4GHRTT7TlSfUcl2DU3JtC+j6wOWcovfuQ==", - "requires": { - "bytes": "^3.0.0", - "compressible": "^2.0.0", - "koa-is-json": "^1.0.0", - "statuses": "^1.0.0" - } - }, - "koa-convert": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/koa-convert/-/koa-convert-1.2.0.tgz", - "integrity": "sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA=", - "requires": { - "co": "^4.6.0", - "koa-compose": "^3.0.0" - }, - "dependencies": { - "koa-compose": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-3.2.1.tgz", - "integrity": "sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec=", - "requires": { - "any-promise": "^1.1.0" - } - } - } - }, - "koa-is-json": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/koa-is-json/-/koa-is-json-1.0.0.tgz", - "integrity": "sha1-JzwH7c3Ljfaiwat9We52SRRR7BQ=" + "just-extend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.0.2.tgz", + "integrity": "sha512-FrLwOgm+iXrPV+5zDU6Jqu4gCRXbWEQg2O3SKONsWE4w7AXFRkryS53bpWdaL9cNol+AmR3AEYz6kn+o0fCPnw==", + "dev": true }, - "koa-logger": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/koa-logger/-/koa-logger-3.2.1.tgz", - "integrity": "sha512-MjlznhLLKy9+kG8nAXKJLM0/ClsQp/Or2vI3a5rbSQmgl8IJBQO0KI5FA70BvW+hqjtxjp49SpH2E7okS6NmHg==", + "keyv": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", "requires": { - "bytes": "^3.1.0", - "chalk": "^2.4.2", - "humanize-number": "0.0.2", - "passthrough-counter": "^1.0.0" + "json-buffer": "3.0.0" } }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, "kuler": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/kuler/-/kuler-1.0.1.tgz", @@ -11700,6 +16040,21 @@ "integrity": "sha1-xsxaNA6N80DrM1YzaD6lm4KMMi0=", "dev": true }, + "language-subtag-registry": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.20.tgz", + "integrity": "sha512-KPMwROklF4tEx283Xw0pNKtfTj1gZ4UByp4EsIFWLgBavJltF4TiYPc39k06zSTsLzxTVXXDSpbwaQXaFB4Qeg==", + "dev": true + }, + "language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=", + "dev": true, + "requires": { + "language-subtag-registry": "~0.3.2" + } + }, "last-run": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", @@ -11893,15 +16248,6 @@ "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", "dev": true }, - "linkify-it": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.1.0.tgz", - "integrity": "sha512-4REs8/062kV2DSHxNfq5183zrqXMl7WP0WzABH9IeJI+NLm429FgE1PDecltYfnOoFDFlZGh2T8PfZn0r+GTRg==", - "dev": true, - "requires": { - "uc.micro": "^1.0.1" - } - }, "load-json-file": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", @@ -11971,9 +16317,9 @@ } }, "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", + "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==" }, "lodash-es": { "version": "4.17.15", @@ -11999,6 +16345,11 @@ "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", "dev": true }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" + }, "lodash.curry": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", @@ -12023,6 +16374,12 @@ "integrity": "sha1-yQRGkMIeBClL6qUXcS/e0fqI3pg=", "dev": true }, + "lodash.escaperegexp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", + "integrity": "sha1-ZHYsSGGAglGKw99Mz11YhtriA0c=", + "dev": true + }, "lodash.flatten": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", @@ -12059,6 +16416,24 @@ "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", "dev": true }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=", + "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.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", + "dev": true + }, "lodash.some": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", @@ -12108,13 +16483,19 @@ "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=", "dev": true }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, "log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", "dev": true, "requires": { - "chalk": "^2.0.1" + "chalk": "^2.4.2" } }, "log4js": { @@ -12151,16 +16532,6 @@ "triple-beam": "^1.3.0" } }, - "loglevelnext": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/loglevelnext/-/loglevelnext-1.0.5.tgz", - "integrity": "sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==", - "dev": true, - "requires": { - "es6-symbol": "^3.1.1", - "object.assign": "^4.1.0" - } - }, "lolex": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz", @@ -12174,7 +16545,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, "requires": { "js-tokens": "^3.0.0 || ^4.0.0" } @@ -12188,8 +16558,7 @@ "lowercase-keys": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" }, "lru-cache": { "version": "4.1.5", @@ -12279,23 +16648,16 @@ } }, "markdown-escapes": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.3.tgz", - "integrity": "sha512-XUi5HJhhV5R74k8/0H2oCbCiYf/u4cO/rX8tnGkRvrqhsr5BRNU6Mg0yt/8UIx1iIS8220BNJsDb7XnILhLepw==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", + "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==", "dev": true }, - "markdown-it": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", - "integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "entities": "~1.1.1", - "linkify-it": "^2.0.0", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - } + "marked": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.7.0.tgz", + "integrity": "sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg==", + "dev": true }, "martinez-polygon-clipping": { "version": "0.1.5", @@ -12348,10 +16710,10 @@ "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==", "dev": true }, - "math-random": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", - "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", + "math-expression-evaluator": { + "version": "1.2.22", + "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.22.tgz", + "integrity": "sha512-L0j0tFVZBQQLeEjmWOvDLoRciIY8gQGWahvkztXUal8jH8R5Rlqo9GCvgqvXcy9LQhEWdQCVvzqAbxgYNt4blQ==", "dev": true }, "md5": { @@ -12391,7 +16753,8 @@ "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true }, "mem": { "version": "4.3.0", @@ -12509,6 +16872,12 @@ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", "dev": true }, + "microevent.ts": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz", + "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==", + "dev": true + }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -12568,8 +16937,7 @@ "mimic-response": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" }, "min-document": { "version": "2.19.0", @@ -12600,14 +16968,15 @@ } }, "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "minipass": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "dev": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -12616,7 +16985,8 @@ "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true } } }, @@ -12630,9 +17000,9 @@ }, "dependencies": { "minipass": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.1.tgz", - "integrity": "sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", "dev": true, "requires": { "yallist": "^4.0.0" @@ -12656,9 +17026,9 @@ }, "dependencies": { "minipass": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.1.tgz", - "integrity": "sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", "dev": true, "requires": { "yallist": "^4.0.0" @@ -12673,18 +17043,18 @@ } }, "minipass-pipeline": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.2.tgz", - "integrity": "sha512-3JS5A2DKhD2g0Gg8x3yamO0pj7YeKGwVlDS90pF++kxptwx/F+B//roxf9SqYil5tQo65bijy+dAuAFZmYOouA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", "dev": true, "requires": { "minipass": "^3.0.0" }, "dependencies": { "minipass": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.1.tgz", - "integrity": "sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", "dev": true, "requires": { "yallist": "^4.0.0" @@ -12777,84 +17147,102 @@ } }, "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - } + "minimist": "^1.2.5" } }, "mocha": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.1.4.tgz", - "integrity": "sha512-PN8CIy4RXsIoxoFJzS4QNnCH4psUCPWc4/rPrst/ecSJJbLBkubMiyGCP2Kj/9YnWbotFqAoeXyXMucj7gwCFg==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.1.1.tgz", + "integrity": "sha512-p7FuGlYH8t7gaiodlFreseLxEmxTgvyG9RgPHODFPySNhwUehu8NIb0vdSt3WFckSneswZ0Un5typYcWElk7HQ==", "dev": true, "requires": { - "ansi-colors": "3.2.3", + "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", + "chokidar": "3.3.1", "debug": "3.2.6", - "diff": "3.5.0", + "diff": "4.0.2", "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", + "find-up": "4.1.0", + "glob": "7.1.6", "growl": "1.10.5", "he": "1.2.0", "js-yaml": "3.13.1", - "log-symbols": "2.2.0", + "log-symbols": "3.0.0", "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "ms": "2.1.1", - "node-environment-flags": "1.0.5", + "ms": "2.1.2", "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", + "promise.allsettled": "1.0.2", + "serialize-javascript": "4.0.0", + "strip-json-comments": "3.0.1", + "supports-color": "7.1.0", + "which": "2.0.2", "wide-align": "1.1.3", - "yargs": "13.2.2", - "yargs-parser": "13.0.0", - "yargs-unparser": "1.5.0" + "workerpool": "6.0.0", + "yargs": "13.3.2", + "yargs-parser": "13.1.2", + "yargs-unparser": "1.6.1" }, "dependencies": { "ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", + "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-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", "dev": true }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "chokidar": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz", + "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.3.0" + } + }, "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - } + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" } }, "debug": { @@ -12866,6 +17254,32 @@ "ms": "^2.1.1" } }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -12873,9 +17287,9 @@ "dev": true }, "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -12886,42 +17300,73 @@ "path-is-absolute": "^1.0.0" } }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "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 }, + "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, + "requires": { + "binary-extensions": "^2.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 }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "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 + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { - "invert-kv": "^2.0.0" + "p-locate": "^4.1.0" } }, - "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==", + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "readdirp": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz", + "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==", "dev": true, "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" + "picomatch": "^2.0.7" } }, "require-main-filename": { @@ -12930,6 +17375,15 @@ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -12939,41 +17393,39 @@ "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", "strip-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 - }, - "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" - } - } } }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "strip-json-comments": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", + "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "has-flag": "^4.0.0" } }, - "supports-color": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "is-number": "^7.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" } }, "which-module": { @@ -12982,29 +17434,75 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "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==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, "yargs": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.2.tgz", - "integrity": "sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA==", + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", "dev": true, "requires": { - "cliui": "^4.0.0", + "cliui": "^5.0.0", "find-up": "^3.0.0", "get-caller-file": "^2.0.1", - "os-locale": "^3.1.0", "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.0.0" + "yargs-parser": "^13.1.2" + }, + "dependencies": { + "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" + } + }, + "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 + } } }, "yargs-parser": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.0.0.tgz", - "integrity": "sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw==", + "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", @@ -13142,6 +17640,17 @@ "mkdirp": "^0.5.1", "rimraf": "^2.5.4", "run-queue": "^1.0.3" + }, + "dependencies": { + "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" + } + } } }, "move-file": { @@ -13272,6 +17781,12 @@ "to-regex": "^3.0.1" } }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, "ncp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", @@ -13322,7 +17837,8 @@ "negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true }, "neo-async": { "version": "2.6.1", @@ -13370,6 +17886,12 @@ "lower-case": "^1.1.1" } }, + "nocache": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/nocache/-/nocache-2.1.0.tgz", + "integrity": "sha512-0L9FvHG3nfnnmaEQPjT9xhfN4ISk0A8/2j4M37Np4mcDesJjHgEUfgPhdCyZuFI954tjokaIj/A3NdpFNdEh4Q==", + "dev": true + }, "nock": { "version": "10.0.6", "resolved": "https://registry.npmjs.org/nock/-/nock-10.0.6.tgz", @@ -13398,24 +17920,10 @@ } } }, - "node-environment-flags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz", - "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==", - "dev": true, - "requires": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" - } - }, "node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" - } + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" }, "node-gyp-build": { "version": "4.2.1", @@ -13563,6 +18071,15 @@ "abbrev": "1", "osenv": "^0.1.4" } + }, + "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" + } } } }, @@ -13616,6 +18133,12 @@ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, "normalize-url": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", @@ -13717,6 +18240,12 @@ "boolbase": "~1.0.0" } }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", @@ -13997,9 +18526,9 @@ } }, "yargs": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.1.0.tgz", - "integrity": "sha512-T39FNN1b6hCW4SOIk1XyTOWxtXdcen0t+XYrysQmChzSipvhBO8Bj0nK1ozAasdk24dNWuMZvr4k24nz+8HHLg==", + "version": "15.3.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", + "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", "dev": true, "requires": { "cliui": "^6.0.0", @@ -14012,13 +18541,13 @@ "string-width": "^4.2.0", "which-module": "^2.0.0", "y18n": "^4.0.0", - "yargs-parser": "^16.1.0" + "yargs-parser": "^18.1.1" } }, "yargs-parser": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", - "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, "requires": { "camelcase": "^5.0.0", @@ -14035,7 +18564,12 @@ "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-component": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", + "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", "dev": true }, "object-copy": { @@ -14184,16 +18718,6 @@ } } }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "dev": true, - "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" - } - }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", @@ -14240,6 +18764,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, "requires": { "ee-first": "1.1.1" } @@ -14257,6 +18782,12 @@ "resolved": "https://registry.npmjs.org/one-time/-/one-time-0.0.4.tgz", "integrity": "sha1-+M33eISCb+Tf+T46nMN7HkSAdC4=" }, + "onecolor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/onecolor/-/onecolor-3.1.0.tgz", + "integrity": "sha512-YZSypViXzu3ul5LMu/m6XjJ9ol8qAy9S2VjHl5E6UlhUH1KGKWabyEJifn0Jjpw23bYDzC2ucKMPGiH5kfwSGQ==", + "dev": true + }, "onetime": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", @@ -14282,11 +18813,6 @@ "lru-cache": "^4.1.1" } }, - "only": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/only/-/only-0.0.2.tgz", - "integrity": "sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q=" - }, "opener": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz", @@ -14302,50 +18828,246 @@ "is-wsl": "^1.1.0" } }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" + } + }, + "ordered-read-streams": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", + "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + }, + "dependencies": { + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "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" + } + } + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "dev": true, + "requires": { + "url-parse": "^1.4.3" + } + }, + "os": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/os/-/os-0.1.1.tgz", + "integrity": "sha1-IIhF6J4ZOtTZcUdLk5R3NqVtE/M=", + "dev": true + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "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-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "^1.0.0" + } + }, + "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=" + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-any": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-any/-/p-any-2.1.0.tgz", + "integrity": "sha512-JAERcaMBLYKMq+voYw36+x5Dgh47+/o7yuv2oQYuSSUml4YeqJEFznBrY2UeEkoSHqBua6hz518n/PsowTYLLg==", + "requires": { + "p-cancelable": "^2.0.0", + "p-some": "^4.0.0", + "type-fest": "^0.3.0" + }, + "dependencies": { + "p-cancelable": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.0.0.tgz", + "integrity": "sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg==" + }, + "type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==" + } + } + }, + "p-cancelable": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", + "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==", + "dev": true + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true + }, + "p-event": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz", + "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==", + "dev": true, + "requires": { + "p-timeout": "^2.0.1" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-is-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", + "dev": true + }, + "p-limit": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", + "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", + "dev": true, + "requires": { + "p-try": "^2.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" + } + }, + "p-map": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", + "dev": true + }, + "p-some": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-some/-/p-some-4.1.0.tgz", + "integrity": "sha512-MF/HIbq6GeBqTrTIl5OJubzkGU+qfFhAFi0gnTAK6rgEIJIknEiABHOTtQu4e6JiXjIwuMPMUFQzyHh5QjCl1g==", + "requires": { + "aggregate-error": "^3.0.0", + "p-cancelable": "^2.0.0" + }, + "dependencies": { + "p-cancelable": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.0.0.tgz", + "integrity": "sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg==" + } + } + }, + "p-timeout": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", "dev": true, "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - }, - "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - } + "p-finally": "^1.0.0" } }, - "optionator": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "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 + }, + "package-hash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", + "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", + "dev": true, "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" + "graceful-fs": "^4.1.15", + "hasha": "^5.0.0", + "lodash.flattendeep": "^4.4.0", + "release-zalgo": "^1.0.0" } }, - "ordered-read-streams": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", - "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" + }, + "parallel-transform": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", + "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", "dev": true, "requires": { - "readable-stream": "^2.0.1" + "cyclist": "~0.2.2", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" }, "dependencies": { "process-nextick-args": { @@ -14380,653 +19102,1221 @@ } } }, - "original": { + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + }, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + } + } + }, + "parse-asn1": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", + "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", + "dev": true, + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-cache-control": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", + "integrity": "sha1-juqz5U+laSD+Fro493+iGqzC104=", + "dev": true + }, + "parse-entities": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz", + "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==", + "dev": true, + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, + "parse-filepath": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", - "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "dev": true, + "requires": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "parse-semver": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/parse-semver/-/parse-semver-1.1.1.tgz", + "integrity": "sha1-mkr9bfBj3Egm+T+6SpnPIj9mbLg=", + "dev": true, + "requires": { + "semver": "^5.1.0" + } + }, + "parse5": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", + "dev": true + }, + "parseqs": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", + "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", + "dev": true, + "requires": { + "better-assert": "~1.0.0" + } + }, + "parseuri": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", + "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", + "dev": true, + "requires": { + "better-assert": "~1.0.0" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "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 + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "path-posix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/path-posix/-/path-posix-1.0.0.tgz", + "integrity": "sha1-BrJhE/Vr6rBCVFojv6iAA8ysJg8=" + }, + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "dev": true, + "requires": { + "path-root-regex": "^0.1.0" + } + }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", + "dev": true + }, + "path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "dev": true, + "requires": { + "isarray": "0.0.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + } + } + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "requires": { - "url-parse": "^1.4.3" + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } } }, - "os": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/os/-/os-0.1.1.tgz", - "integrity": "sha1-IIhF6J4ZOtTZcUdLk5R3NqVtE/M=", - "dev": true - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "pathval": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", + "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", "dev": true }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", "dev": true, "requires": { - "lcid": "^1.0.0" + "through": "~2.3" } }, - "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=" - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", "dev": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, - "output-file-sync": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-2.0.1.tgz", - "integrity": "sha512-mDho4qm7WgIXIGf4eYU1RHN2UU5tPfVYVSRwDJw0uTmj35DQUt/eNp19N7v6T3SrR0ESTEf2up2CGO73qI35zQ==", - "dev": true, + "pdfkit": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/pdfkit/-/pdfkit-0.11.0.tgz", + "integrity": "sha512-1s9gaumXkYxcVF1iRtSmLiISF2r4nHtsTgpwXiK8Swe+xwk/1pm8FJjYqN7L3x13NsWnGyUFntWcO8vfqq+wwA==", "requires": { - "graceful-fs": "^4.1.11", - "is-plain-obj": "^1.1.0", - "mkdirp": "^0.5.1" + "crypto-js": "^3.1.9-1", + "fontkit": "^1.8.0", + "linebreak": "^1.0.2", + "png-js": "^1.0.0" } }, - "p-cancelable": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", - "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==", + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", "dev": true }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", "dev": true }, - "p-event": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz", - "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==", - "dev": true, - "requires": { - "p-timeout": "^2.0.1" - } + "pidusage": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pidusage/-/pidusage-1.2.0.tgz", + "integrity": "sha512-OGo+iSOk44HRJ8q15AyG570UYxcm5u+R99DI8Khu8P3tKGkVu5EZX4ywHglWSTMNNXQ274oeGpYrvFEhDIFGPg==" }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true }, - "p-is-promise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", - "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", "dev": true }, - "p-limit": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", - "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "p-try": "^2.0.0" + "pinkie": "^2.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==", + "pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", "dev": true, "requires": { - "p-limit": "^2.0.0" + "node-modules-regexp": "^1.0.0" } }, - "p-map": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", - "dev": true - }, - "p-timeout": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", - "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "pixrem": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pixrem/-/pixrem-4.0.1.tgz", + "integrity": "sha1-LaSh3m7EQjxfw3lOkwuB1EkOxoY=", "dev": true, "requires": { - "p-finally": "^1.0.0" + "browserslist": "^2.0.0", + "postcss": "^6.0.0", + "reduce-css-calc": "^1.2.7" + }, + "dependencies": { + "browserslist": { + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz", + "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30000792", + "electron-to-chromium": "^1.3.30" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.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 - }, - "package-hash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dev": true, "requires": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" + "find-up": "^3.0.0" } }, - "pako": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" + "playwright-chromium": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/playwright-chromium/-/playwright-chromium-0.13.0.tgz", + "integrity": "sha512-Ex9y563Vn8cnoBgMOcYLGdAVVC1xrBk/aWZ66AmOD77lk6v0x0cthLcbPX9h+tfkcWCFQQz1OWQR6V3+c3KUFA==", + "dev": true, + "requires": { + "playwright-core": "=0.13.0" + } }, - "parallel-transform": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", - "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "playwright-core": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-0.13.0.tgz", + "integrity": "sha512-bH9cOQhmbdXJnHX22PRZ79IdXv5wmLc9tHob2PmkT5qFilopT3INAIJcKkaLN1E/GqIDp0xGdB88Vr5f86g8pQ==", "dev": true, "requires": { - "cyclist": "~0.2.2", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" + "debug": "^4.1.0", + "extract-zip": "^2.0.0", + "https-proxy-agent": "^3.0.0", + "jpeg-js": "^0.3.6", + "mime": "^2.4.4", + "pngjs": "^3.4.0", + "progress": "^2.0.3", + "proxy-from-env": "^1.1.0", + "rimraf": "^3.0.2", + "ws": "^6.1.0" }, "dependencies": { - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "extract-zip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.0.tgz", + "integrity": "sha512-i42GQ498yibjdvIhivUsRslx608whtGoFIhF26Z7O4MYncBxp8CwalOs1lnHy21A9sIohWO2+uiE4SRtC9JXDg==", "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" + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" } }, - "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==", + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "https-proxy-agent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz", + "integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==", + "dev": true, + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } } } }, - "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "please-upgrade-node": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz", + "integrity": "sha512-KY1uHnQ2NlQHqIJQpnh/i54rKkuxCEBx+voJIS/Mvb+L2iYd2NMotwduhKTMjfC1uKoX3VXOxLjIYG66dfJTVQ==", "dev": true, "requires": { - "no-case": "^2.2.0" + "semver-compare": "^1.0.0" } }, - "parse-asn1": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", - "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", + "pleeease-filters": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pleeease-filters/-/pleeease-filters-4.0.0.tgz", + "integrity": "sha1-ZjKy+wVkjSdY2GU4T7zteeHMrsc=", "dev": true, "requires": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" + "onecolor": "^3.0.4", + "postcss": "^6.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } } }, - "parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha1-juqz5U+laSD+Fro493+iGqzC104=", + "plotly.js-dist": { + "version": "1.55.2", + "resolved": "https://registry.npmjs.org/plotly.js-dist/-/plotly.js-dist-1.55.2.tgz", + "integrity": "sha512-1QBBIPnh/G+8w9h/6pr7DQGm3t/XZptskUxJQsqTJJ1uth4xsDj2ltkmzujI5cG4lZadurJnfrJbFof+LHiyHg==", "dev": true }, - "parse-entities": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz", - "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==", - "dev": true, - "requires": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - } - }, - "parse-filepath": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", - "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", - "dev": true, - "requires": { - "is-absolute": "^1.0.0", - "map-cache": "^0.2.0", - "path-root": "^0.1.1" - } - }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "plugin-error": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", + "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", "dev": true, "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" + "ansi-cyan": "^0.1.1", + "ansi-red": "^0.1.1", + "arr-diff": "^1.0.1", + "arr-union": "^2.0.1", + "extend-shallow": "^1.1.2" }, "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "arr-diff": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", + "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1", + "array-slice": "^0.2.3" + } + }, + "arr-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", + "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", "dev": true }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "array-slice": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", + "dev": true + }, + "extend-shallow": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", + "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "kind-of": "^1.1.0" } + }, + "kind-of": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", + "dev": true } } }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "parse-node-version": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", "dev": true }, - "parse-passwd": { + "png-js": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "resolved": "https://registry.npmjs.org/png-js/-/png-js-1.0.0.tgz", + "integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g==" + }, + "pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", "dev": true }, - "parse-semver": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/parse-semver/-/parse-semver-1.1.1.tgz", - "integrity": "sha1-mkr9bfBj3Egm+T+6SpnPIj9mbLg=", + "polygon-offset": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/polygon-offset/-/polygon-offset-0.3.1.tgz", + "integrity": "sha1-aaZWXwsn+na1Jw1cB5sLosjwu6M=", "dev": true, "requires": { - "semver": "^5.1.0" + "martinez-polygon-clipping": "^0.1.5" } }, - "parse5": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", - "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", + "popper.js": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.0.tgz", + "integrity": "sha512-+G+EkOPoE5S/zChTpmBSSDYmhXJ5PsW8eMhH8cP/CQHMFPBG/kC9Y5IIw6qNYgdJ+/COf0ddY2li28iHaZRSjw==", "dev": true }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + "portfinder": { + "version": "1.0.25", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz", + "integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==", + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.1" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + } + } }, - "pascalcase": { + "posix-character-classes": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "passthrough-counter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/passthrough-counter/-/passthrough-counter-1.0.0.tgz", - "integrity": "sha1-GWfZ5m2lcrXAI8eH2xEqOHqxZvo=" - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", "dev": true }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "postcss": { + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.27.tgz", + "integrity": "sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true + "postcss-apply": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/postcss-apply/-/postcss-apply-0.8.0.tgz", + "integrity": "sha1-FOVEu7XLbxweBIhXll15rgZrE0M=", + "dev": true, + "requires": { + "babel-runtime": "^6.23.0", + "balanced-match": "^0.4.2", + "postcss": "^6.0.0" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } + } }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true + "postcss-attribute-case-insensitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-2.0.0.tgz", + "integrity": "sha1-lNxCLI+QmX8WvTOjZUu77AhJY7Q=", + "dev": true, + "requires": { + "postcss": "^6.0.0", + "postcss-selector-parser": "^2.2.3" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } + } }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + "postcss-calc": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-6.0.2.tgz", + "integrity": "sha512-fiznXjEN5T42Qm7qqMCVJXS3roaj9r4xsSi+meaBVe7CJBl8t/QLOXu02Z2E6oWAMWIvCuF6JrvzFekmVEbOKA==", + "dev": true, + "requires": { + "css-unit-converter": "^1.1.1", + "postcss": "^7.0.2", + "postcss-selector-parser": "^2.2.2", + "reduce-css-calc": "^2.0.0" + }, + "dependencies": { + "reduce-css-calc": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.7.tgz", + "integrity": "sha512-fDnlZ+AybAS3C7Q9xDq5y8A2z+lT63zLbynew/lur/IR24OQF5x98tfNwf79mzEdfywZ0a2wpM860FhFfMxZlA==", + "dev": true, + "requires": { + "css-unit-converter": "^1.1.1", + "postcss-value-parser": "^3.3.0" + } + } + } }, - "path-posix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/path-posix/-/path-posix-1.0.0.tgz", - "integrity": "sha1-BrJhE/Vr6rBCVFojv6iAA8ysJg8=" + "postcss-color-function": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-color-function/-/postcss-color-function-4.1.0.tgz", + "integrity": "sha512-2/fuv6mP5Lt03XbRpVfMdGC8lRP1sykme+H1bR4ARyOmSMB8LPSjcL6EAI1iX6dqUF+jNEvKIVVXhan1w/oFDQ==", + "dev": true, + "requires": { + "css-color-function": "~1.3.3", + "postcss": "^6.0.23", + "postcss-message-helpers": "^2.0.0", + "postcss-value-parser": "^3.3.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } + } }, - "path-root": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", - "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "postcss-color-gray": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-4.1.0.tgz", + "integrity": "sha512-L4iLKQLdqChz6ZOgGb6dRxkBNw78JFYcJmBz1orHpZoeLtuhDDGegRtX9gSyfoCIM7rWZ3VNOyiqqvk83BEN+w==", "dev": true, "requires": { - "path-root-regex": "^0.1.0" + "color": "^2.0.1", + "postcss": "^6.0.14", + "postcss-message-helpers": "^2.0.0", + "reduce-function-call": "^1.0.2" + }, + "dependencies": { + "color": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color/-/color-2.0.1.tgz", + "integrity": "sha512-ubUCVVKfT7r2w2D3qtHakj8mbmKms+tThR8gI8zEYCbUBl8/voqFGt3kgBqGwXAopgXybnkuOq+qMYCRrp4cXw==", + "dev": true, + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.2" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } } }, - "path-root-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", - "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", - "dev": true + "postcss-color-hex-alpha": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-3.0.0.tgz", + "integrity": "sha1-HlPmyKyyN5Vej9CLfs2xuLgwn5U=", + "dev": true, + "requires": { + "color": "^1.0.3", + "postcss": "^6.0.1", + "postcss-message-helpers": "^2.0.0" + }, + "dependencies": { + "color": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/color/-/color-1.0.3.tgz", + "integrity": "sha1-5I6DLYXxTvaU+0aIEcLVz+cptV0=", + "dev": true, + "requires": { + "color-convert": "^1.8.2", + "color-string": "^1.4.0" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } + } }, - "path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "postcss-color-hsl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-hsl/-/postcss-color-hsl-2.0.0.tgz", + "integrity": "sha1-EnA2ZvoxBDDj8wpFTawThjF9WEQ=", "dev": true, "requires": { - "isarray": "0.0.1" + "postcss": "^6.0.1", + "postcss-value-parser": "^3.3.0", + "units-css": "^0.4.0" }, "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } } } }, - "path-type": { + "postcss-color-hwb": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "resolved": "https://registry.npmjs.org/postcss-color-hwb/-/postcss-color-hwb-3.0.0.tgz", + "integrity": "sha1-NAKxnvTYSXVAwftQcr6YY8qVVx4=", "dev": true, "requires": { - "pify": "^3.0.0" + "color": "^1.0.3", + "postcss": "^6.0.1", + "postcss-message-helpers": "^2.0.0", + "reduce-function-call": "^1.0.2" }, "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true + "color": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/color/-/color-1.0.3.tgz", + "integrity": "sha1-5I6DLYXxTvaU+0aIEcLVz+cptV0=", + "dev": true, + "requires": { + "color-convert": "^1.8.2", + "color-string": "^1.4.0" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } } } }, - "pathval": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", - "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", - "dev": true - }, - "pause-stream": { - "version": "0.0.11", - "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", - "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "postcss-color-rebeccapurple": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-3.1.0.tgz", + "integrity": "sha512-212hJUk9uSsbwO5ECqVjmh/iLsmiVL1xy9ce9TVf+X3cK/ZlUIlaMdoxje/YpsL9cmUH3I7io+/G2LyWx5rg1g==", "dev": true, "requires": { - "through": "~2.3" + "postcss": "^6.0.22", + "postcss-values-parser": "^1.5.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } } }, - "pbkdf2": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", - "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "postcss-color-rgb": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-rgb/-/postcss-color-rgb-2.0.0.tgz", + "integrity": "sha1-FFOcinExSUtILg3RzCZf9lFLUmM=", "dev": true, "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "postcss": "^6.0.1", + "postcss-value-parser": "^3.3.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } } }, - "pdfkit": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/pdfkit/-/pdfkit-0.11.0.tgz", - "integrity": "sha512-1s9gaumXkYxcVF1iRtSmLiISF2r4nHtsTgpwXiK8Swe+xwk/1pm8FJjYqN7L3x13NsWnGyUFntWcO8vfqq+wwA==", + "postcss-color-rgba-fallback": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-rgba-fallback/-/postcss-color-rgba-fallback-3.0.0.tgz", + "integrity": "sha1-N9XJNToHoJJwkSqCYGu0Kg1wLAQ=", + "dev": true, "requires": { - "crypto-js": "^3.1.9-1", - "fontkit": "^1.8.0", - "linebreak": "^1.0.2", - "png-js": "^1.0.0" + "postcss": "^6.0.6", + "postcss-value-parser": "^3.3.0", + "rgb-hex": "^2.1.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } } }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", - "dev": true + "postcss-cssnext": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-cssnext/-/postcss-cssnext-3.1.0.tgz", + "integrity": "sha512-awPDhI4OKetcHCr560iVCoDuP6e/vn0r6EAqdWPpAavJMvkBSZ6kDpSN4b3mB3Ti57hQMunHHM8Wvx9PeuYXtA==", + "dev": true, + "requires": { + "autoprefixer": "^7.1.1", + "caniuse-api": "^2.0.0", + "chalk": "^2.0.1", + "pixrem": "^4.0.0", + "pleeease-filters": "^4.0.0", + "postcss": "^6.0.5", + "postcss-apply": "^0.8.0", + "postcss-attribute-case-insensitive": "^2.0.0", + "postcss-calc": "^6.0.0", + "postcss-color-function": "^4.0.0", + "postcss-color-gray": "^4.0.0", + "postcss-color-hex-alpha": "^3.0.0", + "postcss-color-hsl": "^2.0.0", + "postcss-color-hwb": "^3.0.0", + "postcss-color-rebeccapurple": "^3.0.0", + "postcss-color-rgb": "^2.0.0", + "postcss-color-rgba-fallback": "^3.0.0", + "postcss-custom-media": "^6.0.0", + "postcss-custom-properties": "^6.1.0", + "postcss-custom-selectors": "^4.0.1", + "postcss-font-family-system-ui": "^3.0.0", + "postcss-font-variant": "^3.0.0", + "postcss-image-set-polyfill": "^0.3.5", + "postcss-initial": "^2.0.0", + "postcss-media-minmax": "^3.0.0", + "postcss-nesting": "^4.0.1", + "postcss-pseudo-class-any-link": "^4.0.0", + "postcss-pseudoelements": "^5.0.0", + "postcss-replace-overflow-wrap": "^2.0.0", + "postcss-selector-matches": "^3.0.1", + "postcss-selector-not": "^3.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } + } }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + "postcss-custom-media": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-6.0.0.tgz", + "integrity": "sha1-vlMnhBEOyylQRPtTlaGABushpzc=", + "dev": true, + "requires": { + "postcss": "^6.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } + } }, - "pidusage": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pidusage/-/pidusage-1.2.0.tgz", - "integrity": "sha512-OGo+iSOk44HRJ8q15AyG570UYxcm5u+R99DI8Khu8P3tKGkVu5EZX4ywHglWSTMNNXQ274oeGpYrvFEhDIFGPg==" + "postcss-custom-properties": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-6.3.1.tgz", + "integrity": "sha512-zoiwn4sCiUFbr4KcgcNZLFkR6gVQom647L+z1p/KBVHZ1OYwT87apnS42atJtx6XlX2yI7N5fjXbFixShQO2QQ==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "postcss": "^6.0.18" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } + } }, - "pify": { + "postcss-custom-selectors": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-4.0.1.tgz", + "integrity": "sha1-eBOC+UxS5yfvXKR3bqKt9JphE4I=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "postcss": "^6.0.1", + "postcss-selector-matches": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } } }, - "pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "postcss-font-family-system-ui": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-family-system-ui/-/postcss-font-family-system-ui-3.0.0.tgz", + "integrity": "sha512-58G/hTxMSSKlIRpcPUjlyo6hV2MEzvcVO2m4L/T7Bb2fJTG4DYYfQjQeRvuimKQh1V1sOzCIz99g+H2aFNtlQw==", "dev": true, "requires": { - "node-modules-regexp": "^1.0.0" + "postcss": "^6.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } } }, - "pkg-dir": { + "postcss-font-variant": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-3.0.0.tgz", + "integrity": "sha1-CMzIj2BQuoLtjvLMdsDGprQfGD4=", "dev": true, "requires": { - "find-up": "^3.0.0" + "postcss": "^6.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } + } + }, + "postcss-image-set-polyfill": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/postcss-image-set-polyfill/-/postcss-image-set-polyfill-0.3.5.tgz", + "integrity": "sha1-Dxk0E3AM8fgr05Bm7wFtZaShgYE=", + "dev": true, + "requires": { + "postcss": "^6.0.1", + "postcss-media-query-parser": "^0.2.3" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } } }, - "please-upgrade-node": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz", - "integrity": "sha512-KY1uHnQ2NlQHqIJQpnh/i54rKkuxCEBx+voJIS/Mvb+L2iYd2NMotwduhKTMjfC1uKoX3VXOxLjIYG66dfJTVQ==", + "postcss-import": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-12.0.1.tgz", + "integrity": "sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw==", "dev": true, "requires": { - "semver-compare": "^1.0.0" + "postcss": "^7.0.1", + "postcss-value-parser": "^3.2.3", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" } }, - "plotly.js-dist": { - "version": "1.51.1", - "resolved": "https://registry.npmjs.org/plotly.js-dist/-/plotly.js-dist-1.51.1.tgz", - "integrity": "sha512-YUIyji1qj42DMjSuKI/yIE9ryXrCfCoF++Db732s9nK4oVFE6T1Gq6+hYE0rkLpezi+3j6W9e5wrLhI2AL6j7A==", - "dev": true - }, - "plugin-error": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", - "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", + "postcss-initial": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-2.0.0.tgz", + "integrity": "sha1-cnFfczbgu3k1HZnuZcSiU6hEG6Q=", "dev": true, "requires": { - "ansi-cyan": "^0.1.1", - "ansi-red": "^0.1.1", - "arr-diff": "^1.0.1", - "arr-union": "^2.0.1", - "extend-shallow": "^1.1.2" + "lodash.template": "^4.2.4", + "postcss": "^6.0.1" }, "dependencies": { - "arr-diff": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", - "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", - "dev": true, - "requires": { - "arr-flatten": "^1.0.1", - "array-slice": "^0.2.3" - } - }, - "arr-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", - "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", - "dev": true - }, - "array-slice": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", - "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", - "dev": true - }, - "extend-shallow": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", - "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "dev": true, "requires": { - "kind-of": "^1.1.0" + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" } - }, - "kind-of": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", - "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", - "dev": true } } }, - "pn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", - "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", - "dev": true - }, - "png-js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/png-js/-/png-js-1.0.0.tgz", - "integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g==" - }, - "polygon-offset": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/polygon-offset/-/polygon-offset-0.3.1.tgz", - "integrity": "sha1-aaZWXwsn+na1Jw1cB5sLosjwu6M=", + "postcss-load-config": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz", + "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==", "dev": true, "requires": { - "martinez-polygon-clipping": "^0.1.5" + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" } }, - "popper.js": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.0.tgz", - "integrity": "sha512-+G+EkOPoE5S/zChTpmBSSDYmhXJ5PsW8eMhH8cP/CQHMFPBG/kC9Y5IIw6qNYgdJ+/COf0ddY2li28iHaZRSjw==", - "dev": true + "postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + } }, - "portfinder": { - "version": "1.0.25", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz", - "integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==", + "postcss-media-minmax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-3.0.0.tgz", + "integrity": "sha1-Z1JWA3pD70C8Twdgv9BtTcadSNI=", + "dev": true, "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.1" + "postcss": "^6.0.1" }, "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, "requires": { - "ms": "^2.1.1" + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" } } } }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=", "dev": true }, - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } + "postcss-message-helpers": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", + "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=", + "dev": true }, "postcss-modules-extract-imports": { "version": "1.2.1", @@ -15035,6 +20325,19 @@ "dev": true, "requires": { "postcss": "^6.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } } }, "postcss-modules-local-by-default": { @@ -15045,6 +20348,19 @@ "requires": { "css-selector-tokenizer": "^0.7.0", "postcss": "^6.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } } }, "postcss-modules-scope": { @@ -15055,6 +20371,19 @@ "requires": { "css-selector-tokenizer": "^0.7.0", "postcss": "^6.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } } }, "postcss-modules-values": { @@ -15065,6 +20394,177 @@ "requires": { "icss-replace-symbols": "^1.1.0", "postcss": "^6.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } + } + }, + "postcss-nesting": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-4.2.1.tgz", + "integrity": "sha512-IkyWXICwagCnlaviRexi7qOdwPw3+xVVjgFfGsxmztvRVaNxAlrypOIKqDE5mxY+BVxnId1rnUKBRQoNE2VDaA==", + "dev": true, + "requires": { + "postcss": "^6.0.11" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } + } + }, + "postcss-pseudo-class-any-link": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-4.0.0.tgz", + "integrity": "sha1-kVKgYT00UHIFE+iJKFS65C0O5o4=", + "dev": true, + "requires": { + "postcss": "^6.0.1", + "postcss-selector-parser": "^2.2.3" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } + } + }, + "postcss-pseudoelements": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-pseudoelements/-/postcss-pseudoelements-5.0.0.tgz", + "integrity": "sha1-7vGU6NUkZFylIKlJ6V5RjoEkAss=", + "dev": true, + "requires": { + "postcss": "^6.0.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } + } + }, + "postcss-replace-overflow-wrap": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-2.0.0.tgz", + "integrity": "sha1-eU22+qVPjbEAhUOSqTr0V2i04ls=", + "dev": true, + "requires": { + "postcss": "^6.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } + } + }, + "postcss-selector-matches": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-3.0.1.tgz", + "integrity": "sha1-5WNAEeE5UIgYYbvdWMLQER/8lqs=", + "dev": true, + "requires": { + "balanced-match": "^0.4.2", + "postcss": "^6.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } + } + }, + "postcss-selector-not": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-3.0.1.tgz", + "integrity": "sha1-Lk2y8JZTNsAefOx9tsYN/3ZzNdk=", + "dev": true, + "requires": { + "balanced-match": "^0.4.2", + "postcss": "^6.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } + } + }, + "postcss-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", + "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", + "dev": true, + "requires": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" } }, "postcss-value-parser": { @@ -15073,6 +20573,17 @@ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true }, + "postcss-values-parser": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-1.5.0.tgz", + "integrity": "sha512-3M3p+2gMp0AH3da530TlX8kiO1nxdTnc3C6vr8dMxRLIlh8UYkz0/wcwptSXjhtx2Fr0TySI7a+BHDQ8NL7LaQ==", + "dev": true, + "requires": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, "postinstall-build": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/postinstall-build/-/postinstall-build-5.0.3.tgz", @@ -15087,19 +20598,12 @@ "prepend-http": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "dev": true - }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", - "dev": true + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" }, "prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.0.2.tgz", + "integrity": "sha512-5xJQIPT8BraI7ZnaDwSbu5zLrB6vvi8hVV58yHQ+QK64qrY40dULy0HSRlQ2/2IdzeBpjhDkqdcFBnFeDEMVdg==", "dev": true }, "prettier-linter-helpers": { @@ -15180,17 +20684,88 @@ "asap": "~2.0.3" } }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "promise.allsettled": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/promise.allsettled/-/promise.allsettled-1.0.2.tgz", + "integrity": "sha512-UpcYW5S1RaNKT6pd+s9jp9K9rlQge1UXKskec0j6Mmuq7UJCvlS2J2/s/yuPN8ehftf9HXMxWlKiPbGGUzpoRg==", + "dev": true, + "requires": { + "array.prototype.map": "^1.0.1", + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "iterate-value": "^1.0.0" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true + } + } + }, "prop-types": { "version": "15.7.2", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "dev": true, "requires": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -15230,6 +20805,12 @@ "ipaddr.js": "1.9.0" } }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", @@ -15260,6 +20841,115 @@ "safe-buffer": "^5.1.2" } }, + "public-ip": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/public-ip/-/public-ip-3.2.0.tgz", + "integrity": "sha512-DBq4o955zhrhESG4z6GkLN9mtY9NT/JOjEV8pvnYy3bjVQOQF0J5lJNwWLbEWwNstyNFJlY7JxCPFq4bdXSabw==", + "requires": { + "dns-socket": "^4.2.0", + "got": "^9.6.0", + "is-ip": "^3.1.0" + }, + "dependencies": { + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + } + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + }, + "ip-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.1.0.tgz", + "integrity": "sha512-pKnZpbgCTfH/1NLIlOduP/V+WRXzC2MOz3Qo8xmxk8C5GudJLgK5QyLVXOSWy3ParAH7Eemurl3xjv/WXYFvMA==" + }, + "is-ip": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", + "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", + "requires": { + "ip-regex": "^4.0.0" + } + }, + "normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, "pump": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", @@ -15360,9 +21050,9 @@ "dev": true }, "ramda": { - "version": "0.26.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz", - "integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.27.0.tgz", + "integrity": "sha512-pVzZdDpWwWqEVVLshWUHjNwuVP7SfcmPraYuqocJp1yo2U1R7P+5QAfDhdItkuoGqIBnBYrtPp7rEPqDn9HlZA==", "dev": true }, "randexp": { @@ -15375,25 +21065,6 @@ "ret": "~0.1.10" } }, - "randomatic": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", - "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", - "dev": true, - "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true - } - } - }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -15649,6 +21320,15 @@ "scheduler": "^0.13.6" } }, + "react-draggable": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/react-draggable/-/react-draggable-4.4.2.tgz", + "integrity": "sha512-zLQs4R4bnBCGnCVTZiD8hPsHtkiJxgMpGDlRESM+EHQo8ysXhKJ2GKdJ8UxxLJdRVceX1j19jy+hQS2wHislPQ==", + "requires": { + "classnames": "^2.2.5", + "prop-types": "^15.6.0" + } + }, "react-error-overlay": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-4.0.1.tgz", @@ -15708,14 +21388,15 @@ "dev": true }, "react-markdown": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-4.1.0.tgz", - "integrity": "sha512-EOHsEAN+aoP8UVz7vTHx6Z63GJfhrO9KItKlfsiBtVVS9tmSWtUaBTw73+2SObrWiOiE2Cs9qUBL7ORsvVhOrA==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-4.3.1.tgz", + "integrity": "sha512-HQlWFTbDxTtNY6bjgp3C3uv1h2xcjCSi1zAEzfBW9OwJJvENSYiLXWNXN5hHLsoqai7RnZiiHzcnWdXk2Splzw==", "dev": true, "requires": { "html-to-react": "^1.3.4", "mdast-add-list-metadata": "1.0.1", "prop-types": "^15.7.2", + "react-is": "^16.8.6", "remark-parse": "^5.0.0", "unified": "^6.1.5", "unist-util-visit": "^1.3.0", @@ -15914,6 +21595,23 @@ "mute-stream": "~0.0.4" } }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "dev": true, + "requires": { + "pify": "^2.3.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, "read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", @@ -16057,6 +21755,34 @@ } } }, + "reduce-css-calc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", + "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", + "dev": true, + "requires": { + "balanced-match": "^0.4.2", + "math-expression-evaluator": "^1.2.14", + "reduce-function-call": "^1.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + } + } + }, + "reduce-function-call": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.3.tgz", + "integrity": "sha512-Hl/tuV2VDgWgCSEeWMLwxLZqX7OK59eU1guxXsRKTAyeYimivsKdtcV4fu3r710tpG5GmDKDhQ0HSZLExnNmyQ==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, "redux": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.4.tgz", @@ -16124,15 +21850,6 @@ "private": "^0.1.6" } }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", - "dev": true, - "requires": { - "is-equal-shallow": "^0.1.3" - } - }, "regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", @@ -16218,6 +21935,12 @@ } } }, + "regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true + }, "regexpu-core": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.4.tgz", @@ -16498,6 +22221,12 @@ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", "dev": true }, + "requirejs": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz", + "integrity": "sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==", + "dev": true + }, "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -16561,7 +22290,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "dev": true, "requires": { "lowercase-keys": "^1.0.0" } @@ -16611,10 +22339,22 @@ "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.4.tgz", "integrity": "sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug==" }, + "rgb": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/rgb/-/rgb-0.1.0.tgz", + "integrity": "sha1-vieykej+/+rBvZlylyG/pA/AN7U=", + "dev": true + }, + "rgb-hex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/rgb-hex/-/rgb-hex-2.1.0.tgz", + "integrity": "sha1-x3PF/iJoolV42SU5qCp6XOU77aY=", + "dev": true + }, "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { "glob": "^7.1.3" @@ -16695,13 +22435,18 @@ } }, "rxjs": { - "version": "5.5.12", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz", - "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", + "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", "requires": { - "symbol-observable": "1.0.1" + "tslib": "^1.9.0" } }, + "rxjs-compat": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs-compat/-/rxjs-compat-6.5.4.tgz", + "integrity": "sha512-rkn+lbOHUQOurdd74J/hjmDsG9nFx0z66fvnbs8M95nrtKvNqCKdk7iZqdY51CGmDemTQk+kUPy4s8HVOHtkfA==" + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -16721,6 +22466,32 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "sanitize-filename": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", + "requires": { + "truncate-utf8-bytes": "^1.0.0" + } + }, + "sanitize-html": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.20.1.tgz", + "integrity": "sha512-txnH8TQjaQvg2Q0HY06G6CDJLVYCpbnxrdO0WN8gjCKaU5J0KbyGYhZxx5QJg3WLZ1lB7XU9kDkfrCXUozqptA==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "htmlparser2": "^3.10.0", + "lodash.clonedeep": "^4.5.0", + "lodash.escaperegexp": "^4.1.2", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.mergewith": "^4.6.1", + "postcss": "^7.0.5", + "srcset": "^1.0.0", + "xtend": "^4.0.1" + } + }, "sass-loader": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.1.0.tgz", @@ -16974,10 +22745,13 @@ } }, "serialize-javascript": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", - "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", - "dev": true + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", + "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } }, "serve-static": { "version": "1.14.1", @@ -17029,7 +22803,8 @@ "setprototypeof": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true }, "sha.js": { "version": "2.4.11", @@ -17106,6 +22881,11 @@ } } }, + "shimmer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", + "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==" + }, "shortid": { "version": "2.2.14", "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.14.tgz", @@ -17115,6 +22895,76 @@ "nanoid": "^2.0.0" } }, + "side-channel": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.3.tgz", + "integrity": "sha512-A6+ByhlLkksFoUepsGxfj5x1gTSrs+OydsRptUxeNCabQpCFUvcwIczgOigI8vhY/OJCnPnyE9rGiwgvr9cS1g==", + "dev": true, + "requires": { + "es-abstract": "^1.18.0-next.0", + "object-inspect": "^1.8.0" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.0.tgz", + "integrity": "sha512-elZXTZXKn51hUBdJjSZGYRujuzilgXo8vSPQzjGYXLvSlGiCo8VO8ZGV3kjo9a0WNJJ57hENagwbtlRuHuzkcQ==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true + } + } + }, "sigmund": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", @@ -17213,12 +23063,31 @@ } } }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true - }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + } + } + }, "slickgrid": { "version": "2.4.17", "resolved": "https://registry.npmjs.org/slickgrid/-/slickgrid-2.4.17.tgz", @@ -17342,6 +23211,144 @@ } } }, + "socket.io": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.3.0.tgz", + "integrity": "sha512-2A892lrj0GcgR/9Qk81EaY2gYhCBxurV0PfmmESO6p27QPrUK1J3zdns+5QPqvUYK2q657nSj0guoIil9+7eFg==", + "dev": true, + "requires": { + "debug": "~4.1.0", + "engine.io": "~3.4.0", + "has-binary2": "~1.0.2", + "socket.io-adapter": "~1.1.0", + "socket.io-client": "2.3.0", + "socket.io-parser": "~3.4.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "socket.io-adapter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz", + "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==", + "dev": true + }, + "socket.io-client": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.3.0.tgz", + "integrity": "sha512-cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==", + "dev": true, + "requires": { + "backo2": "1.0.2", + "base64-arraybuffer": "0.1.5", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "~4.1.0", + "engine.io-client": "~3.4.0", + "has-binary2": "~1.0.2", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "socket.io-parser": "~3.3.0", + "to-array": "0.1.4" + }, + "dependencies": { + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", + "dev": true + }, + "socket.io-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.0.tgz", + "integrity": "sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==", + "dev": true, + "requires": { + "component-emitter": "1.2.1", + "debug": "~3.1.0", + "isarray": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + } + } + }, + "socket.io-parser": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.0.tgz", + "integrity": "sha512-/G/VOI+3DBp0+DJKW4KesGnQkQPFmUCbA/oO2QGT6CWxU7hLGWqU3tyuzeSK/dqcyeHsQg1vTe9jiZI8GU9SCQ==", + "dev": true, + "requires": { + "component-emitter": "1.2.1", + "debug": "~4.1.0", + "isarray": "2.0.1" + }, + "dependencies": { + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", + "dev": true + } + } + }, "sockjs-client": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.5.tgz", @@ -17525,6 +23532,16 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, + "srcset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-1.0.0.tgz", + "integrity": "sha1-pWad4StC87HV6D7QPHEEb8SPQe8=", + "dev": true, + "requires": { + "array-uniq": "^1.0.2", + "number-is-nan": "^1.0.0" + } + }, "sshpk": { "version": "1.16.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", @@ -17550,6 +23567,11 @@ "figgy-pudding": "^3.5.1" } }, + "stack-chain": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/stack-chain/-/stack-chain-1.3.7.tgz", + "integrity": "sha1-0ZLJ/06moiyUxN1FkXHj8AzqEoU=" + }, "stack-trace": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", @@ -17568,9 +23590,9 @@ "dev": true }, "state-toggle": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.2.tgz", - "integrity": "sha512-8LpelPGR0qQM4PnfLiplOQNJcIN1/r2Gy0xKB2zKnIW2YzPMt2sR4I/+gtPjhN7Svh9kw+zqEg2SFwpBO9iNiw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", + "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==", "dev": true }, "static-eval": { @@ -17655,7 +23677,8 @@ "statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true }, "stealthy-require": { "version": "1.1.1", @@ -17917,6 +23940,79 @@ } } }, + "string.prototype.matchall": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz", + "integrity": "sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "has-symbols": "^1.0.1", + "internal-slot": "^1.0.2", + "regexp.prototype.flags": "^1.3.0", + "side-channel": "^1.0.2" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true + } + } + }, "string.prototype.trim": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz", @@ -17928,6 +24024,75 @@ "function-bind": "^1.0.2" } }, + "string.prototype.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "dev": true + } + } + }, "string.prototype.trimleft": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", @@ -17948,6 +24113,75 @@ "function-bind": "^1.1.1" } }, + "string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "dev": true + } + } + }, "string_decoder": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", @@ -18138,6 +24372,7 @@ "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" } @@ -18221,11 +24456,6 @@ "integrity": "sha512-7cXFbkZvPkZpKLC+3QIfyUd3/Un/CvJONjTD3Gz5qLuEa73StPOt8kZjTi9apxO6zwCaza0bPNnmzTyrQ4qQlw==", "dev": true }, - "symbol-observable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", - "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=" - }, "symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", @@ -18252,6 +24482,55 @@ "get-port": "^3.1.0" } }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz", + "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "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" + } + } + } + }, "tapable": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", @@ -18328,6 +24607,33 @@ } } }, + "tas-client": { + "version": "0.0.950", + "resolved": "https://registry.npmjs.org/tas-client/-/tas-client-0.0.950.tgz", + "integrity": "sha512-AvCNjvfouxJyKln+TsobOBO5KmXklL9+FlxrEPlIgaixy1TxCC2v2Vs/MflCiyHlGl+BeIStP4oAVPqo5c0pIA==", + "requires": { + "axios": "^0.19.0" + } + }, + "tcp-port-used": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.1.tgz", + "integrity": "sha512-rwi5xJeU6utXoEIiMvVBMc9eJ2/ofzB+7nLOdnZuFTmNCLqRiQh2sMG9MqCxHU/69VC/Fwp5dV9306Qd54ll1Q==", + "requires": { + "debug": "4.1.0", + "is2": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", + "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, "teeny-request": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-6.0.1.tgz", @@ -18342,9 +24648,9 @@ }, "dependencies": { "agent-base": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.0.tgz", - "integrity": "sha512-j1Q7cSCqN+AwrmDd+pzgqc0/NpC655x2bUf5ZjRIO77DcNBFmh+OgRNzF6OKdCC9RSCb19fGd99+bhXFdkRNqw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.1.tgz", + "integrity": "sha512-01q25QQDwLSsyfhrKbn8yuur+JNw0H+0Y4JiGIKd3z9aYk/w/2kxD/Upc+t2ZBBSUNff50VjPsSW2YxM8QYKVg==", "dev": true, "requires": { "debug": "4" @@ -18387,12 +24693,6 @@ "dev": true } } - }, - "node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", - "dev": true } } }, @@ -18408,67 +24708,79 @@ } }, "terser-webpack-plugin": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.2.tgz", - "integrity": "sha512-SmvB/6gtEPv+CJ88MH5zDOsZdKXPS/Uzv2//e90+wM1IHFUhsguPKEILgzqrM1nQ4acRXN/SV4Obr55SXC+0oA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-3.1.0.tgz", + "integrity": "sha512-cjdZte66fYkZ65rQ2oJfrdCAkkhJA7YLYk5eGOcGCSGlq0ieZupRdjedSQXYknMPo2IveQL+tPdrxUkERENCFA==", "dev": true, "requires": { - "cacache": "^13.0.1", - "find-cache-dir": "^3.2.0", - "jest-worker": "^24.9.0", - "schema-utils": "^2.6.1", - "serialize-javascript": "^2.1.2", + "cacache": "^15.0.5", + "find-cache-dir": "^3.3.1", + "jest-worker": "^26.2.1", + "p-limit": "^3.0.2", + "schema-utils": "^2.6.6", + "serialize-javascript": "^4.0.0", "source-map": "^0.6.1", - "terser": "^4.4.3", + "terser": "^4.8.0", "webpack-sources": "^1.4.3" }, "dependencies": { "ajv": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", - "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", + "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", + "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "cacache": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz", - "integrity": "sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==", + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.5.tgz", + "integrity": "sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A==", "dev": true, "requires": { - "chownr": "^1.1.2", - "figgy-pudding": "^3.5.1", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", "fs-minipass": "^2.0.0", "glob": "^7.1.4", - "graceful-fs": "^4.2.2", "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "minipass": "^3.0.0", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.2", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "p-map": "^3.0.0", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", "promise-inflight": "^1.0.1", - "rimraf": "^2.7.1", - "ssri": "^7.0.0", + "rimraf": "^3.0.2", + "ssri": "^8.0.0", + "tar": "^6.0.2", "unique-filename": "^1.1.1" } }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, "find-cache-dir": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.2.0.tgz", - "integrity": "sha512-1JKclkYYsf1q9WIJKLZa9S9muC+08RIjzAlLrK4QcYLJMS6mk9yombQ9qf+zJ7H9LS800k0s44L4sDq9VYzqyg==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", "dev": true, "requires": { "commondir": "^1.0.1", - "make-dir": "^3.0.0", + "make-dir": "^3.0.2", "pkg-dir": "^4.1.0" } }, @@ -18483,20 +24795,14 @@ } }, "fs-minipass": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.0.0.tgz", - "integrity": "sha512-40Qz+LFXmd9tzYVnnBmZvFfvAADfUA14TXPK1s7IfElJTIZ97rA8w4Kin7Wt5JBrC3ShnnFJO/5vPjPEeJIq9A==", + "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" } }, - "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", - "dev": true - }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -18507,40 +24813,57 @@ } }, "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { - "yallist": "^3.0.2" - }, - "dependencies": { - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } + "yallist": "^4.0.0" } }, "make-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz", - "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==", + "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" } }, "minipass": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.1.tgz", - "integrity": "sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minizlib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz", + "integrity": "sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==", "dev": true, "requires": { + "minipass": "^3.0.0", "yallist": "^4.0.0" } }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "p-limit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.2.tgz", + "integrity": "sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, "p-locate": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", @@ -18548,12 +24871,23 @@ "dev": true, "requires": { "p-limit": "^2.2.0" + }, + "dependencies": { + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + } } }, "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, "requires": { "aggregate-error": "^3.0.0" @@ -18574,22 +24908,14 @@ "find-up": "^4.0.0" } }, - "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" - } - }, "schema-utils": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.2.tgz", - "integrity": "sha512-sazKNMBX/jwrXRkOI7N6dtiTVYqzSckzol8SGuHt0lE/v3xSW6cUkOqzu6Bq2tW+dlUzq3CWIqHU3ZKauliqdg==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", "dev": true, "requires": { - "ajv": "^6.10.2", + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", "ajv-keywords": "^3.4.1" } }, @@ -18599,16 +24925,49 @@ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, "ssri": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz", - "integrity": "sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz", + "integrity": "sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==", "dev": true, "requires": { - "figgy-pudding": "^3.5.1", "minipass": "^3.1.1" } }, + "tar": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.2.tgz", + "integrity": "sha512-Glo3jkRtPcvpDlAs/0+hozav78yoXKFr+c4wgw62NNMO3oo4AaJdCo21Uu7lcwr55h39W2XD1LMERc64wtbItg==", + "dev": true, + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.0", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + } + }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + } + }, "webpack-sources": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", @@ -18694,6 +25053,17 @@ } } }, + "thread-loader": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-2.1.3.tgz", + "integrity": "sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg==", + "dev": true, + "requires": { + "loader-runner": "^2.3.1", + "loader-utils": "^1.1.0", + "neo-async": "^2.6.0" + } + }, "throttleit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", @@ -18818,6 +25188,12 @@ "is-negated-glob": "^1.0.0" } }, + "to-array": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", + "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", + "dev": true + }, "to-arraybuffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", @@ -18856,6 +25232,11 @@ } } }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" + }, "to-regex": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", @@ -18890,7 +25271,8 @@ "toidentifier": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true }, "topojson-client": { "version": "3.1.0", @@ -19032,9 +25414,9 @@ "dev": true }, "trim-trailing-lines": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz", - "integrity": "sha512-MUjYItdrqqj2zpcHFTkMa9WAv4JHTI6gnRQGPFLrt5L9a6tRMiDnIqYl8JBvu2d2Tc3lWJKQwlGCp0K8AvCM+Q==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz", + "integrity": "sha512-4ku0mmjXifQcTVfYDfR5lpgV7zVqPg6zV9rdZmwOPqq0+Zq19xDqEgagqVbc4pOOShbncuAOIs59R3+3gcF3ZA==", "dev": true }, "triple-beam": { @@ -19043,11 +25425,19 @@ "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==" }, "trough": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.4.tgz", - "integrity": "sha512-tdzBRDGWcI1OpPVmChbdSKhvSVurznZ8X36AYURAcl+0o2ldlCY2XPzyXNNxwJwwyIU+rIglTCG4kxtNKBQH7Q==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", + "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", "dev": true }, + "truncate-utf8-bytes": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", + "requires": { + "utf8-byte-length": "^1.0.1" + } + }, "tryer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", @@ -19067,6 +25457,12 @@ "semver": "^5.0.1" } }, + "ts-mock-imports": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-mock-imports/-/ts-mock-imports-1.3.0.tgz", + "integrity": "sha512-cCrVcRYsp84eDvPict0ZZD/D7ppQ0/JSx4ve6aEU8DjlsaWRJWV6ADMovp2sCuh6pZcduLFoIYhKTDU2LARo7Q==", + "dev": true + }, "ts-mockito": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/ts-mockito/-/ts-mockito-2.5.0.tgz", @@ -19141,8 +25537,7 @@ "tslib": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", - "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", - "dev": true + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" }, "tslint": { "version": "5.20.1", @@ -19165,11 +25560,14 @@ "tsutils": "^2.29.0" }, "dependencies": { - "diff": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz", - "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==", - "dev": true + "tsutils": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } } } }, @@ -19228,9 +25626,9 @@ } }, "tslint-plugin-prettier": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslint-plugin-prettier/-/tslint-plugin-prettier-2.1.0.tgz", - "integrity": "sha512-nMCpU+QSpXtydcWXeZF+3ljIbG/K8SHVZwB7K/MtuoQQFXxXN6watqTSBpVXCInuPFvmjiWkhxeMoUW4N0zgSg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslint-plugin-prettier/-/tslint-plugin-prettier-2.3.0.tgz", + "integrity": "sha512-F9e4K03yc9xuvv+A0v1EmjcnDwpz8SpCD8HzqSDe0eyg34cBinwn9JjmnnRrNAs4HdleRQj7qijp+P/JTxt4vA==", "dev": true, "requires": { "eslint-plugin-prettier": "^2.2.0", @@ -19250,15 +25648,10 @@ } } }, - "tsscmp": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz", - "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==" - }, "tsutils": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", - "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", + "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", "dev": true, "requires": { "tslib": "^1.8.1" @@ -19324,6 +25717,7 @@ "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, "requires": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -19388,9 +25782,9 @@ } }, "typescript": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.2.tgz", - "integrity": "sha512-ml7V7JfiN2Xwvcer+XAf2csGO1bPBdRbFCkYBczNZggrBZ9c7G3riSUeJmqEU5uOtXNPMhE3n+R4FA/3YOAWOQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.2.tgz", + "integrity": "sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ==", "dev": true }, "typescript-char": { @@ -19408,6 +25802,24 @@ "editorconfig": "^0.15.0" } }, + "typestyle": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/typestyle/-/typestyle-2.1.0.tgz", + "integrity": "sha512-6uCYPdG4xWLeEcl9O0GtNFnNGhami+irKiLsXSuvWHC/aTS7wdj49WeikWAKN+xHN3b1hm+9v0svwwgSBhCsNA==", + "dev": true, + "requires": { + "csstype": "2.6.9", + "free-style": "3.1.0" + }, + "dependencies": { + "csstype": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.9.tgz", + "integrity": "sha512-xz39Sb4+OaTsULgUERcCk+TJj8ylkL4aSVDQiX/ksxbELSqwkgt4d4RD7fovIdgJGSuNYqwZEiVjYY5l0ask+Q==", + "dev": true + } + } + }, "ua-parser-js": { "version": "0.7.20", "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.20.tgz", @@ -19488,13 +25900,13 @@ "dev": true }, "unherit": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.2.tgz", - "integrity": "sha512-W3tMnpaMG7ZY6xe/moK04U9fBhi6wEiCYHUW5Mop/wQHf12+79EQGwxYejNdhEz2mkqkBlGwm7pxmgBKMVUj0w==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", + "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", "dev": true, "requires": { - "inherits": "^2.0.1", - "xtend": "^4.0.1" + "inherits": "^2.0.0", + "xtend": "^4.0.0" } }, "unicode": { @@ -19585,6 +25997,12 @@ "set-value": "^2.0.1" } }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, "uniqid": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-5.0.3.tgz", @@ -19626,9 +26044,9 @@ "dev": true }, "unist-util-remove-position": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.3.tgz", - "integrity": "sha512-CtszTlOjP2sBGYc2zcKA/CvNdTdEs3ozbiJ63IPBxh8iZg42SCCb8m04f8z2+V1aSk5a7BxbZKEdoDjadmBkWA==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz", + "integrity": "sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A==", "dev": true, "requires": { "unist-util-visit": "^1.1.0" @@ -19666,6 +26084,16 @@ "integrity": "sha512-yvo+MMLjEwdc3RhhPYSximset7rwjMrdt9E41Smmvg25UQIenzrN83cRnF1JMzoMi9zZOQeYXHSDf7p+IQkW3Q==", "dev": true }, + "units-css": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/units-css/-/units-css-0.4.0.tgz", + "integrity": "sha1-1iKGU6UZg9fBb/KPi53Dsf/tOgc=", + "dev": true, + "requires": { + "isnumeric": "^0.2.0", + "viewport-dimensions": "^0.2.0" + } + }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", @@ -19804,7 +26232,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "dev": true, "requires": { "prepend-http": "^2.0.0" } @@ -19836,6 +26263,11 @@ "os-homedir": "^1.0.0" } }, + "utf8-byte-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", + "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=" + }, "util": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", @@ -19924,7 +26356,8 @@ "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true }, "vega": { "version": "5.7.3", @@ -20273,9 +26706,9 @@ } }, "yargs-parser": { - "version": "13.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", - "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "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", @@ -20594,9 +27027,9 @@ } }, "vfile-location": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.5.tgz", - "integrity": "sha512-Pa1ey0OzYBkLPxPZI3d9E+S4BmvfVwNAAXrrqGbwTVXWaX2p9kM1zZ+n35UtVM06shmWKH4RPRN8KI80qE3wNQ==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.6.tgz", + "integrity": "sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==", "dev": true }, "vfile-message": { @@ -20608,6 +27041,12 @@ "unist-util-stringify-position": "^1.1.1" } }, + "viewport-dimensions": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/viewport-dimensions/-/viewport-dimensions-0.2.0.tgz", + "integrity": "sha1-3nQHR9tTh/0XJfUXXpG6x2r982w=", + "dev": true + }, "vinyl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", @@ -20770,6 +27209,30 @@ "url-join": "^1.1.0", "yauzl": "^2.3.1", "yazl": "^2.2.2" + }, + "dependencies": { + "linkify-it": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", + "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", + "dev": true, + "requires": { + "uc.micro": "^1.0.1" + } + }, + "markdown-it": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", + "integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "entities": "~1.1.1", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + } + } } }, "vscode-debugadapter": { @@ -20796,49 +27259,63 @@ "integrity": "sha512-+OMm11R1bGYbpIJ5eQIkwoDGFF4GvBz3Ztl6/VM+/RNNb2Gjk2c0Ku+oMmfhlTmTlPCpgHBsH4JqVCbUYhu5bA==" }, "vscode-extension-telemetry": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/vscode-extension-telemetry/-/vscode-extension-telemetry-0.1.0.tgz", - "integrity": "sha512-WVCnP+uLxlqB6UD98yQNV47mR5Rf79LFxpuZhSPhEf0Sb4tPZed3a63n003/dchhOwyCTCBuNN4n8XKJkLEI1Q==", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/vscode-extension-telemetry/-/vscode-extension-telemetry-0.1.4.tgz", + "integrity": "sha512-9U2pUZ/YwZBfA8CkBrHwMxjnq9Ab+ng8daJWJzEQ6CAxlZyRhmck23bx2lqqpEwGWJCiuceQy4k0Me6llEB4zw==", "requires": { - "applicationinsights": "1.0.6" + "applicationinsights": "1.7.4" } }, "vscode-jsonrpc": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-4.0.0.tgz", - "integrity": "sha512-perEnXQdQOJMTDFNv+UF3h1Y0z4iSiaN9jIlb0OqIYgosPCZGYh/MCUlkFtV2668PL69lRDO32hmvL2yiidUYg==" + "version": "6.0.0-next.5", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-6.0.0-next.5.tgz", + "integrity": "sha512-IAgsltQPwg/pXOPsdXgbUTCaO9VSKZwirZN5SGtkdYQ/R3VjeC4v00WTVvoNayWMZpoC3O9u0ogqmsKzKhVasQ==" }, "vscode-languageclient": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-5.2.1.tgz", - "integrity": "sha512-7jrS/9WnV0ruqPamN1nE7qCxn0phkH5LjSgSp9h6qoJGoeAKzwKz/PF6M+iGA/aklx4GLZg1prddhEPQtuXI1Q==", + "version": "7.0.0-next.9", + "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-7.0.0-next.9.tgz", + "integrity": "sha512-lFO+rN/i72CM2va6iKXq1lD7pJg8J93KEXf0w0boWVqU+DJhWzLrV3pXl8Xk1nCv//qOAyhlc/nx2KZCTeRF/A==", "requires": { - "semver": "^5.5.0", - "vscode-languageserver-protocol": "3.14.1" + "semver": "^6.3.0", + "vscode-languageserver-protocol": "3.16.0-next.7" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } } }, "vscode-languageserver": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-5.2.1.tgz", - "integrity": "sha512-GuayqdKZqAwwaCUjDvMTAVRPJOp/SLON3mJ07eGsx/Iq9HjRymhKWztX41rISqDKhHVVyFM+IywICyZDla6U3A==", + "version": "7.0.0-next.7", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-7.0.0-next.7.tgz", + "integrity": "sha512-6La+usoCF0OnCYIbOLBTmqgzaZSAyIBpnsLjS/g7AnI8Pv9v6yzC38VhTvBoip4/ZBwf1U8vpdwatD/qCSKeWA==", "requires": { - "vscode-languageserver-protocol": "3.14.1", - "vscode-uri": "^1.0.6" + "vscode-languageserver-protocol": "3.16.0-next.7" } }, "vscode-languageserver-protocol": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.14.1.tgz", - "integrity": "sha512-IL66BLb2g20uIKog5Y2dQ0IiigW0XKrvmWiOvc0yXw80z3tMEzEnHjaGAb3ENuU7MnQqgnYJ1Cl2l9RvNgDi4g==", + "version": "3.16.0-next.7", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.16.0-next.7.tgz", + "integrity": "sha512-tOjrg+K3RddJ547zpC9/LAgTbzadkPuHlqJFFWIcKjVhiJOh73XyY+Ngcu9wukGaTsuSGjJ0W8rlmwanixa0FQ==", "requires": { - "vscode-jsonrpc": "^4.0.0", - "vscode-languageserver-types": "3.14.0" + "vscode-jsonrpc": "6.0.0-next.5", + "vscode-languageserver-types": "3.16.0-next.3" } }, "vscode-languageserver-types": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.14.0.tgz", - "integrity": "sha512-lTmS6AlAlMHOvPQemVwo3CezxBp0sNB95KNPkqp3Nxd5VFEnuG1ByM0zlRWos0zjO3ZWtkvhal0COgiV1xIA4A==" + "version": "3.16.0-next.3", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0-next.3.tgz", + "integrity": "sha512-s/z5ZqSe7VpoXJ6JQcvwRiPPA3nG0nAcJ/HH03zoU6QaFfnkcgPK+HshC3WKPPnC2G08xA0iRB6h7kmyBB5Adg==" + }, + "vscode-tas-client": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/vscode-tas-client/-/vscode-tas-client-0.1.4.tgz", + "integrity": "sha512-sC+kvLUwb6ecC7+ZoxzDtvvktVUJ3jZq6mvJpfYHeLlbj4hUpNsZ79u65/mukoO8E8C7UQUCLdWdyn/evp+oNA==", + "requires": { + "tas-client": "0.0.950" + } }, "vscode-test": { "version": "1.2.3", @@ -20849,13 +27326,19 @@ "http-proxy-agent": "^2.1.0", "https-proxy-agent": "^2.2.4", "rimraf": "^2.6.3" + }, + "dependencies": { + "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" + } + } } }, - "vscode-uri": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.8.tgz", - "integrity": "sha512-obtSWTlbJ+a+TFRYGaUumtVwb+InIUVI0Lu0VBUAPmj2cU5JutEXg3xUE0c2J5Tcy7h2DEKVJBFi+Y9ZSFzzPQ==" - }, "vsls": { "version": "0.3.1291", "resolved": "https://registry.npmjs.org/vsls/-/vsls-0.3.1291.tgz", @@ -20897,12 +27380,12 @@ } }, "watchpack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", - "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.1.tgz", + "integrity": "sha512-+IF9hfUFOrYOOaKyfaI7h7dquUIOgyEMoQMLA7OP5FxegKA2+XdXThAZ9TU2kucfhDH7rfMHs1oPYziVGWRnZA==", "dev": true, "requires": { - "chokidar": "^2.0.2", + "chokidar": "^2.1.8", "graceful-fs": "^4.1.2", "neo-async": "^2.5.0" } @@ -20982,6 +27465,12 @@ "worker-farm": "^1.7.0" }, "dependencies": { + "serialize-javascript": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", + "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", + "dev": true + }, "webpack-sources": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", @@ -21206,9 +27695,9 @@ } }, "yargs-parser": { - "version": "13.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", - "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "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", @@ -21223,18 +27712,6 @@ "integrity": "sha1-iCuOTRqpPEjLj9r4Rvx52G+C8U8=", "dev": true }, - "webpack-log": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz", - "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==", - "dev": true, - "requires": { - "chalk": "^2.1.0", - "log-symbols": "^2.1.0", - "loglevelnext": "^1.0.1", - "uuid": "^3.1.0" - } - }, "webpack-merge": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.1.tgz", @@ -21278,9 +27755,9 @@ } }, "websocket-extensions": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", - "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", + "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 }, "whatwg-encoding": { @@ -21422,11 +27899,32 @@ "wipe-node-cache": "^2.1.0" } }, + "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 + }, "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" }, + "worker-rpc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz", + "integrity": "sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==", + "dev": true, + "requires": { + "microevent.ts": "~0.1.1" + } + }, + "workerpool": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.0.0.tgz", + "integrity": "sha512-fU2OcNA/GVAJLLyKUoHkAgIhKb0JoCpSjLC/G2vYKxUjVmQwGbRVeoPJ1a8U4pnVofz4AQV5Y/NEw8oKqxEBtA==", + "dev": true + }, "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", @@ -21459,6 +27957,15 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, "write-file-atomic": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.1.tgz", @@ -21566,6 +28073,12 @@ "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=", "dev": true }, + "xmlhttprequest-ssl": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", + "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=", + "dev": true + }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -21583,91 +28096,142 @@ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" }, "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "version": "15.3.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", + "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", "dev": true, "requires": { - "cliui": "^4.0.0", + "cliui": "^6.0.0", "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", + "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", - "string-width": "^2.0.0", + "string-width": "^4.2.0", "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" + "y18n": "^4.0.0", + "yargs-parser": "^18.1.1" }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "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 + }, + "find-up": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" } }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "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 }, "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=", + "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 }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { - "invert-kv": "^2.0.0" + "p-locate": "^4.1.0" } }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" + "p-limit": "^2.2.0" } }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "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 + }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" } }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^5.0.0" } }, "which-module": { @@ -21676,10 +28240,21 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, "requires": { "camelcase": "^5.0.0", @@ -21706,14 +28281,104 @@ } }, "yargs-unparser": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.5.0.tgz", - "integrity": "sha512-HK25qidFTCVuj/D1VfNiEndpLIeJN78aqgR23nL3y4N0U/91cOAzqfHlF8n2BvoNDcZmJKin3ddNSvOxSr8flw==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.1.tgz", + "integrity": "sha512-qZV14lK9MWsGCmcr7u5oXGH0dbGqZAIxTDrWXZDo5zUr6b6iUmelNKO6x6R1dQT24AH3LgRxJpr8meWy2unolA==", "dev": true, "requires": { + "camelcase": "^5.3.1", + "decamelize": "^1.2.0", "flat": "^4.1.0", - "lodash": "^4.17.11", - "yargs": "^12.0.5" + "is-plain-obj": "^1.1.0", + "yargs": "^14.2.3" + }, + "dependencies": { + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "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 + }, + "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 + }, + "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 + }, + "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" + } + }, + "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 + }, + "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==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "yargs": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz", + "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "decamelize": "^1.2.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": "^15.0.1" + } + }, + "yargs-parser": { + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz", + "integrity": "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } } }, "yauzl": { @@ -21735,10 +28400,11 @@ "buffer-crc32": "~0.2.3" } }, - "ylru": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz", - "integrity": "sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ==" + "yeast": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", + "dev": true }, "yn": { "version": "3.1.0", @@ -21796,11 +28462,6 @@ } } } - }, - "zone.js": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.7.6.tgz", - "integrity": "sha1-+7w50+AmHQmG8boGMG6zrrDSIAk=" } } } diff --git a/package.datascience-ui.dependencies.json b/package.datascience-ui.dependencies.json index b03b9f49ccb4..c42689044d43 100644 --- a/package.datascience-ui.dependencies.json +++ b/package.datascience-ui.dependencies.json @@ -1,247 +1,307 @@ [ - "@babel/runtime", - "@babel/runtime-corejs2", - "@emotion/hash", - "@emotion/memoize", - "@emotion/stylis", - "@emotion/unitless", - "@loadable/component", - "@mapbox/polylabel", - "@nteract/markdown", - "@nteract/mathjax", - "@nteract/octicons", - "@nteract/transform-dataresource", - "@nteract/transform-geojson", - "@nteract/transform-model-debug", - "@nteract/transform-plotly", - "@nteract/transform-vdom", - "@nteract/transform-vega", - "@nteract/transforms", - "@blueprintjs/core", - "@blueprintjs/icons", - "@blueprintjs/select", - "@icons/material", - "@nteract/styled-blueprintjsx", - "@nteract/vega-embed-v2", - "@nteract/vega-embed-v3", - "anser", - "ansi-regex", - "ansi-to-html", - "ansi-to-react", - "babel-polyfill", - "babel-runtime", - "bail", - "base16", - "bintrees", - "bootstrap-less", - "base64-js", - "create-react-context", - "character-entities-legacy", - "character-reference-invalid", - "classnames", - "clsx", - "collapse-white-space", - "create-emotion", - "css-loader", - "canvas", - "dom4", - "d3-array", - "d3-bboxCollide", - "d3-brush", - "d3-chord", - "d3-collection", - "d3-color", - "d3-contour", - "d3-dispatch", - "d3-drag", - "d3-ease", - "d3-force", - "d3-format", - "d3-glyphedge", - "d3-hexbin", - "d3-hierarchy", - "d3-interpolate", - "d3-path", - "d3-polygon", - "d3-quadtree", - "d3-sankey-circular", - "d3-scale", - "d3-selection", - "d3-shape", - "d3-time-format", - "d3-time", - "d3-timer", - "d3-transition", - "d3-voronoi", - "dom-helpers", - "d3-cloud", - "d3-delaunay", - "d3-dsv", - "d3-geo", - "d3-request", - "d3-scale-chromatic", - "d3", - "datalib", - "delaunator", - "define-properties", - "emotion", - "entities", - "escape-carriage", - "extend", - "fast-deep-equal", - "fast-plist", - "fast-json-stable-stringify", - "function-bind", - "gud", - "has", - "hoist-non-react-statics", - "inherits", - "invariant", - "is-alphabetical", - "is-alphanumerical", - "is-arguments", - "is-buffer", - "is-date-object", - "is-decimal", - "is-hexadecimal", - "is-plain-obj", - "is-regex", - "is-whitespace-character", - "is-word-character", - "ieee754", - "isarray", - "json2csv", - "json-stable-stringify", - "json-stringify-pretty-compact", - "jsonify", - "labella", - "leaflet", - "linear-layout-vector", - "lodash.curry", - "lodash.flow", - "lodash", - "lru-cache", - "martinez-polygon-clipping", - "markdown-escapes", - "material-colors", - "mdast-add-list-metadata", - "monaco-editor", - "monaco-editor-textmate", - "monaco-textmate", - "numeral", - "node-libs-browser", - "object-assign", - "object-is", - "object-keys", - "onigasm", - "popper.js", - "parse-entities", - "path-browserify", - "polygon-offset", - "plotly.js-dist", - "process", - "prop-types", - "pseudomap", - "pure-color", - "react-is", - "react-popper", - "react-transition-group", - "regexp.prototype.flags", - "regression", - "replace-ext", - "resize-observer-polyfill", - "react-annotation", - "react-base16-styling", - "react-color", - "react-data-grid", - "react-dom", - "react-hot-loader", - "react-json-tree", - "react-lifecycles-compat", - "react-markdown", - "react-redux", - "react-svg-pan-zoom", - "react-svgmt", - "react-table-hoc-fixed-columns", - "react-table", - "react-virtualized", - "react", - "reactcss", - "redux-logger", - "redux", - "remark-parse", - "repeat-string", - "roughjs-es5", - "scheduler", - "semiotic-mark", - "semiotic", - "setimmediate", - "slickgrid", - "state-toggle", - "string-hash", - "style-loader", - "styled-jsx", - "stylis-rule-sheet", - "svg-inline-react", - "svg-path-bounding-box", - "svgpath", - "semver", - "timers-browserify", - "tinycolor2", - "tinyqueue", - "transformation-matrix", - "trim-trailing-lines", - "trim", - "trough", - "topojson-client", - "tslib", - "unherit", - "unified", - "uniqid", - "unist-util-is", - "unist-util-remove-position", - "unist-util-stringify-position", - "unist-util-visit-parents", - "unist-util-visit", - "util", - "uuid", - "vfile-location", - "vfile-message", - "vfile", - "viz-annotation", - "vega-canvas", - "vega-crossfilter", - "vega-dataflow", - "vega-embed", - "vega-encode", - "vega-event-selector", - "vega-expression", - "vega-force", - "vega-functions", - "vega-geo", - "vega-hierarchy", - "vega-lite", - "vega-loader", - "vega-parser", - "vega-projection", - "vega-regression", - "vega-runtime", - "vega-scale", - "vega-scenegraph", - "vega-schema-url-parser", - "vega-selections", - "vega-statistics", - "vega-themes", - "vega-tooltip", - "vega-transforms", - "vega-util", - "vega-view-transforms", - "vega-view", - "vega-voronoi", - "vega-wordcloud", - "vega", - "warning", - "x-is-string", - "xtend", - "yallist" -] \ No newline at end of file + "@babel/runtime", + "@babel/runtime-corejs2", + "@blueprintjs/core", + "@blueprintjs/icons", + "@blueprintjs/select", + "@emotion/hash", + "@emotion/memoize", + "@emotion/stylis", + "@emotion/unitless", + "@icons/material", + "@jupyter-widgets/controls", + "@jupyterlab/services", + "@loadable/component", + "@mapbox/polylabel", + "@nteract/markdown", + "@nteract/mathjax", + "@nteract/octicons", + "@nteract/styled-blueprintjsx", + "@nteract/transform-dataresource", + "@nteract/transform-geojson", + "@nteract/transform-model-debug", + "@nteract/transform-plotly", + "@nteract/transform-vdom", + "@nteract/transform-vega", + "@nteract/transforms", + "@nteract/vega-embed-v2", + "@nteract/vega-embed-v3", + "@phosphor/algorithm", + "@phosphor/coreutils", + "@phosphor/properties", + "@phosphor/signaling", + "ajv", + "anser", + "ansi-regex", + "ansi-to-html", + "ansi-to-react", + "asn1.js", + "babel-polyfill", + "babel-runtime", + "bail", + "base16", + "base64-js", + "bintrees", + "bn.js", + "bootstrap-less", + "brorand", + "browserify-aes", + "browserify-cipher", + "browserify-des", + "browserify-rsa", + "browserify-sign", + "buffer-xor", + "canvas", + "character-entities-legacy", + "character-reference-invalid", + "cipher-base", + "classnames", + "clsx", + "collapse-white-space", + "core-util-is", + "create-ecdh", + "create-emotion", + "create-hash", + "create-hmac", + "create-react-context", + "crypto-browserify", + "css-loader", + "d3", + "d3-array", + "d3-bboxCollide", + "d3-brush", + "d3-chord", + "d3-cloud", + "d3-collection", + "d3-color", + "d3-contour", + "d3-delaunay", + "d3-dispatch", + "d3-drag", + "d3-dsv", + "d3-ease", + "d3-force", + "d3-format", + "d3-geo", + "d3-glyphedge", + "d3-hexbin", + "d3-hierarchy", + "d3-interpolate", + "d3-path", + "d3-polygon", + "d3-quadtree", + "d3-request", + "d3-sankey-circular", + "d3-scale", + "d3-scale-chromatic", + "d3-selection", + "d3-shape", + "d3-time", + "d3-time-format", + "d3-timer", + "d3-transition", + "d3-voronoi", + "datalib", + "define-properties", + "delaunator", + "des.js", + "diffie-hellman", + "dom-helpers", + "dom4", + "elliptic", + "emotion", + "entities", + "escape-carriage", + "events", + "evp_bytestokey", + "extend", + "fast-deep-equal", + "fast-json-stable-stringify", + "fast-plist", + "function-bind", + "gud", + "has", + "hash-base", + "hash.js", + "hmac-drbg", + "hoist-non-react-statics", + "ieee754", + "inherits", + "invariant", + "is-alphabetical", + "is-alphanumerical", + "is-arguments", + "is-buffer", + "is-date-object", + "is-decimal", + "is-hexadecimal", + "is-online", + "is-plain-obj", + "is-regex", + "is-whitespace-character", + "is-word-character", + "isarray", + "json-schema-traverse", + "json-stable-stringify", + "json-stringify-pretty-compact", + "json2csv", + "json5", + "jsonify", + "labella", + "leaflet", + "linear-layout-vector", + "lodash", + "lodash.curry", + "lodash.flow", + "lru-cache", + "markdown-escapes", + "martinez-polygon-clipping", + "material-colors", + "md5.js", + "mdast-add-list-metadata", + "miller-rabin", + "minimalistic-assert", + "minimalistic-crypto-utils", + "minimist", + "moment", + "monaco-editor", + "monaco-editor-textmate", + "monaco-textmate", + "node-libs-browser", + "numeral", + "object-assign", + "object-is", + "object-keys", + "onigasm", + "parse-asn1", + "parse-entities", + "path-browserify", + "path-posix", + "pbkdf2", + "plotly.js-dist", + "polygon-offset", + "popper.js", + "process", + "prop-types", + "pseudomap", + "public-encrypt", + "public-ip", + "pure-color", + "querystringify", + "randombytes", + "randomfill", + "react", + "react-annotation", + "react-base16-styling", + "react-color", + "react-data-grid", + "react-dom", + "react-draggable", + "react-hot-loader", + "react-is", + "react-json-tree", + "react-lifecycles-compat", + "react-markdown", + "react-popper", + "react-redux", + "react-svg-pan-zoom", + "react-svgmt", + "react-table", + "react-table-hoc-fixed-columns", + "react-transition-group", + "react-virtualized", + "reactcss", + "redux", + "redux-logger", + "regexp.prototype.flags", + "regression", + "remark-parse", + "repeat-string", + "replace-ext", + "requires-port", + "resize-observer-polyfill", + "ripemd160", + "roughjs-es5", + "rxjs", + "rxjs-compat", + "safe-buffer", + "scheduler", + "semiotic", + "semiotic-mark", + "semver", + "setimmediate", + "sha.js", + "slickgrid", + "state-toggle", + "stream-browserify", + "string-hash", + "string_decoder", + "style-loader", + "styled-jsx", + "stylis-rule-sheet", + "svg-inline-react", + "svg-path-bounding-box", + "svgpath", + "timers-browserify", + "tinycolor2", + "tinyqueue", + "topojson-client", + "transformation-matrix", + "trim", + "trim-trailing-lines", + "trough", + "tslib", + "unherit", + "unified", + "uniqid", + "unist-util-is", + "unist-util-remove-position", + "unist-util-stringify-position", + "unist-util-visit", + "unist-util-visit-parents", + "uri-js", + "url-parse", + "util", + "util-deprecate", + "uuid", + "vega", + "vega-canvas", + "vega-crossfilter", + "vega-dataflow", + "vega-embed", + "vega-encode", + "vega-event-selector", + "vega-expression", + "vega-force", + "vega-functions", + "vega-geo", + "vega-hierarchy", + "vega-lite", + "vega-loader", + "vega-parser", + "vega-projection", + "vega-regression", + "vega-runtime", + "vega-scale", + "vega-scenegraph", + "vega-schema-url-parser", + "vega-selections", + "vega-statistics", + "vega-themes", + "vega-tooltip", + "vega-transforms", + "vega-util", + "vega-view", + "vega-view-transforms", + "vega-voronoi", + "vega-wordcloud", + "vfile", + "vfile-location", + "vfile-message", + "viz-annotation", + "vm-browserify", + "warning", + "x-is-string", + "xtend", + "yallist" +] diff --git a/package.json b/package.json index ca605ff667b9..f6397c5b32bc 100644 --- a/package.json +++ b/package.json @@ -2,10 +2,13 @@ "name": "python", "displayName": "Python", "description": "Linting, Debugging (multi-threaded, remote), Intellisense, Jupyter Notebooks, code formatting, refactoring, unit tests, snippets, and more.", - "version": "2020.4.0-dev", + "version": "2020.9.0-dev", + "featureFlags": { + "usingNewInterpreterStorage": true + }, "languageServerVersion": "0.5.30", "publisher": "ms-python", - "enableProposedApi": false, + "enableProposedApi": true, "author": { "name": "Microsoft Corporation" }, @@ -25,7 +28,7 @@ "theme": "dark" }, "engines": { - "vscode": "^1.43.0" + "vscode": "^1.48.0" }, "keywords": [ "python", @@ -39,7 +42,11 @@ "Linters", "Snippets", "Formatters", - "Other" + "Other", + "Extension Packs", + "Data Science", + "Machine Learning", + "Notebooks" ], "activationEvents": [ "onLanguage:python", @@ -56,6 +63,10 @@ "onCommand:python.viewTestOutput", "onCommand:python.viewOutput", "onCommand:python.datascience.viewJupyterOutput", + "onCommand:python.datascience.export", + "onCommand:python.datascience.exportAsPythonScript", + "onCommand:python.datascience.exportToHTML", + "onCommand:python.datascience.exportToPDF", "onCommand:python.selectAndRunTestMethod", "onCommand:python.selectAndDebugTestMethod", "onCommand:python.selectAndRunTestFile", @@ -74,18 +85,24 @@ "onCommand:python.switchOffInsidersChannel", "onCommand:python.switchToDailyChannel", "onCommand:python.switchToWeeklyChannel", + "onCommand:python.clearWorkspaceInterpreter", + "onCommand:python.resetInterpreterSecurityStorage", "onCommand:python.datascience.createnewnotebook", - "onCommand:python.datascience.showhistorypane", + "onCommand:python.startPage.open", + "onCommand:python.datascience.createnewinteractive", "onCommand:python.datascience.importnotebook", "onCommand:python.datascience.importnotebookfile", "onCommand:python.datascience.opennotebook", + "onCommand:python.datascience.opennotebookInPreviewEditor", "onCommand:python.datascience.selectjupyteruri", "onCommand:python.datascience.exportfileasnotebook", "onCommand:python.datascience.exportfileandoutputasnotebook", "onCommand:python.datascience.selectJupyterInterpreter", "onCommand:python.datascience.selectjupytercommandline", "onCommand:python.enableSourceMapSupport", - "onCustomEditor:NativeEditorProvider.ipynb" + "onNotebookEditor:jupyter-notebook", + "workspaceContains:mspythonconfig.json", + "workspaceContains:pyproject.toml" ], "main": "./out/client/extension", "contributes": { @@ -99,27 +116,184 @@ { "command": "python.execSelectionInTerminal", "key": "shift+enter", - "when": "editorTextFocus && editorLangId == python && !findInputFocussed && !replaceInputFocussed && !python.datascience.ownsSelection" + "when": "editorTextFocus && editorLangId == python && !findInputFocussed && !replaceInputFocussed && !python.datascience.ownsSelection && !notebookEditorFocused" }, { "command": "python.datascience.execSelectionInteractive", "key": "shift+enter", - "when": "editorTextFocus && editorLangId == python && !findInputFocussed && !replaceInputFocussed && python.datascience.ownsSelection && python.datascience.featureenabled" + "when": "editorTextFocus && editorLangId == python && !findInputFocussed && !replaceInputFocussed && python.datascience.ownsSelection && python.datascience.featureenabled && !notebookEditorFocused" }, { "command": "python.datascience.runcurrentcelladvance", "key": "shift+enter", - "when": "editorTextFocus && !editorHasSelection && python.datascience.hascodecells && python.datascience.featureenabled" + "when": "editorTextFocus && !editorHasSelection && python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" }, { "command": "python.datascience.runcurrentcell", "key": "ctrl+enter", - "when": "editorTextFocus && !editorHasSelection && python.datascience.hascodecells && python.datascience.featureenabled" + "when": "editorTextFocus && !editorHasSelection && python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" }, { "command": "python.datascience.runcurrentcellandaddbelow", "key": "alt+enter", - "when": "editorTextFocus && !editorHasSelection && python.datascience.hascodecells && python.datascience.featureenabled" + "when": "editorTextFocus && !editorHasSelection && python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" + }, + { + "mac": "F", + "win": "F", + "linux": "F", + "key": "F", + "when": "notebookEditorFocused && !inputFocus && notebookViewType == jupyter-notebook", + "command": "notebook.find" + }, + { + "mac": "K", + "win": "K", + "linux": "K", + "key": "K", + "when": "notebookEditorFocused && !inputFocus && notebookViewType == jupyter-notebook", + "command": "list.focusUp" + }, + { + "mac": "J", + "win": "J", + "linux": "J", + "key": "J", + "when": "notebookEditorFocused && !inputFocus && notebookViewType == jupyter-notebook", + "command": "list.focusDown" + }, + { + "mac": "A", + "win": "A", + "linux": "A", + "key": "A", + "when": "notebookEditorFocused && !inputFocus && notebookViewType == jupyter-notebook", + "command": "notebook.cell.insertCodeCellAbove" + }, + { + "mac": "B", + "win": "B", + "linux": "B", + "key": "B", + "when": "notebookEditorFocused && !inputFocus && notebookViewType == jupyter-notebook", + "command": "notebook.cell.insertCodeCellBelow" + }, + { + "mac": "D D", + "win": "D D", + "linux": "D D", + "key": "D D", + "when": "notebookEditorFocused && !inputFocus && notebookViewType == jupyter-notebook", + "command": "notebook.cell.delete" + }, + { + "mac": "Z", + "win": "Z", + "linux": "Z", + "key": "Z", + "when": "notebookEditorFocused && !inputFocus && notebookViewType == jupyter-notebook", + "command": "notebook.undo" + }, + { + "mac": "C", + "win": "C", + "linux": "C", + "key": "C", + "when": "notebookEditorFocused && !inputFocus && notebookViewType == jupyter-notebook", + "command": "notebook.cell.copy" + }, + { + "mac": "X", + "win": "X", + "linux": "X", + "key": "X", + "when": "notebookEditorFocused && !inputFocus && notebookViewType == jupyter-notebook", + "command": "notebook.cell.cut" + }, + { + "mac": "V", + "win": "V", + "linux": "V", + "key": "V", + "when": "notebookEditorFocused && !inputFocus && notebookViewType == jupyter-notebook", + "command": "notebook.cell.paste" + }, + { + "mac": "ctrl+shift+-", + "win": "ctrl+shift+-", + "linux": "ctrl+shift+-", + "when": "editorTextFocus && inputFocus && notebookEditorFocused && notebookViewType == jupyter-notebook", + "command": "notebook.cell.split" + }, + { + "command": "python.datascience.insertCellBelowPosition", + "key": "ctrl+; s", + "when": "editorTextFocus && python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" + }, + { + "command": "python.datascience.insertCellBelow", + "key": "ctrl+; b", + "when": "editorTextFocus && python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" + }, + { + "command": "python.datascience.insertCellAbove", + "key": "ctrl+; a", + "when": "editorTextFocus && python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" + }, + { + "command": "python.datascience.deleteCells", + "key": "ctrl+; x", + "when": "editorTextFocus && python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" + }, + { + "command": "python.datascience.extendSelectionByCellAbove", + "key": "ctrl+alt+shift+[", + "when": "editorTextFocus && python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" + }, + { + "command": "python.datascience.extendSelectionByCellBelow", + "key": "ctrl+alt+shift+]", + "when": "editorTextFocus && python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" + }, + { + "command": "python.datascience.moveCellsUp", + "key": "ctrl+; u", + "when": "editorTextFocus && python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" + }, + { + "command": "python.datascience.moveCellsDown", + "key": "ctrl+; d", + "when": "editorTextFocus && python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" + }, + { + "command": "python.datascience.changeCellToMarkdown", + "key": "ctrl+; m", + "when": "editorTextFocus && python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" + }, + { + "command": "python.datascience.changeCellToCode", + "key": "ctrl+; c", + "when": "editorTextFocus && python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" + }, + { + "command": "python.datascience.gotoNextCellInFile", + "key": "ctrl+alt+]", + "when": "editorTextFocus && python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" + }, + { + "command": "python.datascience.gotoPrevCellInFile", + "key": "ctrl+alt+[", + "when": "editorTextFocus && python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" + }, + { + "command": "python.datascience.selectCellContents", + "key": "ctrl+alt+\\", + "when": "editorTextFocus && python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" + }, + { + "command": "python.datascience.selectCell", + "key": "ctrl+alt+shift+\\", + "when": "editorTextFocus && python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" } ], "commands": [ @@ -224,6 +398,16 @@ "title": "%python.command.python.switchToWeeklyChannel.title%", "category": "Python" }, + { + "command": "python.clearWorkspaceInterpreter", + "title": "%python.command.python.clearWorkspaceInterpreter.title%", + "category": "Python" + }, + { + "command": "python.resetInterpreterSecurityStorage", + "title": "%python.command.python.resetInterpreterSecurityStorage.title%", + "category": "Python" + }, { "command": "python.refactorExtractVariable", "title": "%python.command.python.refactorExtractVariable.title%", @@ -248,6 +432,31 @@ "title": "%python.command.python.datascience.viewJupyterOutput.title%", "category": "Python" }, + { + "command": "python.datascience.export", + "title": "%DataScience.notebookExportAs%", + "category": "Python", + "icon": { + "light": "resources/light/export_to_python.svg", + "dark": "resources/dark/export_to_python.svg" + }, + "enablement": "notebookViewType == jupyter-notebook && python.datascience.isnotebooktrusted" + }, + { + "command": "python.datascience.exportAsPythonScript", + "title": "%python.command.python.datascience.exportAsPythonScript.title%", + "category": "Python" + }, + { + "command": "python.datascience.exportToHTML", + "title": "%python.command.python.datascience.exportToHTML.title%", + "category": "Python" + }, + { + "command": "python.datascience.exportToPDF", + "title": "%python.command.python.datascience.exportToPDF.title%", + "category": "Python" + }, { "command": "python.datascience.selectJupyterInterpreter", "title": "%python.command.python.datascience.selectJupyterInterpreter.title%", @@ -384,6 +593,76 @@ "title": "%python.command.python.datascience.debugcontinue.title%", "category": "Python" }, + { + "command": "python.datascience.insertCellBelowPosition", + "title": "%python.command.python.datascience.insertCellBelowPosition.title%", + "category": "Python" + }, + { + "command": "python.datascience.insertCellBelow", + "title": "%python.command.python.datascience.insertCellBelow.title%", + "category": "Python" + }, + { + "command": "python.datascience.insertCellAbove", + "title": "%python.command.python.datascience.insertCellAbove.title%", + "category": "Python" + }, + { + "command": "python.datascience.deleteCells", + "title": "%python.command.python.datascience.deleteCells.title%", + "category": "Python" + }, + { + "command": "python.datascience.selectCell", + "title": "%python.command.python.datascience.selectCell.title%", + "category": "Python" + }, + { + "command": "python.datascience.selectCellContents", + "title": "%python.command.python.datascience.selectCellContents.title%", + "category": "Python" + }, + { + "command": "python.datascience.extendSelectionByCellAbove", + "title": "%python.command.python.datascience.extendSelectionByCellAbove.title%", + "category": "Python" + }, + { + "command": "python.datascience.extendSelectionByCellBelow", + "title": "%python.command.python.datascience.extendSelectionByCellBelow.title%", + "category": "Python" + }, + { + "command": "python.datascience.moveCellsUp", + "title": "%python.command.python.datascience.moveCellsUp.title%", + "category": "Python" + }, + { + "command": "python.datascience.moveCellsDown", + "title": "%python.command.python.datascience.moveCellsDown.title%", + "category": "Python" + }, + { + "command": "python.datascience.changeCellToMarkdown", + "title": "%python.command.python.datascience.changeCellToMarkdown.title%", + "category": "Python" + }, + { + "command": "python.datascience.changeCellToCode", + "title": "%python.command.python.datascience.changeCellToCode.title%", + "category": "Python" + }, + { + "command": "python.datascience.gotoNextCellInFile", + "title": "%python.command.python.datascience.gotoNextCellInFile.title%", + "category": "Python" + }, + { + "command": "python.datascience.gotoPrevCellInFile", + "title": "%python.command.python.datascience.gotoPrevCellInFile.title%", + "category": "Python" + }, { "command": "python.datascience.runcurrentcelladvance", "title": "%python.command.python.datascience.runcurrentcelladvance.title%", @@ -410,8 +689,8 @@ "category": "Python" }, { - "command": "python.datascience.showhistorypane", - "title": "%python.command.python.datascience.showhistorypane.title%", + "command": "python.datascience.createnewinteractive", + "title": "%python.command.python.datascience.createnewinteractive.title%", "category": "Python" }, { @@ -481,6 +760,11 @@ "title": "%python.command.python.datascience.opennotebook.title%", "category": "Python" }, + { + "command": "python.datascience.opennotebookInPreviewEditor", + "title": "%python.command.python.datascience.opennotebookInPreviewEditor.title%", + "category": "Python" + }, { "command": "python.datascience.exportoutputasnotebook", "title": "%python.command.python.datascience.exportoutputasnotebook.title%", @@ -544,7 +828,22 @@ { "command": "python.datascience.notebookeditor.restartkernel", "title": "%python.command.python.datascience.restartkernel.title%", - "category": "Python" + "category": "Python", + "icon": { + "light": "resources/light/restart-kernel.svg", + "dark": "resources/dark/restart-kernel.svg" + }, + "enablement": "python.datascience.notebookeditor.canrestartNotebookkernel" + }, + { + "command": "python.datascience.notebookeditor.trust", + "title": "%DataScience.trustNotebookCommandTitle%", + "category": "Python", + "icon": { + "light": "resources/light/un-trusted.svg", + "dark": "resources/dark/un-trusted.svg" + }, + "enablement": "notebookViewType == jupyter-notebook && !python.datascience.isnotebooktrusted && python.datascience.trustfeatureenabled" }, { "command": "python.datascience.notebookeditor.runallcells", @@ -561,6 +860,21 @@ "title": "%python.command.python.datascience.notebookeditor.addcellbelow.title%", "category": "Python" }, + { + "command": "python.datascience.notebookeditor.removeallcells", + "title": "%python.command.python.datascience.notebookeditor.removeallcells.title%", + "category": "Python" + }, + { + "command": "python.datascience.notebookeditor.expandallcells", + "title": "%python.command.python.datascience.notebookeditor.expandallcells.title%", + "category": "Python" + }, + { + "command": "python.datascience.notebookeditor.collapseallcells", + "title": "%python.command.python.datascience.notebookeditor.collapseallcells.title%", + "category": "Python" + }, { "command": "python.datascience.expandallcells", "title": "%python.command.python.datascience.expandallcells.title%", @@ -581,6 +895,11 @@ "title": "%python.command.python.datascience.createnewnotebook.title%", "category": "Python" }, + { + "command": "python.startPage.open", + "title": "%python.command.python.startPage.open.title%", + "category": "Python" + }, { "command": "python.datascience.scrolltocell", "title": "%python.command.python.datascience.scrolltocell.title%", @@ -599,7 +918,17 @@ }, { "command": "python.datascience.gatherquality", - "title": "%DataScience.gatherGood%", + "title": "DataScience.gatherQuality", + "category": "Python" + }, + { + "command": "python.datascience.latestExtension", + "title": "DataScience.latestExtension", + "category": "Python" + }, + { + "command": "python.analysis.restartLanguageServer", + "title": "%python.command.python.analysis.restartLanguageServer.title%", "category": "Python" } ], @@ -609,19 +938,19 @@ "command": "python.refactorExtractVariable", "title": "Refactor: Extract Variable", "group": "Refactor", - "when": "editorHasSelection && editorLangId == python" + "when": "editorHasSelection && editorLangId == python && !notebookEditorFocused" }, { "command": "python.refactorExtractMethod", "title": "Refactor: Extract Method", "group": "Refactor", - "when": "editorHasSelection && editorLangId == python" + "when": "editorHasSelection && editorLangId == python && !notebookEditorFocused" }, { "command": "python.sortImports", "title": "Refactor: Sort Imports", "group": "Refactor", - "when": "editorLangId == python" + "when": "editorLangId == python && !notebookEditorFocused" }, { "command": "python.execSelectionInTerminal", @@ -644,52 +973,52 @@ "group": "Python" }, { - "when": "editorFocus && editorLangId == python && python.datascience.hascodecells && python.datascience.featureenabled", + "when": "editorFocus && editorLangId == python && python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused", "command": "python.datascience.runallcells", "group": "Python2" }, { - "when": "editorFocus && editorLangId == python && python.datascience.hascodecells && python.datascience.featureenabled", + "when": "editorFocus && editorLangId == python && python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused", "command": "python.datascience.runcurrentcell", "group": "Python2" }, { - "when": "editorFocus && editorLangId == python && python.datascience.hascodecells && python.datascience.featureenabled", + "when": "editorFocus && editorLangId == python && python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused", "command": "python.datascience.runcurrentcelladvance", "group": "Python2" }, { "command": "python.datascience.runFileInteractive", "group": "Python2", - "when": "editorFocus && editorLangId == python && python.datascience.featureenabled" + "when": "editorFocus && editorLangId == python && python.datascience.featureenabled && !notebookEditorFocused" }, { "command": "python.datascience.runfromline", "group": "Python2", - "when": "editorFocus && editorLangId == python && python.datascience.ownsSelection && python.datascience.featureenabled" + "when": "editorFocus && editorLangId == python && python.datascience.ownsSelection && python.datascience.featureenabled && !notebookEditorFocused" }, { "command": "python.datascience.runtoline", "group": "Python2", - "when": "editorFocus && editorLangId == python && python.datascience.ownsSelection && python.datascience.featureenabled" + "when": "editorFocus && editorLangId == python && python.datascience.ownsSelection && python.datascience.featureenabled && !notebookEditorFocused" }, { "command": "python.datascience.execSelectionInteractive", "group": "Python2", - "when": "editorFocus && editorLangId == python && python.datascience.featureenabled && python.datascience.ownsSelection" + "when": "editorFocus && editorLangId == python && python.datascience.featureenabled && python.datascience.ownsSelection && !notebookEditorFocused" }, { - "when": "editorFocus && editorLangId == python && resourceLangId == jupyter && python.datascience.featureenabled", + "when": "editorFocus && editorLangId == python && resourceLangId == jupyter && python.datascience.featureenabled && !notebookEditorFocused", "command": "python.datascience.importnotebook", "group": "Python3@1" }, { - "when": "editorFocus && editorLangId == python && python.datascience.hascodecells && python.datascience.featureenabled", + "when": "editorFocus && editorLangId == python && python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused", "command": "python.datascience.exportfileasnotebook", "group": "Python3@2" }, { - "when": "editorFocus && editorLangId == python && python.datascience.hascodecells && python.datascience.featureenabled", + "when": "editorFocus && editorLangId == python && python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused", "command": "python.datascience.exportfileandoutputasnotebook", "group": "Python3@3" } @@ -700,16 +1029,34 @@ "title": "%python.command.python.execInTerminal.title%", "group": "navigation", "when": "resourceLangId == python && python.showPlayIcon" + }, + { + "command": "python.datascience.notebookeditor.restartkernel", + "title": "%python.command.python.datascience.restartkernel.title%", + "group": "navigation", + "when": "resourceLangId == jupyter && notebookViewType == 'jupyter-notebook'" + }, + { + "command": "python.datascience.notebookeditor.trust", + "title": "%DataScience.trustNotebookCommandTitle%", + "group": "navigation@1", + "when": "resourceLangId == jupyter && notebookViewType == 'jupyter-notebook' && !python.datascience.isnotebooktrusted && python.datascience.trustfeatureenabled" + }, + { + "command": "python.datascience.export", + "title": "%DataScience.notebookExportAs%", + "group": "navigation", + "when": "resourceLangId == jupyter && notebookViewType == 'jupyter-notebook' && python.datascience.isnotebooktrusted" } ], "explorer/context": [ { - "when": "resourceLangId == python && !busyTests", + "when": "resourceLangId == python && !busyTests && !notebookEditorFocused", "command": "python.runtests", "group": "Python" }, { - "when": "resourceLangId == python && !busyTests", + "when": "resourceLangId == python && !busyTests && !notebookEditorFocused", "command": "python.debugtests", "group": "Python" }, @@ -719,7 +1066,7 @@ "group": "Python" }, { - "when": "resourceLangId == python && python.datascience.featureenabled", + "when": "resourceLangId == python && python.datascience.featureenabled && !notebookEditorFocused", "command": "python.datascience.runFileInteractive", "group": "Python2" }, @@ -728,6 +1075,11 @@ "command": "python.datascience.opennotebook", "group": "Python" }, + { + "when": "resourceLangId == jupyter && python.vscode.channel == 'insiders'", + "command": "python.datascience.opennotebookInPreviewEditor", + "group": "Python" + }, { "when": "resourceLangId == jupyter", "command": "python.datascience.importnotebookfile", @@ -735,6 +1087,24 @@ } ], "commandPalette": [ + { + "command": "python.datascience.exportAsPythonScript", + "title": "%python.command.python.datascience.exportAsPythonScript.title%", + "category": "Python", + "when": "python.datascience.isnativeactive && python.datascience.featureenabled && python.datascience.isnotebooktrusted" + }, + { + "command": "python.datascience.exportToHTML", + "title": "%python.command.python.datascience.exportToHTML.title%", + "category": "Python", + "when": "python.datascience.isnativeactive && python.datascience.featureenabled && python.datascience.isnotebooktrusted" + }, + { + "command": "python.datascience.exportToPDF", + "title": "%python.command.python.datascience.exportToPDF.title%", + "category": "Python", + "when": "python.datascience.isnativeactive && python.datascience.featureenabled && python.datascience.isnotebooktrusted" + }, { "command": "python.switchOffInsidersChannel", "title": "%python.command.python.switchOffInsidersChannel.title%", @@ -753,6 +1123,16 @@ "category": "Python", "when": "config.python.insidersChannel != 'weekly'" }, + { + "command": "python.clearWorkspaceInterpreter", + "title": "%python.command.python.clearWorkspaceInterpreter.title%", + "category": "Python" + }, + { + "command": "python.resetInterpreterSecurityStorage", + "title": "%python.command.python.resetInterpreterSecurityStorage.title%", + "category": "Python" + }, { "command": "python.viewOutput", "title": "%python.command.python.viewOutput.title%", @@ -786,6 +1166,90 @@ "category": "Python", "when": "config.noExists" }, + { + "command": "python.datascience.insertCellBelowPosition", + "title": "%python.command.python.datascience.insertCellBelowPosition.title%", + "category": "Python", + "when": "python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" + }, + { + "command": "python.datascience.insertCellBelow", + "title": "%python.command.python.datascience.insertCellBelow.title%", + "category": "Python", + "when": "python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" + }, + { + "command": "python.datascience.insertCellAbove", + "title": "%python.command.python.datascience.insertCellAbove.title%", + "category": "Python", + "when": "python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" + }, + { + "command": "python.datascience.deleteCells", + "title": "%python.command.python.datascience.deleteCells.title%", + "category": "Python", + "when": "python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" + }, + { + "command": "python.datascience.selectCell", + "title": "%python.command.python.datascience.selectCell.title%", + "category": "Python", + "when": "python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" + }, + { + "command": "python.datascience.selectCellContents", + "title": "%python.command.python.datascience.selectCellContents.title%", + "category": "Python", + "when": "python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" + }, + { + "command": "python.datascience.extendSelectionByCellAbove", + "title": "%python.command.python.datascience.extendSelectionByCellAbove.title%", + "category": "Python", + "when": "python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" + }, + { + "command": "python.datascience.extendSelectionByCellBelow", + "title": "%python.command.python.datascience.extendSelectionByCellBelow.title%", + "category": "Python", + "when": "python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" + }, + { + "command": "python.datascience.moveCellsUp", + "title": "%python.command.python.datascience.moveCellsUp.title%", + "category": "Python", + "when": "python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" + }, + { + "command": "python.datascience.moveCellsDown", + "title": "%python.command.python.datascience.moveCellsDown.title%", + "category": "Python", + "when": "python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" + }, + { + "command": "python.datascience.changeCellToMarkdown", + "title": "%python.command.python.datascience.changeCellToMarkdown.title%", + "category": "Python", + "when": "python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" + }, + { + "command": "python.datascience.changeCellToCode", + "title": "%python.command.python.datascience.changeCellToCode.title%", + "category": "Python", + "when": "python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" + }, + { + "command": "python.datascience.gotoNextCellInFile", + "title": "%python.command.python.datascience.gotoNextCellInFile.title%", + "category": "Python", + "when": "python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" + }, + { + "command": "python.datascience.gotoPrevCellInFile", + "title": "%python.command.python.datascience.gotoPrevCellInFile.title%", + "category": "Python", + "when": "python.datascience.hascodecells && python.datascience.featureenabled && !notebookEditorFocused" + }, { "command": "python.datascience.runcurrentcell", "title": "%python.command.python.datascience.runcurrentcell.title%", @@ -817,10 +1281,10 @@ "when": "editorLangId == python && python.datascience.hascodecells && python.datascience.featureenabled" }, { - "command": "python.datascience.showhistorypane", - "title": "%python.command.python.datascience.showhistorypane.title%", + "command": "python.datascience.createnewinteractive", + "title": "%python.command.python.datascience.createnewinteractive.title%", "category": "Python", - "when": "python.datascience.featureenabled && !python.datascience.isinteractiveactive" + "when": "python.datascience.featureenabled" }, { "command": "python.datascience.runallcells", @@ -850,13 +1314,13 @@ "command": "python.datascience.runFileInteractive", "title": "%python.command.python.datascience.runFileInteractive.title%", "category": "Python", - "when": "editorLangId == python && python.datascience.featureenabled" + "when": "editorLangId == python && python.datascience.featureenabled && !notebookEditorFocused" }, { "command": "python.datascience.debugFileInteractive", "title": "%python.command.python.datascience.debugFileInteractive.title%", "category": "Python", - "when": "editorLangId == python && python.datascience.featureenabled" + "when": "editorLangId == python && python.datascience.featureenabled && !notebookEditorFocused" }, { "command": "python.datascience.importnotebook", @@ -872,25 +1336,25 @@ "command": "python.datascience.exportfileasnotebook", "title": "%python.command.python.datascience.exportfileasnotebook.title%", "category": "Python", - "when": "python.datascience.hascodecells && python.datascience.featureenabled && python.datascience.ispythonorinteractiveeactive" + "when": "python.datascience.hascodecells && python.datascience.featureenabled && python.datascience.ispythonorinteractiveeactive && !notebookEditorFocused" }, { "command": "python.datascience.exportfileandoutputasnotebook", "title": "%python.command.python.datascience.exportfileandoutputasnotebook.title%", "category": "Python", - "when": "python.datascience.hascodecells && python.datascience.featureenabled && python.datascience.ispythonorinteractiveeactive" + "when": "python.datascience.hascodecells && python.datascience.featureenabled && python.datascience.ispythonorinteractiveeactive && !notebookEditorFocused" }, { "command": "python.datascience.undocells", "title": "%python.command.python.datascience.undocells.title%", "category": "Python", - "when": "python.datascience.haveinteractivecells && python.datascience.featureenabled && python.datascience.ispythonorinteractiveeactive" + "when": "python.datascience.haveinteractivecells && python.datascience.featureenabled && python.datascience.ispythonorinteractiveeactive && !notebookEditorFocused" }, { "command": "python.datascience.redocells", "title": "%python.command.python.datascience.redocells.title%", "category": "Python", - "when": "python.datascience.haveredoablecells && python.datascience.featureenabled && python.datascience.ispythonorinteractiveornativeeactive" + "when": "python.datascience.haveredoablecells && python.datascience.featureenabled && python.datascience.ispythonorinteractiveornativeeactive && !notebookEditorFocused" }, { "command": "python.datascience.removeallcells", @@ -914,49 +1378,79 @@ "command": "python.datascience.notebookeditor.undocells", "title": "%python.command.python.datascience.undocells.title%", "category": "Python", - "when": "python.datascience.haveinteractivecells && python.datascience.featureenabled && python.datascience.isnativeactive" + "when": "python.datascience.haveinteractivecells && python.datascience.featureenabled && python.datascience.isnativeactive && !notebookEditorFocused && python.datascience.isnotebooktrusted" }, { "command": "python.datascience.notebookeditor.redocells", "title": "%python.command.python.datascience.redocells.title%", "category": "Python", - "when": "python.datascience.havenativeredoablecells && python.datascience.featureenabled && python.datascience.isnativeactive" + "when": "python.datascience.havenativeredoablecells && python.datascience.featureenabled && python.datascience.isnativeactive && !notebookEditorFocused&& python.datascience.isnotebooktrusted" }, { "command": "python.datascience.notebookeditor.removeallcells", "title": "%python.command.python.datascience.notebookeditor.removeallcells.title%", "category": "Python", - "when": "python.datascience.havenativecells && python.datascience.featureenabled && python.datascience.isnativeactive" + "when": "python.datascience.havenativecells && python.datascience.featureenabled && python.datascience.isnativeactive && python.datascience.isnotebooktrusted" }, { "command": "python.datascience.notebookeditor.interruptkernel", "title": "%python.command.python.datascience.interruptkernel.title%", "category": "Python", - "when": "python.datascience.isnativeactive && python.datascience.featureenabled" + "when": "python.datascience.isnativeactive && python.datascience.featureenabled && python.datascience.isnotebooktrusted" }, { "command": "python.datascience.notebookeditor.restartkernel", "title": "%python.command.python.datascience.restartkernel.title%", "category": "Python", - "when": "python.datascience.isnativeactive && python.datascience.featureenabled" + "when": "python.datascience.isnativeactive && python.datascience.featureenabled && python.datascience.isnotebooktrusted" + }, + { + "command": "python.datascience.notebookeditor.trust", + "title": "%DataScience.trustNotebookCommandTitle%", + "category": "Python", + "when": "python.datascience.featureenabled && notebookEditorFocused && !python.datascience.isnotebooktrusted && python.datascience.trustfeatureenabled" }, { "command": "python.datascience.notebookeditor.runallcells", "title": "%python.command.python.datascience.notebookeditor.runallcells.title%", "category": "Python", - "when": "python.datascience.isnativeactive && python.datascience.featureenabled" + "when": "python.datascience.isnativeactive && python.datascience.featureenabled && python.datascience.isnotebooktrusted" }, { "command": "python.datascience.notebookeditor.runselectedcell", "title": "%python.command.python.datascience.notebookeditor.runselectedcell.title%", "category": "Python", - "when": "python.datascience.isnativeactive && python.datascience.featureenabled && python.datascience.havecellselected" + "when": "python.datascience.isnativeactive && python.datascience.featureenabled && python.datascience.havecellselected && !notebookEditorFocused && python.datascience.isnotebooktrusted" + }, + { + "command": "python.datascience.notebookeditor.runselectedcell", + "title": "%python.command.python.datascience.notebookeditor.runselectedcell.title%", + "category": "Python", + "when": "python.datascience.isnativeactive && python.datascience.featureenabled && notebookEditorFocused && python.datascience.isnotebooktrusted" }, { "command": "python.datascience.notebookeditor.addcellbelow", "title": "%python.command.python.datascience.notebookeditor.addcellbelow.title%", "category": "Python", - "when": "python.datascience.isnativeactive && python.datascience.featureenabled" + "when": "python.datascience.isnativeactive && python.datascience.featureenabled && python.datascience.isnotebooktrusted" + }, + { + "command": "python.datascience.notebookeditor.removeallcells", + "title": "%python.command.python.datascience.removeallcells.title%", + "category": "Python", + "when": "python.datascience.featureenabled && notebookEditorFocused" + }, + { + "command": "python.datascience.notebookeditor.expandallcells", + "title": "%python.command.python.datascience.expandallcells.title%", + "category": "Python", + "when": "python.datascience.featureenabled && notebookEditorFocused" + }, + { + "command": "python.datascience.notebookeditor.collapseallcells", + "title": "%python.command.python.datascience.collapseallcells.title%", + "category": "Python", + "when": "python.datascience.featureenabled && notebookEditorFocused" }, { "command": "python.datascience.expandallcells", @@ -1017,6 +1511,11 @@ "title": "%python.command.python.datascience.createnewnotebook.title%", "category": "Python" }, + { + "command": "python.startPage.open", + "title": "%python.command.python.startPage.open.title%", + "category": "Python" + }, { "command": "python.datascience.runtoline", "category": "Python", @@ -1030,13 +1529,31 @@ { "command": "python.datascience.execSelectionInteractive", "category": "Python", - "when": "editorLangId == python && python.datascience.featureenabled" + "when": "editorLangId == python && python.datascience.featureenabled && !notebookEditorFocused" }, { "command": "python.datascience.switchKernel", "title": "%DataScience.selectKernel%", "category": "Python", "when": "python.datascience.isnativeactive" + }, + { + "command": "python.datascience.gatherquality", + "title": "%DataScience.gatherQuality%", + "category": "Python", + "when": "false" + }, + { + "command": "python.datascience.latestExtension", + "title": "%DataScience.latestExtension%", + "category": "Python", + "when": "false" + }, + { + "command": "python.datascience.export", + "title": "%DataScience.notebookExportAs%", + "category": "Python", + "when": "false" } ], "view/title": [ @@ -1157,8 +1674,6 @@ "languages": [ "python" ], - "program": "./out/client/debugger/debugAdapter/main.js", - "runtime": "node", "variables": { "pickProcess": "python.pickLocalProcess" }, @@ -1178,8 +1693,16 @@ }, "pythonPath": { "type": "string", - "description": "Path (fully qualified) to python executable. Defaults to the value in settings.json", - "default": "${config:python.pythonPath}" + "description": "Path (fully qualified) to python executable. Defaults to the value in settings", + "default": "${command:python.interpreterPath}" + }, + "pythonArgs": { + "type": "array", + "description": "Command-line arguments passed to the Python interpreter. To pass arguments to the debug target, use \"args\".", + "default": [], + "items": { + "type": "string" + } }, "args": { "type": "array", @@ -1316,8 +1839,8 @@ "properties": { "pythonPath": { "type": "string", - "description": "Path (fully qualified) to python executable. Defaults to the value in settings.json", - "default": "${config:python.pythonPath}" + "description": "Path (fully qualified) to python executable. Defaults to the value in settings", + "default": "${command:python.interpreterPath}" }, "stopOnEntry": { "type": "boolean", @@ -1542,28 +2065,49 @@ "description": "Automatically update the language server.", "scope": "application" }, + "python.logging.level": { + "type": "string", + "default": "error", + "enum": [ + "off", + "error", + "warn", + "info", + "debug" + ], + "description": "The logging level the extension logs at, defaults to 'error'", + "scope": "machine" + }, "python.experiments.enabled": { "type": "boolean", "default": true, "description": "Enables/disables A/B tests.", "scope": "machine" }, + "python.defaultInterpreterPath": { + "type": "string", + "default": "python", + "description": "Path to Python, you can use a custom version of Python by modifying this setting to include the full path.", + "scope": "machine" + }, "python.experiments.optInto": { "type": "array", "default": [], "items": { "enum": [ - "LS - enabled", "AlwaysDisplayTestExplorer - experiment", "ShowExtensionSurveyPrompt - enabled", - "DebugAdapterFactory - experiment", - "PtvsdWheels37 - experiment", "Reload - experiment", "AA_testing - experiment", - "WebHostNotebook - experiment", + "LocalZMQKernel - experiment", + "NativeNotebook - experiment", + "CustomEditorSupport - experiment", "UseTerminalToGetActivatedEnvVars - experiment", "CollectLSRequestTiming - experiment", "CollectNodeLSRequestTiming - experiment", + "DeprecatePythonPath - experiment", + "RunByLine - experiment", + "tryPylance", "All" ] }, @@ -1575,17 +2119,19 @@ "default": [], "items": { "enum": [ - "LS - enabled", "AlwaysDisplayTestExplorer - experiment", "ShowExtensionSurveyPrompt - enabled", - "DebugAdapterFactory - experiment", - "PtvsdWheels37 - experiment", "Reload - experiment", "AA_testing - experiment", - "WebHostNotebook - experiment", + "LocalZMQKernel - experiment", + "NativeNotebook - experiment", + "CustomEditorSupport - experiment", "UseTerminalToGetActivatedEnvVars - experiment", "CollectLSRequestTiming - experiment", "CollectNodeLSRequestTiming - experiment", + "DeprecatePythonPath - experiment", + "RunByLine - experiment", + "tryPylance", "All" ] }, @@ -1598,67 +2144,23 @@ "description": "Allows a user to import a jupyter notebook into a python file anytime one is opened.", "scope": "resource" }, - "python.dataScience.gatherRules": { + "python.dataScience.widgetScriptSources": { "type": "array", - "default": [ - { - "objectName": "df", - "functionName": "head", - "doesNotModify": [ - "OBJECT" - ] - }, - { - "objectName": "df", - "functionName": "describe", - "doesNotModify": [ - "OBJECT" - ] - }, - { - "objectName": "df", - "functionName": "tail", - "doesNotModify": [ - "OBJECT" - ] - }, - { - "functionName": "print", - "doesNotModify": [ - "ARGUMENTS" - ] - }, - { - "functionName": "KMeans", - "doesNotModify": [ - "ARGUMENTS" - ] - }, - { - "functionName": "scatter", - "doesNotModify": [ - "ARGUMENTS" - ] - }, - { - "functionName": "fit", - "doesNotModify": [ - "ARGUMENTS" - ] - }, - { - "functionName": "sum", - "doesNotModify": [ - "ARGUMENTS" - ] - }, - { - "functionName": "len", - "doesNotModify": [ - "ARGUMENTS" - ] - } - ] + "default": [], + "items": { + "type": "string", + "enum": [ + "jsdelivr.com", + "unpkg.com" + ], + "enumDescriptions": [ + "Loads widget (javascript) scripts from https://www.jsdelivr.com/", + "Loads widget (javascript) scripts from https://unpkg.com/" + ] + }, + "uniqueItems": true, + "markdownDescription": "Defines the location and order of the sources where scripts files for Widgets are downloaded from (e.g. ipywidgest, bqplot, beakerx, ipyleaflet, etc). Not selecting any of these could result in widgets not rendering or function correctly. See [here](https://aka.ms/PVSCIPyWidgets) for more information. Once updated you will need to restart the Kernel.", + "scope": "machine" }, "python.dataScience.askForLargeDataFrames": { "type": "boolean", @@ -1758,7 +2260,25 @@ "python.dataScience.maxOutputSize": { "type": "number", "default": 400, - "description": "Maximum size (in pixels) of text output in the Python Interactive window before a scrollbar appears. Set to -1 for infinity.", + "description": "Maximum size (in pixels) of text output in the Notebook Editor before a scrollbar appears. First enable scrolling for cell outputs in settings.", + "scope": "resource" + }, + "python.dataScience.alwaysScrollOnNewCell": { + "type": "boolean", + "default": false, + "description": "Automatically scroll the interactive window to show the output of the last statement executed. If false, the interactive window will only automatically scroll if the bottom of the prior cell is visible.", + "scope": "resource" + }, + "python.dataScience.showKernelSelectionOnInteractiveWindow": { + "type": "boolean", + "default": false, + "description": "When set to true, enables the kernel selector in the Interactive Window. By default, the Interactive Window will use your Python Interpreters kernel.", + "scope": "resource" + }, + "python.dataScience.enableScrollingForCellOutputs": { + "type": "boolean", + "default": true, + "description": "Enables scrolling for large cell outputs in the Notebook Editor. This setting does not apply to the Python Interactive Window.", "scope": "resource" }, "python.dataScience.errorBackgroundColor": { @@ -1872,16 +2392,16 @@ "description": "Modify plot output so that it can be expanded into a plot viewer window.", "scope": "resource" }, - "python.dataScience.enableGather": { - "type": "boolean", - "default": true, - "description": "Python Insiders Only: Enable experimental gather feature for executed cells. For a gathered cell, that cell and only the code it depends on will be exported to a new notebook.", - "scope": "resource" - }, "python.dataScience.gatherToScript": { "type": "boolean", "default": false, - "description": "Python Insiders Only: If experimental gather feature is enabled, gather code to a python script rather than a notebook.", + "description": "Gather code to a python script rather than a notebook.", + "scope": "resource" + }, + "python.dataScience.gatherSpecPath": { + "type": "string", + "default": "", + "description": "This setting specifies a folder that contains additional or replacement spec files used for analysis.", "scope": "resource" }, "python.dataScience.codeLenses": { @@ -1896,10 +2416,10 @@ "description": "Set of debug commands to put as code lens above a cell while debugging.", "scope": "resource" }, - "python.dataScience.ptvsdDistPath": { + "python.dataScience.debugpyDistPath": { "type": "string", "default": "", - "description": "Path to ptvsd experimental bits for debugging cells.", + "description": "Path to debugpy bits for debugging cells.", "scope": "resource" }, "python.dataScience.stopOnFirstLineWhileDebugging": { @@ -1963,6 +2483,17 @@ ] ] }, + "python.dataScience.interactiveWindowMode": { + "type": "string", + "enum": [ + "perFile", + "single", + "multiple" + ], + "scope": "resource", + "description": "Behavior of the Python Interactive Window. 'perFile' will create a new interactive window for every file that runs a cell. 'single' allows a single window. 'multiple' allows the creation of multiple.", + "default": "multiple" + }, "python.disableInstallationCheck": { "type": "boolean", "default": false, @@ -2038,12 +2569,6 @@ "description": "Whether to install Python modules globally when not using an environment.", "scope": "resource" }, - "python.jediEnabled": { - "type": "boolean", - "default": true, - "description": "Enables Jedi as IntelliSense engine instead of Microsoft Python Analysis Engine.", - "scope": "resource" - }, "python.jediMemoryLimit": { "type": "number", "default": 0, @@ -2053,25 +2578,20 @@ "python.jediPath": { "type": "string", "default": "", - "description": "Path to directory containing the Jedi library (this path will contain the 'Jedi' sub directory).", + "description": "Path to directory containing the Jedi library (this path will contain the 'Jedi' sub directory). Note: since Jedi depends on Parso, if using this setting you will need to ensure a suitable version of Parso is available.", "scope": "resource" }, "python.languageServer": { "type": "string", "enum": [ "Jedi", + "Pylance", "Microsoft", "None" ], - "default": "Microsoft", + "default": "Jedi", "description": "Defines type of the language server.", - "scope": "resource" - }, - "python.analysis.openFilesOnly": { - "type": "boolean", - "default": true, - "description": "Only show errors and warnings for open files rather than for the entire workspace.", - "scope": "resource" + "scope": "window" }, "python.analysis.diagnosticPublishDelay": { "type": "integer", @@ -2135,12 +2655,6 @@ "description": "Allows code analysis to keep parser trees in memory. Increases memory consumption but may improve performance with large library analysis.", "scope": "resource" }, - "python.analysis.memory.keepLibraryLocalVariables": { - "type": "boolean", - "default": false, - "description": "Allows code analysis to keep library function local variables. Allows code navigation in Python libraries function bodies. Increases memory consumption.", - "scope": "resource" - }, "python.analysis.logLevel": { "type": "string", "enum": [ @@ -2159,18 +2673,6 @@ "description": "Limits depth of the symbol tree in the document outline.", "scope": "resource" }, - "python.analysis.cachingLevel": { - "type": "string", - "enum": [ - "Default", - "None", - "System", - "Library" - ], - "default": "Default", - "description": "Defines which types of modules get their analysis cached.", - "scope": "resource" - }, "python.linting.enabled": { "type": "boolean", "default": true, @@ -2740,13 +3242,13 @@ "default": "", "deprecationMessage": "This setting has been deprecated in favor of 'runStartupCommands'.", "description": "A series of Python instructions or iPython magic commands separated by '\\n' that will be executed when the interactive window loads.", - "scope": "resource" + "scope": "application" }, "python.dataScience.runStartupCommands": { - "type": "string", + "type": "array", "default": "", - "description": "A series of Python instructions or iPython magic commands separated by '\\n' that will be executed when the interactive window loads. For instance, set this to '%load_ext autoreload\\n%autoreload 2' to automatically reload changes made to imported files without having to restart the interactive session.", - "scope": "resource" + "description": "A series of Python instructions or iPython magic commands. Can be either an array of strings or a single string with commands separated by '\\n'. Commands will be silently executed whenever the interactive window loads. For instance, set this to '%load_ext autoreload\\n%autoreload 2' to automatically reload changes made to imported files without having to restart the interactive session.", + "scope": "application" }, "python.dataScience.debugJustMyCode": { "type": "boolean", @@ -2754,6 +3256,12 @@ "description": "When debugging, debug just my code.", "scope": "resource" }, + "python.dataScience.alwaysTrustNotebooks": { + "type": "boolean", + "default": false, + "markdownDescription": "Enabling this setting will automatically trust any opened notebook and therefore display markdown and render code cells. You will no longer be prompted to trust individual notebooks and harmful code could automatically run. \n\n[Learn more.](https://aka.ms/trusted-notebooks)", + "scope": "machine" + }, "python.insidersChannel": { "type": "string", "default": "off", @@ -2764,6 +3272,12 @@ "daily" ], "scope": "application" + }, + "python.showStartPage": { + "type": "boolean", + "default": true, + "description": "Show the Python Start Page when a new update is released.", + "scope": "application" } } }, @@ -2878,44 +3392,99 @@ "when": "testsDiscovered" } ] - } + }, + "notebookOutputRenderer": [ + { + "id": "jupyter-notebook-renderer", + "entrypoint": "./out/datascience-ui/renderers/renderers.js", + "displayName": "Jupyter Notebook Renderer", + "mimeTypes": [ + "application/geo+json", + "application/vdom.v1+json", + "application/vnd.dataresource+json", + "application/vnd.plotly.v1+json", + "application/vnd.vega.v2+json", + "application/vnd.vega.v3+json", + "application/vnd.vega.v4+json", + "application/vnd.vega.v5+json", + "application/vnd.vegalite.v1+json", + "application/vnd.vegalite.v2+json", + "application/vnd.vegalite.v3+json", + "application/vnd.vegalite.v4+json", + "application/x-nteract-model-debug+json", + "image/gif", + "image/png", + "image/jpeg", + "text/latex", + "text/vnd.plotly.v1+html" + ] + } + ], + "notebookProvider": [ + { + "viewType": "jupyter-notebook", + "displayName": "Jupyter Notebook (preview)", + "selector": [ + { + "filenamePattern": "*.ipynb" + } + ], + "priority": "option" + } + ] }, "scripts": { "package": "gulp clean && gulp prePublishBundle && vsce package -o ms-python-insiders.vsix", "compile": "tsc -watch -p ./", - "compile-webviews-watch": "cross-env NODE_OPTIONS=--max_old_space_size=9096 webpack --config ./build/webpack/webpack.datascience-ui.config.js --watch", + "compiled": "deemon npm run compile", + "kill-compiled": "deemon --kill npm run compile", + "compile-webviews-watch": "gulp compile-ipywidgets && cross-env NODE_OPTIONS=--max_old_space_size=9096 webpack --config ./build/webpack/webpack.datascience-ui.config.js --watch", + "compile-webviews-watchd": "deemon npm run compile-webviews-watch", + "kill-compile-webviews-watchd": "deemon --kill npm run compile-webviews-watch", + "build-ipywidgets": "npm run build-ipywidgets-clean && npm run build-ipywidgets-compile && npm run build-ipywidgets-webpack", + "build-ipywidgets-clean": "node ./src/ipywidgets/scripts/clean.js", + "build-ipywidgets-compile": "tsc -p ./src/ipywidgets && rimraf ./out/tsconfig.tsbuildinfo && node ./src/ipywidgets/scripts/copyfiles.js", + "build-ipywidgets-webpack": "cross-env NODE_OPTIONS=--max_old_space_size=9096 webpack --config ./src/ipywidgets/webpack.config.js", "checkDependencies": "gulp checkDependencies", "postinstall": "node ./build/ci/postInstall.js", "test": "node ./out/test/standardTest.js && node ./out/test/multiRootTest.js", - "test:unittests": "mocha --opts ./build/.mocha.unittests.js.opts", - "test:unittests:cover": "nyc --no-clean --nycrc-path build/.nycrc mocha --opts ./build/.mocha.unittests.ts.opts", - "test:functional": "mocha --require source-map-support/register --opts ./build/.mocha.functional.opts", - "test:functional:perf": "node --inspect-brk ./node_modules/mocha/bin/_mocha --require source-map-support/register --opts ./build/.mocha.functional.perf.opts", + "test:unittests": "mocha --config ./build/.mocha.unittests.js.json", + "test:unittests:cover": "nyc --no-clean --nycrc-path build/.nycrc mocha --config ./build/.mocha.unittests.ts.json", + "test:functional": "mocha --require source-map-support/register --config ./build/.mocha.functional.json", + "test:functional:perf": "node --inspect-brk ./node_modules/mocha/bin/_mocha --require source-map-support/register --config ./build/.mocha.functional.perf.json", + "test:functional:memleak": "node --inspect-brk ./node_modules/mocha/bin/_mocha --require source-map-support/register --config ./build/.mocha.functional.json", "test:functional:cover": "npm run test:functional", + "test:functional:split": "node ./build/ci/scripts/runFunctionalTests.js", "test:cover:report": "nyc --nycrc-path build/.nycrc report --reporter=text --reporter=html --reporter=text-summary --reporter=cobertura", "testDebugger": "node ./out/test/testBootstrap.js ./out/test/debuggerTest.js", "testSingleWorkspace": "node ./out/test/testBootstrap.js ./out/test/standardTest.js", + "pretestDataScience": "node ./out/test/datascience/dsTestSetup.js", + "testDataScience": "cross-env CODE_TESTS_WORKSPACE=src/test/datascience VSC_PYTHON_CI_TEST_VSC_CHANNEL=insiders TEST_FILES_SUFFIX=ds.test VSC_PYTHON_FORCE_LOGGING=1 VSC_PYTHON_LOAD_EXPERIMENTS_FROM_FILE=true node ./out/test/testBootstrap.js ./out/test/standardTest.js", "testMultiWorkspace": "node ./out/test/testBootstrap.js ./out/test/multiRootTest.js", "testPerformance": "node ./out/test/testBootstrap.js ./out/test/performanceTest.js", "testSmoke": "node ./out/test/smokeTest.js", "lint-staged": "node gulpfile.js", "lint": "tslint src/**/*.ts -t verbose", + "prettier-fix": "prettier 'src/**/*.ts*' --write && prettier 'build/**/*.js' --write", "clean": "gulp clean", "updateBuildNumber": "gulp updateBuildNumber", "verifyBundle": "gulp verifyBundle", "webpack": "webpack" }, "dependencies": { + "@jupyter-widgets/schema": "^0.4.0", "@jupyterlab/coreutils": "^3.1.0", "@jupyterlab/services": "^4.2.0", - "@koa/cors": "^3.0.0", "@loadable/component": "^5.12.0", + "@nteract/messaging": "^7.0.0", + "@types/tcp-port-used": "^1.0.0", "ansi-regex": "^4.1.0", "arch": "^2.1.0", "azure-storage": "^2.10.3", "detect-indent": "^6.0.0", "diff-match-patch": "^1.0.0", "fast-deep-equal": "^2.0.1", + "font-awesome": "^4.7.0", "fs-extra": "^4.0.3", "fuzzy": "^0.1.3", "get-port": "^3.2.0", @@ -2923,32 +3492,34 @@ "hash.js": "^1.1.7", "iconv-lite": "^0.4.21", "inversify": "^4.11.1", + "is-online": "^8.2.1", "jsonc-parser": "^2.0.3", - "koa": "^2.11.0", - "koa-compress": "^3.0.0", - "koa-logger": "^3.2.1", "line-by-line": "^0.1.6", - "lodash": "^4.17.15", + "lodash": "^4.17.19", "log4js": "^6.1.2", "md5": "^2.2.1", "minimatch": "^3.0.4", "named-js-regexp": "^1.3.3", - "node-fetch": "^1.0.0", + "node-fetch": "^2.6.0", "node-stream-zip": "^1.6.0", "onigasm": "^2.2.2", "pdfkit": "^0.11.0", "pidusage": "^1.2.0", "portfinder": "^1.0.25", + "react-draggable": "^4.4.2", "reflect-metadata": "^0.1.12", "request": "^2.87.0", "request-progress": "^3.0.0", - "rxjs": "^5.5.9", + "rxjs": "^6.5.4", + "rxjs-compat": "^6.5.4", + "sanitize-filename": "^1.6.3", "semver": "^5.5.0", "stack-trace": "0.0.10", "string-argv": "^0.3.1", "strip-ansi": "^5.2.0", "sudo-prompt": "^8.2.0", "svg-to-pdfkit": "^0.1.8", + "tcp-port-used": "^1.0.1", "tmp": "^0.0.29", "tree-kill": "^1.2.2", "typescript-char": "^0.0.0", @@ -2957,11 +3528,12 @@ "untildify": "^3.0.2", "vscode-debugadapter": "^1.28.0", "vscode-debugprotocol": "^1.28.0", - "vscode-extension-telemetry": "0.1.0", - "vscode-jsonrpc": "^4.0.0", - "vscode-languageclient": "^5.2.1", - "vscode-languageserver": "^5.2.1", - "vscode-languageserver-protocol": "^3.14.1", + "vscode-extension-telemetry": "0.1.4", + "vscode-jsonrpc": "6.0.0-next.5", + "vscode-languageclient": "7.0.0-next.9", + "vscode-languageserver": "7.0.0-next.7", + "vscode-languageserver-protocol": "3.16.0-next.7", + "vscode-tas-client": "^0.1.4", "vsls": "^0.3.1291", "winreg": "^1.2.4", "winston": "^3.2.1", @@ -2970,29 +3542,36 @@ "zeromq": "^6.0.0-beta.6" }, "devDependencies": { - "@babel/cli": "^7.4.4", + "@babel/cli": "^7.8.4", "@babel/core": "^7.4.4", "@babel/plugin-transform-runtime": "^7.4.4", "@babel/polyfill": "^7.4.4", "@babel/preset-env": "^7.1.0", "@babel/preset-react": "^7.0.0", - "@babel/register": "^7.4.4", + "@babel/register": "^7.9.0", "@blueprintjs/select": "^3.11.2", "@enonic/fnv-plus": "^1.3.0", "@istanbuljs/nyc-config-typescript": "^0.1.3", - "@nteract/plotly": "^1.48.3", + "@jupyter-widgets/base": "^2.0.1", + "@jupyter-widgets/controls": "^1.5.2", + "@jupyter-widgets/jupyterlab-manager": "^1.0.2", + "@jupyter-widgets/output": "^2.0.1", "@nteract/transform-dataresource": "^4.3.5", "@nteract/transform-geojson": "^3.2.3", "@nteract/transform-model-debug": "^3.2.3", "@nteract/transform-plotly": "^6.0.0", "@nteract/transform-vega": "^6.0.3", - "@nteract/transforms": "^4.4.4", + "@nteract/transforms": "^4.4.7", + "@phosphor/widgets": "^1.9.3", + "@sinonjs/fake-timers": "^6.0.1", "@testing-library/react": "^9.4.0", "@types/ansi-regex": "^4.0.0", "@types/chai": "^4.1.2", "@types/chai-arrays": "^1.0.2", "@types/chai-as-promised": "^7.1.0", "@types/copy-webpack-plugin": "^4.4.2", + "@types/cors": "^2.8.6", + "@types/debug": "^4.1.5", "@types/dedent": "^0.7.0", "@types/del": "^3.0.0", "@types/diff-match-patch": "^1.0.32", @@ -3005,12 +3584,7 @@ "@types/glob": "^5.0.35", "@types/html-webpack-plugin": "^3.2.0", "@types/iconv-lite": "^0.0.1", - "@types/jquery": "^1.10.35", "@types/jsdom": "^11.12.0", - "@types/koa": "^2.11.0", - "@types/koa-compress": "^2.0.9", - "@types/koa-logger": "^3.1.1", - "@types/koa__cors": "^2.2.3", "@types/loadable__component": "^5.10.0", "@types/loader-utils": "^1.1.3", "@types/lodash": "^4.14.104", @@ -3019,7 +3593,7 @@ "@types/mocha": "^5.2.7", "@types/nock": "^10.0.3", "@types/node": "^10.14.18", - "@types/node-fetch": "^2.3.4", + "@types/node-fetch": "^2.5.7", "@types/pdfkit": "^0.7.36", "@types/promisify-node": "^0.4.0", "@types/react": "^16.4.14", @@ -3032,19 +3606,23 @@ "@types/semver": "^5.5.0", "@types/shortid": "^0.0.29", "@types/sinon": "^7.5.1", + "@types/sinonjs__fake-timers": "^6.0.1", + "@types/socket.io": "^2.1.4", "@types/stack-trace": "0.0.29", "@types/temp": "^0.8.32", "@types/tmp": "0.0.33", "@types/untildify": "^3.0.0", "@types/uuid": "^3.4.3", - "@types/vscode": "^1.42.0", + "@types/vscode": "^1.47.0", + "@types/vscode-notebook-renderer": "^1.48.0", "@types/webpack-bundle-analyzer": "^2.13.0", "@types/winreg": "^1.2.30", "@types/ws": "^6.0.1", "@types/xml2js": "^0.4.2", + "@typescript-eslint/eslint-plugin": "^3.7.0", + "@typescript-eslint/parser": "^3.7.0", "acorn": "^6.4.1", "ansi-to-html": "^0.6.7", - "awesome-typescript-loader": "^5.2.1", "babel-loader": "^8.0.3", "babel-plugin-inline-json-import": "^0.3.1", "babel-plugin-transform-runtime": "^6.23.0", @@ -3052,32 +3630,44 @@ "bootstrap": "^4.3.1", "bootstrap-less": "^3.3.8", "brfs": "^2.0.2", + "cache-loader": "^4.1.0", "canvas": "^2.6.0", "chai": "^4.1.2", "chai-arrays": "^2.0.0", "chai-as-promised": "^7.1.1", "chai-http": "^4.3.0", - "codecov": "^3.6.5", + "codecov": "^3.7.1", "colors": "^1.2.1", "copy-webpack-plugin": "^5.1.1", + "cors": "^2.8.5", "cross-env": "^6.0.3", "cross-spawn": "^6.0.5", "css-loader": "^1.0.1", "dedent": "^0.7.0", + "deemon": "^1.4.0", "del": "^3.0.0", "download": "^7.0.0", "enzyme": "^3.7.0", "enzyme-adapter-react-16": "^1.6.0", + "eslint": "^7.2.0", + "eslint-config-airbnb": "^18.2.0", "eslint-config-prettier": "^6.9.0", + "eslint-plugin-import": "^2.22.0", + "eslint-plugin-jsx-a11y": "^6.3.1", "eslint-plugin-prettier": "^3.1.2", + "eslint-plugin-react": "^7.20.3", + "eslint-plugin-react-hooks": "^4.0.0", "event-stream": "3.3.4", "expose-loader": "^0.7.5", + "express": "^4.17.1", "extract-zip": "^1.6.7", "fast-xml-parser": "^3.16.0", - "filemanager-webpack-plugin": "^2.0.5", + "file-loader": "^5.1.0", + "filemanager-webpack-plugin-fixed": "^2.0.9", "flat": "^4.0.0", + "fork-ts-checker-webpack-plugin": "^4.1.6", "gulp": "^4.0.0", - "gulp-azure-storage": "^0.9.0", + "gulp-azure-storage": "^0.11.1", "gulp-chmod": "^2.0.0", "gulp-filter": "^5.1.0", "gulp-gunzip": "^1.1.0", @@ -3090,24 +3680,32 @@ "husky": "^1.1.2", "immutable": "^4.0.0-rc.12", "jsdom": "^15.0.0", + "json-loader": "^0.5.7", "less": "^3.9.0", "less-loader": "^5.0.0", "less-plugin-inline-urls": "^1.2.0", "loader-utils": "^1.1.0", "lolex": "^5.1.2", "memoize-one": "^5.1.1", - "mocha": "^6.1.4", + "mocha": "^8.1.1", "mocha-junit-reporter": "^1.17.0", "mocha-multi-reporters": "^1.1.7", "monaco-editor": "0.18.1", "monaco-editor-textmate": "^2.2.1", "monaco-editor-webpack-plugin": "^1.7.0", "monaco-textmate": "^3.0.1", + "nocache": "^2.1.0", "nock": "^10.0.6", "node-has-native-dependencies": "^1.0.2", "node-html-parser": "^1.1.13", "nyc": "^15.0.0", - "prettier": "^1.19.1", + "playwright-chromium": "^0.13.0", + "plotly.js-dist": "^1.55.2", + "postcss": "^7.0.27", + "postcss-cssnext": "^3.1.0", + "postcss-import": "^12.0.1", + "postcss-loader": "^3.0.0", + "prettier": "^2.0.2", "range-inclusive": "^1.0.2", "raw-loader": "^0.5.1", "react": "^16.5.2", @@ -3123,20 +3721,25 @@ "redux-logger": "^3.0.6", "relative": "^3.0.2", "remove-files-webpack-plugin": "^1.4.0", + "requirejs": "^2.3.6", "rewiremock": "^3.13.0", + "rimraf": "^3.0.2", "sass-loader": "^7.1.0", - "serialize-javascript": "^2.1.2", + "serialize-javascript": "^3.1.0", "shortid": "^2.2.8", "sinon": "^8.0.1", "slickgrid": "^2.4.17", + "socket.io": "^2.3.0", "source-map-support": "^0.5.12", "style-loader": "^0.23.1", "styled-jsx": "^3.1.0", "svg-inline-loader": "^0.8.0", "svg-inline-react": "^3.1.0", - "terser-webpack-plugin": "^2.3.2", + "terser-webpack-plugin": "^3.1.0", + "thread-loader": "^2.1.3", "transform-loader": "^0.2.4", "ts-loader": "^5.3.0", + "ts-mock-imports": "^1.3.0", "ts-mockito": "^2.5.0", "ts-node": "^8.3.0", "tsconfig-paths-webpack-plugin": "^3.2.0", @@ -3147,7 +3750,7 @@ "tslint-plugin-prettier": "^2.1.0", "typed-react-markdown": "^0.1.0", "typemoq": "^2.1.0", - "typescript": "^3.7.2", + "typescript": "^4.0.2", "typescript-formatter": "^7.1.0", "unicode-properties": "^1.3.1", "url-loader": "^1.1.2", @@ -3165,7 +3768,7 @@ "webpack-require-from": "^1.8.0", "why-is-node-running": "^2.0.3", "wtfnode": "^0.8.0", - "yargs": "^12.0.2" + "yargs": "^15.3.1" }, "__metadata": { "id": "f1f59ae4-9318-4f3c-a9b5-81b2eaa5f8a5", diff --git a/package.nls.fa.json b/package.nls.fa.json deleted file mode 100644 index 80be499afbdc..000000000000 --- a/package.nls.fa.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "python.command.python.sortImports.title": "مرتب‌سازی ایمپورت‌ها", - "python.command.python.startREPL.title": "شروع REPL", - "python.command.python.createTerminal.title": "ایجاد ترمینال", - "python.command.python.buildWorkspaceSymbols.title": "ساختن نماد‌های محیط کاری", - "python.command.python.runtests.title": "اجرای همه‌ی تست‌ها", - "python.command.python.debugtests.title": "باگ‌زدایی همه‌ی تست‌ها", - "python.command.python.execInTerminal.title": "اجرای فایل پایتون در ترمینال", - "python.command.python.setInterpreter.title": "انتخاب مفسر", - "python.command.python.refactorExtractVariable.title": "استخراج متغیر", - "python.command.python.refactorExtractMethod.title": "استخراج متد", - "python.command.python.viewTestOutput.title": "نمایش خروجی تست", - "python.command.python.selectAndRunTestMethod.title": "اجرای متد تست ...", - "python.command.python.selectAndDebugTestMethod.title": "باگ‌زدایی متد تست ...", - "python.command.python.selectAndRunTestFile.title": "اجرای فایل تست ...", - "python.command.python.runCurrentTestFile.title": "اجرای فایل تست جاری", - "python.command.python.runFailedTests.title": "اجرای تست‌های شکست خورده", - "python.command.python.execSelectionInTerminal.title": "اجرای انتخاب شده/خط در ترمینال پایتون", - "python.command.python.execSelectionInDjangoShell.title": "اجرای انتخاب شده/خط در پوسته جانگو", - "python.command.python.goToPythonObject.title": "برو به شئ پایتون", - "python.command.python.setLinter.title": "انتخاب لینتر", - "python.command.python.enableLinting.title": "فعال سازی لینتینگ", - "python.command.python.runLinting.title": "اجرای لینتینگ", - "python.snippet.launch.standard.label": "پایتون: فایل فعلی", - "python.snippet.launch.module.label": "پایتون: ماژول", - "python.snippet.launch.django.label": "پایتون: Django", - "python.snippet.launch.flask.label": "پایتون: Flask", - "python.snippet.launch.pyramid.label": "پایتون: برنامه Pyramid", - "python.snippet.launch.attach.label": "پایتون: الصاق", - "LanguageService.bannerLabelYes": "بله، نظرسنجی را همین حالا انجام بده" -} diff --git a/package.nls.it.json b/package.nls.it.json index ad041873baf5..c16d6ce74241 100644 --- a/package.nls.it.json +++ b/package.nls.it.json @@ -1,31 +1,31 @@ -{ - "python.command.python.sortImports.title": "Ordina gli import", - "python.command.python.startREPL.title": "Apri nuova REPL", - "python.command.python.createTerminal.title": "Apri nuovo terminale", - "python.command.python.buildWorkspaceSymbols.title": "Compila simboli dello spazio di lavoro", - "python.command.python.runtests.title": "Esegui tutti i test", - "python.command.python.debugtests.title": "Esegui debug di tutti i test", - "python.command.python.execInTerminal.title": "Esegui file Python nel terminale", - "python.command.python.setInterpreter.title": "Seleziona interprete", - "python.command.python.refactorExtractVariable.title": "Estrai variable", - "python.command.python.refactorExtractMethod.title": "Estrai metodo", - "python.command.python.viewTestOutput.title": "Mostra output dei test", - "python.command.python.selectAndRunTestMethod.title": "Esegui metodo di test ...", - "python.command.python.selectAndDebugTestMethod.title": "Esegui debug del metodo di test ...", - "python.command.python.selectAndRunTestFile.title": "Esegui file di test ...", - "python.command.python.runCurrentTestFile.title": "Esegui file di test attuale", - "python.command.python.runFailedTests.title": "Esegui test falliti", - "python.command.python.execSelectionInTerminal.title": "Esegui selezione/linea nel terminale di Python", - "python.command.python.execSelectionInDjangoShell.title": "Esegui selezione/linea nella shell Django", - "python.command.python.goToPythonObject.title": "Vai a oggetto Python", - "python.command.python.setLinter.title": "Selezione Linter", - "python.command.python.enableLinting.title": "Attiva Linting", - "python.command.python.runLinting.title": "Esegui Linting", - "python.snippet.launch.standard.label": "Python: File corrente", - "python.snippet.launch.module.label": "Python: Modulo", - "python.snippet.launch.django.label": "Python: Django", - "python.snippet.launch.flask.label": "Python: Flask", - "python.snippet.launch.pyramid.label": "Python: Applicazione Pyramid", - "python.snippet.launch.attach.label": "Python: Allega", - "LanguageService.bannerLabelYes": "Sì, prenderò il sondaggio ora" -} +{ + "python.command.python.sortImports.title": "Ordina gli import", + "python.command.python.startREPL.title": "Apri nuova REPL", + "python.command.python.createTerminal.title": "Apri nuovo terminale", + "python.command.python.buildWorkspaceSymbols.title": "Compila simboli dello spazio di lavoro", + "python.command.python.runtests.title": "Esegui tutti i test", + "python.command.python.debugtests.title": "Esegui debug di tutti i test", + "python.command.python.execInTerminal.title": "Esegui file Python nel terminale", + "python.command.python.setInterpreter.title": "Seleziona interprete", + "python.command.python.refactorExtractVariable.title": "Estrai variable", + "python.command.python.refactorExtractMethod.title": "Estrai metodo", + "python.command.python.viewTestOutput.title": "Mostra output dei test", + "python.command.python.selectAndRunTestMethod.title": "Esegui metodo di test ...", + "python.command.python.selectAndDebugTestMethod.title": "Esegui debug del metodo di test ...", + "python.command.python.selectAndRunTestFile.title": "Esegui file di test ...", + "python.command.python.runCurrentTestFile.title": "Esegui file di test attuale", + "python.command.python.runFailedTests.title": "Esegui test falliti", + "python.command.python.execSelectionInTerminal.title": "Esegui selezione/linea nel terminale di Python", + "python.command.python.execSelectionInDjangoShell.title": "Esegui selezione/linea nella shell Django", + "python.command.python.goToPythonObject.title": "Vai a oggetto Python", + "python.command.python.setLinter.title": "Selezione Linter", + "python.command.python.enableLinting.title": "Attiva Linting", + "python.command.python.runLinting.title": "Esegui Linting", + "python.snippet.launch.standard.label": "Python: File corrente", + "python.snippet.launch.module.label": "Python: Modulo", + "python.snippet.launch.django.label": "Python: Django", + "python.snippet.launch.flask.label": "Python: Flask", + "python.snippet.launch.pyramid.label": "Python: Applicazione Pyramid", + "python.snippet.launch.attach.label": "Python: Allega", + "ExtensionSurveyBanner.bannerLabelYes": "Sì, prenderò il sondaggio ora" +} diff --git a/package.nls.json b/package.nls.json index e7529070ee4d..b9368dd66b90 100644 --- a/package.nls.json +++ b/package.nls.json @@ -10,11 +10,34 @@ "python.command.python.switchOffInsidersChannel.title": "Switch to Default Channel", "python.command.python.switchToDailyChannel.title": "Switch to Insiders Daily Channel", "python.command.python.switchToWeeklyChannel.title": "Switch to Insiders Weekly Channel", + "python.command.python.clearWorkspaceInterpreter.title": "Clear Workspace Interpreter Setting", + "python.command.python.resetInterpreterSecurityStorage.title": "Reset Stored Info for Untrusted Interpreters", "python.command.python.refactorExtractVariable.title": "Extract Variable", "python.command.python.refactorExtractMethod.title": "Extract Method", "python.command.python.viewOutput.title": "Show Output", "python.command.python.viewTestOutput.title": "Show Test Output", "python.command.python.datascience.viewJupyterOutput.title": "Show Jupyter Output", + "python.command.python.datascience.exportAsPythonScript.title": "Export as Python Script", + "python.command.python.datascience.exportToHTML.title": "Export to HTML", + "python.command.python.datascience.exportToPDF.title": "Export to PDF", + "DataScience.checkingIfImportIsSupported": "Checking if import is supported", + "DataScience.installingMissingDependencies": "Installing missing dependencies", + "DataScience.exportNotebookToPython": "Exporting Notebook to Python", + "DataScience.performingExport": "Performing Export", + "DataScience.convertingToPDF": "Converting to PDF", + "DataScience.exportHTMLQuickPickLabel": "HTML", + "DataScience.exportPDFQuickPickLabel": "PDF", + "DataScience.openExportedFileMessage": "Would you like to open the exported file?", + "DataScience.openExportFileYes": "Yes", + "DataScience.openExportFileNo": "No", + "DataScience.failedExportMessage": "Export failed.", + "DataScience.exportToPDFDependencyMessage": "If you have not installed xelatex (TeX) you will need to do so before you can export to PDF, for further instructions please look [here](https://nbconvert.readthedocs.io/en/latest/install.html#installing-tex). \r\nTo avoid installing xelatex (TeX) you might want to try exporting to HTML and using your browsers \"Print to PDF\" feature.", + "DataScience.launchNotebookTrustPrompt": "A notebook could execute harmful code when opened. Some outputs have been hidden. Do you trust this notebook? [Learn more.](https://aka.ms/trusted-notebooks)", + "DataScience.launchNotebookTrustPrompt.yes": "Trust", + "DataScience.launchNotebookTrustPrompt.no": "Do not trust", + "DataScience.launchNotebookTrustPrompt.trustAllNotebooks": "Trust all notebooks", + "DataScience.insecureSessionMessage": "Connecting over HTTP without a token may be an insecure connection. Do you want to connect to a possibly insecure server?", + "DataScience.insecureSessionDenied": "Denied connection to insecure server.", "python.command.python.viewLanguageServerOutput.title": "Show Language Server Output", "python.command.python.selectAndRunTestMethod.title": "Run Test Method ...", "python.command.python.selectAndDebugTestMethod.title": "Debug Test Method ...", @@ -50,11 +73,27 @@ "python.command.python.datascience.runcurrentcelladvance.title": "Run Current Cell And Advance", "python.command.python.datascience.execSelectionInteractive.title": "Run Selection/Line in Python Interactive Window", "python.command.python.datascience.runcell.title": "Run Cell", + "python.command.python.datascience.insertCellBelowPosition.title": "Insert Cell Below Position", + "python.command.python.datascience.insertCellBelow.title": "Insert Cell Below", + "python.command.python.datascience.insertCellAbove.title": "Insert Cell Above", + "python.command.python.datascience.deleteCells.title": "Delete Selected Cells", + "python.command.python.datascience.selectCell.title": "Select Cell", + "python.command.python.datascience.selectCellContents.title": "Select Cell Contents", + "python.command.python.datascience.extendSelectionByCellAbove.title": "Extend Selection By Cell Above", + "python.command.python.datascience.extendSelectionByCellBelow.title": "Extend Selection By Cell Below", + "python.command.python.datascience.moveCellsUp.title": "Move Selected Cells Up", + "python.command.python.datascience.moveCellsDown.title": "Move Selected Cells Down", + "python.command.python.datascience.changeCellToMarkdown.title": "Change Cell to Markdown", + "python.command.python.datascience.changeCellToCode.title": "Change Cell to Code", + "python.command.python.datascience.gotoNextCellInFile.title": "Go to Next Cell", + "python.command.python.datascience.gotoPrevCellInFile.title": "Go to Previous Cell", "python.command.python.datascience.showhistorypane.title": "Show Python Interactive Window", + "python.command.python.datascience.createnewinteractive.title": "Create Python Interactive Window", "python.command.python.datascience.selectjupyteruri.title": "Specify local or remote Jupyter server for connections", "python.command.python.datascience.selectjupytercommandline.title": "Specify Jupyter command line arguments", "python.command.python.datascience.importnotebook.title": "Import Jupyter Notebook", "python.command.python.datascience.opennotebook.title": "Open in Notebook Editor", + "python.command.python.datascience.opennotebookInPreviewEditor.title": "Open in preview Notebook Editor", "python.command.python.datascience.importnotebookfile.title": "Convert to Python Script", "python.command.python.enableSourceMapSupport.title": "Enable Source Map Support For Extension Debugging", "python.command.python.datascience.exportoutputasnotebook.title": "Export Python Interactive Window as Jupyter Notebook", @@ -73,9 +112,11 @@ "python.command.python.datascience.addcellbelow.title": "Add Empty Cell to File", "python.command.python.datascience.scrolltocell.title": "Scroll Cell Into View", "python.command.python.datascience.createnewnotebook.title": "Create New Blank Jupyter Notebook", + "python.command.python.startPage.open.title": "Open Start Page", "python.command.python.datascience.selectJupyterInterpreter.title": "Select Interpreter to start Jupyter server", "Datascience.currentlySelectedJupyterInterpreterForPlaceholder": "current: {0}", "python.command.python.analysis.clearCache.title": "Clear Module Analysis Cache", + "python.command.python.analysis.restartLanguageServer.title": "Restart Language Server", "python.snippet.launch.standard.label": "Python: Current File", "python.snippet.launch.module.label": "Python: Module", "python.snippet.launch.module.default": "enter-your-module-name", @@ -84,17 +125,19 @@ "python.snippet.launch.django.label": "Python: Django", "python.snippet.launch.flask.label": "Python: Flask", "python.snippet.launch.pyramid.label": "Python: Pyramid Application", - "LanguageService.bannerMessage": "Can you please take 2 minutes to tell us how the Python Language Server is working for you?", - "LanguageService.bannerLabelYes": "Yes, take survey now", - "LanguageService.bannerLabelNo": "No, thanks", - "LanguageService.lsFailedToStart": "We encountered an issue starting the Language Server. Reverting to the alternative, Jedi. Check the Python output panel for details.", - "LanguageService.lsFailedToDownload": "We encountered an issue downloading the Language Server. Reverting to the alternative, Jedi. Check the Python output panel for details.", - "LanguageService.lsFailedToExtract": "We encountered an issue extracting the Language Server. Reverting to the alternative, Jedi. Check the Python output panel for details.", + "Pylance.proposePylanceMessage": "Try out a new faster, feature-rich language server for Python by Microsoft, Pylance! Install the extension now.", + "Pylance.tryItNow": "Try it now", + "Pylance.remindMeLater": "Remind me later", + "Pylance.installPylanceMessage": "Pylance extension is not installed. Click Yes to open Pylance installation page.", + "Pylance.pylanceNotInstalledMessage": "Pylance extension is not installed.", + "Pylance.pylanceInstalledReloadPromptMessage": "Pylance extension is now installed. Reload window to activate?", "DataScience.unknownMimeTypeFormat": "Mime type {0} is not currently supported.", "DataScience.historyTitle": "Python Interactive", "DataScience.dataExplorerTitle": "Data Viewer", "DataScience.badWebPanelFormatString": "

{0} is not a valid file name

", "DataScience.sessionDisposed": "Cannot execute code, session has been disposed.", + "DataScience.rawKernelProcessNotStarted": "Raw kernel process was not able to start.", + "DataScience.rawKernelProcessExitBeforeConnect": "Raw kernel process exited before connecting.", "DataScience.passwordFailure": "Failed to connect to password protected server. Check that password is correct.", "DataScience.exportDialogTitle": "Export to Jupyter Notebook", "DataScience.exportDialogFilter": "Jupyter Notebooks", @@ -102,6 +145,9 @@ "DataScience.exportDialogFailed": "Failed to export notebook. {0}", "DataScience.exportOpenQuestion": "Open in browser", "DataScience.exportOpenQuestion1": "Open in editor", + "DataScience.notebookExportAs": "Export As", + "DataScience.exportAsQuickPickPlaceholder": "Export As...", + "DataScience.exportPythonQuickPickLabel": "Python Script", "DataScience.collapseInputTooltip": "Collapse input block", "DataScience.collapseVariableExplorerTooltip": "Hide variables active in jupyter kernel", "DataScience.collapseVariableExplorerLabel": "Variables", @@ -124,26 +170,53 @@ "DataScience.jupyterSelfCertEnable": "Yes, connect anyways", "DataScience.jupyterSelfCertClose": "No, close the connection", "DataScience.jupyterServerCrashed": "Jupyter server crashed. Unable to connect. \r\nError code from jupyter: {0}", + "DataScience.rawConnectionDisplayName": "Direct kernel connection", + "DataScience.rawConnectionBrokenError": "Direct kernel connection broken", "DataScience.pythonInteractiveHelpLink": "Get more help", "DataScience.markdownHelpInstallingMissingDependencies": "See [https://aka.ms/pyaiinstall](https://aka.ms/pyaiinstall) for help on installing Jupyter and related dependencies.", "DataScience.importingFormat": "Importing {0}", "DataScience.startingJupyter": "Starting Jupyter server", "DataScience.connectingToJupyter": "Connecting to Jupyter server", + "DataScience.connectingToIPyKernel": "Connecting to IPython kernel", + "DataScience.connectedToIPyKernel": "Connected.", + "DataScience.connected": "Connected", + "DataScience.disconnected": "Disconnected", "Experiments.inGroup": "User belongs to experiment group '{0}'", "Interpreters.RefreshingInterpreters": "Refreshing Python Interpreters", + "Interpreters.entireWorkspace": "Entire workspace", + "Interpreters.pythonInterpreterPath": "Python interpreter path: {0}", "Interpreters.LoadingInterpreters": "Loading Python Interpreters", + "Interpreters.unsafeInterpreterMessage": "We found a Python environment in this workspace. Do you want to select it to start up the features in the Python extension? Only accept if you trust this environment.", "Interpreters.condaInheritEnvMessage": "We noticed you're using a conda environment. If you are experiencing issues with this environment in the integrated terminal, we recommend that you let the Python extension change \"terminal.integrated.inheritEnv\" to false in your user settings.", "Logging.CurrentWorkingDirectory": "cwd:", + "InterpreterQuickPickList.quickPickListPlaceholder": "Current: {0}", + "InterpreterQuickPickList.enterPath.detail": "Enter path or find an existing interpreter", + "InterpreterQuickPickList.enterPath.label": "Enter interpreter path...", + "InterpreterQuickPickList.enterPath.placeholder": "Enter path to a Python interpreter.", + "InterpreterQuickPickList.browsePath.label": "Find...", + "InterpreterQuickPickList.browsePath.detail": "Browse your file system to find a Python interpreter.", + "InterpreterQuickPickList.browsePath.title": "Select Python interpreter", + "diagnostics.upgradeCodeRunner": "Please update the Code Runner extension for it to be compatible with the Python extension.", + "Common.bannerLabelYes": "Yes", + "Common.bannerLabelNo": "No", "Common.doNotShowAgain": "Do not show again", "Common.reload": "Reload", "Common.moreInfo": "More Info", "Common.and": "and", + "Common.ok": "Ok", "Common.install": "Install", + "Common.learnMore": "Learn more", + "Common.reportThisIssue": "Report this issue", + "CommonSurvey.remindMeLaterLabel": "Remind me later", + "CommonSurvey.yesLabel": "Yes, take survey now", + "CommonSurvey.noLabel": "No, thanks", "OutputChannelNames.languageServer": "Python Language Server", "OutputChannelNames.python": "Python", "OutputChannelNames.pythonTest": "Python Test Log", "OutputChannelNames.jupyter": "Jupyter", "ExtensionSurveyBanner.bannerMessage": "Can you please take 2 minutes to tell us how the Python extension is working for you?", + "ExtensionSurveyBanner.bannerLabelYes": "Yes, take survey now", + "ExtensionSurveyBanner.bannerLabelNo": "No, thanks", "ExtensionSurveyBanner.maybeLater": "Maybe later", "ExtensionChannels.installingInsidersMessage": "Installing Insiders... ", "ExtensionChannels.installingStableMessage": "Installing Stable... ", @@ -166,8 +239,6 @@ "DataScienceSurveyBanner.bannerLabelYes": "Yes, take survey now", "DataScienceSurveyBanner.bannerLabelNo": "No, thanks", "InteractiveShiftEnterBanner.bannerMessage": "Would you like to run code in the 'Python Interactive' window (an IPython console) for 'shift-enter'? Select 'No' to continue to run code in the Python Terminal. This can be changed later in settings.", - "InteractiveShiftEnterBanner.bannerLabelYes": "Yes", - "InteractiveShiftEnterBanner.bannerLabelNo": "No", "DataScience.restartingKernelStatus": "Restarting IPython Kernel", "DataScience.executingCode": "Executing Cell", "DataScience.collapseAll": "Collapse all cell inputs", @@ -202,7 +273,9 @@ "DataScience.jupyterInstall": "Install", "DataScience.jupyterSelectURIPrompt": "Enter the URI of the running Jupyter server", "DataScience.jupyterSelectURIInvalidURI": "Invalid URI specified", - "DataScience.jupyterSelectPasswordPrompt": "Enter your notebook password", + "DataScience.jupyterSelectUserAndPasswordTitle": "Enter your user name and password to connect to Jupyter Hub", + "DataScience.jupyterSelectUserPrompt": "Enter your user name", + "DataScience.jupyterSelectPasswordPrompt": "Enter your password", "DataScience.jupyterNotebookFailure": "Jupyter notebook failed to launch. \r\n{0}", "DataScience.jupyterNotebookConnectFailed": "Failed to connect to Jupyter notebook. \r\n{0}\r\n{1}", "DataScience.jupyterNotebookRemoteConnectFailed": "Failed to connect to remote Jupyter notebook.\r\nCheck that the Jupyter Server URI setting has a valid running server specified.\r\n{0}\r\n{1}", @@ -219,6 +292,7 @@ "DataScience.liveShareServiceFailure": "Failure starting '{0}' service during live share connection.", "DataScience.documentMismatch": "Cannot run cells, duplicate documents for {0} found.", "DataScience.pythonInteractiveCreateFailed": "Failure to create a 'Python Interactive' window. Try reinstalling the Python extension.", + "diagnostics.removedPythonPathFromSettings": "We removed the \"python.pythonPath\" setting from your settings.json file as the setting is no longer used by the Python extension. You can get the path of your selected interpreter in the Python output channel. [Learn more](https://aka.ms/AA7jfor).", "diagnostics.warnSourceMaps": "Source map support is enabled in the Python Extension, this will adversely impact performance of the extension.", "diagnostics.disableSourceMaps": "Disable Source Map Support", "diagnostics.warnBeforeEnablingSourceMaps": "Enabling source map support in the Python Extension will adversely impact performance of the extension.", @@ -229,9 +303,8 @@ "diagnostics.invalidDebuggerTypeDiagnostic": "Your launch.json file needs to be updated to change the \"pythonExperimental\" debug configurations to use the \"python\" debugger type, otherwise Python debugging may not work. Would you like to automatically update your launch.json file now?", "diagnostics.consoleTypeDiagnostic": "Your launch.json file needs to be updated to change the console type string from \"none\" to \"internalConsole\", otherwise Python debugging may not work. Would you like to automatically update your launch.json file now?", "diagnostics.justMyCodeDiagnostic": "Configuration \"debugStdLib\" in launch.json is no longer supported. It's recommended to replace it with \"justMyCode\", which is the exact opposite of using \"debugStdLib\". Would you like to automatically update your launch.json file to do that?", + "diagnostics.checkIsort5UpgradeGuide": "We found outdated configuration for sorting imports in this workspace. Check the [isort upgrade guide](https://aka.ms/AA9j5x4) to update your settings.", "diagnostics.yesUpdateLaunch": "Yes, update launch.json", - "diagnostics.bannerLabelNo": "No, I will do it later", - "diagnostics.processId": "Attaching the debugger to a local process is an experimental feature. It will be available to all users soon.", "diagnostics.invalidTestSettings": "Your settings needs to be updated to change the setting \"python.unitTest.\" to \"python.testing.\", otherwise testing Python code using the extension may not work. Would you like to automatically update your settings now?", "DataScience.interruptKernel": "Interrupt IPython kernel", "DataScience.clearAllOutput": "Clear All Output", @@ -239,6 +312,7 @@ "DataScience.exportCancel": "Cancel", "Common.canceled": "Canceled", "Common.cancel": "Cancel", + "Common.yesPlease": "Yes, please", "DataScience.importChangeDirectoryComment": "{0} Change working directory from the workspace root to the ipynb file location. Turn this addition off with the DataScience.changeDirOnImportExport setting", "DataScience.exportChangeDirectoryComment": "# Change directory to VSCode workspace root so that relative path loads work correctly. Turn this addition off with the DataScience.changeDirOnImportExport setting", "DataScience.interruptKernelStatus": "Interrupting IPython Kernel", @@ -270,12 +344,12 @@ "debug.moduleEnterModuleDefault": "enter-your-module-name", "debug.moduleEnterModuleInvalidNameError": "Enter a valid module name", "debug.remoteAttachConfigurationLabel": "Remote Attach", - "debug.remoteAttachConfigurationDescription": "Attach to a remote ptvsd debug server", + "debug.remoteAttachConfigurationDescription": "Attach to a remote debug server", "debug.attachRemoteHostTitle": "Remote Debugging", "debug.attachRemoteHostPrompt": "Enter the host name", "debug.attachRemoteHostValidationError": "Enter a valid host name or IP address", "debug.attachRemotePortTitle": "Remote Debugging", - "debug.attachRemotePortPrompt": "Enter the port number that the ptvsd server is listening on", + "debug.attachRemotePortPrompt": "Enter the port number that the debug server is listening on", "debug.attachRemotePortValidationError": "Enter a valid port number", "debug.attachPidConfigurationLabel": "Attach using Process ID", "debug.attachPidConfigurationDescription": "Attach to a local process", @@ -300,11 +374,19 @@ "Testing.configureTests": "Configure Test Framework", "Testing.disableTests": "Disable Tests", "Common.openOutputPanel": "Show output", + "LanguageService.lsFailedToStart": "We encountered an issue starting the language server. Reverting to Jedi language engine. Check the Python output panel for details.", + "LanguageService.lsFailedToDownload": "We encountered an issue downloading the language server. Reverting to Jedi language engine. Check the Python output panel for details.", + "LanguageService.lsFailedToExtract": "We encountered an issue extracting the language server. Reverting to Jedi language engine. Check the Python output panel for details.", "LanguageService.downloadFailedOutputMessage": "Language server download failed", "LanguageService.extractionFailedOutputMessage": "Language server extraction failed", "LanguageService.extractionCompletedOutputMessage": "Language server download complete", "LanguageService.extractionDoneOutputMessage": "done", "LanguageService.reloadVSCodeIfSeachPathHasChanged": "Search paths have changed for this Python interpreter. Please reload the extension to ensure that the IntelliSense works correctly", + "LanguageService.startingJedi": "Starting Jedi Python language engine.", + "LanguageService.startingMicrosoft": "Starting Microsoft Python language server.", + "LanguageService.startingPylance": "Starting Pylance language server.", + "LanguageService.startingNone": "Editor support is inactive since language server is set to None.", + "LanguageService.reloadAfterLanguageServerChange": "Please reload the window switching between language servers.", "AttachProcess.unsupportedOS": "Operating system '{0}' not supported.", "AttachProcess.attachTitle": "Attach to process", "AttachProcess.selectProcessPlaceholder": "Select the process to attach to", @@ -312,7 +394,7 @@ "AttachProcess.refreshList": "Refresh process list", "DataScience.variableExplorerNameColumn": "Name", "DataScience.variableExplorerTypeColumn": "Type", - "DataScience.variableExplorerSizeColumn": "Count", + "DataScience.variableExplorerCountColumn": "Size", "DataScience.variableExplorerValueColumn": "Value", "DataScience.showDataExplorerTooltip": "Show variable in data viewer.", "DataScience.dataExplorerInvalidVariableFormat": "'{0}' is not an active variable.", @@ -321,6 +403,9 @@ "DataScience.fetchingDataViewer": "Fetching data ...", "DataScience.noRowsInDataViewer": "No rows match current filter", "DataScience.jupyterServer": "Jupyter Server", + "DataScience.trustNotebookCommandTitle": "Trust notebook", + "DataScience.notebookIsTrusted": "Trusted", + "DataScience.notebookIsNotTrusted": "Not Trusted", "DataScience.noKernel": "No Kernel", "DataScience.serverNotStarted": "Not Started", "DataScience.localJupyterServer": "local", @@ -366,7 +451,7 @@ "downloading.file.progress": "{0}{1} of {2} KB ({3}%)", "DataScience.jupyterDataRateExceeded": "Cannot view variable because data rate exceeded. Please restart your server with a higher data rate limit. For example, --NotebookApp.iopub_data_rate_limit=10000000000.0", "DataScience.addCellBelowCommandTitle": "Add cell", - "DataScience.debugCellCommandTitle": "Debug cell", + "DataScience.debugCellCommandTitle": "Debug Cell", "DataScience.debugStepOverCommandTitle": "Step over", "DataScience.debugContinueCommandTitle": "Continue", "DataScience.debugStopCommandTitle": "Stop", @@ -379,7 +464,9 @@ "DataScience.jupyterDebuggerPortNotAvailableSearchError": "Ports in the range {0}-{1} cannot be found for debugging. Please specify a port in the remoteDebuggerPort setting.", "DataScience.jupyterDebuggerPortBlockedSearchError": "A port cannot be connected to for debugging. Please let ports {0}-{1} through your firewall.", "DataScience.jupyterDebuggerInstallNew": "Pip module {0} is required for debugging cells. Install {0} and continue to debug cell?", + "DataScience.jupyterDebuggerInstallNewRunByLine": "Pip module {0} is required for running by line. Install {0} and continue to run by line?", "DataScience.jupyterDebuggerInstallUpdate": "The version of {0} installed does not support debugging cells. Update {0} to newest version and continue to debug cell?", + "DataScience.jupyterDebuggerInstallUpdateRunByLine": "The version of {0} installed does not support running by line. Update {0} to newest version and continue to run by line?", "DataScience.jupyterDebuggerInstallYes": "Yes", "DataScience.jupyterDebuggerInstallNo": "No", "DataScience.cellStopOnErrorFormatMessage": "{0} cells were canceled due to an error in the previous cell.", @@ -417,8 +504,9 @@ "DataScience.findJupyterCommandProgress": "Active interpreter does not support {0}. Searching for the best available interpreter.", "DataScience.findJupyterCommandProgressCheckInterpreter": "Checking {0}.", "DataScience.findJupyterCommandProgressSearchCurrentPath": "Searching current path.", - "DataScience.gatheredScriptDescription":"# This file was generated by an experimental feature called 'Gather'.\n#\n# The intent is that it contains only the code required to produce\n# the same results as the cell originally selected for gathering.\n# Please note that the Python analysis is quite conservative, so if\n# it is unsure whether a line of code is necessary for execution, it\n# will err on the side of including it.\n#\n# Please let us know if you are satisfied with what was gathered here:\n# https://aka.ms/gathersurvey\n\n", - "DataScience.gatheredNotebookDescriptionInMarkdown": "## Gathered Notebook\nGathered from ```{0}```\n\n| | |\n|---|---|\n|   |This notebook was generated by an experimental feature called \"Gather\". The intent is that it contains only the code and cells required to produce the same results as the cell originally selected for gathering. Please note that the Python analysis is quite conservative, so if it is unsure whether a line of code is necessary for execution, it will err on the side of including it.|\n\n**Are you satisfied with the code that was gathered?**\n\n[Yes](https://command:python.datascience.gatherquality?yes) [No](https://command:python.datascience.gatherquality?no)", + "DataScience.gatherError": "Gather internal error", + "DataScience.gatheredScriptDescription": "# This file was generated by the Gather Extension.\n# It requires version 2020.7.94776 (or newer) of the Python Extension.\n#\n# The intent is that it contains only the code required to produce\n# the same results as the cell originally selected for gathering.\n# Please note that the Python analysis is quite conservative, so if\n# it is unsure whether a line of code is necessary for execution, it\n# will err on the side of including it.\n#\n# Please let us know if you are satisfied with what was gathered here:\n# https://aka.ms/gatherfeedback\n\n", + "DataScience.gatheredNotebookDescriptionInMarkdown": "## Gathered Notebook\nGathered from ```{0}```\n\n| | |\n|---|---|\n|   |This notebook was generated by the Gather Extension. It requires version 2020.7.94776 (or newer) of the Python Extension, please update [here](https://command:python.datascience.latestExtension). The intent is that it contains only the code and cells required to produce the same results as the cell originally selected for gathering. Please note that the Python analysis is quite conservative, so if it is unsure whether a line of code is necessary for execution, it will err on the side of including it.|\n\n**Are you satisfied with the code that was gathered?**\n\n[Yes](https://command:python.datascience.gatherquality?yes) [No](https://command:python.datascience.gatherquality?no)", "DataScience.savePngTitle": "Save Image", "DataScience.jupyterSelectURIQuickPickTitle": "Pick how to connect to Jupyter", "DataScience.jupyterSelectURIQuickPickPlaceholder": "Choose an option", @@ -450,10 +538,61 @@ "DataScience.createdNewNotebook": "{0}: Creating new notebook ", "DataScience.createdNewKernel": "{0}: Kernel started: {1}", "DataScience.kernelInvalid": "Kernel {0} is not usable. Check the Jupyter output tab for more information.", - "OutdatedDebugger.updateDebuggerMessage": "We noticed you are attaching to ptvsd (Python debugger), which will be deprecated on May 1st, 2020. Please switch to [debugpy](https://aka.ms/migrateToDebugpy).", - "DataScience.nativeDependencyFail" : "We cannot launch a jupyter server because your OS is not supported. Select an already running server if you wish to continue. {0}", + "OutdatedDebugger.updateDebuggerMessage": "We noticed you are attaching to ptvsd (Python debugger), which was deprecated on May 1st, 2020. Please switch to [debugpy](https://aka.ms/migrateToDebugpy).", + "DataScience.nativeDependencyFail": "We cannot launch a jupyter server because your OS is not supported. Select an already running server if you wish to continue. {0}", "DataScience.selectNewServer": "Pick Running Server", - "DataScience.jupyterSelectURIRemoteLabel":"Existing", + "DataScience.jupyterSelectURIRemoteLabel": "Existing", "DataScience.jupyterSelectURIQuickPickTitleRemoteOnly": "Pick an already running jupyter server", - "DataScience.jupyterSelectURIRemoteDetail": "Specify the URI of an existing server" + "DataScience.jupyterSelectURIRemoteDetail": "Specify the URI of an existing server", + "DataScience.gatherQuality": "Did gather work as desired?", + "DataScience.latestExtension": "Download the latest version of the Python Extension", + "DataScience.loadClassFailedWithNoInternet": "Error loading {0}:{1}. Internet connection required for loading 3rd party widgets.", + "DataScience.useCDNForWidgets": "Widgets require us to download supporting files from a 3rd party website. Click [here](https://aka.ms/PVSCIPyWidgets) for more information.", + "DataScience.loadThirdPartyWidgetScriptsPostEnabled": "Please restart the Kernel when changing the setting 'python.dataScience.widgetScriptSources'.", + "DataScience.enableCDNForWidgetsSetting": "Widgets require us to download supporting files from a 3rd party website. Click here to enable this or click here for more information. (Error loading {0}:{1}).", + "DataScience.widgetScriptNotFoundOnCDNWidgetMightNotWork": "Unable to load a compatible version of the widget '{0}'. Expected behavior may be affected.", + "DataScience.unhandledMessage": "Unhandled kernel message from a widget: {0} : {1}", + "DataScience.qgridWidgetScriptVersionCompatibilityWarning": "Unable to load a compatible version of the widget 'qgrid'. Consider downgrading to version 1.1.1.", + "DataScience.kernelStarted": "Started kernel {0}", + "StartPage.getStarted": "Python - Get Started", + "StartPage.pythonExtensionTitle": "Python Extension", + "StartPage.createJupyterNotebook": "Create a Jupyter Notebook", + "StartPage.notebookDescription": "- Run \"\" in the Command Palette (
Shift + Command + P
)
- Explore our
sample notebook
to learn about notebook features", + "StartPage.createAPythonFile": "Create a Python File", + "StartPage.pythonFileDescription": "- Create a
new file
with a .py extension", + "StartPage.openInteractiveWindow": "Use the Interactive Window to develop Python Scripts", + "StartPage.interactiveWindowDesc": "- You can create cells on a Python file by typing \"#%%\"
- Use \"
Shift + Enter
\" to run a cell, the output will be shown in the interactive window", + "StartPage.releaseNotes": "Take a look at our Release Notes to learn more about the latest features.", + "StartPage.tutorialAndDoc": "Explore more features in our Tutorials or check Documentation for tips and troubleshooting.", + "StartPage.dontShowAgain": "Don't show this page again", + "StartPage.helloWorld": "Hello world", + "StartPage.sampleNotebook": "Notebooks intro", + "StartPage.openFolder": "Open a Folder or Workspace", + "StartPage.folderDesc": "- Open a
Folder

- Open a
Workspace
", + "DataScience.libraryRequiredToLaunchJupyterKernelNotInstalledInterpreter": "{0} requires {1} to be installed.", + "DataScience.runByLine": "Run by line (F10)", + "DataScience.stopRunByLine": "Stop", + "DataScience.couldNotInstallLibrary": "Could not install {0}. If pip is not available, please use the package manager of your choice to manually install this library into your Python environment.", + "DataScience.rawKernelSessionFailed": "Unable to start session for kernel {0}. Select another kernel to launch with.", + "DataScience.rawKernelConnectingSession": "Connecting to kernel.", + "DataScience.reloadCustomEditor": "Please reload VS Code to use the custom editor API", + "DataScience.reloadVSCodeNotebookEditor": "Please reload VS Code to use the Notebook Editor", + "DataScience.step": "Run next line (F10)", + "DataScience.usingPreviewNotebookWithOtherNotebookWarning": "Opening the same file in the Preview Notebook Editor and stable Notebook Editor is not recommended. Doing so could result in data loss or corruption of notebooks.", + "DataScience.previewNotebookOnlySupportedInVSCInsiders": "The Preview Notebook Editor is supported only in the Insiders version of Visual Studio Code.", + "DataScienceNotebookSurveyBanner.bannerMessage": "Can you please take 2 minutes to tell us how the Preview Notebook Editor is working for you?", + "DataScience.unknownServerUri": "Server URI cannot be used. Did you uninstall an extension that provided a Jupyter server connection?", + "DataScienceRendererExtension.installingExtension": "Installing Notebook Renderers extension...", + "DataScienceRendererExtension.installationCompleteMessage": "complete.", + "DataScienceRendererExtension.startingDownloadOutputMessage": "Starting download of Notebook Renderers extension.", + "DataScienceRendererExtension.downloadingMessage": "Downloading Notebook Renderers Extension...", + "DataScienceRendererExtension.downloadCompletedOutputMessage": "Notebook Renderers extension download complete.", + "DataScience.uriProviderDescriptionFormat": "{0} (From {1} extension)", + "DataScience.unknownPackage": "unknown", + "DataScience.interactiveWindowTitle": "Python Interactive", + "DataScience.interactiveWindowTitleFormat": "Python Interactive - {0}", + "DataScience.interactiveWindowModeBannerTitle": "Do you want to open a new Python Interactive window for this file? [More Information](command:workbench.action.openSettings?%5B%22python.dataScience.interactiveWindowMode%22%5D).", + "DataScience.interactiveWindowModeBannerSwitchYes": "Yes", + "DataScience.interactiveWindowModeBannerSwitchAlways": "Always", + "DataScience.interactiveWindowModeBannerSwitchNo": "No" } diff --git a/package.nls.nl.json b/package.nls.nl.json index 9233bf2bbf58..ba4968e78535 100644 --- a/package.nls.nl.json +++ b/package.nls.nl.json @@ -26,7 +26,6 @@ "python.command.python.datascience.runcurrentcell.title": "Huidige cel uitvoeren", "python.command.python.datascience.runcurrentcelladvance.title": "Huidige cel uitvoeren en doorgaan", "python.command.python.datascience.runcell.title": "Cel uitvoeren", - "python.command.python.datascience.showhistorypane.title": "Interactief Python-venster laten zien", "python.command.python.datascience.selectjupyteruri.title": "Jupyter-server-URI specificeren", "python.command.python.datascience.importnotebook.title": "Jupyter-notebook importeren", "python.command.python.datascience.importnotebookonfile.title": "Jupyter-notebook importeren", @@ -47,9 +46,8 @@ "python.snippet.launch.flask.label": "Python: Flask", "python.snippet.launch.pyramid.label": "Python: Pyramid-applicatie", "python.snippet.launch.attach.label": "Python: aankoppelen", - "LanguageService.bannerMessage": "Zou je alsjeblieft 2 minuten kunnen nemen om ons te vertellen hoe de Python-language server voor jou werkt?", - "LanguageService.bannerLabelYes": "Ja, neem nu deel aan het onderzoek", - "LanguageService.bannerLabelNo": "Nee, bedankt", + "ExtensionSurveyBanner.bannerLabelYes": "Ja, neem nu deel aan het onderzoek", + "ExtensionSurveyBanner.bannerLabelNo": "Nee, bedankt", "LanguageService.lsFailedToStart": "We zijn een probleem tegengekomen bij het starten van de language server. Aan het terugschakelen naar het alternatief, Jedi. Bekijk het weergavepaneel voor details.", "LanguageService.lsFailedToDownload": "We zijn een probleem tegengekomen bij het downloaden van de language server. Aan het terugschakelen naar het alternatief, Jedi. Bekijk het weergavepaneel voor details.", "LanguageService.lsFailedToExtract": "We zijn een probleem tegengekomen bij het uitpakken van de language server. Aan het terugschakelen naar het alternatief, Jedi. Bekijk het weergavepaneel voor details.", diff --git a/package.nls.pl.json b/package.nls.pl.json index 029eaa59da8a..0e6c5a0ec3d7 100644 --- a/package.nls.pl.json +++ b/package.nls.pl.json @@ -29,7 +29,6 @@ "python.command.python.datascience.runcurrentcelladvance.title": "Uruchom bieżące komórki i pokaż", "python.command.python.datascience.execSelectionInteractive.title": "Uruchom zaznaczony obszar w oknie IPythona", "python.command.python.datascience.runcell.title": "Uruchom komórki", - "python.command.python.datascience.showhistorypane.title": "Pokaż okno IPythona", "python.command.python.datascience.selectjupyteruri.title": "Podaj identyfikator URI serwera Jupyter", "python.command.python.datascience.importnotebook.title": "Importuj notatnik Jupyter", "python.command.python.datascience.importnotebookonfile.title": "Importuj notatnik Jupyter", diff --git a/package.nls.ru.json b/package.nls.ru.json index 25130dc2f1fd..9b6b0a5661da 100644 --- a/package.nls.ru.json +++ b/package.nls.ru.json @@ -27,7 +27,15 @@ "python.snippet.launch.flask.label": "Python: Flask", "python.snippet.launch.pyramid.label": "Python: Приложение Pyramid", "python.snippet.launch.attach.label": "Python: Подключить отладчик", - "LanguageService.bannerMessage": "Не могли бы вы уделить 2 минуты, чтобы рассказать нам насколько хорошо у вас работает Python Language Server?", - "LanguageService.bannerLabelYes": "Да, пройти опрос сейчас", - "LanguageService.bannerLabelNo": "Нет, спасибо" + "ExtensionSurveyBanner.bannerLabelYes": "Да, открыть опрос сейчас", + "ExtensionSurveyBanner.bannerLabelNo": "Нет, спасибо", + "ExtensionSurveyBanner.maybeLater": "Может быть, позже", + "ExtensionSurveyBanner.bannerMessage": "Не могли бы вы потратить пару минут на опрос о языковом сервере Pylance?", + "Pylance.proposePylanceMessage": "Попробуйте новый языковый сервер для Python от Microsoft: Pylance! Установите расширение Pylance.", + "Pylance.tryItNow": "Да, хочу", + "Pylance.remindMeLater": "Напомните позже", + "Pylance.installPylanceMessage": "Расширение Pylance не установлено. Нажмите Да чтобы открыть страницу установки Pylance.", + "Pylance.pylanceNotInstalledMessage": "Расширение Pylance не установлено.", + "Pylance.pylanceInstalledReloadPromptMessage": "Расширение Pylance установлено. Перезагрузить окно для его активации?", + "LanguageService.reloadAfterLanguageServerChange": "Пожалуйста, перезагрузите окно после смены типа языкового сервера." } diff --git a/package.nls.zh-tw.json b/package.nls.zh-tw.json index 4555d98fb5ed..96eb10983a9a 100644 --- a/package.nls.zh-tw.json +++ b/package.nls.zh-tw.json @@ -41,9 +41,6 @@ "python.command.python.analysis.clearCache.title": "清除模組分析快取", "python.snippet.launch.module.default": "請輸入-模組-名稱", "python.snippet.launch.attachpid.label": "Python: 使用處理程序 ID 連結", - "LanguageService.bannerMessage": "請問您是否可以用兩分鐘的時間,告訴我們 Python 語言伺服器在您環境中的運作情況?", - "LanguageService.bannerLabelYes": "是,現在填寫調查", - "LanguageService.bannerLabelNo": "不了,謝謝", "LanguageService.lsFailedToStart": "啟動語言伺服器時遇到問題。改回使用替代方案 \"Jedi\"。請檢查 Python 輸出面板以取得更多資訊。", "LanguageService.lsFailedToDownload": "下載語言伺服器時遇到問題。改回使用替代方案 \"Jedi\"。請檢查 Python 輸出面板以取得更多資訊。", "LanguageService.lsFailedToExtract": "擷取語言伺服器時遇到問題。改回使用替代方案 \"Jedi\"。請檢查 Python 輸出面板以取得更多資訊。", @@ -60,6 +57,8 @@ "OutputChannelNames.pythonTest": "Python 測試記錄", "OutputChannelNames.jupyter": "Jupyter", "ExtensionSurveyBanner.bannerMessage": "請問您是否可以用兩分鐘的時間,告訴我們 Python 延伸模組在您環境中的運作情況?", + "ExtensionSurveyBanner.bannerLabelYes": "是,現在填寫調查", + "ExtensionSurveyBanner.bannerLabelNo": "不了,謝謝", "ExtensionSurveyBanner.maybeLater": "等一下", "ExtensionChannels.installingInsidersMessage": "正在安裝 Insiders... ", "ExtensionChannels.installingStableMessage": "正在安裝穩定版... ", @@ -92,8 +91,6 @@ "diagnostics.consoleTypeDiagnostic": "Your launch.json file needs to be updated to change the console type string from \"none\" to \"internalConsole\", otherwise Python debugging may not work. Would you like to automatically update your launch.json file now?", "diagnostics.justMyCodeDiagnostic": "Configuration \"debugStdLib\" in launch.json is no longer supported. It's recommended to replace it with \"justMyCode\", which is the exact opposite of using \"debugStdLib\". Would you like to automatically update your launch.json file to do that?", "diagnostics.yesUpdateLaunch": "是,更新 launch.json", - "diagnostics.bannerLabelNo": "否,我稍候再做", - "diagnostics.processId": "Attaching the debugger to a local process is an experimental feature. It will be available to all users soon.", "diagnostics.invalidTestSettings": "Your settings needs to be updated to change the setting \"python.unitTest.\" to \"python.testing.\", otherwise testing Python code using the extension may not work. Would you like to automatically update your settings now?", "Common.canceled": "已取消", "Common.cancel": "取消", @@ -111,12 +108,12 @@ "debug.moduleEnterModuleDefault": "輸入-模組-名稱", "debug.moduleEnterModuleInvalidNameError": "請輸入有效的模組名稱", "debug.remoteAttachConfigurationLabel": "遠端連結", - "debug.remoteAttachConfigurationDescription": "連結到遠端 ptvsd 偵錯伺服器", + "debug.remoteAttachConfigurationDescription": "連結到遠端偵錯伺服器", "debug.attachRemoteHostTitle": "遠端偵錯", "debug.attachRemoteHostPrompt": "輸入主機名稱", "debug.attachRemoteHostValidationError": "請輸入有效的主機名稱或 IP 位址", "debug.attachRemotePortTitle": "遠端偵錯", - "debug.attachRemotePortPrompt": "輸入 ptvsd 伺服器正在監聽的連線埠號。", + "debug.attachRemotePortPrompt": "輸入偵錯伺服器正在監聽的連線埠號。", "debug.attachRemotePortValidationError": "請輸入有效的連線埠號。", "debug.attachPidConfigurationLabel": "使用處理程序 ID 連結", "debug.attachPidConfigurationDescription": "連結至本機處理程序", diff --git a/pvsc.code-workspace b/pvsc.code-workspace index e804dd486348..45bddaa1b591 100644 --- a/pvsc.code-workspace +++ b/pvsc.code-workspace @@ -1,13 +1,18 @@ { "folders": [ { - "path": "." + "path": ".", + "name": "vscode-python" }, { "path": "pythonFiles" }, { "path": "src/ipywidgets" + }, + { + "path": "../vscode-notebook-renderers", + "name": "vscode-notebook-renderers" } ], "settings": { @@ -20,5 +25,29 @@ "**/.vscode-test/stable/**": true, "**/out/**": true } + }, + "launch": { + "configurations": [ + // This configuration allows one to debug multiple extensions at a time. + // The assumption here is that vscode-notebook-renderers is in the same folder as the python extension. + // User is expected to start the compile tasks for both extensions before using this launch config. + { + "type": "extensionHost", + "request": "launch", + "name": "Python + Renderer Extension", + "args": [ + "--enable-proposed-api", + "--extensionDevelopmentPath=${workspaceFolder:vscode-python}", + "--extensionDevelopmentPath=${workspaceFolder:vscode-notebook-renderers}" + ], + "outFiles": [ + "${workspaceFolder:vscode-python}/out/**/*.js", + "!${workspaceFolder:vscode-python}/**/node_modules**/*", + "${workspaceFolder:vscode-notebook-renderers}/out/**/*.js", + "!${workspaceFolder:vscode-notebook-renderers}/**/node_modules**/*" + ] + } + ], + "compounds": [] } } diff --git a/pythonFiles/.vscode/settings.json b/pythonFiles/.vscode/settings.json index acee626024ff..0f49d48f2e86 100644 --- a/pythonFiles/.vscode/settings.json +++ b/pythonFiles/.vscode/settings.json @@ -4,4 +4,4 @@ "**/**/*.pyc": true }, "python.formatting.provider": "black" -} \ No newline at end of file +} diff --git a/pythonFiles/Notebooks intro.ipynb b/pythonFiles/Notebooks intro.ipynb new file mode 100644 index 000000000000..3f28b072ed69 --- /dev/null +++ b/pythonFiles/Notebooks intro.ipynb @@ -0,0 +1,203 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Creating a new notebook\n", + "\n", + "\n", + "\n", + "1.

Open the command palette with the shortcut: ", + " \n", + " Ctrl/Command\n", + " +\n", + " Shift\n", + " +\n", + " P\n", + "

\n", + "\n", + "2.

Search for the command Create New Blank Jupyter Notebook

\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "# How to get back to the start page\n", + "\n", + "1.

Open the command palette with the shortcut:\n", + " \n", + " Ctrl/Command\n", + " +\n", + " Shift\n", + " +\n", + " P\n", + "

\n", + "\n", + "2.

Search for the command Python: Open Start Page

\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "# Getting started\n", + "\n", + "You are currently viewing what we call our Notebook Editor. It is an interactive document based on Jupyter Notebooks that supports the intermixing of code, outputs and markdown documentation. \n", + "\n", + "This cell is a markdown cell. To edit the text in this cell, simply click on the cell to change it into edit mode.\n", + "\n", + "

The next cell below is a code cell. You can switch a cell between code and markdown by clicking on the code \n", + "\n", + "/markdown \n", + "\n", + " icons or using the keyboard shortcut\n", + " \n", + " M\n", + " \n", + "and\n", + " \n", + " Y\n", + " \n", + "respectively.

\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print('hello world')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "*

To execute the code in the cell above, click on the cell to select it and then either press the play \n", + "\n", + "\n", + " button in the cell toolbar, or use the keyboard shortcut\n", + " \n", + " Ctrl/Command\n", + " +\n", + " Enter\n", + " \n", + "

\n", + "* To edit the code, just click in cell and start editing.\n", + "*

To add a new cell below, click the Add Cell icon \n", + "\n", + "\n", + " \n", + "at the bottom left of the cell or enter command mode with the\n", + " \n", + " ESC\n", + " \n", + "Key and then use the keyboard shortcut\n", + " \n", + " B\n", + " \n", + "to create the new cell below.

\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "# Features\n", + "\n", + "**Variable explorer**\n", + "\n", + "

To view all your active variables and their current values in the notebook, click on the variable explorer icon \n", + "\n", + "\n", + "\n", + "in the top toolbar.

\n", + "\n", + "\n", + "\n", + "**Data Viewer**\n", + "\n", + "

To view your data frame in a more visual \"Excel\" like format, open the variable explorer and to the left of any dataframe object, you will see the data viewer icon\n", + "\n", + "\n", + "\n", + "which you can click to open the data viewer.

\n", + "\n", + "\n", + "\n", + "**Convert to Python File**\n", + "\n", + "

To export your notebook to a Python file (.py), click on the Convert to Python script icon \n", + "\n", + "\n", + "\n", + "\n", + "in the top toolbar \n", + "

\n", + "\n", + "\n", + "\n", + "**Plot Viewer**\n", + "\n", + "

If you have a graph (such as matplotlib) in your output, you'll notice if you hover over the graph, the Plot Viewer icon \n", + "\n", + "\n", + "\n", + "will appear in the top left. Click the icon to open up the graph in the Plotviewer which allows you to zoom on your plots and export it in formats such as png and jpeg.

\n", + "\n", + "\n", + "\n", + "**Switching Kernels**\n", + "\n", + "The notebook editor will detect all kernels in your system by default. To change your notebook kernel, click on the kernel status in the top toolbar at the far right. For example, your kernel status may say \"Python 3: Idle\". This will open up the kernel selector where you can choose your desired kernel.\n", + "\n", + "\n", + "\n", + "**Remote Jupyter Server**\n", + "\n", + "

To connect to a remote Jupyter server, open the command prompt and search for the command Specify remote or local Jupyter server for connections. Then select Existing and enter the remote Jupyter server URL. Afterwards, you'll be prompted to reload the window and the Notebook will be opened connected to the remote Jupyter server.

\n", + "\n", + "", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "colab_type": "text", + "id": "-Rh3-Vt9Nev9" + }, + "source": [ + "---\n", + "## More Resources\n", + "\n", + "- [Data science tutorial for Visual Studio Code](https://code.visualstudio.com/docs/python/data-science-tutorial)\n", + "- [Jupyter Notebooks in Visual Studio Code documentation](https://code.visualstudio.com/docs/python/jupyter-support)\n" + ] + } + ], + "metadata": {}, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/pythonFiles/completion.py b/pythonFiles/completion.py index ec5dd900d9a5..fd8a15d8df28 100644 --- a/pythonFiles/completion.py +++ b/pythonFiles/completion.py @@ -86,8 +86,7 @@ def _get_top_level_module(cls, path): return path def _generate_signature(self, completion): - """Generate signature with function arguments. - """ + """Generate signature with function arguments.""" if completion.type in ["module"] or not hasattr(completion, "params"): return "" return "%s(%s)" % ( @@ -551,8 +550,8 @@ def _set_request_config(self, config): def _normalize_request_path(self, request): """Normalize any Windows paths received by a *nix build of - Python. Does not alter the reverse os.path.sep=='\\', - i.e. *nix paths received by a Windows build of Python. + Python. Does not alter the reverse os.path.sep=='\\', + i.e. *nix paths received by a Windows build of Python. """ if "path" in request: if not self.drive_mount: @@ -569,8 +568,7 @@ def _normalize_request_path(self, request): request["path"] = newPath def _process_request(self, request): - """Accept serialized request from VSCode and write response. - """ + """Accept serialized request from VSCode and write response.""" request = self._deserialize(request) self._set_request_config(request.get("config", {})) @@ -596,6 +594,7 @@ def _process_request(self, request): line=request["line"] + 1, column=request["column"], path=request.get("path", ""), + project=jedi.get_default_project(os.path.dirname(path)), sys_path=sys.path, ) diff --git a/pythonFiles/install_debugpy.py b/pythonFiles/install_debugpy.py index 9eae3a7234be..cb21efd91927 100644 --- a/pythonFiles/install_debugpy.py +++ b/pythonFiles/install_debugpy.py @@ -7,9 +7,7 @@ EXTENSION_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) -DEBUGGER_DEST = os.path.join( - EXTENSION_ROOT, "pythonFiles", "lib", "python", "debugpy", "wheels" -) +DEBUGGER_DEST = os.path.join(EXTENSION_ROOT, "pythonFiles", "lib", "python") DEBUGGER_PACKAGE = "debugpy" DEBUGGER_PYTHON_VERSIONS = ("cp37",) diff --git a/pythonFiles/interpreterInfo.py b/pythonFiles/interpreterInfo.py index 9719a534345c..bb284e729d71 100644 --- a/pythonFiles/interpreterInfo.py +++ b/pythonFiles/interpreterInfo.py @@ -5,7 +5,7 @@ import sys obj = {} -obj["versionInfo"] = sys.version_info[:4] +obj["versionInfo"] = tuple(sys.version_info) obj["sysPrefix"] = sys.prefix obj["version"] = sys.version obj["is64Bit"] = sys.maxsize > 2 ** 32 diff --git a/pythonFiles/ptvsd_launcher.py b/pythonFiles/ptvsd_launcher.py deleted file mode 100644 index f5da46d936d8..000000000000 --- a/pythonFiles/ptvsd_launcher.py +++ /dev/null @@ -1,48 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -import os -import os.path -import sys -import traceback - -useCustomPtvsd = sys.argv[1] == "--custom" -ptvsdArgs = sys.argv[:] -ptvsdArgs.pop(1) - -# Load the debugger package -try: - ptvsd_lib_path = os.path.join( - os.path.dirname(__file__), "lib", "python", "old_ptvsd" - ) - if useCustomPtvsd: - sys.path.append(ptvsd_lib_path) - else: - sys.path.insert(0, ptvsd_lib_path) - try: - import ptvsd - from ptvsd.__main__ import main - - ptvsd_loaded = True - except ImportError: - ptvsd_loaded = False - raise -except: - traceback.print_exc() - print( - """ -Internal error detected. Please copy the above traceback and report at -https://github.com/Microsoft/vscode-python/issues/new - -Press Enter to close. . .""" - ) - try: - raw_input() - except NameError: - input() - sys.exit(1) -finally: - if ptvsd_lib_path: - sys.path.remove(ptvsd_lib_path) - -main(ptvsdArgs) diff --git a/pythonFiles/pyvsc-run-isolated.py b/pythonFiles/pyvsc-run-isolated.py new file mode 100644 index 000000000000..1f6770787490 --- /dev/null +++ b/pythonFiles/pyvsc-run-isolated.py @@ -0,0 +1,26 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +if __name__ != "__main__": + raise Exception("{} cannot be imported".format(__name__)) + +import os.path +import runpy +import sys + +# We "isolate" the script/module (sys.argv[1]) by +# replacing sys.path[0] with a dummy path and then sending the target +# on to runpy. +sys.path[0] = os.path.join(os.path.dirname(__file__), ".does-not-exist") +del sys.argv[0] +module = sys.argv[0] +if module == "-c": + ns = {} + for code in sys.argv[1:]: + exec(code, ns, ns) +elif module.startswith("-"): + raise NotImplementedError(sys.argv) +elif module.endswith(".py"): + runpy.run_path(module, run_name="__main__") +else: + runpy.run_module(module, run_name="__main__", alter_sys=True) diff --git a/pythonFiles/refactor.py b/pythonFiles/refactor.py index b62802ce2c53..9e578906b3c2 100644 --- a/pythonFiles/refactor.py +++ b/pythonFiles/refactor.py @@ -52,8 +52,7 @@ class ChangeType: class Change: - """ - """ + """""" EDIT = 0 NEW = 1 @@ -337,8 +336,7 @@ def _deserialize(self, request): return json.loads(request) def _process_request(self, request): - """Accept serialized request from VSCode and write response. - """ + """Accept serialized request from VSCode and write response.""" request = self._deserialize(request) lookup = request.get("lookup", "") diff --git a/pythonFiles/sortImports.py b/pythonFiles/sortImports.py index 666827118d37..070f7883fd66 100644 --- a/pythonFiles/sortImports.py +++ b/pythonFiles/sortImports.py @@ -1,6 +1,7 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. +import io import os import os.path import sys diff --git a/pythonFiles/testing_tools/adapter/__main__.py b/pythonFiles/testing_tools/adapter/__main__.py index 2f17c6e50a61..5857c63db049 100644 --- a/pythonFiles/testing_tools/adapter/__main__.py +++ b/pythonFiles/testing_tools/adapter/__main__.py @@ -58,9 +58,9 @@ def parse_args( # Parse the args! if "--" in argv: - seppos = argv.index("--") - toolargs = argv[seppos + 1 :] - argv = argv[:seppos] + sep_index = argv.index("--") + toolargs = argv[sep_index + 1 :] + argv = argv[:sep_index] else: toolargs = [] args = parser.parse_args(argv) diff --git a/pythonFiles/testing_tools/adapter/info.py b/pythonFiles/testing_tools/adapter/info.py index f4ab602d8f18..f99ce0b6f9a2 100644 --- a/pythonFiles/testing_tools/adapter/info.py +++ b/pythonFiles/testing_tools/adapter/info.py @@ -4,11 +4,11 @@ from collections import namedtuple -class TestPath(namedtuple("TestPath", "root relfile func sub")): +class SingleTestPath(namedtuple("TestPath", "root relfile func sub")): """Where to find a single test.""" def __new__(cls, root, relfile, func, sub=None): - self = super(TestPath, cls).__new__( + self = super(SingleTestPath, cls).__new__( cls, str(root) if root else None, str(relfile) if relfile else None, @@ -62,14 +62,16 @@ def __init__(self, *args, **kwargs): raise TypeError("missing relpath") -class TestInfo(namedtuple("TestInfo", "id name path source markers parentid kind")): +class SingleTestInfo( + namedtuple("TestInfo", "id name path source markers parentid kind") +): """Info for a single test.""" MARKERS = ("skip", "skip-if", "expected-failure") KINDS = ("function", "doctest") def __new__(cls, id, name, path, source, markers, parentid, kind="function"): - self = super(TestInfo, cls).__new__( + self = super(SingleTestInfo, cls).__new__( cls, str(id) if id else None, str(name) if name else None, diff --git a/pythonFiles/testing_tools/adapter/pytest/_pytest_item.py b/pythonFiles/testing_tools/adapter/pytest/_pytest_item.py index 87e439e30c7e..f9ed1fe0f289 100644 --- a/pythonFiles/testing_tools/adapter/pytest/_pytest_item.py +++ b/pythonFiles/testing_tools/adapter/pytest/_pytest_item.py @@ -99,7 +99,7 @@ import _pytest.doctest import _pytest.unittest -from ..info import TestInfo, TestPath +from ..info import SingleTestInfo, SingleTestPath from ..util import fix_fileid, PATH_SEP, NORMCASE @@ -207,10 +207,10 @@ def parse_item( markers.add("expected-failure") # We can add support for other markers as we need them? - test = TestInfo( + test = SingleTestInfo( id=nodeid, name=item.name, - path=TestPath( + path=SingleTestPath( root=testroot, relfile=relfile, func=testfunc, diff --git a/pythonFiles/testing_tools/adapter/util.py b/pythonFiles/testing_tools/adapter/util.py index 1e650522f64c..77778c5b6126 100644 --- a/pythonFiles/testing_tools/adapter/util.py +++ b/pythonFiles/testing_tools/adapter/util.py @@ -2,13 +2,16 @@ # Licensed under the MIT License. import contextlib +import io try: from io import StringIO except ImportError: from StringIO import StringIO # 2.7 +import os import os.path import sys +import tempfile @contextlib.contextmanager @@ -171,27 +174,81 @@ def fix_fileid( @contextlib.contextmanager -def hide_stdio(): - """Swallow stdout and stderr.""" - ignored = StdioStream() - sys.stdout = ignored - sys.stderr = ignored +def _replace_fd(file, target): + """ + Temporarily replace the file descriptor for `file`, + for which sys.stdout or sys.stderr is passed. + """ + try: + fd = file.fileno() + except (AttributeError, io.UnsupportedOperation): + # `file` does not have fileno() so it's been replaced from the + # default sys.stdout, etc. Return with noop. + yield + return + target_fd = target.fileno() + + # Keep the original FD to be restored in the finally clause. + dup_fd = os.dup(fd) try: - yield ignored + # Point the FD at the target. + os.dup2(target_fd, fd) + try: + yield + finally: + # Point the FD back at the original. + os.dup2(dup_fd, fd) finally: - sys.stdout = sys.__stdout__ - sys.stderr = sys.__stderr__ + os.close(dup_fd) -if sys.version_info < (3,): +@contextlib.contextmanager +def _replace_stdout(target): + orig = sys.stdout + sys.stdout = target + try: + yield orig + finally: + sys.stdout = orig - class StdioStream(StringIO): - def write(self, msg): - StringIO.write(self, msg.decode()) + +@contextlib.contextmanager +def _replace_stderr(target): + orig = sys.stderr + sys.stderr = target + try: + yield orig + finally: + sys.stderr = orig +if sys.version_info < (3,): + _coerce_unicode = lambda s: unicode(s) else: - StdioStream = StringIO + _coerce_unicode = lambda s: s + + +@contextlib.contextmanager +def _temp_io(): + sio = StringIO() + with tempfile.TemporaryFile("r+") as tmp: + try: + yield sio, tmp + finally: + tmp.seek(0) + buff = tmp.read() + sio.write(_coerce_unicode(buff)) + + +@contextlib.contextmanager +def hide_stdio(): + """Swallow stdout and stderr.""" + with _temp_io() as (sio, fileobj): + with _replace_fd(sys.stdout, fileobj): + with _replace_stdout(fileobj): + with _replace_fd(sys.stderr, fileobj): + with _replace_stderr(fileobj): + yield sio ############################# diff --git a/pythonFiles/tests/debug_adapter/test_install_debugpy.py b/pythonFiles/tests/debug_adapter/test_install_debugpy.py index 7a5354ba5ed7..19565c19675c 100644 --- a/pythonFiles/tests/debug_adapter/test_install_debugpy.py +++ b/pythonFiles/tests/debug_adapter/test_install_debugpy.py @@ -19,7 +19,8 @@ def _check_binaries(dir_path): @pytest.mark.skipif( - sys.version_info[:2] != (3, 7), reason="DEBUGPY wheels shipped for Python 3.7 only", + sys.version_info[:2] != (3, 7), + reason="DEBUGPY wheels shipped for Python 3.7 only", ) def test_install_debugpy(tmpdir): import install_debugpy diff --git a/pythonFiles/tests/ipython/scripts.py b/pythonFiles/tests/ipython/scripts.py index cf015de053e0..4d6bd8803b9c 100644 --- a/pythonFiles/tests/ipython/scripts.py +++ b/pythonFiles/tests/ipython/scripts.py @@ -4,7 +4,6 @@ import os import json import sys -import imp def check_for_ipython(): @@ -43,6 +42,12 @@ def execute_script(file, replace_dict=dict([])): return result.success +def execute_code(code): + # Execute this script as a cell + result = get_ipython().run_cell(code) + return result + + def get_variables(capsys): path = os.path.dirname(os.path.abspath(__file__)) file = os.path.abspath(os.path.join(path, "./getJupyterVariableList.py")) @@ -74,35 +79,41 @@ def get_variable_value(variables, name, capsys): def get_data_frame_info(variables, name, capsys): varJson = find_variable_json(variables, name) path = os.path.dirname(os.path.abspath(__file__)) - file = os.path.abspath( - os.path.join( - path, "../../vscode_datascience_helpers/getJupyterVariableDataFrameInfo.py" - ) + syspath = os.path.abspath( + os.path.join(path, "../../vscode_datascience_helpers/dataframes") ) - keys = dict([("_VSCode_JupyterTestValue", json.dumps(varJson))]) - if execute_script(file, keys): + syscode = 'import sys\nsys.path.append("{0}")'.format(syspath.replace("\\", "\\\\")) + importcode = "import vscodeGetDataFrameInfo\nprint(vscodeGetDataFrameInfo._VSCODE_getDataFrameInfo({0}))".format( + name + ) + result = execute_code(syscode) + if not result.success: + result.raise_error() + result = execute_code(importcode) + if result.success: read_out = capsys.readouterr() - return json.loads(read_out.out) + info = json.loads(read_out.out[0:-1]) + varJson.update(info) + return varJson else: - raise Exception("Get dataframe info failed.") + result.raise_error() def get_data_frame_rows(varJson, start, end, capsys): path = os.path.dirname(os.path.abspath(__file__)) - file = os.path.abspath( - os.path.join( - path, "../../vscode_datascience_helpers/getJupyterVariableDataFrameRows.py" - ) + syspath = os.path.abspath( + os.path.join(path, "../../vscode_datascience_helpers/dataframes") ) - keys = dict( - [ - ("_VSCode_JupyterTestValue", json.dumps(varJson)), - ("_VSCode_JupyterStartRow", str(start)), - ("_VSCode_JupyterEndRow", str(end)), - ] + syscode = 'import sys\nsys.path.append("{0}")'.format(syspath.replace("\\", "\\\\")) + importcode = "import vscodeGetDataFrameRows\nprint(vscodeGetDataFrameRows._VSCODE_getDataFrameRows({0}, {1}, {2}))".format( + varJson["name"], start, end ) - if execute_script(file, keys): + result = execute_code(syscode) + if not result.success: + result.raise_error() + result = execute_code(importcode) + if result.success: read_out = capsys.readouterr() - return json.loads(read_out.out) + return json.loads(read_out.out[0:-1]) else: - raise Exception("Getting dataframe rows failed.") + result.raise_error() diff --git a/pythonFiles/tests/ipython/test_variables.py b/pythonFiles/tests/ipython/test_variables.py index 6519607c2fbe..1267f3ed880f 100644 --- a/pythonFiles/tests/ipython/test_variables.py +++ b/pythonFiles/tests/ipython/test_variables.py @@ -2,9 +2,7 @@ # Licensed under the MIT License. import pytest -import sys import os -import json from .scripts import ( get_variable_value, get_variables, @@ -12,7 +10,6 @@ get_data_frame_rows, check_for_ipython, ) -import imp haveIPython = check_for_ipython() diff --git a/pythonFiles/tests/testing_tools/adapter/.data/complex/README.md b/pythonFiles/tests/testing_tools/adapter/.data/complex/README.md index 8a3c908d3fbd..e30e96142d02 100644 --- a/pythonFiles/tests/testing_tools/adapter/.data/complex/README.md +++ b/pythonFiles/tests/testing_tools/adapter/.data/complex/README.md @@ -1,4 +1,3 @@ - ## Directory Structure ``` @@ -37,121 +36,121 @@ pythonFiles/tests/testing_tools/adapter/.data/ basic: -* `./test_foo.py::test_simple` -* `./test_pytest.py::test_simple` -* `./test_pytest.py::TestSpam::test_simple` -* `./test_pytest.py::TestSpam::TestHam::TestEggs::test_simple` -* `./test_pytest.py::TestEggs::test_simple` -* `./test_pytest.py::TestParam::test_simple` -* `./test_mixed.py::test_top_level` -* `./test_mixed.py::MyTests::test_simple` -* `./test_mixed.py::TestMySuite::test_simple` -* `./test_unittest.py::MyTests::test_simple` -* `./test_unittest.py::OtherTests::test_simple` -* `./x/y/z/test_ham.py::test_simple` -* `./x/y/z/a/test_spam.py::test_simple` -* `./x/y/z/b/test_spam.py::test_simple` +- `./test_foo.py::test_simple` +- `./test_pytest.py::test_simple` +- `./test_pytest.py::TestSpam::test_simple` +- `./test_pytest.py::TestSpam::TestHam::TestEggs::test_simple` +- `./test_pytest.py::TestEggs::test_simple` +- `./test_pytest.py::TestParam::test_simple` +- `./test_mixed.py::test_top_level` +- `./test_mixed.py::MyTests::test_simple` +- `./test_mixed.py::TestMySuite::test_simple` +- `./test_unittest.py::MyTests::test_simple` +- `./test_unittest.py::OtherTests::test_simple` +- `./x/y/z/test_ham.py::test_simple` +- `./x/y/z/a/test_spam.py::test_simple` +- `./x/y/z/b/test_spam.py::test_simple` failures: -* `./test_pytest.py::test_failure` -* `./test_pytest.py::test_runtime_failed` -* `./test_pytest.py::test_raises` +- `./test_pytest.py::test_failure` +- `./test_pytest.py::test_runtime_failed` +- `./test_pytest.py::test_raises` skipped: -* `./test_mixed.py::test_skipped` -* `./test_mixed.py::MyTests::test_skipped` -* `./test_pytest.py::test_runtime_skipped` -* `./test_pytest.py::test_skipped` -* `./test_pytest.py::test_maybe_skipped` -* `./test_pytest.py::SpamTests::test_skipped` -* `./test_pytest.py::test_param_13_markers[???]` -* `./test_pytest.py::test_param_13_skipped[*]` -* `./test_unittest.py::MyTests::test_skipped` -* (`./test_unittest.py::MyTests::test_maybe_skipped`) -* (`./test_unittest.py::MyTests::test_maybe_not_skipped`) +- `./test_mixed.py::test_skipped` +- `./test_mixed.py::MyTests::test_skipped` +- `./test_pytest.py::test_runtime_skipped` +- `./test_pytest.py::test_skipped` +- `./test_pytest.py::test_maybe_skipped` +- `./test_pytest.py::SpamTests::test_skipped` +- `./test_pytest.py::test_param_13_markers[???]` +- `./test_pytest.py::test_param_13_skipped[*]` +- `./test_unittest.py::MyTests::test_skipped` +- (`./test_unittest.py::MyTests::test_maybe_skipped`) +- (`./test_unittest.py::MyTests::test_maybe_not_skipped`) in namespace package: -* `./w/test_spam.py::test_simple` -* `./w/test_spam_ex.py::test_simple` +- `./w/test_spam.py::test_simple` +- `./w/test_spam_ex.py::test_simple` filename oddities: -* `./test_42.py::test_simple` -* `./test_42-43.py::test_simple` -* (`./testspam.py::test_simple` not discovered by default) -* (`./spam.py::test_simple` not discovered) +- `./test_42.py::test_simple` +- `./test_42-43.py::test_simple` +- (`./testspam.py::test_simple` not discovered by default) +- (`./spam.py::test_simple` not discovered) imports discovered: -* `./v/test_eggs.py::test_simple` -* `./v/test_eggs.py::TestSimple::test_simple` -* `./v/test_ham.py::test_simple` -* `./v/test_ham.py::test_not_hard` -* `./v/test_spam.py::test_simple` -* `./v/test_spam.py::test_simpler` +- `./v/test_eggs.py::test_simple` +- `./v/test_eggs.py::TestSimple::test_simple` +- `./v/test_ham.py::test_simple` +- `./v/test_ham.py::test_not_hard` +- `./v/test_spam.py::test_simple` +- `./v/test_spam.py::test_simpler` subtests: -* `./test_pytest.py::test_dynamic_*` -* `./test_pytest.py::test_param_01[]` -* `./test_pytest.py::test_param_11[1]` -* `./test_pytest.py::test_param_13[*]` -* `./test_pytest.py::test_param_13_markers[*]` -* `./test_pytest.py::test_param_13_repeat[*]` -* `./test_pytest.py::test_param_13_skipped[*]` -* `./test_pytest.py::test_param_23_13[*]` -* `./test_pytest.py::test_param_23_raises[*]` -* `./test_pytest.py::test_param_33[*]` -* `./test_pytest.py::test_param_33_ids[*]` -* `./test_pytest.py::TestParam::test_param_13[*]` -* `./test_pytest.py::TestParamAll::test_param_13[*]` -* `./test_pytest.py::TestParamAll::test_spam_13[*]` -* `./test_pytest.py::test_fixture_param[*]` -* `./test_pytest.py::test_param_fixture[*]` -* `./test_pytest_param.py::test_param_13[*]` -* `./test_pytest_param.py::TestParamAll::test_param_13[*]` -* `./test_pytest_param.py::TestParamAll::test_spam_13[*]` -* (`./test_unittest.py::MyTests::test_with_subtests`) -* (`./test_unittest.py::MyTests::test_with_nested_subtests`) -* (`./test_unittest.py::MyTests::test_dynamic_*`) +- `./test_pytest.py::test_dynamic_*` +- `./test_pytest.py::test_param_01[]` +- `./test_pytest.py::test_param_11[1]` +- `./test_pytest.py::test_param_13[*]` +- `./test_pytest.py::test_param_13_markers[*]` +- `./test_pytest.py::test_param_13_repeat[*]` +- `./test_pytest.py::test_param_13_skipped[*]` +- `./test_pytest.py::test_param_23_13[*]` +- `./test_pytest.py::test_param_23_raises[*]` +- `./test_pytest.py::test_param_33[*]` +- `./test_pytest.py::test_param_33_ids[*]` +- `./test_pytest.py::TestParam::test_param_13[*]` +- `./test_pytest.py::TestParamAll::test_param_13[*]` +- `./test_pytest.py::TestParamAll::test_spam_13[*]` +- `./test_pytest.py::test_fixture_param[*]` +- `./test_pytest.py::test_param_fixture[*]` +- `./test_pytest_param.py::test_param_13[*]` +- `./test_pytest_param.py::TestParamAll::test_param_13[*]` +- `./test_pytest_param.py::TestParamAll::test_spam_13[*]` +- (`./test_unittest.py::MyTests::test_with_subtests`) +- (`./test_unittest.py::MyTests::test_with_nested_subtests`) +- (`./test_unittest.py::MyTests::test_dynamic_*`) For more options for pytests's parametrize(), see https://docs.pytest.org/en/latest/example/parametrize.html#paramexamples. using fixtures: -* `./test_pytest.py::test_fixture` -* `./test_pytest.py::test_fixture_param[*]` -* `./test_pytest.py::test_param_fixture[*]` -* `./test_pytest.py::test_param_mark_fixture[*]` +- `./test_pytest.py::test_fixture` +- `./test_pytest.py::test_fixture_param[*]` +- `./test_pytest.py::test_param_fixture[*]` +- `./test_pytest.py::test_param_mark_fixture[*]` other markers: -* `./test_pytest.py::test_known_failure` -* `./test_pytest.py::test_param_markers[2]` -* `./test_pytest.py::test_warned` -* `./test_pytest.py::test_custom_marker` -* `./test_pytest.py::test_multiple_markers` -* (`./test_unittest.py::MyTests::test_known_failure`) +- `./test_pytest.py::test_known_failure` +- `./test_pytest.py::test_param_markers[2]` +- `./test_pytest.py::test_warned` +- `./test_pytest.py::test_custom_marker` +- `./test_pytest.py::test_multiple_markers` +- (`./test_unittest.py::MyTests::test_known_failure`) others not discovered: -* (`./test_pytest.py::TestSpam::TestHam::TestEggs::TestNoop1`) -* (`./test_pytest.py::TestSpam::TestNoop2`) -* (`./test_pytest.py::TestNoop3`) -* (`./test_pytest.py::MyTests::test_simple`) -* (`./test_unittest.py::MyTests::TestSub1`) -* (`./test_unittest.py::MyTests::TestSub2`) -* (`./test_unittest.py::NoTests`) +- (`./test_pytest.py::TestSpam::TestHam::TestEggs::TestNoop1`) +- (`./test_pytest.py::TestSpam::TestNoop2`) +- (`./test_pytest.py::TestNoop3`) +- (`./test_pytest.py::MyTests::test_simple`) +- (`./test_unittest.py::MyTests::TestSub1`) +- (`./test_unittest.py::MyTests::TestSub2`) +- (`./test_unittest.py::NoTests`) doctests: -* `./test_doctest.txt::test_doctest.txt` -* (`./test_doctest.py::test_doctest.py`) -* (`../mod.py::mod`) -* (`../mod.py::mod.square`) -* (`../mod.py::mod.Spam`) -* (`../mod.py::mod.spam.eggs`) +- `./test_doctest.txt::test_doctest.txt` +- (`./test_doctest.py::test_doctest.py`) +- (`../mod.py::mod`) +- (`../mod.py::mod.square`) +- (`../mod.py::mod.Spam`) +- (`../mod.py::mod.spam.eggs`) diff --git a/pythonFiles/tests/testing_tools/adapter/pytest/test_cli.py b/pythonFiles/tests/testing_tools/adapter/pytest/test_cli.py index f5d41f603be0..6f590a31fa56 100644 --- a/pythonFiles/tests/testing_tools/adapter/pytest/test_cli.py +++ b/pythonFiles/tests/testing_tools/adapter/pytest/test_cli.py @@ -35,7 +35,10 @@ def test_discover(self): add_subparser("discover", "pytest", subparsers) self.assertEqual( - stub.calls, [("subparsers.add_parser", None, {"name": "pytest"}),] + stub.calls, + [ + ("subparsers.add_parser", None, {"name": "pytest"}), + ], ) def test_unsupported_command(self): diff --git a/pythonFiles/tests/testing_tools/adapter/pytest/test_discovery.py b/pythonFiles/tests/testing_tools/adapter/pytest/test_discovery.py index 2ca3955c6529..98b18567253e 100644 --- a/pythonFiles/tests/testing_tools/adapter/pytest/test_discovery.py +++ b/pythonFiles/tests/testing_tools/adapter/pytest/test_discovery.py @@ -5,26 +5,28 @@ try: from io import StringIO -except ImportError: # 2.7 - from StringIO import StringIO -from os import name as OS_NAME +except ImportError: + from StringIO import StringIO # type: ignore (for Pylance) +import os import sys +import tempfile import unittest +import warnings import pytest import _pytest.doctest -from ....util import Stub, StubProxy -from testing_tools.adapter.util import fix_path, fix_relpath, fix_fileid, PATH_JOIN -from testing_tools.adapter.info import TestInfo, TestPath, ParentInfo +from .... import util +from testing_tools.adapter import util as adapter_util from testing_tools.adapter.pytest import _pytest_item as pytest_item -from testing_tools.adapter.pytest._discovery import discover, TestCollector +from testing_tools.adapter import info +from testing_tools.adapter.pytest import _discovery # In Python 3.8 __len__ is called twice, which impacts some of the test assertions we do below. PYTHON_38_OR_LATER = sys.version_info[0] >= 3 and sys.version_info[1] >= 8 -class StubPyTest(StubProxy): +class StubPyTest(util.StubProxy): def __init__(self, stub=None): super(StubPyTest, self).__init__(stub, "pytest") self.return_main = 0 @@ -34,7 +36,7 @@ def main(self, args, plugins): return self.return_main -class StubPlugin(StubProxy): +class StubPlugin(util.StubProxy): _started = True @@ -54,7 +56,7 @@ def func(*args, **kwargs): return func -class StubDiscoveredTests(StubProxy): +class StubDiscoveredTests(util.StubProxy): NOT_FOUND = object() @@ -93,7 +95,7 @@ def __init__(self, name): self.name = name -class StubPytestItem(StubProxy): +class StubPytestItem(util.StubProxy): _debugging = False _hasfunc = True @@ -144,11 +146,31 @@ def function(self): return self.__dict__.get("function") +def create_stub_function_item(*args, **kwargs): + # StubFunctionItem should not be calling __init__(), but instead from_parent(). + # Unfortunately the detangling is massive due to the complexity of the test + # harness, so we are punting in hopes that we rewrite test discovery before + # pytest removes this functionality. + with warnings.catch_warnings(): + warnings.simplefilter("ignore") + return StubFunctionItem(*args, **kwargs) + + class StubDoctestItem(StubSubtypedItem, _pytest.doctest.DoctestItem): pass -class StubPytestSession(StubProxy): +def create_stub_doctest_item(*args, **kwargs): + # StubDoctestItem should not be calling __init__(), but instead from_parent(). + # Unfortunately the detangling is massive due to the complexity of the test + # harness, so we are punting in hopes that we rewrite test discovery before + # pytest removes this functionality. + with warnings.catch_warnings(): + warnings.simplefilter("ignore") + return StubDoctestItem(*args, **kwargs) + + +class StubPytestSession(util.StubProxy): def __init__(self, stub=None): super(StubPytestSession, self).__init__(stub, "pytest.Session") @@ -161,7 +183,7 @@ def func(*args, **kwargs): return func -class StubPytestConfig(StubProxy): +class StubPytestConfig(util.StubProxy): def __init__(self, stub=None): super(StubPytestConfig, self).__init__(stub, "pytest.Config") @@ -185,11 +207,21 @@ def normcase(path): raise NotImplementedError ########## def _fix_fileid(*args): - return fix_fileid(*args, **dict(_normcase=normcase, _pathsep=pathsep,)) + return adapter_util.fix_fileid( + *args, + **dict( + _normcase=normcase, + _pathsep=pathsep, + ) + ) def _normalize_test_id(*args): return pytest_item._normalize_test_id( - *args, **dict(_fix_fileid=_fix_fileid, _pathsep=pathsep,) + *args, + **dict( + _fix_fileid=_fix_fileid, + _pathsep=pathsep, + ) ) def _iter_nodes(*args): @@ -203,20 +235,39 @@ def _iter_nodes(*args): ) def _parse_node_id(*args): - return pytest_item._parse_node_id(*args, **dict(_iter_nodes=_iter_nodes,)) + return pytest_item._parse_node_id( + *args, + **dict( + _iter_nodes=_iter_nodes, + ) + ) ########## def _split_fspath(*args): - return pytest_item._split_fspath(*args, **dict(_normcase=normcase,)) + return pytest_item._split_fspath( + *args, + **dict( + _normcase=normcase, + ) + ) ########## def _matches_relfile(*args): return pytest_item._matches_relfile( - *args, **dict(_normcase=normcase, _pathsep=pathsep,) + *args, + **dict( + _normcase=normcase, + _pathsep=pathsep, + ) ) def _is_legacy_wrapper(*args): - return pytest_item._is_legacy_wrapper(*args, **dict(_pathsep=pathsep,)) + return pytest_item._is_legacy_wrapper( + *args, + **dict( + _pathsep=pathsep, + ) + ) def _get_location(*args): return pytest_item._get_location( @@ -246,6 +297,18 @@ def _parse_item(item): # tests +def fake_pytest_main(stub, use_fd, pytest_stdout): + def ret(args, plugins): + stub.add_call("pytest.main", None, {"args": args, "plugins": plugins}) + if use_fd: + os.write(sys.stdout.fileno(), pytest_stdout.encode()) + else: + print(pytest_stdout, end="") + return 0 + + return ret + + class DiscoverTests(unittest.TestCase): DEFAULT_ARGS = [ @@ -253,7 +316,7 @@ class DiscoverTests(unittest.TestCase): ] def test_basic(self): - stub = Stub() + stub = util.Stub() stubpytest = StubPyTest(stub) plugin = StubPlugin(stub) expected = [] @@ -269,28 +332,32 @@ def test_basic(self): if PYTHON_38_OR_LATER: calls.insert(3, ("discovered.__len__", None, None)) - parents, tests = discover([], _pytest_main=stubpytest.main, _plugin=plugin) + parents, tests = _discovery.discover( + [], _pytest_main=stubpytest.main, _plugin=plugin + ) self.assertEqual(parents, []) self.assertEqual(tests, expected) self.assertEqual(stub.calls, calls) def test_failure(self): - stub = Stub() + stub = util.Stub() pytest = StubPyTest(stub) pytest.return_main = 2 plugin = StubPlugin(stub) with self.assertRaises(Exception): - discover([], _pytest_main=pytest.main, _plugin=plugin) + _discovery.discover([], _pytest_main=pytest.main, _plugin=plugin) self.assertEqual( stub.calls, - [("pytest.main", None, {"args": self.DEFAULT_ARGS, "plugins": [plugin]}),], + [ + ("pytest.main", None, {"args": self.DEFAULT_ARGS, "plugins": [plugin]}), + ], ) def test_no_tests_found(self): - stub = Stub() + stub = util.Stub() pytest = StubPyTest(stub) pytest.return_main = 5 plugin = StubPlugin(stub) @@ -307,20 +374,16 @@ def test_no_tests_found(self): if PYTHON_38_OR_LATER: calls.insert(3, ("discovered.__len__", None, None)) - parents, tests = discover([], _pytest_main=pytest.main, _plugin=plugin) + parents, tests = _discovery.discover( + [], _pytest_main=pytest.main, _plugin=plugin + ) self.assertEqual(parents, []) self.assertEqual(tests, expected) self.assertEqual(stub.calls, calls) - def test_stdio_hidden(self): - pytest_stdout = "spamspamspamspamspamspamspammityspam" - stub = Stub() - - def fake_pytest_main(args, plugins): - stub.add_call("pytest.main", None, {"args": args, "plugins": plugins}) - print(pytest_stdout, end="") - return 0 + def test_stdio_hidden_file(self): + stub = util.Stub() plugin = StubPlugin(stub) plugin.discovered = [] @@ -330,31 +393,55 @@ def fake_pytest_main(args, plugins): ("discovered.__len__", None, None), ("discovered.__getitem__", (0,), None), ] + pytest_stdout = "spamspamspamspamspamspamspammityspam" # In Python 3.8 __len__ is called twice. if PYTHON_38_OR_LATER: calls.insert(3, ("discovered.__len__", None, None)) - buf = StringIO() + # to simulate stdio behavior in methods like os.dup, + # use actual files (rather than StringIO) + with tempfile.TemporaryFile("r+") as mock: + sys.stdout = mock + try: + _discovery.discover( + [], + hidestdio=True, + _pytest_main=fake_pytest_main(stub, False, pytest_stdout), + _plugin=plugin, + ) + finally: + sys.stdout = sys.__stdout__ - sys.stdout = buf - try: - discover([], hidestdio=True, _pytest_main=fake_pytest_main, _plugin=plugin) - finally: - sys.stdout = sys.__stdout__ - captured = buf.getvalue() + mock.seek(0) + captured = mock.read() self.assertEqual(captured, "") self.assertEqual(stub.calls, calls) - def test_stdio_not_hidden(self): + def test_stdio_hidden_fd(self): + # simulate cases where stdout comes from the lower layer than sys.stdout + # via file descriptors (e.g., from cython) + stub = util.Stub() + plugin = StubPlugin(stub) pytest_stdout = "spamspamspamspamspamspamspammityspam" - stub = Stub() - def fake_pytest_main(args, plugins): - stub.add_call("pytest.main", None, {"args": args, "plugins": plugins}) - print(pytest_stdout, end="") - return 0 + # Replace with contextlib.redirect_stdout() once Python 2.7 support is dropped. + sys.stdout = StringIO() + try: + _discovery.discover( + [], + hidestdio=True, + _pytest_main=fake_pytest_main(stub, True, pytest_stdout), + _plugin=plugin, + ) + captured = sys.stdout.read() + self.assertEqual(captured, "") + finally: + sys.stdout = sys.__stdout__ + + def test_stdio_not_hidden_file(self): + stub = util.Stub() plugin = StubPlugin(stub) plugin.discovered = [] @@ -364,6 +451,7 @@ def fake_pytest_main(args, plugins): ("discovered.__len__", None, None), ("discovered.__getitem__", (0,), None), ] + pytest_stdout = "spamspamspamspamspamspamspammityspam" # In Python 3.8 __len__ is called twice. if PYTHON_38_OR_LATER: @@ -373,7 +461,12 @@ def fake_pytest_main(args, plugins): sys.stdout = buf try: - discover([], hidestdio=False, _pytest_main=fake_pytest_main, _plugin=plugin) + _discovery.discover( + [], + hidestdio=False, + _pytest_main=fake_pytest_main(stub, False, pytest_stdout), + _plugin=plugin, + ) finally: sys.stdout = sys.__stdout__ captured = buf.getvalue() @@ -381,69 +474,91 @@ def fake_pytest_main(args, plugins): self.assertEqual(captured, pytest_stdout) self.assertEqual(stub.calls, calls) + def test_stdio_not_hidden_fd(self): + # simulate cases where stdout comes from the lower layer than sys.stdout + # via file descriptors (e.g., from cython) + stub = util.Stub() + plugin = StubPlugin(stub) + pytest_stdout = "spamspamspamspamspamspamspammityspam" + stub.calls = [] + with tempfile.TemporaryFile("r+") as mock: + sys.stdout = mock + try: + _discovery.discover( + [], + hidestdio=False, + _pytest_main=fake_pytest_main(stub, True, pytest_stdout), + _plugin=plugin, + ) + finally: + mock.seek(0) + captured = sys.stdout.read() + sys.stdout = sys.__stdout__ + self.assertEqual(captured, pytest_stdout) + class CollectorTests(unittest.TestCase): def test_modifyitems(self): - stub = Stub() + stub = util.Stub() discovered = StubDiscoveredTests(stub) session = StubPytestSession(stub) config = StubPytestConfig(stub) - collector = TestCollector(tests=discovered) + collector = _discovery.TestCollector(tests=discovered) - testroot = fix_path("/a/b/c") - relfile1 = fix_path("./test_spam.py") - relfile2 = fix_path("x/y/z/test_eggs.py") + testroot = adapter_util.fix_path("/a/b/c") + relfile1 = adapter_util.fix_path("./test_spam.py") + relfile2 = adapter_util.fix_path("x/y/z/test_eggs.py") collector.pytest_collection_modifyitems( session, config, [ - StubFunctionItem( + create_stub_function_item( stub, nodeid="test_spam.py::SpamTests::test_one", name="test_one", location=("test_spam.py", 12, "SpamTests.test_one"), - fspath=PATH_JOIN(testroot, "test_spam.py"), + fspath=adapter_util.PATH_JOIN(testroot, "test_spam.py"), function=FakeFunc("test_one"), ), - StubFunctionItem( + create_stub_function_item( stub, nodeid="test_spam.py::SpamTests::test_other", name="test_other", location=("test_spam.py", 19, "SpamTests.test_other"), - fspath=PATH_JOIN(testroot, "test_spam.py"), + fspath=adapter_util.PATH_JOIN(testroot, "test_spam.py"), function=FakeFunc("test_other"), ), - StubFunctionItem( + create_stub_function_item( stub, nodeid="test_spam.py::test_all", name="test_all", location=("test_spam.py", 144, "test_all"), - fspath=PATH_JOIN(testroot, "test_spam.py"), + fspath=adapter_util.PATH_JOIN(testroot, "test_spam.py"), function=FakeFunc("test_all"), ), - StubFunctionItem( + create_stub_function_item( stub, nodeid="test_spam.py::test_each[10-10]", name="test_each[10-10]", location=("test_spam.py", 273, "test_each[10-10]"), - fspath=PATH_JOIN(testroot, "test_spam.py"), + fspath=adapter_util.PATH_JOIN(testroot, "test_spam.py"), function=FakeFunc("test_each"), ), - StubFunctionItem( + create_stub_function_item( stub, nodeid=relfile2 + "::All::BasicTests::test_first", name="test_first", location=(relfile2, 31, "All.BasicTests.test_first"), - fspath=PATH_JOIN(testroot, relfile2), + fspath=adapter_util.PATH_JOIN(testroot, relfile2), function=FakeFunc("test_first"), ), - StubFunctionItem( + create_stub_function_item( stub, nodeid=relfile2 + "::All::BasicTests::test_each[1+2-3]", name="test_each[1+2-3]", location=(relfile2, 62, "All.BasicTests.test_each[1+2-3]"), - fspath=PATH_JOIN(testroot, relfile2), + fspath=adapter_util.PATH_JOIN(testroot, relfile2), function=FakeFunc("test_each"), own_markers=[ FakeMarker(v) @@ -480,10 +595,10 @@ def test_modifyitems(self): ("./test_spam.py", "test_spam.py", "file"), (".", testroot, "folder"), ], - test=TestInfo( + test=info.SingleTestInfo( id="./test_spam.py::SpamTests::test_one", name="test_one", - path=TestPath( + path=info.SingleTestPath( root=testroot, relfile=relfile1, func="SpamTests.test_one", @@ -504,10 +619,10 @@ def test_modifyitems(self): ("./test_spam.py", "test_spam.py", "file"), (".", testroot, "folder"), ], - test=TestInfo( + test=info.SingleTestInfo( id="./test_spam.py::SpamTests::test_other", name="test_other", - path=TestPath( + path=info.SingleTestPath( root=testroot, relfile=relfile1, func="SpamTests.test_other", @@ -527,10 +642,10 @@ def test_modifyitems(self): ("./test_spam.py", "test_spam.py", "file"), (".", testroot, "folder"), ], - test=TestInfo( + test=info.SingleTestInfo( id="./test_spam.py::test_all", name="test_all", - path=TestPath( + path=info.SingleTestPath( root=testroot, relfile=relfile1, func="test_all", @@ -551,10 +666,10 @@ def test_modifyitems(self): ("./test_spam.py", "test_spam.py", "file"), (".", testroot, "folder"), ], - test=TestInfo( + test=info.SingleTestInfo( id="./test_spam.py::test_each[10-10]", name="test_each[10-10]", - path=TestPath( + path=info.SingleTestPath( root=testroot, relfile=relfile1, func="test_each", @@ -583,16 +698,18 @@ def test_modifyitems(self): ("./x", "x", "folder"), (".", testroot, "folder"), ], - test=TestInfo( + test=info.SingleTestInfo( id="./x/y/z/test_eggs.py::All::BasicTests::test_first", name="test_first", - path=TestPath( + path=info.SingleTestPath( root=testroot, - relfile=fix_relpath(relfile2), + relfile=adapter_util.fix_relpath(relfile2), func="All.BasicTests.test_first", sub=None, ), - source="{}:{}".format(fix_relpath(relfile2), 32), + source="{}:{}".format( + adapter_util.fix_relpath(relfile2), 32 + ), markers=None, parentid="./x/y/z/test_eggs.py::All::BasicTests", ), @@ -620,16 +737,18 @@ def test_modifyitems(self): ("./x", "x", "folder"), (".", testroot, "folder"), ], - test=TestInfo( + test=info.SingleTestInfo( id="./x/y/z/test_eggs.py::All::BasicTests::test_each[1+2-3]", name="test_each[1+2-3]", - path=TestPath( + path=info.SingleTestPath( root=testroot, - relfile=fix_relpath(relfile2), + relfile=adapter_util.fix_relpath(relfile2), func="All.BasicTests.test_each", sub=["[1+2-3]"], ), - source="{}:{}".format(fix_relpath(relfile2), 63), + source="{}:{}".format( + adapter_util.fix_relpath(relfile2), 63 + ), markers=["expected-failure", "skip", "skip-if"], parentid="./x/y/z/test_eggs.py::All::BasicTests::test_each", ), @@ -639,22 +758,22 @@ def test_modifyitems(self): ) def test_finish(self): - stub = Stub() + stub = util.Stub() discovered = StubDiscoveredTests(stub) session = StubPytestSession(stub) - testroot = fix_path("/a/b/c") - relfile = fix_path("x/y/z/test_eggs.py") + testroot = adapter_util.fix_path("/a/b/c") + relfile = adapter_util.fix_path("x/y/z/test_eggs.py") session.items = [ - StubFunctionItem( + create_stub_function_item( stub, nodeid=relfile + "::SpamTests::test_spam", name="test_spam", location=(relfile, 12, "SpamTests.test_spam"), - fspath=PATH_JOIN(testroot, relfile), + fspath=adapter_util.PATH_JOIN(testroot, relfile), function=FakeFunc("test_spam"), ), ] - collector = TestCollector(tests=discovered) + collector = _discovery.TestCollector(tests=discovered) collector.pytest_collection_finish(session) @@ -675,16 +794,18 @@ def test_finish(self): ("./x", "x", "folder"), (".", testroot, "folder"), ], - test=TestInfo( + test=info.SingleTestInfo( id="./x/y/z/test_eggs.py::SpamTests::test_spam", name="test_spam", - path=TestPath( + path=info.SingleTestPath( root=testroot, - relfile=fix_relpath(relfile), + relfile=adapter_util.fix_relpath(relfile), func="SpamTests.test_spam", sub=None, ), - source="{}:{}".format(fix_relpath(relfile), 13), + source="{}:{}".format( + adapter_util.fix_relpath(relfile), 13 + ), markers=None, parentid="./x/y/z/test_eggs.py::SpamTests", ), @@ -694,44 +815,44 @@ def test_finish(self): ) def test_doctest(self): - stub = Stub() + stub = util.Stub() discovered = StubDiscoveredTests(stub) session = StubPytestSession(stub) - testroot = fix_path("/a/b/c") - doctestfile = fix_path("x/test_doctest.txt") - relfile = fix_path("x/y/z/test_eggs.py") + testroot = adapter_util.fix_path("/a/b/c") + doctestfile = adapter_util.fix_path("x/test_doctest.txt") + relfile = adapter_util.fix_path("x/y/z/test_eggs.py") session.items = [ - StubDoctestItem( + create_stub_doctest_item( stub, nodeid=doctestfile + "::test_doctest.txt", name="test_doctest.txt", location=(doctestfile, 0, "[doctest] test_doctest.txt"), - fspath=PATH_JOIN(testroot, doctestfile), + fspath=adapter_util.PATH_JOIN(testroot, doctestfile), ), # With --doctest-modules - StubDoctestItem( + create_stub_doctest_item( stub, nodeid=relfile + "::test_eggs", name="test_eggs", location=(relfile, 0, "[doctest] test_eggs"), - fspath=PATH_JOIN(testroot, relfile), + fspath=adapter_util.PATH_JOIN(testroot, relfile), ), - StubDoctestItem( + create_stub_doctest_item( stub, nodeid=relfile + "::test_eggs.TestSpam", name="test_eggs.TestSpam", location=(relfile, 12, "[doctest] test_eggs.TestSpam"), - fspath=PATH_JOIN(testroot, relfile), + fspath=adapter_util.PATH_JOIN(testroot, relfile), ), - StubDoctestItem( + create_stub_doctest_item( stub, nodeid=relfile + "::test_eggs.TestSpam.TestEggs", name="test_eggs.TestSpam.TestEggs", location=(relfile, 27, "[doctest] test_eggs.TestSpam.TestEggs"), - fspath=PATH_JOIN(testroot, relfile), + fspath=adapter_util.PATH_JOIN(testroot, relfile), ), ] - collector = TestCollector(tests=discovered) + collector = _discovery.TestCollector(tests=discovered) collector.pytest_collection_finish(session) @@ -749,15 +870,17 @@ def test_doctest(self): ("./x", "x", "folder"), (".", testroot, "folder"), ], - test=TestInfo( + test=info.SingleTestInfo( id="./x/test_doctest.txt::test_doctest.txt", name="test_doctest.txt", - path=TestPath( + path=info.SingleTestPath( root=testroot, - relfile=fix_relpath(doctestfile), + relfile=adapter_util.fix_relpath(doctestfile), func=None, ), - source="{}:{}".format(fix_relpath(doctestfile), 1), + source="{}:{}".format( + adapter_util.fix_relpath(doctestfile), 1 + ), markers=[], parentid="./x/test_doctest.txt", ), @@ -774,13 +897,15 @@ def test_doctest(self): ("./x", "x", "folder"), (".", testroot, "folder"), ], - test=TestInfo( + test=info.SingleTestInfo( id="./x/y/z/test_eggs.py::test_eggs", name="test_eggs", - path=TestPath( - root=testroot, relfile=fix_relpath(relfile), func=None, + path=info.SingleTestPath( + root=testroot, + relfile=adapter_util.fix_relpath(relfile), + func=None, ), - source="{}:{}".format(fix_relpath(relfile), 1), + source="{}:{}".format(adapter_util.fix_relpath(relfile), 1), markers=[], parentid="./x/y/z/test_eggs.py", ), @@ -797,13 +922,17 @@ def test_doctest(self): ("./x", "x", "folder"), (".", testroot, "folder"), ], - test=TestInfo( + test=info.SingleTestInfo( id="./x/y/z/test_eggs.py::test_eggs.TestSpam", name="test_eggs.TestSpam", - path=TestPath( - root=testroot, relfile=fix_relpath(relfile), func=None, + path=info.SingleTestPath( + root=testroot, + relfile=adapter_util.fix_relpath(relfile), + func=None, + ), + source="{}:{}".format( + adapter_util.fix_relpath(relfile), 13 ), - source="{}:{}".format(fix_relpath(relfile), 13), markers=[], parentid="./x/y/z/test_eggs.py", ), @@ -820,13 +949,17 @@ def test_doctest(self): ("./x", "x", "folder"), (".", testroot, "folder"), ], - test=TestInfo( + test=info.SingleTestInfo( id="./x/y/z/test_eggs.py::test_eggs.TestSpam.TestEggs", name="test_eggs.TestSpam.TestEggs", - path=TestPath( - root=testroot, relfile=fix_relpath(relfile), func=None, + path=info.SingleTestPath( + root=testroot, + relfile=adapter_util.fix_relpath(relfile), + func=None, + ), + source="{}:{}".format( + adapter_util.fix_relpath(relfile), 28 ), - source="{}:{}".format(fix_relpath(relfile), 28), markers=[], parentid="./x/y/z/test_eggs.py", ), @@ -836,22 +969,22 @@ def test_doctest(self): ) def test_nested_brackets(self): - stub = Stub() + stub = util.Stub() discovered = StubDiscoveredTests(stub) session = StubPytestSession(stub) - testroot = fix_path("/a/b/c") - relfile = fix_path("x/y/z/test_eggs.py") + testroot = adapter_util.fix_path("/a/b/c") + relfile = adapter_util.fix_path("x/y/z/test_eggs.py") session.items = [ - StubFunctionItem( + create_stub_function_item( stub, nodeid=relfile + "::SpamTests::test_spam[a-[b]-c]", name="test_spam[a-[b]-c]", location=(relfile, 12, "SpamTests.test_spam[a-[b]-c]"), - fspath=PATH_JOIN(testroot, relfile), + fspath=adapter_util.PATH_JOIN(testroot, relfile), function=FakeFunc("test_spam"), ), ] - collector = TestCollector(tests=discovered) + collector = _discovery.TestCollector(tests=discovered) collector.pytest_collection_finish(session) @@ -877,16 +1010,18 @@ def test_nested_brackets(self): ("./x", "x", "folder"), (".", testroot, "folder"), ], - test=TestInfo( + test=info.SingleTestInfo( id="./x/y/z/test_eggs.py::SpamTests::test_spam[a-[b]-c]", name="test_spam[a-[b]-c]", - path=TestPath( + path=info.SingleTestPath( root=testroot, - relfile=fix_relpath(relfile), + relfile=adapter_util.fix_relpath(relfile), func="SpamTests.test_spam", sub=["[a-[b]-c]"], ), - source="{}:{}".format(fix_relpath(relfile), 13), + source="{}:{}".format( + adapter_util.fix_relpath(relfile), 13 + ), markers=None, parentid="./x/y/z/test_eggs.py::SpamTests::test_spam", ), @@ -896,22 +1031,22 @@ def test_nested_brackets(self): ) def test_nested_suite(self): - stub = Stub() + stub = util.Stub() discovered = StubDiscoveredTests(stub) session = StubPytestSession(stub) - testroot = fix_path("/a/b/c") - relfile = fix_path("x/y/z/test_eggs.py") + testroot = adapter_util.fix_path("/a/b/c") + relfile = adapter_util.fix_path("x/y/z/test_eggs.py") session.items = [ - StubFunctionItem( + create_stub_function_item( stub, nodeid=relfile + "::SpamTests::Ham::Eggs::test_spam", name="test_spam", location=(relfile, 12, "SpamTests.Ham.Eggs.test_spam"), - fspath=PATH_JOIN(testroot, relfile), + fspath=adapter_util.PATH_JOIN(testroot, relfile), function=FakeFunc("test_spam"), ), ] - collector = TestCollector(tests=discovered) + collector = _discovery.TestCollector(tests=discovered) collector.pytest_collection_finish(session) @@ -938,16 +1073,18 @@ def test_nested_suite(self): ("./x", "x", "folder"), (".", testroot, "folder"), ], - test=TestInfo( + test=info.SingleTestInfo( id="./x/y/z/test_eggs.py::SpamTests::Ham::Eggs::test_spam", name="test_spam", - path=TestPath( + path=info.SingleTestPath( root=testroot, - relfile=fix_relpath(relfile), + relfile=adapter_util.fix_relpath(relfile), func="SpamTests.Ham.Eggs.test_spam", sub=None, ), - source="{}:{}".format(fix_relpath(relfile), 13), + source="{}:{}".format( + adapter_util.fix_relpath(relfile), 13 + ), markers=None, parentid="./x/y/z/test_eggs.py::SpamTests::Ham::Eggs", ), @@ -957,7 +1094,7 @@ def test_nested_suite(self): ) def test_windows(self): - stub = Stub() + stub = util.Stub() discovered = StubDiscoveredTests(stub) session = StubPytestSession(stub) testroot = r"C:\A\B\C" @@ -965,7 +1102,7 @@ def test_windows(self): relfile = r"X\Y\Z\test_Eggs.py" session.items = [ # typical: - StubFunctionItem( + create_stub_function_item( stub, # pytest always uses "/" as the path separator in node IDs: nodeid="X/Y/Z/test_Eggs.py::SpamTests::test_spam", @@ -998,7 +1135,7 @@ def test_windows(self): elif fspath == "\\": fspath = (testroot + "/" + fileid).replace("/", "\\") session.items.append( - StubFunctionItem( + create_stub_function_item( stub, nodeid=fileid + "::test_spam", name="test_spam", @@ -1007,8 +1144,8 @@ def test_windows(self): function=FakeFunc("test_spam"), ) ) - collector = TestCollector(tests=discovered) - if OS_NAME != "nt": + collector = _discovery.TestCollector(tests=discovered) + if os.name != "nt": collector.parse_item = generate_parse_item("\\") collector.pytest_collection_finish(session) @@ -1030,10 +1167,10 @@ def test_windows(self): (r"./X", "X", "folder"), (".", testroot, "folder"), ], - test=TestInfo( + test=info.SingleTestInfo( id=r"./X/Y/Z/test_Eggs.py::SpamTests::test_spam", name="test_spam", - path=TestPath( + path=info.SingleTestPath( root=testroot, # not normalized relfile=r".\X\Y\Z\test_Eggs.py", # not normalized func="SpamTests.test_spam", @@ -1058,10 +1195,10 @@ def test_windows(self): (r"./X", "X", "folder"), (".", testroot, "folder"), ], - test=TestInfo( + test=info.SingleTestInfo( id=r"./X/test_a.py::test_spam", name="test_spam", - path=TestPath( + path=info.SingleTestPath( root=testroot, relfile=r".\X\test_a.py", func="test_spam", @@ -1083,10 +1220,10 @@ def test_windows(self): (r"./X", "X", "folder"), (".", altroot, "folder"), ], - test=TestInfo( + test=info.SingleTestInfo( id=r"./X/test_b.py::test_spam", name="test_spam", - path=TestPath( + path=info.SingleTestPath( root=altroot, relfile=r"./X/test_b.py", func="test_spam", @@ -1108,10 +1245,10 @@ def test_windows(self): (r"./X", "X", "folder"), (".", testroot, "folder"), ], - test=TestInfo( + test=info.SingleTestInfo( id=r"./X/test_c.py::test_spam", name="test_spam", - path=TestPath( + path=info.SingleTestPath( root=testroot, relfile=r".\X\test_c.py", func="test_spam", @@ -1133,10 +1270,10 @@ def test_windows(self): (r"./X", "X", "folder"), (".", altroot, "folder"), ], - test=TestInfo( + test=info.SingleTestInfo( id=r"./X/test_d.py::test_spam", name="test_spam", - path=TestPath( + path=info.SingleTestPath( root=altroot, relfile=r"./X/test_d.py", func="test_spam", @@ -1158,10 +1295,10 @@ def test_windows(self): (r"./X", "X", "folder"), (".", testroot, "folder"), ], - test=TestInfo( + test=info.SingleTestInfo( id=r"./X/test_e.py::test_spam", name="test_spam", - path=TestPath( + path=info.SingleTestPath( root=testroot, relfile=r".\X\test_e.py", func="test_spam", @@ -1183,10 +1320,10 @@ def test_windows(self): (r"./X", "X", "folder"), (".", altroot, "folder"), ], - test=TestInfo( + test=info.SingleTestInfo( id=r"./X/test_f.py::test_spam", name="test_spam", - path=TestPath( + path=info.SingleTestPath( root=altroot, relfile=r"./X/test_f.py", func="test_spam", @@ -1208,10 +1345,10 @@ def test_windows(self): (r"./X", "X", "folder"), (".", testroot, "folder"), ], - test=TestInfo( + test=info.SingleTestInfo( id=r"./X/test_g.py::test_spam", name="test_spam", - path=TestPath( + path=info.SingleTestPath( root=testroot, relfile=r".\X\test_g.py", func="test_spam", @@ -1233,10 +1370,10 @@ def test_windows(self): (r"./X", "X", "folder"), (".", altroot, "folder"), ], - test=TestInfo( + test=info.SingleTestInfo( id=r"./X/test_h.py::test_spam", name="test_spam", - path=TestPath( + path=info.SingleTestPath( root=altroot, relfile=r"./X/test_h.py", func="test_spam", @@ -1252,22 +1389,22 @@ def test_windows(self): ) def test_mysterious_parens(self): - stub = Stub() + stub = util.Stub() discovered = StubDiscoveredTests(stub) session = StubPytestSession(stub) - testroot = fix_path("/a/b/c") - relfile = fix_path("x/y/z/test_eggs.py") + testroot = adapter_util.fix_path("/a/b/c") + relfile = adapter_util.fix_path("x/y/z/test_eggs.py") session.items = [ - StubFunctionItem( + create_stub_function_item( stub, nodeid=relfile + "::SpamTests::()::()::test_spam", name="test_spam", location=(relfile, 12, "SpamTests.test_spam"), - fspath=PATH_JOIN(testroot, relfile), + fspath=adapter_util.PATH_JOIN(testroot, relfile), function=FakeFunc("test_spam"), ), ] - collector = TestCollector(tests=discovered) + collector = _discovery.TestCollector(tests=discovered) collector.pytest_collection_finish(session) @@ -1288,16 +1425,18 @@ def test_mysterious_parens(self): ("./x", "x", "folder"), (".", testroot, "folder"), ], - test=TestInfo( + test=info.SingleTestInfo( id="./x/y/z/test_eggs.py::SpamTests::test_spam", name="test_spam", - path=TestPath( + path=info.SingleTestPath( root=testroot, - relfile=fix_relpath(relfile), + relfile=adapter_util.fix_relpath(relfile), func="SpamTests.test_spam", sub=[], ), - source="{}:{}".format(fix_relpath(relfile), 13), + source="{}:{}".format( + adapter_util.fix_relpath(relfile), 13 + ), markers=None, parentid="./x/y/z/test_eggs.py::SpamTests", ), @@ -1309,31 +1448,31 @@ def test_mysterious_parens(self): def test_imported_test(self): # pytest will even discover tests that were imported from # another module! - stub = Stub() + stub = util.Stub() discovered = StubDiscoveredTests(stub) session = StubPytestSession(stub) - testroot = fix_path("/a/b/c") - relfile = fix_path("x/y/z/test_eggs.py") - srcfile = fix_path("x/y/z/_extern.py") + testroot = adapter_util.fix_path("/a/b/c") + relfile = adapter_util.fix_path("x/y/z/test_eggs.py") + srcfile = adapter_util.fix_path("x/y/z/_extern.py") session.items = [ - StubFunctionItem( + create_stub_function_item( stub, nodeid=relfile + "::SpamTests::test_spam", name="test_spam", location=(srcfile, 12, "SpamTests.test_spam"), - fspath=PATH_JOIN(testroot, relfile), + fspath=adapter_util.PATH_JOIN(testroot, relfile), function=FakeFunc("test_spam"), ), - StubFunctionItem( + create_stub_function_item( stub, nodeid=relfile + "::test_ham", name="test_ham", location=(srcfile, 3, "test_ham"), - fspath=PATH_JOIN(testroot, relfile), + fspath=adapter_util.PATH_JOIN(testroot, relfile), function=FakeFunc("test_spam"), ), ] - collector = TestCollector(tests=discovered) + collector = _discovery.TestCollector(tests=discovered) collector.pytest_collection_finish(session) @@ -1354,16 +1493,18 @@ def test_imported_test(self): ("./x", "x", "folder"), (".", testroot, "folder"), ], - test=TestInfo( + test=info.SingleTestInfo( id="./x/y/z/test_eggs.py::SpamTests::test_spam", name="test_spam", - path=TestPath( + path=info.SingleTestPath( root=testroot, - relfile=fix_relpath(relfile), + relfile=adapter_util.fix_relpath(relfile), func="SpamTests.test_spam", sub=None, ), - source="{}:{}".format(fix_relpath(srcfile), 13), + source="{}:{}".format( + adapter_util.fix_relpath(srcfile), 13 + ), markers=None, parentid="./x/y/z/test_eggs.py::SpamTests", ), @@ -1380,16 +1521,16 @@ def test_imported_test(self): ("./x", "x", "folder"), (".", testroot, "folder"), ], - test=TestInfo( + test=info.SingleTestInfo( id="./x/y/z/test_eggs.py::test_ham", name="test_ham", - path=TestPath( + path=info.SingleTestPath( root=testroot, - relfile=fix_relpath(relfile), + relfile=adapter_util.fix_relpath(relfile), func="test_ham", sub=None, ), - source="{}:{}".format(fix_relpath(srcfile), 4), + source="{}:{}".format(adapter_util.fix_relpath(srcfile), 4), markers=None, parentid="./x/y/z/test_eggs.py", ), diff --git a/pythonFiles/tests/testing_tools/adapter/test___main__.py b/pythonFiles/tests/testing_tools/adapter/test___main__.py index e14b08ee9d5b..53500a2f4afe 100644 --- a/pythonFiles/tests/testing_tools/adapter/test___main__.py +++ b/pythonFiles/tests/testing_tools/adapter/test___main__.py @@ -48,7 +48,12 @@ def test_unsupported_command(self): class ParseDiscoverTests(unittest.TestCase): def test_pytest_default(self): - tool, cmd, args, toolargs = parse_args(["discover", "pytest",]) + tool, cmd, args, toolargs = parse_args( + [ + "discover", + "pytest", + ] + ) self.assertEqual(tool, "pytest") self.assertEqual(cmd, "discover") @@ -88,7 +93,13 @@ def test_pytest_full(self): def test_pytest_opts(self): tool, cmd, args, toolargs = parse_args( - ["discover", "pytest", "--simple", "--no-hide-stdio", "--pretty",] + [ + "discover", + "pytest", + "--simple", + "--no-hide-stdio", + "--pretty", + ] ) self.assertEqual(tool, "pytest") @@ -120,8 +131,14 @@ def test_discover(self): "discover", {"spam": "eggs"}, [], - _tools={tool.name: {"discover": tool.discover,}}, - _reporters={"discover": reporter.report,}, + _tools={ + tool.name: { + "discover": tool.discover, + } + }, + _reporters={ + "discover": reporter.report, + }, ) self.assertEqual( diff --git a/pythonFiles/tests/testing_tools/adapter/test_discovery.py b/pythonFiles/tests/testing_tools/adapter/test_discovery.py index e1238282cad7..ec3d198b0108 100644 --- a/pythonFiles/tests/testing_tools/adapter/test_discovery.py +++ b/pythonFiles/tests/testing_tools/adapter/test_discovery.py @@ -6,7 +6,7 @@ import unittest from testing_tools.adapter.util import fix_path, fix_relpath -from testing_tools.adapter.info import TestInfo, TestPath, ParentInfo +from testing_tools.adapter.info import SingleTestInfo, SingleTestPath, ParentInfo from testing_tools.adapter.discovery import fix_nodeid, DiscoveredTests @@ -23,22 +23,25 @@ def test_list(self): testroot = fix_path("/a/b/c") relfile = fix_path("./test_spam.py") tests = [ - TestInfo( + SingleTestInfo( # missing "./": id="test_spam.py::test_each[10-10]", name="test_each[10-10]", - path=TestPath( - root=testroot, relfile=relfile, func="test_each", sub=["[10-10]"], + path=SingleTestPath( + root=testroot, + relfile=relfile, + func="test_each", + sub=["[10-10]"], ), source="{}:{}".format(relfile, 10), markers=None, # missing "./": parentid="test_spam.py::test_each", ), - TestInfo( + SingleTestInfo( id="test_spam.py::All::BasicTests::test_first", name="test_first", - path=TestPath( + path=SingleTestPath( root=testroot, relfile=relfile, func="All.BasicTests.test_first", @@ -82,15 +85,22 @@ def test_reset(self): testroot = fix_path("/a/b/c") discovered = DiscoveredTests() discovered.add_test( - TestInfo( + SingleTestInfo( id="./test_spam.py::test_each", name="test_each", - path=TestPath(root=testroot, relfile="test_spam.py", func="test_each",), + path=SingleTestPath( + root=testroot, + relfile="test_spam.py", + func="test_each", + ), source="test_spam.py:11", markers=[], parentid="./test_spam.py", ), - [("./test_spam.py", "test_spam.py", "file"), (".", testroot, "folder"),], + [ + ("./test_spam.py", "test_spam.py", "file"), + (".", testroot, "folder"), + ], ) before = len(discovered), len(discovered.parents) @@ -104,11 +114,11 @@ def test_parents(self): testroot = fix_path("/a/b/c") relfile = fix_path("x/y/z/test_spam.py") tests = [ - TestInfo( + SingleTestInfo( # missing "./", using pathsep: id=relfile + "::test_each[10-10]", name="test_each[10-10]", - path=TestPath( + path=SingleTestPath( root=testroot, relfile=fix_relpath(relfile), func="test_each", @@ -119,11 +129,11 @@ def test_parents(self): # missing "./", using pathsep: parentid=relfile + "::test_each", ), - TestInfo( + SingleTestInfo( # missing "./", using pathsep: id=relfile + "::All::BasicTests::test_first", name="test_first", - path=TestPath( + path=SingleTestPath( root=testroot, relfile=fix_relpath(relfile), func="All.BasicTests.test_first", @@ -163,7 +173,11 @@ def test_parents(self): self.assertEqual( parents, [ - ParentInfo(id=".", kind="folder", name=testroot,), + ParentInfo( + id=".", + kind="folder", + name=testroot, + ), ParentInfo( id="./x", kind="folder", @@ -223,11 +237,11 @@ def test_parents(self): def test_add_test_simple(self): testroot = fix_path("/a/b/c") relfile = "test_spam.py" - test = TestInfo( + test = SingleTestInfo( # missing "./": id=relfile + "::test_spam", name="test_spam", - path=TestPath( + path=SingleTestPath( root=testroot, # missing "./": relfile=relfile, @@ -246,7 +260,11 @@ def test_add_test_simple(self): before = list(discovered), discovered.parents discovered.add_test( - test, [(relfile, relfile, "file"), (".", testroot, "folder"),] + test, + [ + (relfile, relfile, "file"), + (".", testroot, "folder"), + ], ) after = list(discovered), discovered.parents @@ -257,7 +275,11 @@ def test_add_test_simple(self): ( [expected], [ - ParentInfo(id=".", kind="folder", name=testroot,), + ParentInfo( + id=".", + kind="folder", + name=testroot, + ), ParentInfo( id="./test_spam.py", kind="file", @@ -275,12 +297,14 @@ def test_multiroot(self): testroot1 = fix_path("/a/b/c") relfile1 = "test_spam.py" alltests = [ - TestInfo( + SingleTestInfo( # missing "./": id=relfile1 + "::test_spam", name="test_spam", - path=TestPath( - root=testroot1, relfile=fix_relpath(relfile1), func="test_spam", + path=SingleTestPath( + root=testroot1, + relfile=fix_relpath(relfile1), + func="test_spam", ), source="{}:{}".format(relfile1, 10), markers=[], @@ -290,17 +314,20 @@ def test_multiroot(self): ] allparents = [ # missing "./": - [(relfile1, "test_spam.py", "file"), (".", testroot1, "folder"),], + [ + (relfile1, "test_spam.py", "file"), + (".", testroot1, "folder"), + ], ] # the second root testroot2 = fix_path("/x/y/z") relfile2 = fix_path("w/test_eggs.py") alltests.extend( [ - TestInfo( + SingleTestInfo( id=relfile2 + "::BasicTests::test_first", name="test_first", - path=TestPath( + path=SingleTestPath( root=testroot2, relfile=fix_relpath(relfile2), func="BasicTests.test_first", @@ -334,21 +361,23 @@ def test_multiroot(self): tests, [ # the first root - TestInfo( + SingleTestInfo( id="./test_spam.py::test_spam", name="test_spam", - path=TestPath( - root=testroot1, relfile=fix_relpath(relfile1), func="test_spam", + path=SingleTestPath( + root=testroot1, + relfile=fix_relpath(relfile1), + func="test_spam", ), source="{}:{}".format(relfile1, 10), markers=[], parentid="./test_spam.py", ), # the secondroot - TestInfo( + SingleTestInfo( id="./w/test_eggs.py::BasicTests::test_first", name="test_first", - path=TestPath( + path=SingleTestPath( root=testroot2, relfile=fix_relpath(relfile2), func="BasicTests.test_first", @@ -363,7 +392,11 @@ def test_multiroot(self): parents, [ # the first root - ParentInfo(id=".", kind="folder", name=testroot1,), + ParentInfo( + id=".", + kind="folder", + name=testroot1, + ), ParentInfo( id="./test_spam.py", kind="file", @@ -373,7 +406,11 @@ def test_multiroot(self): parentid=".", ), # the secondroot - ParentInfo(id=".", kind="folder", name=testroot2,), + ParentInfo( + id=".", + kind="folder", + name=testroot2, + ), ParentInfo( id="./w", kind="folder", @@ -405,35 +442,51 @@ def test_doctest(self): doctestfile = fix_path("./x/test_doctest.txt") relfile = fix_path("./x/y/z/test_eggs.py") alltests = [ - TestInfo( + SingleTestInfo( id=doctestfile + "::test_doctest.txt", name="test_doctest.txt", - path=TestPath(root=testroot, relfile=doctestfile, func=None,), + path=SingleTestPath( + root=testroot, + relfile=doctestfile, + func=None, + ), source="{}:{}".format(doctestfile, 0), markers=[], parentid=doctestfile, ), # With --doctest-modules - TestInfo( + SingleTestInfo( id=relfile + "::test_eggs", name="test_eggs", - path=TestPath(root=testroot, relfile=relfile, func=None,), + path=SingleTestPath( + root=testroot, + relfile=relfile, + func=None, + ), source="{}:{}".format(relfile, 0), markers=[], parentid=relfile, ), - TestInfo( + SingleTestInfo( id=relfile + "::test_eggs.TestSpam", name="test_eggs.TestSpam", - path=TestPath(root=testroot, relfile=relfile, func=None,), + path=SingleTestPath( + root=testroot, + relfile=relfile, + func=None, + ), source="{}:{}".format(relfile, 12), markers=[], parentid=relfile, ), - TestInfo( + SingleTestInfo( id=relfile + "::test_eggs.TestSpam.TestEggs", name="test_eggs.TestSpam.TestEggs", - path=TestPath(root=testroot, relfile=relfile, func=None,), + path=SingleTestPath( + root=testroot, + relfile=relfile, + func=None, + ), source="{}:{}".format(relfile, 27), markers=[], parentid=relfile, @@ -484,7 +537,11 @@ def test_doctest(self): self.assertEqual( parents, [ - ParentInfo(id=".", kind="folder", name=testroot,), + ParentInfo( + id=".", + kind="folder", + name=testroot, + ), ParentInfo( id="./x", kind="folder", @@ -532,10 +589,10 @@ def test_nested_suite_simple(self): testroot = fix_path("/a/b/c") relfile = fix_path("./test_eggs.py") alltests = [ - TestInfo( + SingleTestInfo( id=relfile + "::TestOuter::TestInner::test_spam", name="test_spam", - path=TestPath( + path=SingleTestPath( root=testroot, relfile=relfile, func="TestOuter.TestInner.test_spam", @@ -544,10 +601,10 @@ def test_nested_suite_simple(self): markers=None, parentid=relfile + "::TestOuter::TestInner", ), - TestInfo( + SingleTestInfo( id=relfile + "::TestOuter::TestInner::test_eggs", name="test_eggs", - path=TestPath( + path=SingleTestPath( root=testroot, relfile=relfile, func="TestOuter.TestInner.test_eggs", @@ -587,7 +644,11 @@ def test_nested_suite_simple(self): self.assertEqual( parents, [ - ParentInfo(id=".", kind="folder", name=testroot,), + ParentInfo( + id=".", + kind="folder", + name=testroot, + ), ParentInfo( id="./test_eggs.py", kind="file", diff --git a/pythonFiles/tests/testing_tools/adapter/test_functional.py b/pythonFiles/tests/testing_tools/adapter/test_functional.py index ce5bd120e3fa..bd6c6b200314 100644 --- a/pythonFiles/tests/testing_tools/adapter/test_functional.py +++ b/pythonFiles/tests/testing_tools/adapter/test_functional.py @@ -19,7 +19,7 @@ try: from pathlib import Path except ImportError: - from pathlib2 import Path + from pathlib2 import Path # type: ignore (for Pylance) CWD = os.getcwd() @@ -88,7 +88,6 @@ def fix_source(tests, testid, srcfile, lineno): # operating environment. -@pytest.mark.functional class PytestTests(unittest.TestCase): def setUp(self): if PATH_SEP is not os.path.sep: diff --git a/pythonFiles/tests/testing_tools/adapter/test_report.py b/pythonFiles/tests/testing_tools/adapter/test_report.py index 0c94ebd51567..bb68c8a65e79 100644 --- a/pythonFiles/tests/testing_tools/adapter/test_report.py +++ b/pythonFiles/tests/testing_tools/adapter/test_report.py @@ -6,7 +6,7 @@ from ...util import StubProxy from testing_tools.adapter.util import fix_path, fix_relpath -from testing_tools.adapter.info import TestInfo, TestPath, ParentInfo +from testing_tools.adapter.info import SingleTestInfo, SingleTestPath, ParentInfo from testing_tools.adapter.report import report_discovered @@ -26,17 +26,25 @@ def test_basic(self): relfile = "test_spam.py" relpath = fix_relpath(relfile) tests = [ - TestInfo( + SingleTestInfo( id="test#1", name="test_spam", - path=TestPath(root=testroot, relfile=relfile, func="test_spam",), + path=SingleTestPath( + root=testroot, + relfile=relfile, + func="test_spam", + ), source="{}:{}".format(relfile, 10), markers=[], parentid="file#1", ), ] parents = [ - ParentInfo(id="", kind="folder", name=testroot,), + ParentInfo( + id="", + kind="folder", + name=testroot, + ), ParentInfo( id="file#1", kind="file", @@ -74,7 +82,12 @@ def test_basic(self): report_discovered(tests, parents, _send=stub.send) self.maxDiff = None - self.assertEqual(stub.calls, [("send", (expected,), None),]) + self.assertEqual( + stub.calls, + [ + ("send", (expected,), None), + ], + ) def test_multiroot(self): stub = StubSender() @@ -84,17 +97,25 @@ def test_multiroot(self): relpath1 = fix_path(relfileid1) relfile1 = relpath1[2:] tests = [ - TestInfo( + SingleTestInfo( id=relfileid1 + "::test_spam", name="test_spam", - path=TestPath(root=testroot1, relfile=relfile1, func="test_spam",), + path=SingleTestPath( + root=testroot1, + relfile=relfile1, + func="test_spam", + ), source="{}:{}".format(relfile1, 10), markers=[], parentid=relfileid1, ), ] parents = [ - ParentInfo(id=".", kind="folder", name=testroot1,), + ParentInfo( + id=".", + kind="folder", + name=testroot1, + ), ParentInfo( id=relfileid1, kind="file", @@ -135,11 +156,13 @@ def test_multiroot(self): relfile2 = relpath2[2:] tests.extend( [ - TestInfo( + SingleTestInfo( id=relfileid2 + "::BasicTests::test_first", name="test_first", - path=TestPath( - root=testroot2, relfile=relfile2, func="BasicTests.test_first", + path=SingleTestPath( + root=testroot2, + relfile=relfile2, + func="BasicTests.test_first", ), source="{}:{}".format(relfile2, 61), markers=[], @@ -149,7 +172,11 @@ def test_multiroot(self): ) parents.extend( [ - ParentInfo(id=".", kind="folder", name=testroot2,), + ParentInfo( + id=".", + kind="folder", + name=testroot2, + ), ParentInfo( id="./w", kind="folder", @@ -218,7 +245,12 @@ def test_multiroot(self): report_discovered(tests, parents, _send=stub.send) self.maxDiff = None - self.assertEqual(stub.calls, [("send", (expected,), None),]) + self.assertEqual( + stub.calls, + [ + ("send", (expected,), None), + ], + ) def test_complex(self): """ @@ -265,30 +297,34 @@ def test_complex(self): relfileid5 = "./x/y/a/test_spam.py" relfileid6 = "./x/y/b/test_spam.py" tests = [ - TestInfo( + SingleTestInfo( id=relfileid1 + "::MySuite::test_x1", name="test_x1", - path=TestPath( - root=testroot, relfile=fix_path(relfileid1), func="MySuite.test_x1", + path=SingleTestPath( + root=testroot, + relfile=fix_path(relfileid1), + func="MySuite.test_x1", ), source="{}:{}".format(fix_path(relfileid1), 10), markers=None, parentid=relfileid1 + "::MySuite", ), - TestInfo( + SingleTestInfo( id=relfileid1 + "::MySuite::test_x2", name="test_x2", - path=TestPath( - root=testroot, relfile=fix_path(relfileid1), func="MySuite.test_x2", + path=SingleTestPath( + root=testroot, + relfile=fix_path(relfileid1), + func="MySuite.test_x2", ), source="{}:{}".format(fix_path(relfileid1), 21), markers=None, parentid=relfileid1 + "::MySuite", ), - TestInfo( + SingleTestInfo( id=relfileid2 + "::SpamTests::test_okay", name="test_okay", - path=TestPath( + path=SingleTestPath( root=testroot, relfile=fix_path(relfileid2), func="SpamTests.test_okay", @@ -297,20 +333,22 @@ def test_complex(self): markers=None, parentid=relfileid2 + "::SpamTests", ), - TestInfo( + SingleTestInfo( id=relfileid3 + "::test_ham1", name="test_ham1", - path=TestPath( - root=testroot, relfile=fix_path(relfileid3), func="test_ham1", + path=SingleTestPath( + root=testroot, + relfile=fix_path(relfileid3), + func="test_ham1", ), source="{}:{}".format(fix_path(relfileid3), 8), markers=None, parentid=relfileid3, ), - TestInfo( + SingleTestInfo( id=relfileid3 + "::HamTests::test_uh_oh", name="test_uh_oh", - path=TestPath( + path=SingleTestPath( root=testroot, relfile=fix_path(relfileid3), func="HamTests.test_uh_oh", @@ -319,10 +357,10 @@ def test_complex(self): markers=["expected-failure"], parentid=relfileid3 + "::HamTests", ), - TestInfo( + SingleTestInfo( id=relfileid3 + "::HamTests::test_whoa", name="test_whoa", - path=TestPath( + path=SingleTestPath( root=testroot, relfile=fix_path(relfileid3), func="HamTests.test_whoa", @@ -331,10 +369,10 @@ def test_complex(self): markers=None, parentid=relfileid3 + "::HamTests", ), - TestInfo( + SingleTestInfo( id=relfileid3 + "::MoreHam::test_yay[1-2]", name="test_yay[1-2]", - path=TestPath( + path=SingleTestPath( root=testroot, relfile=fix_path(relfileid3), func="MoreHam.test_yay", @@ -344,10 +382,10 @@ def test_complex(self): markers=None, parentid=relfileid3 + "::MoreHam::test_yay", ), - TestInfo( + SingleTestInfo( id=relfileid3 + "::MoreHam::test_yay[1-2][3-4]", name="test_yay[1-2][3-4]", - path=TestPath( + path=SingleTestPath( root=testroot, relfile=fix_path(relfileid3), func="MoreHam.test_yay", @@ -357,10 +395,10 @@ def test_complex(self): markers=None, parentid=relfileid3 + "::MoreHam::test_yay[1-2]", ), - TestInfo( + SingleTestInfo( id=relfileid4 + "::SpamTests::test_okay", name="test_okay", - path=TestPath( + path=SingleTestPath( root=testroot, relfile=fix_path(relfileid4), func="SpamTests.test_okay", @@ -369,10 +407,10 @@ def test_complex(self): markers=None, parentid=relfileid4 + "::SpamTests", ), - TestInfo( + SingleTestInfo( id=relfileid5 + "::SpamTests::test_okay", name="test_okay", - path=TestPath( + path=SingleTestPath( root=testroot, relfile=fix_path(relfileid5), func="SpamTests.test_okay", @@ -381,10 +419,10 @@ def test_complex(self): markers=None, parentid=relfileid5 + "::SpamTests", ), - TestInfo( + SingleTestInfo( id=relfileid6 + "::SpamTests::test_okay", name="test_okay", - path=TestPath( + path=SingleTestPath( root=testroot, relfile=fix_path(relfileid6), func="SpamTests.test_okay", @@ -395,7 +433,11 @@ def test_complex(self): ), ] parents = [ - ParentInfo(id=".", kind="folder", name=testroot,), + ParentInfo( + id=".", + kind="folder", + name=testroot, + ), ParentInfo( id=relfileid1, kind="file", @@ -770,17 +812,22 @@ def test_complex(self): report_discovered(tests, parents, _send=stub.send) self.maxDiff = None - self.assertEqual(stub.calls, [("send", (expected,), None),]) + self.assertEqual( + stub.calls, + [ + ("send", (expected,), None), + ], + ) def test_simple_basic(self): stub = StubSender() testroot = fix_path("/a/b/c") relfile = fix_path("x/y/z/test_spam.py") tests = [ - TestInfo( + SingleTestInfo( id="test#1", name="test_spam_1", - path=TestPath( + path=SingleTestPath( root=testroot, relfile=relfile, func="MySuite.test_spam_1", @@ -808,7 +855,12 @@ def test_simple_basic(self): report_discovered(tests, parents, simple=True, _send=stub.send) self.maxDiff = None - self.assertEqual(stub.calls, [("send", (expected,), None),]) + self.assertEqual( + stub.calls, + [ + ("send", (expected,), None), + ], + ) def test_simple_complex(self): """ @@ -857,31 +909,37 @@ def test_simple_complex(self): relfile6 = fix_path("x/y/b/test_spam.py") tests = [ # under first root folder - TestInfo( + SingleTestInfo( id="test#1", name="test_x1", - path=TestPath( - root=testroot1, relfile=relfile1, func="MySuite.test_x1", sub=None, + path=SingleTestPath( + root=testroot1, + relfile=relfile1, + func="MySuite.test_x1", + sub=None, ), source="{}:{}".format(relfile1, 10), markers=None, parentid="suite#1", ), - TestInfo( + SingleTestInfo( id="test#2", name="test_x2", - path=TestPath( - root=testroot1, relfile=relfile1, func="MySuite.test_x2", sub=None, + path=SingleTestPath( + root=testroot1, + relfile=relfile1, + func="MySuite.test_x2", + sub=None, ), source="{}:{}".format(relfile1, 21), markers=None, parentid="suite#1", ), # under second root folder - TestInfo( + SingleTestInfo( id="test#3", name="test_okay", - path=TestPath( + path=SingleTestPath( root=testroot2, relfile=relfile2, func="SpamTests.test_okay", @@ -891,20 +949,23 @@ def test_simple_complex(self): markers=None, parentid="suite#2", ), - TestInfo( + SingleTestInfo( id="test#4", name="test_ham1", - path=TestPath( - root=testroot2, relfile=relfile3, func="test_ham1", sub=None, + path=SingleTestPath( + root=testroot2, + relfile=relfile3, + func="test_ham1", + sub=None, ), source="{}:{}".format(relfile3, 8), markers=None, parentid="file#3", ), - TestInfo( + SingleTestInfo( id="test#5", name="test_uh_oh", - path=TestPath( + path=SingleTestPath( root=testroot2, relfile=relfile3, func="HamTests.test_uh_oh", @@ -914,10 +975,10 @@ def test_simple_complex(self): markers=["expected-failure"], parentid="suite#3", ), - TestInfo( + SingleTestInfo( id="test#6", name="test_whoa", - path=TestPath( + path=SingleTestPath( root=testroot2, relfile=relfile3, func="HamTests.test_whoa", @@ -927,10 +988,10 @@ def test_simple_complex(self): markers=None, parentid="suite#3", ), - TestInfo( + SingleTestInfo( id="test#7", name="test_yay (sub1)", - path=TestPath( + path=SingleTestPath( root=testroot2, relfile=relfile3, func="MoreHam.test_yay", @@ -940,10 +1001,10 @@ def test_simple_complex(self): markers=None, parentid="suite#4", ), - TestInfo( + SingleTestInfo( id="test#8", name="test_yay (sub2) (sub3)", - path=TestPath( + path=SingleTestPath( root=testroot2, relfile=relfile3, func="MoreHam.test_yay", @@ -953,10 +1014,10 @@ def test_simple_complex(self): markers=None, parentid="suite#3", ), - TestInfo( + SingleTestInfo( id="test#9", name="test_okay", - path=TestPath( + path=SingleTestPath( root=testroot2, relfile=relfile4, func="SpamTests.test_okay", @@ -966,10 +1027,10 @@ def test_simple_complex(self): markers=None, parentid="suite#5", ), - TestInfo( + SingleTestInfo( id="test#10", name="test_okay", - path=TestPath( + path=SingleTestPath( root=testroot2, relfile=relfile5, func="SpamTests.test_okay", @@ -979,10 +1040,10 @@ def test_simple_complex(self): markers=None, parentid="suite#6", ), - TestInfo( + SingleTestInfo( id="test#11", name="test_okay", - path=TestPath( + path=SingleTestPath( root=testroot2, relfile=relfile6, func="SpamTests.test_okay", @@ -1110,4 +1171,9 @@ def test_simple_complex(self): report_discovered(tests, parents, simple=True, _send=stub.send) self.maxDiff = None - self.assertEqual(stub.calls, [("send", (expected,), None),]) + self.assertEqual( + stub.calls, + [ + ("send", (expected,), None), + ], + ) diff --git a/pythonFiles/tests/testing_tools/adapter/test_util.py b/pythonFiles/tests/testing_tools/adapter/test_util.py index e9c0e5f2ab19..822ba2ed1b22 100644 --- a/pythonFiles/tests/testing_tools/adapter/test_util.py +++ b/pythonFiles/tests/testing_tools/adapter/test_util.py @@ -17,7 +17,7 @@ try: from pathlib import Path except ImportError: - from pathlib2 import Path + from pathlib2 import Path # type: ignore (for Pylance) from testing_tools.adapter.util import ( fix_path, @@ -29,7 +29,6 @@ @unittest.skipIf(sys.version_info < (3,), "Python 2 does not have subTest") class FilePathTests(unittest.TestCase): - @pytest.mark.functional def test_isolated_imports(self): import testing_tools.adapter from testing_tools.adapter import util @@ -109,7 +108,12 @@ def test_fix_path(self): # no-op paths paths = [path for _, path in tests] paths.extend( - [".", "..", "some-dir", "spam.py",] + [ + ".", + "..", + "some-dir", + "spam.py", + ] ) for path in paths: for pathsep in [ntpath.sep, posixpath.sep]: @@ -124,7 +128,7 @@ def test_fix_relpath(self): ("eggs/spam/", posixpath, "./eggs/spam/"), (r"\spam.py", posixpath, r"./\spam.py"), ("spam.py", ntpath, r".\spam.py"), - (r"eggs\spam.py", ntpath, ".\eggs\spam.py"), + (r"eggs\spam.py", ntpath, r".\eggs\spam.py"), ("eggs\\spam\\", ntpath, ".\\eggs\\spam\\"), ("/spam.py", ntpath, r"\spam.py"), # Note the fixed "/". # absolute @@ -140,7 +144,10 @@ def test_fix_relpath(self): # no-op for path in [".", ".."]: tests.extend( - [(path, posixpath, path), (path, ntpath, path),] + [ + (path, posixpath, path), + (path, ntpath, path), + ] ) for path, _os_path, expected in tests: with self.subTest((path, _os_path.sep)): @@ -169,7 +176,10 @@ def test_fix_fileid(self): ] tests = [(p, posixpath, e) for p, e in common] tests.extend( - (p, posixpath, e) for p, e in [(r"\spam.py", r"./\spam.py"),] + (p, posixpath, e) + for p, e in [ + (r"\spam.py", r"./\spam.py"), + ] ) tests.extend((p, ntpath, e) for p, e in common) tests.extend( @@ -203,7 +213,7 @@ def test_fix_fileid(self): # with rootdir common = [ ("spam.py", "/eggs", "./spam.py"), - ("spam.py", "\eggs", "./spam.py"), + ("spam.py", r"\eggs", "./spam.py"), # absolute ("/spam.py", "/", "./spam.py"), ("/eggs/spam.py", "/eggs", "./spam.py"), diff --git a/pythonFiles/vscode_datascience_helpers/daemon/README.md b/pythonFiles/vscode_datascience_helpers/daemon/README.md index 8fdbc5eabdde..471f50ec63dd 100644 --- a/pythonFiles/vscode_datascience_helpers/daemon/README.md +++ b/pythonFiles/vscode_datascience_helpers/daemon/README.md @@ -2,7 +2,7 @@ ```javascript const cp = require('child_process'); -const rpc = require('vscode-jsonrpc'); +const rpc = require('vscode-jsonrpc/node'); const env = { PYTHONUNBUFFERED: '1', PYTHONPATH: '/pythonFiles:/pythonFiles/lib/python' diff --git a/pythonFiles/vscode_datascience_helpers/daemon/__main__.py b/pythonFiles/vscode_datascience_helpers/daemon/__main__.py index 2d03e03e613a..666f245b2a23 100644 --- a/pythonFiles/vscode_datascience_helpers/daemon/__main__.py +++ b/pythonFiles/vscode_datascience_helpers/daemon/__main__.py @@ -4,6 +4,7 @@ import argparse import importlib import json +import os import logging import logging.config import sys @@ -11,7 +12,9 @@ log = logging.getLogger(__name__) -LOG_FORMAT = "%(asctime)s UTC - %(levelname)s - %(name)s - %(message)s" +LOG_FORMAT = ( + "%(asctime)s UTC - %(levelname)s - (PID: %(process)d) - %(name)s - %(message)s" +) queue_handler = None @@ -44,7 +47,7 @@ def add_arguments(parser): class TemporaryQueueHandler(logging.Handler): - """ Logger used to temporarily store everything into a queue. + """Logger used to temporarily store everything into a queue. Later the messages are pushed back to the RPC client as a notification. Once the RPC channel is up, we'll stop queuing messages and sending id directly. """ @@ -62,7 +65,11 @@ def set_server(self, server): self.queue = [] def emit(self, record): - data = {"level": record.levelname, "msg": self.format(record)} + data = { + "level": record.levelname, + "msg": self.format(record), + "pid": os.getpid(), + } # If we don't have the server, then queue it and send it later. if self.server is None: self.queue.append(data) @@ -104,7 +111,7 @@ def _configure_logger(verbose=0, log_config=None, log_file=None): def main(): - """ Starts the daemon. + """Starts the daemon. The daemon_module allows authors of modules to provide a custom daemon implementation. E.g. we have a base implementation for standard python functionality, and a custom daemon implementation for DS work (related to jupyter). diff --git a/pythonFiles/vscode_datascience_helpers/daemon/daemon_python.py b/pythonFiles/vscode_datascience_helpers/daemon/daemon_python.py index 694934fefdb8..be36682303d6 100644 --- a/pythonFiles/vscode_datascience_helpers/daemon/daemon_python.py +++ b/pythonFiles/vscode_datascience_helpers/daemon/daemon_python.py @@ -62,7 +62,7 @@ def _decorator(self, *args, **kwargs): class PythonDaemon(MethodDispatcher): - """ Base Python Daemon with simple methods to check if a module exists, get version info and the like. + """Base Python Daemon with simple methods to check if a module exists, get version info and the like. To add additional methods, please create a separate class based off this and pass in the arg `--daemon-module` to `vscode_datascience_helpers.daemon`. """ @@ -134,15 +134,6 @@ def exec_file(): with change_exec_context(args, cwd, env): return self._execute_and_capture_output(exec_file) - @error_decorator - def m_exec_code(self, code): - self.log.info("Exec code %s", code) - - def exec_code(): - eval(code, globals()) - - return self._execute_and_capture_output(exec_code) - @error_decorator def m_exec_file_observable(self, file_name, args=[], cwd=None, env=None): args = [] if args is None else args @@ -198,7 +189,7 @@ def m_get_executable(self): def m_get_interpreter_information(self): return { - "versionInfo": sys.version_info[:4], + "versionInfo": tuple(sys.version_info), "sysPrefix": sys.prefix, "version": sys.version, "is64Bit": sys.maxsize > 2 ** 32, diff --git a/pythonFiles/vscode_datascience_helpers/dataframes/vscodeDataFrameHelpers.py b/pythonFiles/vscode_datascience_helpers/dataframes/vscodeDataFrameHelpers.py new file mode 100644 index 000000000000..d72dbacfc62b --- /dev/null +++ b/pythonFiles/vscode_datascience_helpers/dataframes/vscodeDataFrameHelpers.py @@ -0,0 +1,39 @@ +import pandas as _VSCODE_pd +import builtins as _VSCODE_builtins + +# Function that converts the var passed in into a pandas data frame if possible +def _VSCODE_convertToDataFrame(df): + if isinstance(df, list): + df = _VSCODE_pd.DataFrame(df) + elif isinstance(df, _VSCODE_pd.Series): + df = _VSCODE_pd.Series.to_frame(df) + elif isinstance(df, dict): + df = _VSCODE_pd.Series(df) + df = _VSCODE_pd.Series.to_frame(df) + elif hasattr(df, "toPandas"): + df = df.toPandas() + else: + """Disabling bandit warning for try, except, pass. We want to swallow all exceptions here to not crash on + variable fetching""" + try: + temp = _VSCODE_pd.DataFrame(df) + df = temp + except: # nosec + pass + return df + + +# Function to compute row count for a value +def _VSCODE_getRowCount(var): + if hasattr(var, "shape"): + try: + # Get a bit more restrictive with exactly what we want to count as a shape, since anything can define it + if isinstance(var.shape, tuple): + return var.shape[0] + except TypeError: + return 0 + elif hasattr(var, "__len__"): + try: + return _VSCODE_builtins.len(var) + except TypeError: + return 0 diff --git a/pythonFiles/vscode_datascience_helpers/dataframes/vscodeGetDataFrameInfo.py b/pythonFiles/vscode_datascience_helpers/dataframes/vscodeGetDataFrameInfo.py new file mode 100644 index 000000000000..753a447dc951 --- /dev/null +++ b/pythonFiles/vscode_datascience_helpers/dataframes/vscodeGetDataFrameInfo.py @@ -0,0 +1,53 @@ +# Query Jupyter server for the info about a dataframe +import json as _VSCODE_json +import pandas as _VSCODE_pd +import pandas.io.json as _VSCODE_pd_json +import builtins as _VSCODE_builtins +import vscodeDataFrameHelpers as _VSCODE_dataFrameHelpers + +# Function to do our work. It will return the object +def _VSCODE_getDataFrameInfo(df): + df = _VSCODE_dataFrameHelpers._VSCODE_convertToDataFrame(df) + rowCount = _VSCODE_dataFrameHelpers._VSCODE_getRowCount(df) + + # If any rows, use pandas json to convert a single row to json. Extract + # the column names and types from the json so we match what we'll fetch when + # we ask for all of the rows + if rowCount: + try: + row = df.iloc[0:1] + json_row = _VSCODE_pd_json.to_json(None, row, date_format="iso") + columnNames = list(_VSCODE_json.loads(json_row)) + except: + columnNames = list(df) + else: + columnNames = list(df) + + # Compute the index column. It may have been renamed + indexColumn = df.index.name if df.index.name else "index" + columnTypes = _VSCODE_builtins.list(df.dtypes) + + # Make sure the index column exists + if indexColumn not in columnNames: + columnNames.insert(0, indexColumn) + columnTypes.insert(0, "int64") + + # Then loop and generate our output json + columns = [] + for n in _VSCODE_builtins.range(0, _VSCODE_builtins.len(columnNames)): + column_type = columnTypes[n] + column_name = str(columnNames[n]) + colobj = {} + colobj["key"] = column_name + colobj["name"] = column_name + colobj["type"] = str(column_type) + columns.append(colobj) + + # Save this in our target + target = {} + target["columns"] = columns + target["indexColumn"] = indexColumn + target["rowCount"] = rowCount + + # return our json object as a string + return _VSCODE_json.dumps(target) diff --git a/pythonFiles/vscode_datascience_helpers/dataframes/vscodeGetDataFrameRows.py b/pythonFiles/vscode_datascience_helpers/dataframes/vscodeGetDataFrameRows.py new file mode 100644 index 000000000000..bf176de337e1 --- /dev/null +++ b/pythonFiles/vscode_datascience_helpers/dataframes/vscodeGetDataFrameRows.py @@ -0,0 +1,11 @@ +# Query for the rows of a data frame +import pandas.io.json as _VSCODE_pd_json +import vscodeDataFrameHelpers as _VSCODE_dataFrameHelpers + +# Function to retrieve a set of rows for a data frame +def _VSCODE_getDataFrameRows(df, start, end): + df = _VSCODE_dataFrameHelpers._VSCODE_convertToDataFrame(df) + + # Turn into JSON using pandas. We use pandas because it's about 3 orders of magnitude faster to turn into JSON + rows = df.iloc[start:end] + return _VSCODE_pd_json.to_json(None, rows, orient="table", date_format="iso") diff --git a/pythonFiles/vscode_datascience_helpers/dataframes/vscodeGetVariableInfo.py b/pythonFiles/vscode_datascience_helpers/dataframes/vscodeGetVariableInfo.py new file mode 100644 index 000000000000..4a48d45c7409 --- /dev/null +++ b/pythonFiles/vscode_datascience_helpers/dataframes/vscodeGetVariableInfo.py @@ -0,0 +1,39 @@ +# Query Jupyter server for the info about a dataframe +import json as _VSCODE_json +import pandas as _VSCODE_pd +import pandas.io.json as _VSCODE_pd_json +import builtins as _VSCODE_builtins +import vscodeDataFrameHelpers as _VSCODE_dataFrameHelpers + +# Function to do our work. It will return the object +def _VSCODE_getVariableInfo(var): + # Start out without the information + result = {} + result["shape"] = "" + result["count"] = 0 + + # Find shape and count if available + if hasattr(var, "shape"): + try: + # Get a bit more restrictive with exactly what we want to count as a shape, since anything can define it + if isinstance(var.shape, tuple): + _VSCODE_shapeStr = str(var.shape) + if ( + len(_VSCODE_shapeStr) >= 3 + and _VSCODE_shapeStr[0] == "(" + and _VSCODE_shapeStr[-1] == ")" + and "," in _VSCODE_shapeStr + ): + result["shape"] = _VSCODE_shapeStr + del _VSCODE_shapeStr + except TypeError: + pass + + if hasattr(var, "__len__"): + try: + result["count"] = len(var) + except TypeError: + pass + + # return our json object as a string + return _VSCODE_json.dumps(result) diff --git a/pythonFiles/vscode_datascience_helpers/getJupyterVariableShape.py b/pythonFiles/vscode_datascience_helpers/getJupyterVariableShape.py new file mode 100644 index 000000000000..332d34c1c952 --- /dev/null +++ b/pythonFiles/vscode_datascience_helpers/getJupyterVariableShape.py @@ -0,0 +1,36 @@ +# Query Jupyter server for defined variables list +# Tested on 2.7 and 3.6 +import json as _VSCODE_json + +# In IJupyterVariables.getValue this '_VSCode_JupyterTestValue' will be replaced with the json stringified value of the target variable +# Indexes off of _VSCODE_targetVariable need to index types that are part of IJupyterVariable +_VSCODE_targetVariable = _VSCODE_json.loads("""_VSCode_JupyterTestValue""") + +# Secure here as what we are doing an eval on is under our control +_VSCODE_evalResult = eval(_VSCODE_targetVariable["name"]) # nosec + +# Find shape and count if available +if hasattr(_VSCODE_evalResult, "shape"): + try: + # Get a bit more restrictive with exactly what we want to count as a shape, since anything can define it + if isinstance(_VSCODE_evalResult.shape, tuple): + _VSCODE_shapeStr = str(_VSCODE_evalResult.shape) + if ( + len(_VSCODE_shapeStr) >= 3 + and _VSCODE_shapeStr[0] == "(" + and _VSCODE_shapeStr[-1] == ")" + and "," in _VSCODE_shapeStr + ): + _VSCODE_targetVariable["shape"] = _VSCODE_shapeStr + del _VSCODE_shapeStr + except TypeError: + pass + +if hasattr(_VSCODE_evalResult, "__len__"): + try: + _VSCODE_targetVariable["count"] = len(_VSCODE_evalResult) + except TypeError: + pass + +print(_VSCODE_json.dumps(_VSCODE_targetVariable)) +del _VSCODE_json diff --git a/pythonFiles/vscode_datascience_helpers/getServerInfo.py b/pythonFiles/vscode_datascience_helpers/getServerInfo.py index 8b92600f7847..cc4e69899679 100644 --- a/pythonFiles/vscode_datascience_helpers/getServerInfo.py +++ b/pythonFiles/vscode_datascience_helpers/getServerInfo.py @@ -24,10 +24,12 @@ print(json.dumps(server_info_list)) except Exception: - import subprocess + """Usage of subprocess is safe here as we are using run and are in control of all the arguments passed to it + flagging for execution of partial path is also not correct as it is a command, not a path""" + import subprocess # nosec import sys - result = subprocess.run( + result = subprocess.run( # nosec ["jupyter", "notebook", "list", "--jsonlist"], capture_output=True ) encoding = os.getenv("PYTHONIOENCODING", "utf-8") diff --git a/pythonFiles/vscode_datascience_helpers/jupyter_daemon.py b/pythonFiles/vscode_datascience_helpers/jupyter_daemon.py index f83224a48d70..a8cef85271c1 100644 --- a/pythonFiles/vscode_datascience_helpers/jupyter_daemon.py +++ b/pythonFiles/vscode_datascience_helpers/jupyter_daemon.py @@ -4,7 +4,9 @@ import json import logging import os -import subprocess + +# See comment at our point of usage of subprocess on why this usage is ok +import subprocess # nosec import sys from vscode_datascience_helpers.daemon.daemon_python import ( error_decorator, @@ -53,7 +55,8 @@ def m_exec_module(self, module_name, args=[], cwd=None, env=None): from notebook import notebookapp as app return {"stdout": ".".join(list(str(v) for v in app.version_info))} - except Exception: + """ We specifically don't want to bubble up an error from --version so pass exception here """ + except Exception: # nosec pass # kernelspec, nbconvert are subcommands of jupyter. # python -m jupyter kernelspec, python -m jupyter nbconvert, @@ -71,9 +74,9 @@ def m_exec_module(self, module_name, args=[], cwd=None, env=None): return super().m_exec_module(module_name, args, cwd, env) def _exec_with_subprocess(self, module_name, args=[], cwd=None, env=None): - # # result = subprocess.run([sys.executable, "-m"] + args, stdout=sys.stdout, stderr=sys.stderr) - # return self._execute_and_capture_output(lambda: subprocess.run([sys.executable, "-m", module_name] + args, stdout=sys.stdout, stderr=sys.stderr)) - result = subprocess.run( + # The usage here traced up to our execModule function on the daemon and only goes down this path for jupyter subcommands + # in m_exec_module in this class if module_name == jupyter and we are in control of the args we know that we are safe here + result = subprocess.run( # nosec [sys.executable, "-m", module_name] + args, capture_output=True ) encoding = os.getenv("PYTHONIOENCODING", "utf-8") diff --git a/pythonFiles/vscode_datascience_helpers/kernel_launcher.py b/pythonFiles/vscode_datascience_helpers/kernel_launcher.py new file mode 100644 index 000000000000..342f28d46b56 --- /dev/null +++ b/pythonFiles/vscode_datascience_helpers/kernel_launcher.py @@ -0,0 +1,189 @@ +"""Utilities for launching kernels""" +# No changes to original code +# Original source borrowed from https://github.com/jupyter/jupyter_client/blob/master/jupyter_client/launcher.py. + +# Copyright (c) Jupyter Development Team. +# Distributed under the terms of the Modified BSD License. + +import os +import sys + +# See comment at the point of our use of Popen +from subprocess import Popen, PIPE # nosec + +from ipython_genutils.encoding import getdefaultencoding +from ipython_genutils.py3compat import cast_bytes_py2 + + +def launch_kernel( + cmd, + stdin=None, + stdout=None, + stderr=None, + env=None, + independent=False, + cwd=None, + **kw +): + """Launches a localhost kernel, binding to the specified ports. + + Parameters + ---------- + cmd : Popen list, + A string of Python code that imports and executes a kernel entry point. + + stdin, stdout, stderr : optional (default None) + Standards streams, as defined in subprocess.Popen. + + env: dict, optional + Environment variables passed to the kernel + + independent : bool, optional (default False) + If set, the kernel process is guaranteed to survive if this process + dies. If not set, an effort is made to ensure that the kernel is killed + when this process dies. Note that in this case it is still good practice + to kill kernels manually before exiting. + + cwd : path, optional + The working dir of the kernel process (default: cwd of this process). + + **kw: optional + Additional arguments for Popen + + Returns + ------- + + Popen instance for the kernel subprocess + """ + + # Popen will fail (sometimes with a deadlock) if stdin, stdout, and stderr + # are invalid. Unfortunately, there is in general no way to detect whether + # they are valid. The following two blocks redirect them to (temporary) + # pipes in certain important cases. + + # If this process has been backgrounded, our stdin is invalid. Since there + # is no compelling reason for the kernel to inherit our stdin anyway, we'll + # place this one safe and always redirect. + redirect_in = True + _stdin = PIPE if stdin is None else stdin + + # If this process in running on pythonw, we know that stdin, stdout, and + # stderr are all invalid. + redirect_out = sys.executable.endswith("pythonw.exe") + if redirect_out: + blackhole = open(os.devnull, "w") + _stdout = blackhole if stdout is None else stdout + _stderr = blackhole if stderr is None else stderr + else: + _stdout, _stderr = stdout, stderr + + env = env if (env is not None) else os.environ.copy() + + encoding = getdefaultencoding(prefer_stream=False) + kwargs = kw.copy() + main_args = dict( + stdin=_stdin, + stdout=_stdout, + stderr=_stderr, + cwd=cwd, + env=env, + ) + kwargs.update(main_args) + + # Spawn a kernel. + if sys.platform == "win32": + # Popen on Python 2 on Windows cannot handle unicode args or cwd + cmd = [cast_bytes_py2(c, encoding) for c in cmd] + if cwd: + cwd = cast_bytes_py2(cwd, sys.getfilesystemencoding() or "ascii") + kwargs["cwd"] = cwd + + from .win_interrupt import create_interrupt_event + + # Create a Win32 event for interrupting the kernel + # and store it in an environment variable. + interrupt_event = create_interrupt_event() + env["JPY_INTERRUPT_EVENT"] = str(interrupt_event) + # deprecated old env name: + env["IPY_INTERRUPT_EVENT"] = env["JPY_INTERRUPT_EVENT"] + + try: + from _winapi import ( + DuplicateHandle, + GetCurrentProcess, + DUPLICATE_SAME_ACCESS, + CREATE_NEW_PROCESS_GROUP, + ) + except: + from _subprocess import ( + DuplicateHandle, + GetCurrentProcess, + DUPLICATE_SAME_ACCESS, + CREATE_NEW_PROCESS_GROUP, + ) + + # create a handle on the parent to be inherited + if independent: + kwargs["creationflags"] = CREATE_NEW_PROCESS_GROUP + else: + pid = GetCurrentProcess() + handle = DuplicateHandle( + pid, + pid, + pid, + 0, + True, # Inheritable by new processes. + DUPLICATE_SAME_ACCESS, + ) + env["JPY_PARENT_PID"] = str(int(handle)) + + # Prevent creating new console window on pythonw + if redirect_out: + kwargs["creationflags"] = ( + kwargs.setdefault("creationflags", 0) | 0x08000000 + ) # CREATE_NO_WINDOW + + # Avoid closing the above parent and interrupt handles. + # close_fds is True by default on Python >=3.7 + # or when no stream is captured on Python <3.7 + # (we always capture stdin, so this is already False by default on <3.7) + kwargs["close_fds"] = False + else: + # Create a new session. + # This makes it easier to interrupt the kernel, + # because we want to interrupt the whole process group. + # We don't use setpgrp, which is known to cause problems for kernels starting + # certain interactive subprocesses, such as bash -i. + kwargs["start_new_session"] = True + if not independent: + env["JPY_PARENT_PID"] = str(os.getpid()) + + try: + # Popen with shell=False (which is the default) is our safest way to launch a process here + # this cmd does come from the jupyter kernelspec argv, but this is consistent with how jupyter works + proc = Popen(cmd, **kwargs) # nosec + except Exception as exc: + msg = ( + "Failed to run command:\n{}\n" " PATH={!r}\n" " with kwargs:\n{!r}\n" + ) + # exclude environment variables, + # which may contain access tokens and the like. + without_env = {key: value for key, value in kwargs.items() if key != "env"} + msg = msg.format(cmd, env.get("PATH", os.defpath), without_env) + raise + + if sys.platform == "win32": + # Attach the interrupt event to the Popen objet so it can be used later. + proc.win32_interrupt_event = interrupt_event + + # Clean up pipes created to work around Popen bug. + if redirect_in: + if stdin is None: + proc.stdin.close() + + return proc + + +__all__ = [ + "launch_kernel", +] diff --git a/pythonFiles/vscode_datascience_helpers/kernel_launcher_daemon.py b/pythonFiles/vscode_datascience_helpers/kernel_launcher_daemon.py new file mode 100644 index 000000000000..7247cf6ba3a7 --- /dev/null +++ b/pythonFiles/vscode_datascience_helpers/kernel_launcher_daemon.py @@ -0,0 +1,241 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import json +import logging +import os +import os.path +import signal +import sys + +# Only subprocess.PIPE is used in this file so we can ignore the subprocess warning for this file +# The actual POpen is in kernel_launcher.py +import subprocess # nosec +import threading +import time +from vscode_datascience_helpers.daemon.daemon_python import ( + error_decorator, + PythonDaemon as BasePythonDaemon, + change_exec_context, +) +from vscode_datascience_helpers.jupyter_daemon import PythonDaemon as JupyterDaemon +from vscode_datascience_helpers.kernel_launcher import launch_kernel + + +class PythonDaemon(JupyterDaemon): + def __init__(self, rx, tx): + super().__init__(rx, tx) + self.killing_kernel = False + self.log.info("DataScience Kernel Launcher Daemon init") + + def close(self): + """Ensure we kill the kernel when shutting down the daemon.""" + try: + self.m_kill_kernel() + """ We don't care about exceptions coming back from killing the kernel, so pass here """ + except: # nosec + pass + super().close() + + @error_decorator + def m_interrupt_kernel(self): + """Interrupts the kernel by sending it a signal. + Unlike ``signal_kernel``, this operation is well supported on all + platforms. + Borrowed from https://github.com/jupyter/jupyter_client/blob/master/jupyter_client/manager.py + """ + self.log.info("Interrupt kernel in DS Kernel Launcher Daemon") + if self.kernel is not None: + if sys.platform == "win32": + self.log.debug("Interrupt kernel on Windows") + from vscode_datascience_helpers.win_interrupt import send_interrupt + + send_interrupt(self.kernel.win32_interrupt_event) + else: + self.log.debug("Interrupt kernel with SIGINT") + self.signal_kernel(signal.SIGINT) + + @error_decorator + def m_kill_kernel(self): + """Interrupts the kernel by sending it a signal. + Unlike ``signal_kernel``, this operation is well supported on all + platforms. + Borrowed from https://github.com/jupyter/jupyter_client/blob/master/jupyter_client/manager.py + """ + self.log.info("Kill kernel in DS Kernel Launcher Daemon") + self.killing_kernel = True + if self.kernel is not None: + # Signal the kernel to terminate (sends SIGKILL on Unix and calls + # TerminateProcess() on Win32). + try: + if hasattr(signal, "SIGKILL"): + self.signal_kernel(signal.SIGKILL) + else: + self.kernel.kill() + except OSError: + pass + + @error_decorator + def m_prewarm_kernel(self): + """Starts the kernel process with the module""" + self.log.info("Pre-Warm DS Kernel in DS Kernel Launcher Daemon") + isolated_runner = os.path.join( + os.path.dirname(__file__), "..", "pyvsc-run-isolated.py" + ) + kernel_prewarm_starter = os.path.join( + os.path.dirname(__file__), "kernel_prewarm_starter.py" + ) + + def prewarm_kernel(): + cmd = [sys.executable, isolated_runner, kernel_prewarm_starter] + self._start_kernel_observable_in_background(cmd) + self.log.info("Kernel launched, with PID as a daemon %s", self.kernel.pid) + + return self._execute_and_capture_output(prewarm_kernel) + + @error_decorator + def m_start_prewarmed_kernel(self, args=[]): + """Starts the pre-warmed kernel process.""" + self.log.info( + "Start pre-warmed Kernel in DS Kernel Launcher Daemon %s with args %s", + self.kernel.pid, + args, + ) + + def start_kernel(): + self.kernel.stdin.write( + "{0}{1}".format(json.dumps(args), os.linesep).encode("utf-8") + ) + self.kernel.stdin.close() + + return self._execute_and_capture_output(start_kernel) + + @error_decorator + def m_exec_module(self, module_name, args=[], cwd=None, env=None): + """Override default behavior to run the ipykernel module in a background thread.""" + args = [] if args is None else args + self.log.info( + "Exec module in DS Kernel Launcher Daemon %s with args %s", + module_name, + args, + ) + + def start_kernel(): + self._exec_module_observable_in_background(module_name, args, cwd, env) + + return self._execute_and_capture_output(start_kernel) + + def _read_stderr_in_background(self): + while self.kernel.poll() is None: + stderr_output = self.kernel.stderr.readline() + if stderr_output: + sys.stderr.write(stderr_output) + sys.stderr.flush() + + def _read_stdout_in_background(self): + while self.kernel.poll() is None: + stdout_output = self.kernel.stdout.readline() + if stdout_output: + sys.stdout.write(stdout_output) + sys.stdout.flush() + + def _monitor_kernel(self): + self.log.warn("Waiting for Kernel to die %s", self.kernel.pid) + self.kernel.wait(timeout=None) + + exit_code = self.kernel.poll() + std_err = self.kernel.stderr.read() + if std_err is not None: + std_err = std_err.decode("utf-8") + self.log.warn("Kernel has exited with exit code %s, %s", exit_code, std_err) + sys.stdout.flush() + sys.stderr.flush() + self._endpoint.notify( + "kernel_died", {"exit_code": exit_code, "reason": std_err} + ) + + def _exec_module_observable_in_background( + self, module_name, args=None, cwd=None, env=None + ): + self.log.info( + "Exec in DS Kernel Launcher Daemon (observable) %s with args %s", + module_name, + args, + ) + args = [] if args is None else args + cmd = [sys.executable, "-m", module_name] + args + self._start_kernel_observable_in_background(cmd, cwd, env) + self.kernel.stdin.close() + + def _start_kernel_observable_in_background(self, cmd, cwd=None, env=None): + self.log.info( + "Exec in DS Kernel Launcher Daemon (observable) %s", + cmd, + ) + # As the kernel is launched from this same python executable, ensure the kernel variables + # are merged with the variables of this current environment. + new_env_vars = {} if env is None else env + env = os.environ.copy() + env.update(new_env_vars) + proc = launch_kernel( + cmd, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + stdin=subprocess.PIPE, + cwd=cwd, + env=env, + independent=False, + ) + self.log.info("Exec in DS Kernel Launcher Daemon (observable)") + + self.kernel = proc + self.log.info("Kernel launched, with PID %s", proc.pid) + + threading.Thread( + target=self._read_stdout_in_background, + daemon=True, + name="kerne_stdout_reader", + ).start() + threading.Thread( + target=self._read_stderr_in_background, + daemon=True, + name="kerne_stderr_reader", + ).start() + threading.Thread( + target=self._monitor_kernel, daemon=True, name="kerne_monitor" + ).start() + + # We could wait for 0.5-1s to ensure kernel doesn't die, however that will not work. + # On windows, launching a conda process can take 4s, hence just spinning up a process takes 4s + # and then python will attempt to run the kernel module, at which point it could fail. + # Meaning there's no way to know it successfully launched the kernel without trying to connect to it. + + def signal_kernel(self, signum): + """Sends a signal to the process group of the kernel (this + usually includes the kernel and any subprocesses spawned by + the kernel). + Note that since only SIGTERM is supported on Windows, this function is + only useful on Unix systems. + """ + if self.kernel is not None: + if hasattr(os, "getpgid") and hasattr(os, "killpg"): + try: + pgid = os.getpgid(self.kernel.pid) + os.killpg(pgid, signum) + self.log.debug( + "Signalled kernel PID %s, with %s", self.kernel.pid, signum + ) + return + except OSError: + self.log.debug( + "Failed to signal kernel PID %s, with %s", + self.kernel.pid, + signum, + ) + pass + self.log.debug( + "Signalling kernel with using send_signal PID %s, with %s", + self.kernel.pid, + signum, + ) + self.kernel.send_signal(signum) diff --git a/pythonFiles/vscode_datascience_helpers/kernel_prewarm_starter.py b/pythonFiles/vscode_datascience_helpers/kernel_prewarm_starter.py new file mode 100644 index 000000000000..e7ec7e4a9015 --- /dev/null +++ b/pythonFiles/vscode_datascience_helpers/kernel_prewarm_starter.py @@ -0,0 +1,31 @@ +"""Starts the python kernel the same way we would if we used the CLI. +IPykernel module must be run in the main thread, hence the blocking mechanism to +ready stdin to figure out when ipykernel needs to be started. +Running the module ipykernel effectively means we're starting the python kernel. +""" + +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +if __name__ != "__main__": + raise Exception("{} cannot be imported".format(__name__)) + +import json +import runpy +import sys + +# Assumption is ipykernel is available. +# Preload module (speed up, so when we really need it, it has already been loaded). +from ipykernel import kernelapp as app + +# Block till we read somethign from `stdin`. +# As soon as we get something this is a trigger to start. +# The value passed into stdin would be the arguments we need to place into sys.argv. +input_json = sys.stdin.readline().strip() +sys.argv = json.loads(input_json) +module = sys.argv[0] + +# Note, we must launch ipykenel in the main thread for kernel interrupt to work on windows. + +# Start kernel in current process. +runpy.run_module(module, run_name="__main__", alter_sys=False) diff --git a/pythonFiles/vscode_datascience_helpers/win_interrupt.py b/pythonFiles/vscode_datascience_helpers/win_interrupt.py new file mode 100644 index 000000000000..3625954d89e6 --- /dev/null +++ b/pythonFiles/vscode_datascience_helpers/win_interrupt.py @@ -0,0 +1,42 @@ +# No changes to original code. +# Original source borrowed from https://github.com/jupyter/jupyter_client/blob/master/jupyter_client/win_interrupt.py. + +"""Use a Windows event to interrupt a child process like SIGINT. + +The child needs to explicitly listen for this - see +ipykernel.parentpoller.ParentPollerWindows for a Python implementation. +""" + +import ctypes + + +def create_interrupt_event(): + """Create an interrupt event handle. + + The parent process should call this to create the + interrupt event that is passed to the child process. It should store + this handle and use it with ``send_interrupt`` to interrupt the child + process. + """ + # Create a security attributes struct that permits inheritance of the + # handle by new processes. + # FIXME: We can clean up this mess by requiring pywin32 for IPython. + class SECURITY_ATTRIBUTES(ctypes.Structure): + _fields_ = [ + ("nLength", ctypes.c_int), + ("lpSecurityDescriptor", ctypes.c_void_p), + ("bInheritHandle", ctypes.c_int), + ] + + sa = SECURITY_ATTRIBUTES() + sa_p = ctypes.pointer(sa) + sa.nLength = ctypes.sizeof(SECURITY_ATTRIBUTES) + sa.lpSecurityDescriptor = 0 + sa.bInheritHandle = 1 + + return ctypes.windll.kernel32.CreateEventA(sa_p, False, False, "") + + +def send_interrupt(interrupt_handle): + """Sends an interrupt event using the specified handle.""" + ctypes.windll.kernel32.SetEvent(interrupt_handle) diff --git a/requirements.in b/requirements.in index 2f88c5fa5557..45bebcc234e1 100644 --- a/requirements.in +++ b/requirements.in @@ -1,6 +1,6 @@ # IntelliSense -jedi==0.16.0 +jedi==0.17.2 # Sort Imports -isort==4.3.21 +isort==5.3.2; python_version >= '3.6' # DS Python daemon python-jsonrpc-server==0.2.0 diff --git a/requirements.txt b/requirements.txt index 07bb97cd40c2..9fc257209bd7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,21 +1,24 @@ -# -# This file is autogenerated by pip-compile -# To update, run: -# -# pip-compile --generate-hashes -# +# +# This file is autogenerated by pip-compile +# To update, run: +# +# pip-compile --generate-hashes +# future==0.18.2 \ --hash=sha256:b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d \ - # via python-jsonrpc-server -isort==4.3.21 \ - --hash=sha256:54da7e92468955c4fceacd0c86bd0ec997b0e1ee80d97f67c35a78b719dccab1 \ - --hash=sha256:6e811fcb295968434526407adb8796944f1988c5b65e8139058f2014cbe100fd -jedi==0.16.0 \ - --hash=sha256:b4f4052551025c6b0b0b193b29a6ff7bdb74c52450631206c262aef9f7159ad2 \ - --hash=sha256:d5c871cb9360b414f981e7072c52c33258d598305280fef91c6cae34739d65d5 -parso==0.5.2 \ - --hash=sha256:55cf25df1a35fd88b878715874d2c4dc1ad3f0eebd1e0266a67e1f55efccfbe1 \ - --hash=sha256:5c1f7791de6bd5dbbeac8db0ef5594b36799de198b3f7f7014643b0c5536b9d3 \ - # via jedi + # via python-jsonrpc-server +isort==5.3.2 ; python_version >= "3.6" \ + --hash=sha256:5196bd2f5b23dc91215734b1c96c6d28390061d69860a948094c12635d6d64e6 \ + --hash=sha256:ba83762132a8661d3525f87a86549712fb7d8da79eeb452e01f327ada9e87920 \ + # via -r requirements.in +jedi==0.17.2 \ + --hash=sha256:86ed7d9b750603e4ba582ea8edc678657fb4007894a12bcf6f4bb97892f31d20 \ + --hash=sha256:98cc583fa0f2f8304968199b01b6b4b94f469a1f4a74c1560506ca2a211378b5 \ + # via -r requirements.in +parso==0.7.0 \ + --hash=sha256:158c140fc04112dc45bca311633ae5033c2c2a7b732fa33d0955bad8152a8dd0 \ + --hash=sha256:908e9fae2144a076d72ae4e25539143d40b8e3eafbaeae03c1bfe226f4cdf12c \ + # via jedi python-jsonrpc-server==0.2.0 \ - --hash=sha256:59ce9c9523c14c493a327b3a27ee37464a36dc2b9d8ab485ecbcedd38840380a + --hash=sha256:59ce9c9523c14c493a327b3a27ee37464a36dc2b9d8ab485ecbcedd38840380a \ + # via -r requirements.in diff --git a/resources/MagicPython.tmLanguage.json b/resources/MagicPython.tmLanguage.json index e51fcce1a859..4dd391e5d40e 100644 --- a/resources/MagicPython.tmLanguage.json +++ b/resources/MagicPython.tmLanguage.json @@ -1,5279 +1,5279 @@ { - "information_for_contributors": [ - "This file has been converted from https://github.com/MagicStack/MagicPython/blob/master/grammars/MagicPython.tmLanguage", - "If you want to provide a fix or improvement, please create a pull request against the original repository.", - "Once accepted there, we are happy to receive an update request." - ], - "version": "https://github.com/MagicStack/MagicPython/commit/8ff35b3e5fcde471fae62a57ea1ae1c7cd34c9fc", - "name": "MagicPython", - "scopeName": "source.python", - "patterns": [ - { - "include": "#statement" - }, - { - "include": "#expression" - } - ], - "repository": { - "impossible": { - "comment": "This is a special rule that should be used where no match is desired. It is not a good idea to match something like '1{0}' because in some cases that can result in infinite loops in token generation. So the rule instead matches and impossible expression to allow a match to fail and move to the next token.", - "match": "$.^" - }, - "statement": { - "patterns": [ - { - "include": "#import" - }, - { - "include": "#class-declaration" - }, - { - "include": "#function-declaration" - }, - { - "include": "#statement-keyword" - }, - { - "include": "#assignment-operator" - }, - { - "include": "#decorator" - }, - { - "include": "#docstring-statement" - }, - { - "include": "#semicolon" - } - ] - }, - "semicolon": { - "patterns": [ - { - "name": "invalid.deprecated.semicolon.python", - "match": "\\;$" - } - ] - }, - "comments": { - "patterns": [ - { - "name": "comment.line.number-sign.python", - "contentName": "meta.typehint.comment.python", - "begin": "(?x)\n (?:\n \\# \\s* (type:)\n \\s*+ (?# we want `\\s*+` which is possessive quantifier since\n we do not actually want to backtrack when matching\n whitespace here)\n (?! $ | \\#)\n )\n", - "end": "(?:$|(?=\\#))", - "beginCaptures": { - "0": { - "name": "meta.typehint.comment.python" - }, - "1": { - "name": "comment.typehint.directive.notation.python" - } - }, - "patterns": [ - { - "name": "comment.typehint.ignore.notation.python", - "match": "(?x)\n \\G ignore\n (?= \\s* (?: $ | \\#))\n" - }, - { - "name": "comment.typehint.type.notation.python", - "match": "(?x)\n (?))" - }, - { - "name": "comment.typehint.variable.notation.python", - "match": "([[:alpha:]_]\\w*)" - } - ] - }, - { - "include": "#comments-base" - } - ] - }, - "docstring-statement": { - "begin": "^(?=\\s*[rR]?(\\'\\'\\'|\\\"\\\"\\\"|\\'|\\\"))", - "comment": "the string either terminates correctly or by the beginning of a new line (this is for single line docstrings that aren't terminated) AND it's not followed by another docstring", - "end": "((?<=\\1)|^)(?!\\s*[rR]?(\\'\\'\\'|\\\"\\\"\\\"|\\'|\\\"))", - "patterns": [ - { - "include": "#docstring" - } - ] - }, - "docstring": { - "patterns": [ - { - "name": "string.quoted.docstring.multi.python", - "begin": "(\\'\\'\\'|\\\"\\\"\\\")", - "end": "(\\1)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.string.begin.python" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.string.end.python" - } - }, - "patterns": [ - { - "include": "#docstring-prompt" - }, - { - "include": "#codetags" - }, - { - "include": "#docstring-guts-unicode" - } - ] - }, - { - "name": "string.quoted.docstring.raw.multi.python", - "begin": "([rR])(\\'\\'\\'|\\\"\\\"\\\")", - "end": "(\\2)", - "beginCaptures": { - "1": { - "name": "storage.type.string.python" - }, - "2": { - "name": "punctuation.definition.string.begin.python" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.string.end.python" - } - }, - "patterns": [ - { - "include": "#string-consume-escape" - }, - { - "include": "#docstring-prompt" - }, - { - "include": "#codetags" - } - ] - }, - { - "name": "string.quoted.docstring.single.python", - "begin": "(\\'|\\\")", - "end": "(\\1)|(\\n)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.string.begin.python" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.string.end.python" - }, - "2": { - "name": "invalid.illegal.newline.python" - } - }, - "patterns": [ - { - "include": "#codetags" - }, - { - "include": "#docstring-guts-unicode" - } - ] - }, - { - "name": "string.quoted.docstring.raw.single.python", - "begin": "([rR])(\\'|\\\")", - "end": "(\\2)|(\\n)", - "beginCaptures": { - "1": { - "name": "storage.type.string.python" - }, - "2": { - "name": "punctuation.definition.string.begin.python" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.string.end.python" - }, - "2": { - "name": "invalid.illegal.newline.python" - } - }, - "patterns": [ - { - "include": "#string-consume-escape" - }, - { - "include": "#codetags" - } - ] - } - ] - }, - "docstring-guts-unicode": { - "patterns": [ - { - "include": "#escape-sequence-unicode" - }, - { - "include": "#escape-sequence" - }, - { - "include": "#string-line-continuation" - } - ] - }, - "docstring-prompt": { - "match": "(?x)\n (?:\n (?:^|\\G) \\s* (?# '\\G' is necessary for ST)\n ((?:>>>|\\.\\.\\.) \\s) (?=\\s*\\S)\n )\n", - "captures": { - "1": { - "name": "keyword.control.flow.python" - } - } - }, - "statement-keyword": { - "patterns": [ - { - "name": "storage.type.function.python", - "match": "\\b((async\\s+)?\\s*def)\\b" - }, - { - "name": "keyword.control.flow.python", - "comment": "if `as` is eventually followed by `:` or line continuation\nit's probably control flow like:\n with foo as bar, \\\n Foo as Bar:\n try:\n do_stuff()\n except Exception as e:\n pass\n", - "match": "\\b(?>= | //= | \\*\\*=\n | \\+= | -= | /= | @=\n | \\*= | %= | ~= | \\^= | &= | \\|=\n | =(?!=)\n" - }, - "operator": { - "match": "(?x)\n \\b(?> | & | \\| | \\^ | ~) (?# 3)\n\n | (\\*\\* | \\* | \\+ | - | % | // | / | @) (?# 4)\n\n | (!= | == | >= | <= | < | >) (?# 5)\n", - "captures": { - "1": { - "name": "keyword.operator.logical.python" - }, - "2": { - "name": "keyword.control.flow.python" - }, - "3": { - "name": "keyword.operator.bitwise.python" - }, - "4": { - "name": "keyword.operator.arithmetic.python" - }, - "5": { - "name": "keyword.operator.comparison.python" - } - } - }, - "punctuation": { - "patterns": [ - { - "name": "punctuation.separator.colon.python", - "match": ":" - }, - { - "name": "punctuation.separator.element.python", - "match": "," - } - ] - }, - "literal": { - "patterns": [ - { - "name": "constant.language.python", - "match": "\\b(True|False|None|NotImplemented|Ellipsis)\\b" - }, - { - "include": "#number" - } - ] - }, - "number": { - "name": "constant.numeric.python", - "patterns": [ - { - "include": "#number-float" - }, - { - "include": "#number-dec" - }, - { - "include": "#number-hex" - }, - { - "include": "#number-oct" - }, - { - "include": "#number-bin" - }, - { - "include": "#number-long" - }, - { - "name": "invalid.illegal.name.python", - "match": "\\b[0-9]+\\w+" - } - ] - }, - "number-float": { - "name": "constant.numeric.float.python", - "match": "(?x)\n (?=^]? [-+ ]? \\#?\n \\d* ,? (\\.\\d+)? [bcdeEfFgGnosxX%]? )?\n })\n )\n", - "captures": { - "1": { - "name": "constant.character.format.placeholder.other.python" - }, - "3": { - "name": "storage.type.format.python" - }, - "4": { - "name": "storage.type.format.python" - } - } - }, - { - "name": "meta.format.brace.python", - "match": "(?x)\n (\n {\n \\w* (\\.[[:alpha:]_]\\w* | \\[[^\\]'\"]+\\])*\n (![rsa])?\n (:)\n [^'\"{}\\n]* (?:\n \\{ [^'\"}\\n]*? \\} [^'\"{}\\n]*\n )*\n }\n )\n", - "captures": { - "1": { - "name": "constant.character.format.placeholder.other.python" - }, - "3": { - "name": "storage.type.format.python" - }, - "4": { - "name": "storage.type.format.python" - } - } - } - ] - }, - "fstring-formatting": { - "patterns": [ - { - "include": "#fstring-formatting-braces" - }, - { - "include": "#fstring-formatting-singe-brace" - } - ] - }, - "fstring-formatting-singe-brace": { - "name": "invalid.illegal.brace.python", - "match": "(}(?!}))" - }, - "import": { - "comment": "Import statements used to correctly mark `from`, `import`, and `as`\n", - "patterns": [ - { - "begin": "\\b(?)", - "end": "(?=:)", - "beginCaptures": { - "1": { - "name": "punctuation.separator.annotation.result.python" - } - }, - "patterns": [ - { - "include": "#expression" - } - ] - }, - "item-access": { - "patterns": [ - { - "name": "meta.item-access.python", - "begin": "(?x)\n \\b(?=\n [[:alpha:]_]\\w* \\s* \\[\n )\n", - "end": "(\\])", - "endCaptures": { - "1": { - "name": "punctuation.definition.arguments.end.python" - } - }, - "patterns": [ - { - "include": "#item-name" - }, - { - "include": "#item-index" - }, - { - "include": "#expression" - } - ] - } - ] - }, - "item-name": { - "patterns": [ - { - "include": "#special-variables" - }, - { - "include": "#builtin-functions" - }, - { - "include": "#special-names" - }, - { - "match": "(?x)\n \\b ([[:alpha:]_]\\w*) \\b\n" - } - ] - }, - "item-index": { - "begin": "(\\[)", - "end": "(?=\\])", - "beginCaptures": { - "1": { - "name": "punctuation.definition.arguments.begin.python" - } - }, - "contentName": "meta.item-access.arguments.python", - "patterns": [ - { - "name": "punctuation.separator.slice.python", - "match": ":" - }, - { - "include": "#expression" - } - ] - }, - "decorator": { - "name": "meta.function.decorator.python", - "begin": "(?x)\n ^\\s*\n ((@)) \\s* (?=[[:alpha:]_]\\w*)\n", - "end": "(?x)\n ( \\) )\n # trailing whitespace and comments are legal\n (?: (.*?) (?=\\s*(?:\\#|$)) )\n | (?=\\n|\\#)\n", - "beginCaptures": { - "1": { - "name": "entity.name.function.decorator.python" - }, - "2": { - "name": "punctuation.definition.decorator.python" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.arguments.end.python" - }, - "2": { - "name": "invalid.illegal.decorator.python" - } - }, - "patterns": [ - { - "include": "#decorator-name" - }, - { - "include": "#function-arguments" - } - ] - }, - "decorator-name": { - "patterns": [ - { - "include": "#builtin-callables" - }, - { - "include": "#illegal-object-name" - }, - { - "name": "entity.name.function.decorator.python", - "match": "(?x)\n ([[:alpha:]_]\\w*) | (\\.)\n", - "captures": { - "2": { - "name": "punctuation.separator.period.python" - } - } - }, - { - "include": "#line-continuation" - }, - { - "name": "invalid.illegal.decorator.python", - "match": "(?x)\n \\s* ([^([:alpha:]\\s_\\.#\\\\] .*?) (?=\\#|$)\n", - "captures": { - "1": { - "name": "invalid.illegal.decorator.python" - } - } - } - ] - }, - "call-wrapper-inheritance": { - "comment": "same as a function call, but in inheritance context", - "name": "meta.function-call.python", - "begin": "(?x)\n \\b(?=\n ([[:alpha:]_]\\w*) \\s* (\\()\n )\n", - "end": "(\\))", - "endCaptures": { - "1": { - "name": "punctuation.definition.arguments.end.python" - } - }, - "patterns": [ - { - "include": "#inheritance-name" - }, - { - "include": "#function-arguments" - } - ] - }, - "inheritance-name": { - "patterns": [ - { - "include": "#lambda-incomplete" - }, - { - "include": "#builtin-possible-callables" - }, - { - "include": "#inheritance-identifier" - } - ] - }, - "function-call": { - "name": "meta.function-call.python", - "begin": "(?x)\n \\b(?=\n ([[:alpha:]_]\\w*) \\s* (\\()\n )\n", - "end": "(\\))", - "endCaptures": { - "1": { - "name": "punctuation.definition.arguments.end.python" - } - }, - "patterns": [ - { - "include": "#special-variables" - }, - { - "include": "#function-name" - }, - { - "include": "#function-arguments" - } - ] - }, - "function-name": { - "patterns": [ - { - "include": "#builtin-possible-callables" - }, - { - "comment": "Some color schemas support meta.function-call.generic scope", - "name": "meta.function-call.generic.python", - "match": "(?x)\n \\b ([[:alpha:]_]\\w*) \\b\n" - } - ] - }, - "function-arguments": { - "begin": "(\\()", - "end": "(?=\\))(?!\\)\\s*\\()", - "beginCaptures": { - "1": { - "name": "punctuation.definition.arguments.begin.python" - } - }, - "contentName": "meta.function-call.arguments.python", - "patterns": [ - { - "name": "punctuation.separator.arguments.python", - "match": "(,)" - }, - { - "match": "(?x)\n (?:(?<=[,(])|^) \\s* (\\*{1,2})\n", - "captures": { - "1": { - "name": "keyword.operator.unpacking.arguments.python" - } - } - }, - { - "include": "#lambda-incomplete" - }, - { - "include": "#illegal-names" - }, - { - "match": "\\b([[:alpha:]_]\\w*)\\s*(=)(?!=)", - "captures": { - "1": { - "name": "variable.parameter.function-call.python" - }, - "2": { - "name": "keyword.operator.assignment.python" - } - } - }, - { - "name": "keyword.operator.assignment.python", - "match": "=(?!=)" - }, - { - "include": "#expression" - }, - { - "match": "\\s*(\\))\\s*(\\()", - "captures": { - "1": { - "name": "punctuation.definition.arguments.end.python" - }, - "2": { - "name": "punctuation.definition.arguments.begin.python" - } - } - } - ] - }, - "builtin-callables": { - "patterns": [ - { - "include": "#illegal-names" - }, - { - "include": "#illegal-object-name" - }, - { - "include": "#builtin-exceptions" - }, - { - "include": "#builtin-functions" - }, - { - "include": "#builtin-types" - } - ] - }, - "builtin-possible-callables": { - "patterns": [ - { - "include": "#builtin-callables" - }, - { - "include": "#magic-names" - } - ] - }, - "builtin-exceptions": { - "name": "support.type.exception.python", - "match": "(?x) (?" - }, - "regexp-base-expression": { - "patterns": [ - { - "include": "#regexp-quantifier" - }, - { - "include": "#regexp-base-common" - } - ] - }, - "fregexp-base-expression": { - "patterns": [ - { - "include": "#fregexp-quantifier" - }, - { - "include": "#fstring-formatting-braces" - }, - { - "match": "\\{.*?\\}" - }, - { - "include": "#regexp-base-common" - } - ] - }, - "fstring-formatting-braces": { - "patterns": [ - { - "comment": "empty braces are illegal", - "match": "({)(\\s*?)(})", - "captures": { - "1": { - "name": "constant.character.format.placeholder.other.python" - }, - "2": { - "name": "invalid.illegal.brace.python" - }, - "3": { - "name": "constant.character.format.placeholder.other.python" - } - } - }, - { - "name": "constant.character.escape.python", - "match": "({{|}})" - } - ] - }, - "regexp-base-common": { - "patterns": [ - { - "name": "support.other.match.any.regexp", - "match": "\\." - }, - { - "name": "support.other.match.begin.regexp", - "match": "\\^" - }, - { - "name": "support.other.match.end.regexp", - "match": "\\$" - }, - { - "name": "keyword.operator.quantifier.regexp", - "match": "[+*?]\\??" - }, - { - "name": "keyword.operator.disjunction.regexp", - "match": "\\|" - }, - { - "include": "#regexp-escape-sequence" - } - ] - }, - "regexp-quantifier": { - "name": "keyword.operator.quantifier.regexp", - "match": "(?x)\n \\{(\n \\d+ | \\d+,(\\d+)? | ,\\d+\n )\\}\n" - }, - "fregexp-quantifier": { - "name": "keyword.operator.quantifier.regexp", - "match": "(?x)\n \\{\\{(\n \\d+ | \\d+,(\\d+)? | ,\\d+\n )\\}\\}\n" - }, - "regexp-backreference-number": { - "name": "meta.backreference.regexp", - "match": "(\\\\[1-9]\\d?)", - "captures": { - "1": { - "name": "entity.name.tag.backreference.regexp" - } - } - }, - "regexp-backreference": { - "name": "meta.backreference.named.regexp", - "match": "(?x)\n (\\() (\\?P= \\w+(?:\\s+[[:alnum:]]+)?) (\\))\n", - "captures": { - "1": { - "name": "support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.begin.regexp" - }, - "2": { - "name": "entity.name.tag.named.backreference.regexp" - }, - "3": { - "name": "support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.end.regexp" - } - } - }, - "regexp-flags": { - "name": "storage.modifier.flag.regexp", - "match": "\\(\\?[aiLmsux]+\\)" - }, - "regexp-escape-special": { - "name": "support.other.escape.special.regexp", - "match": "\\\\([AbBdDsSwWZ])" - }, - "regexp-escape-character": { - "name": "constant.character.escape.regexp", - "match": "(?x)\n \\\\ (\n x[0-9A-Fa-f]{2}\n | 0[0-7]{1,2}\n | [0-7]{3}\n )\n" - }, - "regexp-escape-unicode": { - "name": "constant.character.unicode.regexp", - "match": "(?x)\n \\\\ (\n u[0-9A-Fa-f]{4}\n | U[0-9A-Fa-f]{8}\n )\n" - }, - "regexp-escape-catchall": { - "name": "constant.character.escape.regexp", - "match": "\\\\(.|\\n)" - }, - "regexp-escape-sequence": { - "patterns": [ - { - "include": "#regexp-escape-special" - }, - { - "include": "#regexp-escape-character" - }, - { - "include": "#regexp-escape-unicode" - }, - { - "include": "#regexp-backreference-number" - }, - { - "include": "#regexp-escape-catchall" - } - ] - }, - "regexp-charecter-set-escapes": { - "patterns": [ - { - "name": "constant.character.escape.regexp", - "match": "\\\\[abfnrtv\\\\]" - }, - { - "include": "#regexp-escape-special" - }, - { - "name": "constant.character.escape.regexp", - "match": "\\\\([0-7]{1,3})" - }, - { - "include": "#regexp-escape-character" - }, - { - "include": "#regexp-escape-unicode" - }, - { - "include": "#regexp-escape-catchall" - } - ] - }, - "codetags": { - "match": "(?:\\b(NOTE|XXX|HACK|FIXME|BUG|TODO)\\b)", - "captures": { - "1": { - "name": "keyword.codetag.notation.python" - } - } - }, - "comments-base": { - "name": "comment.line.number-sign.python", - "begin": "(\\#)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.comment.python" - } - }, - "end": "($)", - "patterns": [ - { - "include": "#codetags" - } - ] - }, - "comments-string-single-three": { - "name": "comment.line.number-sign.python", - "begin": "(\\#)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.comment.python" - } - }, - "end": "($|(?='''))", - "patterns": [ - { - "include": "#codetags" - } - ] - }, - "comments-string-double-three": { - "name": "comment.line.number-sign.python", - "begin": "(\\#)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.comment.python" - } - }, - "end": "($|(?=\"\"\"))", - "patterns": [ - { - "include": "#codetags" - } - ] - }, - "single-one-regexp-expression": { - "patterns": [ - { - "include": "#regexp-base-expression" - }, - { - "include": "#single-one-regexp-character-set" - }, - { - "include": "#single-one-regexp-comments" - }, - { - "include": "#regexp-flags" - }, - { - "include": "#single-one-regexp-named-group" - }, - { - "include": "#regexp-backreference" - }, - { - "include": "#single-one-regexp-lookahead" - }, - { - "include": "#single-one-regexp-lookahead-negative" - }, - { - "include": "#single-one-regexp-lookbehind" - }, - { - "include": "#single-one-regexp-lookbehind-negative" - }, - { - "include": "#single-one-regexp-conditional" - }, - { - "include": "#single-one-regexp-parentheses-non-capturing" - }, - { - "include": "#single-one-regexp-parentheses" - } - ] - }, - "single-one-regexp-character-set": { - "patterns": [ - { - "match": "(?x)\n \\[ \\^? \\] (?! .*?\\])\n" - }, - { - "name": "meta.character.set.regexp", - "begin": "(\\[)(\\^)?(\\])?", - "end": "(\\]|(?=\\'))|((?=(?)\n", - "end": "(\\)|(?=\\'))|((?=(?)\n", - "end": "(\\)|(?=\\'\\'\\'))", - "beginCaptures": { - "1": { - "name": "support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp" - }, - "2": { - "name": "entity.name.tag.named.group.regexp" - } - }, - "endCaptures": { - "1": { - "name": "support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp" - }, - "2": { - "name": "invalid.illegal.newline.python" - } - }, - "patterns": [ - { - "include": "#single-three-regexp-expression" - }, - { - "include": "#comments-string-single-three" - } - ] - }, - "single-three-regexp-comments": { - "name": "comment.regexp", - "begin": "\\(\\?#", - "end": "(\\)|(?=\\'\\'\\'))", - "beginCaptures": { - "0": { - "name": "punctuation.comment.begin.regexp" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.comment.end.regexp" - }, - "2": { - "name": "invalid.illegal.newline.python" - } - }, - "patterns": [ - { - "include": "#codetags" - } - ] - }, - "single-three-regexp-lookahead": { - "begin": "(\\()\\?=", - "end": "(\\)|(?=\\'\\'\\'))", - "beginCaptures": { - "0": { - "name": "keyword.operator.lookahead.regexp" - }, - "1": { - "name": "punctuation.parenthesis.lookahead.begin.regexp" - } - }, - "endCaptures": { - "1": { - "name": "keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp" - }, - "2": { - "name": "invalid.illegal.newline.python" - } - }, - "patterns": [ - { - "include": "#single-three-regexp-expression" - }, - { - "include": "#comments-string-single-three" - } - ] - }, - "single-three-regexp-lookahead-negative": { - "begin": "(\\()\\?!", - "end": "(\\)|(?=\\'\\'\\'))", - "beginCaptures": { - "0": { - "name": "keyword.operator.lookahead.negative.regexp" - }, - "1": { - "name": "punctuation.parenthesis.lookahead.begin.regexp" - } - }, - "endCaptures": { - "1": { - "name": "keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp" - }, - "2": { - "name": "invalid.illegal.newline.python" - } - }, - "patterns": [ - { - "include": "#single-three-regexp-expression" - }, - { - "include": "#comments-string-single-three" - } - ] - }, - "single-three-regexp-lookbehind": { - "begin": "(\\()\\?<=", - "end": "(\\)|(?=\\'\\'\\'))", - "beginCaptures": { - "0": { - "name": "keyword.operator.lookbehind.regexp" - }, - "1": { - "name": "punctuation.parenthesis.lookbehind.begin.regexp" - } - }, - "endCaptures": { - "1": { - "name": "keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp" - }, - "2": { - "name": "invalid.illegal.newline.python" - } - }, - "patterns": [ - { - "include": "#single-three-regexp-expression" - }, - { - "include": "#comments-string-single-three" - } - ] - }, - "single-three-regexp-lookbehind-negative": { - "begin": "(\\()\\?)\n", - "end": "(\\)|(?=\"))|((?=(?)\n", - "end": "(\\)|(?=\"\"\"))", - "beginCaptures": { - "1": { - "name": "support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp" - }, - "2": { - "name": "entity.name.tag.named.group.regexp" - } - }, - "endCaptures": { - "1": { - "name": "support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp" - }, - "2": { - "name": "invalid.illegal.newline.python" - } - }, - "patterns": [ - { - "include": "#double-three-regexp-expression" - }, - { - "include": "#comments-string-double-three" - } - ] - }, - "double-three-regexp-comments": { - "name": "comment.regexp", - "begin": "\\(\\?#", - "end": "(\\)|(?=\"\"\"))", - "beginCaptures": { - "0": { - "name": "punctuation.comment.begin.regexp" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.comment.end.regexp" - }, - "2": { - "name": "invalid.illegal.newline.python" - } - }, - "patterns": [ - { - "include": "#codetags" - } - ] - }, - "double-three-regexp-lookahead": { - "begin": "(\\()\\?=", - "end": "(\\)|(?=\"\"\"))", - "beginCaptures": { - "0": { - "name": "keyword.operator.lookahead.regexp" - }, - "1": { - "name": "punctuation.parenthesis.lookahead.begin.regexp" - } - }, - "endCaptures": { - "1": { - "name": "keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp" - }, - "2": { - "name": "invalid.illegal.newline.python" - } - }, - "patterns": [ - { - "include": "#double-three-regexp-expression" - }, - { - "include": "#comments-string-double-three" - } - ] - }, - "double-three-regexp-lookahead-negative": { - "begin": "(\\()\\?!", - "end": "(\\)|(?=\"\"\"))", - "beginCaptures": { - "0": { - "name": "keyword.operator.lookahead.negative.regexp" - }, - "1": { - "name": "punctuation.parenthesis.lookahead.begin.regexp" - } - }, - "endCaptures": { - "1": { - "name": "keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp" - }, - "2": { - "name": "invalid.illegal.newline.python" - } - }, - "patterns": [ - { - "include": "#double-three-regexp-expression" - }, - { - "include": "#comments-string-double-three" - } - ] - }, - "double-three-regexp-lookbehind": { - "begin": "(\\()\\?<=", - "end": "(\\)|(?=\"\"\"))", - "beginCaptures": { - "0": { - "name": "keyword.operator.lookbehind.regexp" - }, - "1": { - "name": "punctuation.parenthesis.lookbehind.begin.regexp" - } - }, - "endCaptures": { - "1": { - "name": "keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp" - }, - "2": { - "name": "invalid.illegal.newline.python" - } - }, - "patterns": [ - { - "include": "#double-three-regexp-expression" - }, - { - "include": "#comments-string-double-three" - } - ] - }, - "double-three-regexp-lookbehind-negative": { - "begin": "(\\()\\?)\n", - "end": "(\\)|(?=\\'))|((?=(?)\n", - "end": "(\\)|(?=\\'\\'\\'))", - "beginCaptures": { - "1": { - "name": "support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp" - }, - "2": { - "name": "entity.name.tag.named.group.regexp" - } - }, - "endCaptures": { - "1": { - "name": "support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp" - }, - "2": { - "name": "invalid.illegal.newline.python" - } - }, - "patterns": [ - { - "include": "#single-three-fregexp-expression" - }, - { - "include": "#comments-string-single-three" - } - ] - }, - "single-three-fregexp-lookahead": { - "begin": "(\\()\\?=", - "end": "(\\)|(?=\\'\\'\\'))", - "beginCaptures": { - "0": { - "name": "keyword.operator.lookahead.regexp" - }, - "1": { - "name": "punctuation.parenthesis.lookahead.begin.regexp" - } - }, - "endCaptures": { - "1": { - "name": "keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp" - }, - "2": { - "name": "invalid.illegal.newline.python" - } - }, - "patterns": [ - { - "include": "#single-three-fregexp-expression" - }, - { - "include": "#comments-string-single-three" - } - ] - }, - "single-three-fregexp-lookahead-negative": { - "begin": "(\\()\\?!", - "end": "(\\)|(?=\\'\\'\\'))", - "beginCaptures": { - "0": { - "name": "keyword.operator.lookahead.negative.regexp" - }, - "1": { - "name": "punctuation.parenthesis.lookahead.begin.regexp" - } - }, - "endCaptures": { - "1": { - "name": "keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp" - }, - "2": { - "name": "invalid.illegal.newline.python" - } - }, - "patterns": [ - { - "include": "#single-three-fregexp-expression" - }, - { - "include": "#comments-string-single-three" - } - ] - }, - "single-three-fregexp-lookbehind": { - "begin": "(\\()\\?<=", - "end": "(\\)|(?=\\'\\'\\'))", - "beginCaptures": { - "0": { - "name": "keyword.operator.lookbehind.regexp" - }, - "1": { - "name": "punctuation.parenthesis.lookbehind.begin.regexp" - } - }, - "endCaptures": { - "1": { - "name": "keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp" - }, - "2": { - "name": "invalid.illegal.newline.python" - } - }, - "patterns": [ - { - "include": "#single-three-fregexp-expression" - }, - { - "include": "#comments-string-single-three" - } - ] - }, - "single-three-fregexp-lookbehind-negative": { - "begin": "(\\()\\?)\n", - "end": "(\\)|(?=\"))|((?=(?)\n", - "end": "(\\)|(?=\"\"\"))", - "beginCaptures": { - "1": { - "name": "support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp" - }, - "2": { - "name": "entity.name.tag.named.group.regexp" - } - }, - "endCaptures": { - "1": { - "name": "support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp" - }, - "2": { - "name": "invalid.illegal.newline.python" - } - }, - "patterns": [ - { - "include": "#double-three-fregexp-expression" - }, - { - "include": "#comments-string-double-three" - } - ] - }, - "double-three-fregexp-lookahead": { - "begin": "(\\()\\?=", - "end": "(\\)|(?=\"\"\"))", - "beginCaptures": { - "0": { - "name": "keyword.operator.lookahead.regexp" - }, - "1": { - "name": "punctuation.parenthesis.lookahead.begin.regexp" - } - }, - "endCaptures": { - "1": { - "name": "keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp" - }, - "2": { - "name": "invalid.illegal.newline.python" - } - }, - "patterns": [ - { - "include": "#double-three-fregexp-expression" - }, - { - "include": "#comments-string-double-three" - } - ] - }, - "double-three-fregexp-lookahead-negative": { - "begin": "(\\()\\?!", - "end": "(\\)|(?=\"\"\"))", - "beginCaptures": { - "0": { - "name": "keyword.operator.lookahead.negative.regexp" - }, - "1": { - "name": "punctuation.parenthesis.lookahead.begin.regexp" - } - }, - "endCaptures": { - "1": { - "name": "keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp" - }, - "2": { - "name": "invalid.illegal.newline.python" - } - }, - "patterns": [ - { - "include": "#double-three-fregexp-expression" - }, - { - "include": "#comments-string-double-three" - } - ] - }, - "double-three-fregexp-lookbehind": { - "begin": "(\\()\\?<=", - "end": "(\\)|(?=\"\"\"))", - "beginCaptures": { - "0": { - "name": "keyword.operator.lookbehind.regexp" - }, - "1": { - "name": "punctuation.parenthesis.lookbehind.begin.regexp" - } - }, - "endCaptures": { - "1": { - "name": "keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp" - }, - "2": { - "name": "invalid.illegal.newline.python" - } - }, - "patterns": [ - { - "include": "#double-three-fregexp-expression" - }, - { - "include": "#comments-string-double-three" - } - ] - }, - "double-three-fregexp-lookbehind-negative": { - "begin": "(\\()\\?=^]? [-+ ]? \\#?\n \\d* ,? (\\.\\d+)? [bcdeEfFgGnosxX%]? )(?=})\n", - "captures": { - "1": { - "name": "storage.type.format.python" - }, - "2": { - "name": "storage.type.format.python" - } - } - }, - { - "include": "#fstring-terminator-single-tail" - } - ] - }, - "fstring-terminator-single-tail": { - "begin": "(![rsa])?(:)(?=.*?{)", - "end": "(?=})|(?=\\n)", - "beginCaptures": { - "1": { - "name": "storage.type.format.python" - }, - "2": { - "name": "storage.type.format.python" - } - }, - "patterns": [ - { - "include": "#fstring-illegal-single-brace" - }, - { - "include": "#fstring-single-brace" - }, - { - "name": "storage.type.format.python", - "match": "([bcdeEfFgGnosxX%])(?=})" - }, - { - "name": "storage.type.format.python", - "match": "(\\.\\d+)" - }, - { - "name": "storage.type.format.python", - "match": "(,)" - }, - { - "name": "storage.type.format.python", - "match": "(\\d+)" - }, - { - "name": "storage.type.format.python", - "match": "(\\#)" - }, - { - "name": "storage.type.format.python", - "match": "([-+ ])" - }, - { - "name": "storage.type.format.python", - "match": "([<>=^])" - }, - { - "name": "storage.type.format.python", - "match": "(\\w)" - } - ] - }, - "fstring-fnorm-quoted-multi-line": { - "name": "meta.fstring.python", - "begin": "(\\b[fF])([bBuU])?('''|\"\"\")", - "end": "(\\3)", - "beginCaptures": { - "1": { - "name": "string.interpolated.python string.quoted.multi.python storage.type.string.python" - }, - "2": { - "name": "invalid.illegal.prefix.python" - }, - "3": { - "name": "punctuation.definition.string.begin.python string.interpolated.python string.quoted.multi.python" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.string.end.python string.interpolated.python string.quoted.multi.python" - }, - "2": { - "name": "invalid.illegal.newline.python" - } - }, - "patterns": [ - { - "include": "#fstring-guts" - }, - { - "include": "#fstring-illegal-multi-brace" - }, - { - "include": "#fstring-multi-brace" - }, - { - "include": "#fstring-multi-core" - } - ] - }, - "fstring-normf-quoted-multi-line": { - "name": "meta.fstring.python", - "begin": "(\\b[bBuU])([fF])('''|\"\"\")", - "end": "(\\3)", - "beginCaptures": { - "1": { - "name": "invalid.illegal.prefix.python" - }, - "2": { - "name": "string.interpolated.python string.quoted.multi.python storage.type.string.python" - }, - "3": { - "name": "punctuation.definition.string.begin.python string.quoted.multi.python" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.string.end.python string.interpolated.python string.quoted.multi.python" - }, - "2": { - "name": "invalid.illegal.newline.python" - } - }, - "patterns": [ - { - "include": "#fstring-guts" - }, - { - "include": "#fstring-illegal-multi-brace" - }, - { - "include": "#fstring-multi-brace" - }, - { - "include": "#fstring-multi-core" - } - ] - }, - "fstring-raw-quoted-multi-line": { - "name": "meta.fstring.python", - "begin": "(\\b(?:[R][fF]|[fF][R]))('''|\"\"\")", - "end": "(\\2)", - "beginCaptures": { - "1": { - "name": "string.interpolated.python string.quoted.raw.multi.python storage.type.string.python" - }, - "2": { - "name": "punctuation.definition.string.begin.python string.quoted.raw.multi.python" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.string.end.python string.interpolated.python string.quoted.raw.multi.python" - }, - "2": { - "name": "invalid.illegal.newline.python" - } - }, - "patterns": [ - { - "include": "#fstring-raw-guts" - }, - { - "include": "#fstring-illegal-multi-brace" - }, - { - "include": "#fstring-multi-brace" - }, - { - "include": "#fstring-raw-multi-core" - } - ] - }, - "fstring-multi-core": { - "name": "string.interpolated.python string.quoted.multi.python", - "match": "(?x)\n (.+?)\n (\n (?# .* and .*? in multi-line match need special handling of\n newlines otherwise SublimeText and Atom will match slightly\n differently.\n\n The guard for newlines has to be separate from the\n lookahead because of special $ matching rule.)\n ($\\n?)\n |\n (?=[\\\\\\}\\{]|'''|\"\"\")\n )\n (?# due to how multiline regexps are matched we need a special case\n for matching a newline character)\n | \\n\n" - }, - "fstring-raw-multi-core": { - "name": "string.interpolated.python string.quoted.raw.multi.python", - "match": "(?x)\n (.+?)\n (\n (?# .* and .*? in multi-line match need special handling of\n newlines otherwise SublimeText and Atom will match slightly\n differently.\n\n The guard for newlines has to be separate from the\n lookahead because of special $ matching rule.)\n ($\\n?)\n |\n (?=[\\\\\\}\\{]|'''|\"\"\")\n )\n (?# due to how multiline regexps are matched we need a special case\n for matching a newline character)\n | \\n\n" - }, - "fstring-multi-brace": { - "comment": "value interpolation using { ... }", - "begin": "(\\{)", - "end": "(?x)\n (\\})\n", - "beginCaptures": { - "1": { - "name": "constant.character.format.placeholder.other.python" - } - }, - "endCaptures": { - "1": { - "name": "constant.character.format.placeholder.other.python" - } - }, - "patterns": [ - { - "include": "#fstring-terminator-multi" - }, - { - "include": "#f-expression" - } - ] - }, - "fstring-terminator-multi": { - "patterns": [ - { - "name": "storage.type.format.python", - "match": "(![rsa])(?=})" - }, - { - "match": "(?x)\n (![rsa])?\n ( : \\w? [<>=^]? [-+ ]? \\#?\n \\d* ,? (\\.\\d+)? [bcdeEfFgGnosxX%]? )(?=})\n", - "captures": { - "1": { - "name": "storage.type.format.python" - }, - "2": { - "name": "storage.type.format.python" - } - } - }, - { - "include": "#fstring-terminator-multi-tail" - } - ] - }, - "fstring-terminator-multi-tail": { - "begin": "(![rsa])?(:)(?=.*?{)", - "end": "(?=})", - "beginCaptures": { - "1": { - "name": "storage.type.format.python" - }, - "2": { - "name": "storage.type.format.python" - } - }, - "patterns": [ - { - "include": "#fstring-illegal-multi-brace" - }, - { - "include": "#fstring-multi-brace" - }, - { - "name": "storage.type.format.python", - "match": "([bcdeEfFgGnosxX%])(?=})" - }, - { - "name": "storage.type.format.python", - "match": "(\\.\\d+)" - }, - { - "name": "storage.type.format.python", - "match": "(,)" - }, - { - "name": "storage.type.format.python", - "match": "(\\d+)" - }, - { - "name": "storage.type.format.python", - "match": "(\\#)" - }, - { - "name": "storage.type.format.python", - "match": "([-+ ])" - }, - { - "name": "storage.type.format.python", - "match": "([<>=^])" - }, - { - "name": "storage.type.format.python", - "match": "(\\w)" - } - ] - } - } -} \ No newline at end of file + "information_for_contributors": [ + "This file has been converted from https://github.com/MagicStack/MagicPython/blob/master/grammars/MagicPython.tmLanguage", + "If you want to provide a fix or improvement, please create a pull request against the original repository.", + "Once accepted there, we are happy to receive an update request." + ], + "version": "https://github.com/MagicStack/MagicPython/commit/8ff35b3e5fcde471fae62a57ea1ae1c7cd34c9fc", + "name": "MagicPython", + "scopeName": "source.python", + "patterns": [ + { + "include": "#statement" + }, + { + "include": "#expression" + } + ], + "repository": { + "impossible": { + "comment": "This is a special rule that should be used where no match is desired. It is not a good idea to match something like '1{0}' because in some cases that can result in infinite loops in token generation. So the rule instead matches and impossible expression to allow a match to fail and move to the next token.", + "match": "$.^" + }, + "statement": { + "patterns": [ + { + "include": "#import" + }, + { + "include": "#class-declaration" + }, + { + "include": "#function-declaration" + }, + { + "include": "#statement-keyword" + }, + { + "include": "#assignment-operator" + }, + { + "include": "#decorator" + }, + { + "include": "#docstring-statement" + }, + { + "include": "#semicolon" + } + ] + }, + "semicolon": { + "patterns": [ + { + "name": "invalid.deprecated.semicolon.python", + "match": "\\;$" + } + ] + }, + "comments": { + "patterns": [ + { + "name": "comment.line.number-sign.python", + "contentName": "meta.typehint.comment.python", + "begin": "(?x)\n (?:\n \\# \\s* (type:)\n \\s*+ (?# we want `\\s*+` which is possessive quantifier since\n we do not actually want to backtrack when matching\n whitespace here)\n (?! $ | \\#)\n )\n", + "end": "(?:$|(?=\\#))", + "beginCaptures": { + "0": { + "name": "meta.typehint.comment.python" + }, + "1": { + "name": "comment.typehint.directive.notation.python" + } + }, + "patterns": [ + { + "name": "comment.typehint.ignore.notation.python", + "match": "(?x)\n \\G ignore\n (?= \\s* (?: $ | \\#))\n" + }, + { + "name": "comment.typehint.type.notation.python", + "match": "(?x)\n (?))" + }, + { + "name": "comment.typehint.variable.notation.python", + "match": "([[:alpha:]_]\\w*)" + } + ] + }, + { + "include": "#comments-base" + } + ] + }, + "docstring-statement": { + "begin": "^(?=\\s*[rR]?(\\'\\'\\'|\\\"\\\"\\\"|\\'|\\\"))", + "comment": "the string either terminates correctly or by the beginning of a new line (this is for single line docstrings that aren't terminated) AND it's not followed by another docstring", + "end": "((?<=\\1)|^)(?!\\s*[rR]?(\\'\\'\\'|\\\"\\\"\\\"|\\'|\\\"))", + "patterns": [ + { + "include": "#docstring" + } + ] + }, + "docstring": { + "patterns": [ + { + "name": "string.quoted.docstring.multi.python", + "begin": "(\\'\\'\\'|\\\"\\\"\\\")", + "end": "(\\1)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.string.begin.python" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.string.end.python" + } + }, + "patterns": [ + { + "include": "#docstring-prompt" + }, + { + "include": "#codetags" + }, + { + "include": "#docstring-guts-unicode" + } + ] + }, + { + "name": "string.quoted.docstring.raw.multi.python", + "begin": "([rR])(\\'\\'\\'|\\\"\\\"\\\")", + "end": "(\\2)", + "beginCaptures": { + "1": { + "name": "storage.type.string.python" + }, + "2": { + "name": "punctuation.definition.string.begin.python" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.string.end.python" + } + }, + "patterns": [ + { + "include": "#string-consume-escape" + }, + { + "include": "#docstring-prompt" + }, + { + "include": "#codetags" + } + ] + }, + { + "name": "string.quoted.docstring.single.python", + "begin": "(\\'|\\\")", + "end": "(\\1)|(\\n)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.string.begin.python" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.string.end.python" + }, + "2": { + "name": "invalid.illegal.newline.python" + } + }, + "patterns": [ + { + "include": "#codetags" + }, + { + "include": "#docstring-guts-unicode" + } + ] + }, + { + "name": "string.quoted.docstring.raw.single.python", + "begin": "([rR])(\\'|\\\")", + "end": "(\\2)|(\\n)", + "beginCaptures": { + "1": { + "name": "storage.type.string.python" + }, + "2": { + "name": "punctuation.definition.string.begin.python" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.string.end.python" + }, + "2": { + "name": "invalid.illegal.newline.python" + } + }, + "patterns": [ + { + "include": "#string-consume-escape" + }, + { + "include": "#codetags" + } + ] + } + ] + }, + "docstring-guts-unicode": { + "patterns": [ + { + "include": "#escape-sequence-unicode" + }, + { + "include": "#escape-sequence" + }, + { + "include": "#string-line-continuation" + } + ] + }, + "docstring-prompt": { + "match": "(?x)\n (?:\n (?:^|\\G) \\s* (?# '\\G' is necessary for ST)\n ((?:>>>|\\.\\.\\.) \\s) (?=\\s*\\S)\n )\n", + "captures": { + "1": { + "name": "keyword.control.flow.python" + } + } + }, + "statement-keyword": { + "patterns": [ + { + "name": "storage.type.function.python", + "match": "\\b((async\\s+)?\\s*def)\\b" + }, + { + "name": "keyword.control.flow.python", + "comment": "if `as` is eventually followed by `:` or line continuation\nit's probably control flow like:\n with foo as bar, \\\n Foo as Bar:\n try:\n do_stuff()\n except Exception as e:\n pass\n", + "match": "\\b(?>= | //= | \\*\\*=\n | \\+= | -= | /= | @=\n | \\*= | %= | ~= | \\^= | &= | \\|=\n | =(?!=)\n" + }, + "operator": { + "match": "(?x)\n \\b(?> | & | \\| | \\^ | ~) (?# 3)\n\n | (\\*\\* | \\* | \\+ | - | % | // | / | @) (?# 4)\n\n | (!= | == | >= | <= | < | >) (?# 5)\n", + "captures": { + "1": { + "name": "keyword.operator.logical.python" + }, + "2": { + "name": "keyword.control.flow.python" + }, + "3": { + "name": "keyword.operator.bitwise.python" + }, + "4": { + "name": "keyword.operator.arithmetic.python" + }, + "5": { + "name": "keyword.operator.comparison.python" + } + } + }, + "punctuation": { + "patterns": [ + { + "name": "punctuation.separator.colon.python", + "match": ":" + }, + { + "name": "punctuation.separator.element.python", + "match": "," + } + ] + }, + "literal": { + "patterns": [ + { + "name": "constant.language.python", + "match": "\\b(True|False|None|NotImplemented|Ellipsis)\\b" + }, + { + "include": "#number" + } + ] + }, + "number": { + "name": "constant.numeric.python", + "patterns": [ + { + "include": "#number-float" + }, + { + "include": "#number-dec" + }, + { + "include": "#number-hex" + }, + { + "include": "#number-oct" + }, + { + "include": "#number-bin" + }, + { + "include": "#number-long" + }, + { + "name": "invalid.illegal.name.python", + "match": "\\b[0-9]+\\w+" + } + ] + }, + "number-float": { + "name": "constant.numeric.float.python", + "match": "(?x)\n (?=^]? [-+ ]? \\#?\n \\d* ,? (\\.\\d+)? [bcdeEfFgGnosxX%]? )?\n })\n )\n", + "captures": { + "1": { + "name": "constant.character.format.placeholder.other.python" + }, + "3": { + "name": "storage.type.format.python" + }, + "4": { + "name": "storage.type.format.python" + } + } + }, + { + "name": "meta.format.brace.python", + "match": "(?x)\n (\n {\n \\w* (\\.[[:alpha:]_]\\w* | \\[[^\\]'\"]+\\])*\n (![rsa])?\n (:)\n [^'\"{}\\n]* (?:\n \\{ [^'\"}\\n]*? \\} [^'\"{}\\n]*\n )*\n }\n )\n", + "captures": { + "1": { + "name": "constant.character.format.placeholder.other.python" + }, + "3": { + "name": "storage.type.format.python" + }, + "4": { + "name": "storage.type.format.python" + } + } + } + ] + }, + "fstring-formatting": { + "patterns": [ + { + "include": "#fstring-formatting-braces" + }, + { + "include": "#fstring-formatting-singe-brace" + } + ] + }, + "fstring-formatting-singe-brace": { + "name": "invalid.illegal.brace.python", + "match": "(}(?!}))" + }, + "import": { + "comment": "Import statements used to correctly mark `from`, `import`, and `as`\n", + "patterns": [ + { + "begin": "\\b(?)", + "end": "(?=:)", + "beginCaptures": { + "1": { + "name": "punctuation.separator.annotation.result.python" + } + }, + "patterns": [ + { + "include": "#expression" + } + ] + }, + "item-access": { + "patterns": [ + { + "name": "meta.item-access.python", + "begin": "(?x)\n \\b(?=\n [[:alpha:]_]\\w* \\s* \\[\n )\n", + "end": "(\\])", + "endCaptures": { + "1": { + "name": "punctuation.definition.arguments.end.python" + } + }, + "patterns": [ + { + "include": "#item-name" + }, + { + "include": "#item-index" + }, + { + "include": "#expression" + } + ] + } + ] + }, + "item-name": { + "patterns": [ + { + "include": "#special-variables" + }, + { + "include": "#builtin-functions" + }, + { + "include": "#special-names" + }, + { + "match": "(?x)\n \\b ([[:alpha:]_]\\w*) \\b\n" + } + ] + }, + "item-index": { + "begin": "(\\[)", + "end": "(?=\\])", + "beginCaptures": { + "1": { + "name": "punctuation.definition.arguments.begin.python" + } + }, + "contentName": "meta.item-access.arguments.python", + "patterns": [ + { + "name": "punctuation.separator.slice.python", + "match": ":" + }, + { + "include": "#expression" + } + ] + }, + "decorator": { + "name": "meta.function.decorator.python", + "begin": "(?x)\n ^\\s*\n ((@)) \\s* (?=[[:alpha:]_]\\w*)\n", + "end": "(?x)\n ( \\) )\n # trailing whitespace and comments are legal\n (?: (.*?) (?=\\s*(?:\\#|$)) )\n | (?=\\n|\\#)\n", + "beginCaptures": { + "1": { + "name": "entity.name.function.decorator.python" + }, + "2": { + "name": "punctuation.definition.decorator.python" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.arguments.end.python" + }, + "2": { + "name": "invalid.illegal.decorator.python" + } + }, + "patterns": [ + { + "include": "#decorator-name" + }, + { + "include": "#function-arguments" + } + ] + }, + "decorator-name": { + "patterns": [ + { + "include": "#builtin-callables" + }, + { + "include": "#illegal-object-name" + }, + { + "name": "entity.name.function.decorator.python", + "match": "(?x)\n ([[:alpha:]_]\\w*) | (\\.)\n", + "captures": { + "2": { + "name": "punctuation.separator.period.python" + } + } + }, + { + "include": "#line-continuation" + }, + { + "name": "invalid.illegal.decorator.python", + "match": "(?x)\n \\s* ([^([:alpha:]\\s_\\.#\\\\] .*?) (?=\\#|$)\n", + "captures": { + "1": { + "name": "invalid.illegal.decorator.python" + } + } + } + ] + }, + "call-wrapper-inheritance": { + "comment": "same as a function call, but in inheritance context", + "name": "meta.function-call.python", + "begin": "(?x)\n \\b(?=\n ([[:alpha:]_]\\w*) \\s* (\\()\n )\n", + "end": "(\\))", + "endCaptures": { + "1": { + "name": "punctuation.definition.arguments.end.python" + } + }, + "patterns": [ + { + "include": "#inheritance-name" + }, + { + "include": "#function-arguments" + } + ] + }, + "inheritance-name": { + "patterns": [ + { + "include": "#lambda-incomplete" + }, + { + "include": "#builtin-possible-callables" + }, + { + "include": "#inheritance-identifier" + } + ] + }, + "function-call": { + "name": "meta.function-call.python", + "begin": "(?x)\n \\b(?=\n ([[:alpha:]_]\\w*) \\s* (\\()\n )\n", + "end": "(\\))", + "endCaptures": { + "1": { + "name": "punctuation.definition.arguments.end.python" + } + }, + "patterns": [ + { + "include": "#special-variables" + }, + { + "include": "#function-name" + }, + { + "include": "#function-arguments" + } + ] + }, + "function-name": { + "patterns": [ + { + "include": "#builtin-possible-callables" + }, + { + "comment": "Some color schemas support meta.function-call.generic scope", + "name": "meta.function-call.generic.python", + "match": "(?x)\n \\b ([[:alpha:]_]\\w*) \\b\n" + } + ] + }, + "function-arguments": { + "begin": "(\\()", + "end": "(?=\\))(?!\\)\\s*\\()", + "beginCaptures": { + "1": { + "name": "punctuation.definition.arguments.begin.python" + } + }, + "contentName": "meta.function-call.arguments.python", + "patterns": [ + { + "name": "punctuation.separator.arguments.python", + "match": "(,)" + }, + { + "match": "(?x)\n (?:(?<=[,(])|^) \\s* (\\*{1,2})\n", + "captures": { + "1": { + "name": "keyword.operator.unpacking.arguments.python" + } + } + }, + { + "include": "#lambda-incomplete" + }, + { + "include": "#illegal-names" + }, + { + "match": "\\b([[:alpha:]_]\\w*)\\s*(=)(?!=)", + "captures": { + "1": { + "name": "variable.parameter.function-call.python" + }, + "2": { + "name": "keyword.operator.assignment.python" + } + } + }, + { + "name": "keyword.operator.assignment.python", + "match": "=(?!=)" + }, + { + "include": "#expression" + }, + { + "match": "\\s*(\\))\\s*(\\()", + "captures": { + "1": { + "name": "punctuation.definition.arguments.end.python" + }, + "2": { + "name": "punctuation.definition.arguments.begin.python" + } + } + } + ] + }, + "builtin-callables": { + "patterns": [ + { + "include": "#illegal-names" + }, + { + "include": "#illegal-object-name" + }, + { + "include": "#builtin-exceptions" + }, + { + "include": "#builtin-functions" + }, + { + "include": "#builtin-types" + } + ] + }, + "builtin-possible-callables": { + "patterns": [ + { + "include": "#builtin-callables" + }, + { + "include": "#magic-names" + } + ] + }, + "builtin-exceptions": { + "name": "support.type.exception.python", + "match": "(?x) (?" + }, + "regexp-base-expression": { + "patterns": [ + { + "include": "#regexp-quantifier" + }, + { + "include": "#regexp-base-common" + } + ] + }, + "fregexp-base-expression": { + "patterns": [ + { + "include": "#fregexp-quantifier" + }, + { + "include": "#fstring-formatting-braces" + }, + { + "match": "\\{.*?\\}" + }, + { + "include": "#regexp-base-common" + } + ] + }, + "fstring-formatting-braces": { + "patterns": [ + { + "comment": "empty braces are illegal", + "match": "({)(\\s*?)(})", + "captures": { + "1": { + "name": "constant.character.format.placeholder.other.python" + }, + "2": { + "name": "invalid.illegal.brace.python" + }, + "3": { + "name": "constant.character.format.placeholder.other.python" + } + } + }, + { + "name": "constant.character.escape.python", + "match": "({{|}})" + } + ] + }, + "regexp-base-common": { + "patterns": [ + { + "name": "support.other.match.any.regexp", + "match": "\\." + }, + { + "name": "support.other.match.begin.regexp", + "match": "\\^" + }, + { + "name": "support.other.match.end.regexp", + "match": "\\$" + }, + { + "name": "keyword.operator.quantifier.regexp", + "match": "[+*?]\\??" + }, + { + "name": "keyword.operator.disjunction.regexp", + "match": "\\|" + }, + { + "include": "#regexp-escape-sequence" + } + ] + }, + "regexp-quantifier": { + "name": "keyword.operator.quantifier.regexp", + "match": "(?x)\n \\{(\n \\d+ | \\d+,(\\d+)? | ,\\d+\n )\\}\n" + }, + "fregexp-quantifier": { + "name": "keyword.operator.quantifier.regexp", + "match": "(?x)\n \\{\\{(\n \\d+ | \\d+,(\\d+)? | ,\\d+\n )\\}\\}\n" + }, + "regexp-backreference-number": { + "name": "meta.backreference.regexp", + "match": "(\\\\[1-9]\\d?)", + "captures": { + "1": { + "name": "entity.name.tag.backreference.regexp" + } + } + }, + "regexp-backreference": { + "name": "meta.backreference.named.regexp", + "match": "(?x)\n (\\() (\\?P= \\w+(?:\\s+[[:alnum:]]+)?) (\\))\n", + "captures": { + "1": { + "name": "support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.begin.regexp" + }, + "2": { + "name": "entity.name.tag.named.backreference.regexp" + }, + "3": { + "name": "support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.end.regexp" + } + } + }, + "regexp-flags": { + "name": "storage.modifier.flag.regexp", + "match": "\\(\\?[aiLmsux]+\\)" + }, + "regexp-escape-special": { + "name": "support.other.escape.special.regexp", + "match": "\\\\([AbBdDsSwWZ])" + }, + "regexp-escape-character": { + "name": "constant.character.escape.regexp", + "match": "(?x)\n \\\\ (\n x[0-9A-Fa-f]{2}\n | 0[0-7]{1,2}\n | [0-7]{3}\n )\n" + }, + "regexp-escape-unicode": { + "name": "constant.character.unicode.regexp", + "match": "(?x)\n \\\\ (\n u[0-9A-Fa-f]{4}\n | U[0-9A-Fa-f]{8}\n )\n" + }, + "regexp-escape-catchall": { + "name": "constant.character.escape.regexp", + "match": "\\\\(.|\\n)" + }, + "regexp-escape-sequence": { + "patterns": [ + { + "include": "#regexp-escape-special" + }, + { + "include": "#regexp-escape-character" + }, + { + "include": "#regexp-escape-unicode" + }, + { + "include": "#regexp-backreference-number" + }, + { + "include": "#regexp-escape-catchall" + } + ] + }, + "regexp-charecter-set-escapes": { + "patterns": [ + { + "name": "constant.character.escape.regexp", + "match": "\\\\[abfnrtv\\\\]" + }, + { + "include": "#regexp-escape-special" + }, + { + "name": "constant.character.escape.regexp", + "match": "\\\\([0-7]{1,3})" + }, + { + "include": "#regexp-escape-character" + }, + { + "include": "#regexp-escape-unicode" + }, + { + "include": "#regexp-escape-catchall" + } + ] + }, + "codetags": { + "match": "(?:\\b(NOTE|XXX|HACK|FIXME|BUG|TODO)\\b)", + "captures": { + "1": { + "name": "keyword.codetag.notation.python" + } + } + }, + "comments-base": { + "name": "comment.line.number-sign.python", + "begin": "(\\#)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.comment.python" + } + }, + "end": "($)", + "patterns": [ + { + "include": "#codetags" + } + ] + }, + "comments-string-single-three": { + "name": "comment.line.number-sign.python", + "begin": "(\\#)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.comment.python" + } + }, + "end": "($|(?='''))", + "patterns": [ + { + "include": "#codetags" + } + ] + }, + "comments-string-double-three": { + "name": "comment.line.number-sign.python", + "begin": "(\\#)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.comment.python" + } + }, + "end": "($|(?=\"\"\"))", + "patterns": [ + { + "include": "#codetags" + } + ] + }, + "single-one-regexp-expression": { + "patterns": [ + { + "include": "#regexp-base-expression" + }, + { + "include": "#single-one-regexp-character-set" + }, + { + "include": "#single-one-regexp-comments" + }, + { + "include": "#regexp-flags" + }, + { + "include": "#single-one-regexp-named-group" + }, + { + "include": "#regexp-backreference" + }, + { + "include": "#single-one-regexp-lookahead" + }, + { + "include": "#single-one-regexp-lookahead-negative" + }, + { + "include": "#single-one-regexp-lookbehind" + }, + { + "include": "#single-one-regexp-lookbehind-negative" + }, + { + "include": "#single-one-regexp-conditional" + }, + { + "include": "#single-one-regexp-parentheses-non-capturing" + }, + { + "include": "#single-one-regexp-parentheses" + } + ] + }, + "single-one-regexp-character-set": { + "patterns": [ + { + "match": "(?x)\n \\[ \\^? \\] (?! .*?\\])\n" + }, + { + "name": "meta.character.set.regexp", + "begin": "(\\[)(\\^)?(\\])?", + "end": "(\\]|(?=\\'))|((?=(?)\n", + "end": "(\\)|(?=\\'))|((?=(?)\n", + "end": "(\\)|(?=\\'\\'\\'))", + "beginCaptures": { + "1": { + "name": "support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp" + }, + "2": { + "name": "entity.name.tag.named.group.regexp" + } + }, + "endCaptures": { + "1": { + "name": "support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp" + }, + "2": { + "name": "invalid.illegal.newline.python" + } + }, + "patterns": [ + { + "include": "#single-three-regexp-expression" + }, + { + "include": "#comments-string-single-three" + } + ] + }, + "single-three-regexp-comments": { + "name": "comment.regexp", + "begin": "\\(\\?#", + "end": "(\\)|(?=\\'\\'\\'))", + "beginCaptures": { + "0": { + "name": "punctuation.comment.begin.regexp" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.comment.end.regexp" + }, + "2": { + "name": "invalid.illegal.newline.python" + } + }, + "patterns": [ + { + "include": "#codetags" + } + ] + }, + "single-three-regexp-lookahead": { + "begin": "(\\()\\?=", + "end": "(\\)|(?=\\'\\'\\'))", + "beginCaptures": { + "0": { + "name": "keyword.operator.lookahead.regexp" + }, + "1": { + "name": "punctuation.parenthesis.lookahead.begin.regexp" + } + }, + "endCaptures": { + "1": { + "name": "keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp" + }, + "2": { + "name": "invalid.illegal.newline.python" + } + }, + "patterns": [ + { + "include": "#single-three-regexp-expression" + }, + { + "include": "#comments-string-single-three" + } + ] + }, + "single-three-regexp-lookahead-negative": { + "begin": "(\\()\\?!", + "end": "(\\)|(?=\\'\\'\\'))", + "beginCaptures": { + "0": { + "name": "keyword.operator.lookahead.negative.regexp" + }, + "1": { + "name": "punctuation.parenthesis.lookahead.begin.regexp" + } + }, + "endCaptures": { + "1": { + "name": "keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp" + }, + "2": { + "name": "invalid.illegal.newline.python" + } + }, + "patterns": [ + { + "include": "#single-three-regexp-expression" + }, + { + "include": "#comments-string-single-three" + } + ] + }, + "single-three-regexp-lookbehind": { + "begin": "(\\()\\?<=", + "end": "(\\)|(?=\\'\\'\\'))", + "beginCaptures": { + "0": { + "name": "keyword.operator.lookbehind.regexp" + }, + "1": { + "name": "punctuation.parenthesis.lookbehind.begin.regexp" + } + }, + "endCaptures": { + "1": { + "name": "keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp" + }, + "2": { + "name": "invalid.illegal.newline.python" + } + }, + "patterns": [ + { + "include": "#single-three-regexp-expression" + }, + { + "include": "#comments-string-single-three" + } + ] + }, + "single-three-regexp-lookbehind-negative": { + "begin": "(\\()\\?)\n", + "end": "(\\)|(?=\"))|((?=(?)\n", + "end": "(\\)|(?=\"\"\"))", + "beginCaptures": { + "1": { + "name": "support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp" + }, + "2": { + "name": "entity.name.tag.named.group.regexp" + } + }, + "endCaptures": { + "1": { + "name": "support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp" + }, + "2": { + "name": "invalid.illegal.newline.python" + } + }, + "patterns": [ + { + "include": "#double-three-regexp-expression" + }, + { + "include": "#comments-string-double-three" + } + ] + }, + "double-three-regexp-comments": { + "name": "comment.regexp", + "begin": "\\(\\?#", + "end": "(\\)|(?=\"\"\"))", + "beginCaptures": { + "0": { + "name": "punctuation.comment.begin.regexp" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.comment.end.regexp" + }, + "2": { + "name": "invalid.illegal.newline.python" + } + }, + "patterns": [ + { + "include": "#codetags" + } + ] + }, + "double-three-regexp-lookahead": { + "begin": "(\\()\\?=", + "end": "(\\)|(?=\"\"\"))", + "beginCaptures": { + "0": { + "name": "keyword.operator.lookahead.regexp" + }, + "1": { + "name": "punctuation.parenthesis.lookahead.begin.regexp" + } + }, + "endCaptures": { + "1": { + "name": "keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp" + }, + "2": { + "name": "invalid.illegal.newline.python" + } + }, + "patterns": [ + { + "include": "#double-three-regexp-expression" + }, + { + "include": "#comments-string-double-three" + } + ] + }, + "double-three-regexp-lookahead-negative": { + "begin": "(\\()\\?!", + "end": "(\\)|(?=\"\"\"))", + "beginCaptures": { + "0": { + "name": "keyword.operator.lookahead.negative.regexp" + }, + "1": { + "name": "punctuation.parenthesis.lookahead.begin.regexp" + } + }, + "endCaptures": { + "1": { + "name": "keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp" + }, + "2": { + "name": "invalid.illegal.newline.python" + } + }, + "patterns": [ + { + "include": "#double-three-regexp-expression" + }, + { + "include": "#comments-string-double-three" + } + ] + }, + "double-three-regexp-lookbehind": { + "begin": "(\\()\\?<=", + "end": "(\\)|(?=\"\"\"))", + "beginCaptures": { + "0": { + "name": "keyword.operator.lookbehind.regexp" + }, + "1": { + "name": "punctuation.parenthesis.lookbehind.begin.regexp" + } + }, + "endCaptures": { + "1": { + "name": "keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp" + }, + "2": { + "name": "invalid.illegal.newline.python" + } + }, + "patterns": [ + { + "include": "#double-three-regexp-expression" + }, + { + "include": "#comments-string-double-three" + } + ] + }, + "double-three-regexp-lookbehind-negative": { + "begin": "(\\()\\?)\n", + "end": "(\\)|(?=\\'))|((?=(?)\n", + "end": "(\\)|(?=\\'\\'\\'))", + "beginCaptures": { + "1": { + "name": "support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp" + }, + "2": { + "name": "entity.name.tag.named.group.regexp" + } + }, + "endCaptures": { + "1": { + "name": "support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp" + }, + "2": { + "name": "invalid.illegal.newline.python" + } + }, + "patterns": [ + { + "include": "#single-three-fregexp-expression" + }, + { + "include": "#comments-string-single-three" + } + ] + }, + "single-three-fregexp-lookahead": { + "begin": "(\\()\\?=", + "end": "(\\)|(?=\\'\\'\\'))", + "beginCaptures": { + "0": { + "name": "keyword.operator.lookahead.regexp" + }, + "1": { + "name": "punctuation.parenthesis.lookahead.begin.regexp" + } + }, + "endCaptures": { + "1": { + "name": "keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp" + }, + "2": { + "name": "invalid.illegal.newline.python" + } + }, + "patterns": [ + { + "include": "#single-three-fregexp-expression" + }, + { + "include": "#comments-string-single-three" + } + ] + }, + "single-three-fregexp-lookahead-negative": { + "begin": "(\\()\\?!", + "end": "(\\)|(?=\\'\\'\\'))", + "beginCaptures": { + "0": { + "name": "keyword.operator.lookahead.negative.regexp" + }, + "1": { + "name": "punctuation.parenthesis.lookahead.begin.regexp" + } + }, + "endCaptures": { + "1": { + "name": "keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp" + }, + "2": { + "name": "invalid.illegal.newline.python" + } + }, + "patterns": [ + { + "include": "#single-three-fregexp-expression" + }, + { + "include": "#comments-string-single-three" + } + ] + }, + "single-three-fregexp-lookbehind": { + "begin": "(\\()\\?<=", + "end": "(\\)|(?=\\'\\'\\'))", + "beginCaptures": { + "0": { + "name": "keyword.operator.lookbehind.regexp" + }, + "1": { + "name": "punctuation.parenthesis.lookbehind.begin.regexp" + } + }, + "endCaptures": { + "1": { + "name": "keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp" + }, + "2": { + "name": "invalid.illegal.newline.python" + } + }, + "patterns": [ + { + "include": "#single-three-fregexp-expression" + }, + { + "include": "#comments-string-single-three" + } + ] + }, + "single-three-fregexp-lookbehind-negative": { + "begin": "(\\()\\?)\n", + "end": "(\\)|(?=\"))|((?=(?)\n", + "end": "(\\)|(?=\"\"\"))", + "beginCaptures": { + "1": { + "name": "support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp" + }, + "2": { + "name": "entity.name.tag.named.group.regexp" + } + }, + "endCaptures": { + "1": { + "name": "support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp" + }, + "2": { + "name": "invalid.illegal.newline.python" + } + }, + "patterns": [ + { + "include": "#double-three-fregexp-expression" + }, + { + "include": "#comments-string-double-three" + } + ] + }, + "double-three-fregexp-lookahead": { + "begin": "(\\()\\?=", + "end": "(\\)|(?=\"\"\"))", + "beginCaptures": { + "0": { + "name": "keyword.operator.lookahead.regexp" + }, + "1": { + "name": "punctuation.parenthesis.lookahead.begin.regexp" + } + }, + "endCaptures": { + "1": { + "name": "keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp" + }, + "2": { + "name": "invalid.illegal.newline.python" + } + }, + "patterns": [ + { + "include": "#double-three-fregexp-expression" + }, + { + "include": "#comments-string-double-three" + } + ] + }, + "double-three-fregexp-lookahead-negative": { + "begin": "(\\()\\?!", + "end": "(\\)|(?=\"\"\"))", + "beginCaptures": { + "0": { + "name": "keyword.operator.lookahead.negative.regexp" + }, + "1": { + "name": "punctuation.parenthesis.lookahead.begin.regexp" + } + }, + "endCaptures": { + "1": { + "name": "keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp" + }, + "2": { + "name": "invalid.illegal.newline.python" + } + }, + "patterns": [ + { + "include": "#double-three-fregexp-expression" + }, + { + "include": "#comments-string-double-three" + } + ] + }, + "double-three-fregexp-lookbehind": { + "begin": "(\\()\\?<=", + "end": "(\\)|(?=\"\"\"))", + "beginCaptures": { + "0": { + "name": "keyword.operator.lookbehind.regexp" + }, + "1": { + "name": "punctuation.parenthesis.lookbehind.begin.regexp" + } + }, + "endCaptures": { + "1": { + "name": "keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp" + }, + "2": { + "name": "invalid.illegal.newline.python" + } + }, + "patterns": [ + { + "include": "#double-three-fregexp-expression" + }, + { + "include": "#comments-string-double-three" + } + ] + }, + "double-three-fregexp-lookbehind-negative": { + "begin": "(\\()\\?=^]? [-+ ]? \\#?\n \\d* ,? (\\.\\d+)? [bcdeEfFgGnosxX%]? )(?=})\n", + "captures": { + "1": { + "name": "storage.type.format.python" + }, + "2": { + "name": "storage.type.format.python" + } + } + }, + { + "include": "#fstring-terminator-single-tail" + } + ] + }, + "fstring-terminator-single-tail": { + "begin": "(![rsa])?(:)(?=.*?{)", + "end": "(?=})|(?=\\n)", + "beginCaptures": { + "1": { + "name": "storage.type.format.python" + }, + "2": { + "name": "storage.type.format.python" + } + }, + "patterns": [ + { + "include": "#fstring-illegal-single-brace" + }, + { + "include": "#fstring-single-brace" + }, + { + "name": "storage.type.format.python", + "match": "([bcdeEfFgGnosxX%])(?=})" + }, + { + "name": "storage.type.format.python", + "match": "(\\.\\d+)" + }, + { + "name": "storage.type.format.python", + "match": "(,)" + }, + { + "name": "storage.type.format.python", + "match": "(\\d+)" + }, + { + "name": "storage.type.format.python", + "match": "(\\#)" + }, + { + "name": "storage.type.format.python", + "match": "([-+ ])" + }, + { + "name": "storage.type.format.python", + "match": "([<>=^])" + }, + { + "name": "storage.type.format.python", + "match": "(\\w)" + } + ] + }, + "fstring-fnorm-quoted-multi-line": { + "name": "meta.fstring.python", + "begin": "(\\b[fF])([bBuU])?('''|\"\"\")", + "end": "(\\3)", + "beginCaptures": { + "1": { + "name": "string.interpolated.python string.quoted.multi.python storage.type.string.python" + }, + "2": { + "name": "invalid.illegal.prefix.python" + }, + "3": { + "name": "punctuation.definition.string.begin.python string.interpolated.python string.quoted.multi.python" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.string.end.python string.interpolated.python string.quoted.multi.python" + }, + "2": { + "name": "invalid.illegal.newline.python" + } + }, + "patterns": [ + { + "include": "#fstring-guts" + }, + { + "include": "#fstring-illegal-multi-brace" + }, + { + "include": "#fstring-multi-brace" + }, + { + "include": "#fstring-multi-core" + } + ] + }, + "fstring-normf-quoted-multi-line": { + "name": "meta.fstring.python", + "begin": "(\\b[bBuU])([fF])('''|\"\"\")", + "end": "(\\3)", + "beginCaptures": { + "1": { + "name": "invalid.illegal.prefix.python" + }, + "2": { + "name": "string.interpolated.python string.quoted.multi.python storage.type.string.python" + }, + "3": { + "name": "punctuation.definition.string.begin.python string.quoted.multi.python" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.string.end.python string.interpolated.python string.quoted.multi.python" + }, + "2": { + "name": "invalid.illegal.newline.python" + } + }, + "patterns": [ + { + "include": "#fstring-guts" + }, + { + "include": "#fstring-illegal-multi-brace" + }, + { + "include": "#fstring-multi-brace" + }, + { + "include": "#fstring-multi-core" + } + ] + }, + "fstring-raw-quoted-multi-line": { + "name": "meta.fstring.python", + "begin": "(\\b(?:[R][fF]|[fF][R]))('''|\"\"\")", + "end": "(\\2)", + "beginCaptures": { + "1": { + "name": "string.interpolated.python string.quoted.raw.multi.python storage.type.string.python" + }, + "2": { + "name": "punctuation.definition.string.begin.python string.quoted.raw.multi.python" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.definition.string.end.python string.interpolated.python string.quoted.raw.multi.python" + }, + "2": { + "name": "invalid.illegal.newline.python" + } + }, + "patterns": [ + { + "include": "#fstring-raw-guts" + }, + { + "include": "#fstring-illegal-multi-brace" + }, + { + "include": "#fstring-multi-brace" + }, + { + "include": "#fstring-raw-multi-core" + } + ] + }, + "fstring-multi-core": { + "name": "string.interpolated.python string.quoted.multi.python", + "match": "(?x)\n (.+?)\n (\n (?# .* and .*? in multi-line match need special handling of\n newlines otherwise SublimeText and Atom will match slightly\n differently.\n\n The guard for newlines has to be separate from the\n lookahead because of special $ matching rule.)\n ($\\n?)\n |\n (?=[\\\\\\}\\{]|'''|\"\"\")\n )\n (?# due to how multiline regexps are matched we need a special case\n for matching a newline character)\n | \\n\n" + }, + "fstring-raw-multi-core": { + "name": "string.interpolated.python string.quoted.raw.multi.python", + "match": "(?x)\n (.+?)\n (\n (?# .* and .*? in multi-line match need special handling of\n newlines otherwise SublimeText and Atom will match slightly\n differently.\n\n The guard for newlines has to be separate from the\n lookahead because of special $ matching rule.)\n ($\\n?)\n |\n (?=[\\\\\\}\\{]|'''|\"\"\")\n )\n (?# due to how multiline regexps are matched we need a special case\n for matching a newline character)\n | \\n\n" + }, + "fstring-multi-brace": { + "comment": "value interpolation using { ... }", + "begin": "(\\{)", + "end": "(?x)\n (\\})\n", + "beginCaptures": { + "1": { + "name": "constant.character.format.placeholder.other.python" + } + }, + "endCaptures": { + "1": { + "name": "constant.character.format.placeholder.other.python" + } + }, + "patterns": [ + { + "include": "#fstring-terminator-multi" + }, + { + "include": "#f-expression" + } + ] + }, + "fstring-terminator-multi": { + "patterns": [ + { + "name": "storage.type.format.python", + "match": "(![rsa])(?=})" + }, + { + "match": "(?x)\n (![rsa])?\n ( : \\w? [<>=^]? [-+ ]? \\#?\n \\d* ,? (\\.\\d+)? [bcdeEfFgGnosxX%]? )(?=})\n", + "captures": { + "1": { + "name": "storage.type.format.python" + }, + "2": { + "name": "storage.type.format.python" + } + } + }, + { + "include": "#fstring-terminator-multi-tail" + } + ] + }, + "fstring-terminator-multi-tail": { + "begin": "(![rsa])?(:)(?=.*?{)", + "end": "(?=})", + "beginCaptures": { + "1": { + "name": "storage.type.format.python" + }, + "2": { + "name": "storage.type.format.python" + } + }, + "patterns": [ + { + "include": "#fstring-illegal-multi-brace" + }, + { + "include": "#fstring-multi-brace" + }, + { + "name": "storage.type.format.python", + "match": "([bcdeEfFgGnosxX%])(?=})" + }, + { + "name": "storage.type.format.python", + "match": "(\\.\\d+)" + }, + { + "name": "storage.type.format.python", + "match": "(,)" + }, + { + "name": "storage.type.format.python", + "match": "(\\d+)" + }, + { + "name": "storage.type.format.python", + "match": "(\\#)" + }, + { + "name": "storage.type.format.python", + "match": "([-+ ])" + }, + { + "name": "storage.type.format.python", + "match": "([<>=^])" + }, + { + "name": "storage.type.format.python", + "match": "(\\w)" + } + ] + } + } +} diff --git a/resources/dark/export_to_python.svg b/resources/dark/export_to_python.svg new file mode 100644 index 000000000000..a68ca2942cb7 --- /dev/null +++ b/resources/dark/export_to_python.svg @@ -0,0 +1,4 @@ + + + + diff --git a/resources/dark/restart-kernel.svg b/resources/dark/restart-kernel.svg new file mode 100644 index 000000000000..720bc53df88c --- /dev/null +++ b/resources/dark/restart-kernel.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/dark/trusted.svg b/resources/dark/trusted.svg new file mode 100644 index 000000000000..a841903129b0 --- /dev/null +++ b/resources/dark/trusted.svg @@ -0,0 +1,4 @@ + + + + diff --git a/resources/dark/un-trusted.svg b/resources/dark/un-trusted.svg new file mode 100644 index 000000000000..f97f5f561d9e --- /dev/null +++ b/resources/dark/un-trusted.svg @@ -0,0 +1,4 @@ + + + diff --git a/resources/defaultTheme.json b/resources/defaultTheme.json index c73f4e01b0b0..2f714d6fc8d2 100644 --- a/resources/defaultTheme.json +++ b/resources/defaultTheme.json @@ -1,370 +1,358 @@ { - "$schema": "vscode://schemas/color-theme", - "name": "Embedded Light Theme", - "tokenColors": [ - { - "scope": ["meta.embedded", "source.groovy.embedded"], - "settings": { - "foreground": "#000000ff" - } - }, - { - "scope": "emphasis", - "settings": { - "fontStyle": "italic" - } - }, - { - "scope": "strong", - "settings": { - "fontStyle": "bold" - } - }, - { - "scope": "meta.diff.header", - "settings": { - "foreground": "#000080" - } - }, - { - "scope": "comment", - "settings": { - "foreground": "#008000" - } - }, - { - "scope": "constant.language", - "settings": { - "foreground": "#0000ff" - } - }, - { - "scope": [ - "constant.numeric" - ], - "settings": { - "foreground": "#09885a" - } - }, - { - "scope": "constant.regexp", - "settings": { - "foreground": "#811f3f" - } - }, - { - "name": "css tags in selectors, xml tags", - "scope": "entity.name.tag", - "settings": { - "foreground": "#800000" - } - }, - { - "scope": "entity.name.selector", - "settings": { - "foreground": "#800000" - } - }, - { - "scope": "entity.other.attribute-name", - "settings": { - "foreground": "#ff0000" - } - }, - { - "scope": [ - "entity.other.attribute-name.class.css", - "entity.other.attribute-name.class.mixin.css", - "entity.other.attribute-name.id.css", - "entity.other.attribute-name.parent-selector.css", - "entity.other.attribute-name.pseudo-class.css", - "entity.other.attribute-name.pseudo-element.css", - "source.css.less entity.other.attribute-name.id", - "entity.other.attribute-name.attribute.scss", - "entity.other.attribute-name.scss" - ], - "settings": { - "foreground": "#800000" - } - }, - { - "scope": "invalid", - "settings": { - "foreground": "#cd3131" - } - }, - { - "scope": "markup.underline", - "settings": { - "fontStyle": "underline" - } - }, - { - "scope": "markup.bold", - "settings": { - "fontStyle": "bold", - "foreground": "#000080" - } - }, - { - "scope": "markup.heading", - "settings": { - "fontStyle": "bold", - "foreground": "#800000" - } - }, - { - "scope": "markup.italic", - "settings": { - "fontStyle": "italic" - } - }, - { - "scope": "markup.inserted", - "settings": { - "foreground": "#09885a" - } - }, - { - "scope": "markup.deleted", - "settings": { - "foreground": "#a31515" - } - }, - { - "scope": "markup.changed", - "settings": { - "foreground": "#0451a5" - } - }, - { - "scope": [ - "punctuation.definition.quote.begin.markdown", - "punctuation.definition.list.begin.markdown" - ], - "settings": { - "foreground": "#0451a5" - } - }, - { - "scope": "markup.inline.raw", - "settings": { - "foreground": "#800000" - } - }, - { - "name": "brackets of XML/HTML tags", - "scope": "punctuation.definition.tag", - "settings": { - "foreground": "#800000" - } - }, - { - "scope": "meta.preprocessor", - "settings": { - "foreground": "#0000ff" - } - }, - { - "scope": "meta.preprocessor.string", - "settings": { - "foreground": "#a31515" - } - }, - { - "scope": "meta.preprocessor.numeric", - "settings": { - "foreground": "#09885a" - } - }, - { - "scope": "meta.structure.dictionary.key.python", - "settings": { - "foreground": "#0451a5" - } - }, - { - "scope": "storage", - "settings": { - "foreground": "#0000ff" - } - }, - { - "scope": "storage.type", - "settings": { - "foreground": "#0000ff" - } - }, - { - "scope": "storage.modifier", - "settings": { - "foreground": "#0000ff" - } - }, - { - "scope": "string", - "settings": { - "foreground": "#a31515" - } - }, - { - "scope": [ - "string.comment.buffered.block.pug", - "string.quoted.pug", - "string.interpolated.pug", - "string.unquoted.plain.in.yaml", - "string.unquoted.plain.out.yaml", - "string.unquoted.block.yaml", - "string.quoted.single.yaml", - "string.quoted.double.xml", - "string.quoted.single.xml", - "string.unquoted.cdata.xml", - "string.quoted.double.html", - "string.quoted.single.html", - "string.unquoted.html", - "string.quoted.single.handlebars", - "string.quoted.double.handlebars" - ], - "settings": { - "foreground": "#0000ff" - } - }, - { - "scope": "string.regexp", - "settings": { - "foreground": "#811f3f" - } - }, - { - "name": "String interpolation", - "scope": [ - "punctuation.definition.template-expression.begin", - "punctuation.definition.template-expression.end", - "punctuation.section.embedded" - ], - "settings": { - "foreground": "#0000ff" - } - }, - { - "name": "Reset JavaScript string interpolation expression", - "scope": [ - "meta.template.expression" - ], - "settings": { - "foreground": "#000000" - } - }, - { - "scope": [ - "support.constant.property-value", - "support.constant.font-name", - "support.constant.media-type", - "support.constant.media", - "constant.other.color.rgb-value", - "constant.other.rgb-value", - "support.constant.color" - ], - "settings": { - "foreground": "#0451a5" - } - }, - { - "scope": [ - "support.type.vendored.property-name", - "support.type.property-name", - "variable.css", - "variable.scss", - "variable.other.less", - "source.coffee.embedded" - ], - "settings": { - "foreground": "#ff0000" - } - }, - { - "scope": [ - "support.type.property-name.json" - ], - "settings": { - "foreground": "#0451a5" - } - }, - { - "scope": "keyword", - "settings": { - "foreground": "#0000ff" - } - }, - { - "scope": "keyword.control", - "settings": { - "foreground": "#0000ff" - } - }, - { - "scope": "keyword.operator", - "settings": { - "foreground": "#000000" - } - }, - { - "scope": [ - "keyword.operator.new", - "keyword.operator.expression", - "keyword.operator.cast", - "keyword.operator.sizeof", - "keyword.operator.instanceof", - "keyword.operator.logical.python" - ], - "settings": { - "foreground": "#0000ff" - } - }, - { - "scope": "keyword.other.unit", - "settings": { - "foreground": "#09885a" - } - }, - { - "scope": [ - "punctuation.section.embedded.begin.php", - "punctuation.section.embedded.end.php" - ], - "settings": { - "foreground": "#800000" - } - }, - { - "scope": "support.function.git-rebase", - "settings": { - "foreground": "#0451a5" - } - }, - { - "scope": "constant.sha.git-rebase", - "settings": { - "foreground": "#09885a" - } - }, - { - "name": "coloring of the Java import and package identifiers", - "scope": [ - "storage.modifier.import.java", - "variable.language.wildcard.java", - "storage.modifier.package.java" - ], - "settings": { - "foreground": "#000000" - } - }, - { - "name": "this.self", - "scope": "variable.language", - "settings": { - "foreground": "#0000ff" - } - } - ] + "$schema": "vscode://schemas/color-theme", + "name": "Embedded Light Theme", + "tokenColors": [ + { + "scope": ["meta.embedded", "source.groovy.embedded"], + "settings": { + "foreground": "#000000ff" + } + }, + { + "scope": "emphasis", + "settings": { + "fontStyle": "italic" + } + }, + { + "scope": "strong", + "settings": { + "fontStyle": "bold" + } + }, + { + "scope": "meta.diff.header", + "settings": { + "foreground": "#000080" + } + }, + { + "scope": "comment", + "settings": { + "foreground": "#008000" + } + }, + { + "scope": "constant.language", + "settings": { + "foreground": "#0000ff" + } + }, + { + "scope": ["constant.numeric"], + "settings": { + "foreground": "#09885a" + } + }, + { + "scope": "constant.regexp", + "settings": { + "foreground": "#811f3f" + } + }, + { + "name": "css tags in selectors, xml tags", + "scope": "entity.name.tag", + "settings": { + "foreground": "#800000" + } + }, + { + "scope": "entity.name.selector", + "settings": { + "foreground": "#800000" + } + }, + { + "scope": "entity.other.attribute-name", + "settings": { + "foreground": "#ff0000" + } + }, + { + "scope": [ + "entity.other.attribute-name.class.css", + "entity.other.attribute-name.class.mixin.css", + "entity.other.attribute-name.id.css", + "entity.other.attribute-name.parent-selector.css", + "entity.other.attribute-name.pseudo-class.css", + "entity.other.attribute-name.pseudo-element.css", + "source.css.less entity.other.attribute-name.id", + "entity.other.attribute-name.attribute.scss", + "entity.other.attribute-name.scss" + ], + "settings": { + "foreground": "#800000" + } + }, + { + "scope": "invalid", + "settings": { + "foreground": "#cd3131" + } + }, + { + "scope": "markup.underline", + "settings": { + "fontStyle": "underline" + } + }, + { + "scope": "markup.bold", + "settings": { + "fontStyle": "bold", + "foreground": "#000080" + } + }, + { + "scope": "markup.heading", + "settings": { + "fontStyle": "bold", + "foreground": "#800000" + } + }, + { + "scope": "markup.italic", + "settings": { + "fontStyle": "italic" + } + }, + { + "scope": "markup.inserted", + "settings": { + "foreground": "#09885a" + } + }, + { + "scope": "markup.deleted", + "settings": { + "foreground": "#a31515" + } + }, + { + "scope": "markup.changed", + "settings": { + "foreground": "#0451a5" + } + }, + { + "scope": ["punctuation.definition.quote.begin.markdown", "punctuation.definition.list.begin.markdown"], + "settings": { + "foreground": "#0451a5" + } + }, + { + "scope": "markup.inline.raw", + "settings": { + "foreground": "#800000" + } + }, + { + "name": "brackets of XML/HTML tags", + "scope": "punctuation.definition.tag", + "settings": { + "foreground": "#800000" + } + }, + { + "scope": "meta.preprocessor", + "settings": { + "foreground": "#0000ff" + } + }, + { + "scope": "meta.preprocessor.string", + "settings": { + "foreground": "#a31515" + } + }, + { + "scope": "meta.preprocessor.numeric", + "settings": { + "foreground": "#09885a" + } + }, + { + "scope": "meta.structure.dictionary.key.python", + "settings": { + "foreground": "#0451a5" + } + }, + { + "scope": "storage", + "settings": { + "foreground": "#0000ff" + } + }, + { + "scope": "storage.type", + "settings": { + "foreground": "#0000ff" + } + }, + { + "scope": "storage.modifier", + "settings": { + "foreground": "#0000ff" + } + }, + { + "scope": "string", + "settings": { + "foreground": "#a31515" + } + }, + { + "scope": [ + "string.comment.buffered.block.pug", + "string.quoted.pug", + "string.interpolated.pug", + "string.unquoted.plain.in.yaml", + "string.unquoted.plain.out.yaml", + "string.unquoted.block.yaml", + "string.quoted.single.yaml", + "string.quoted.double.xml", + "string.quoted.single.xml", + "string.unquoted.cdata.xml", + "string.quoted.double.html", + "string.quoted.single.html", + "string.unquoted.html", + "string.quoted.single.handlebars", + "string.quoted.double.handlebars" + ], + "settings": { + "foreground": "#0000ff" + } + }, + { + "scope": "string.regexp", + "settings": { + "foreground": "#811f3f" + } + }, + { + "name": "String interpolation", + "scope": [ + "punctuation.definition.template-expression.begin", + "punctuation.definition.template-expression.end", + "punctuation.section.embedded" + ], + "settings": { + "foreground": "#0000ff" + } + }, + { + "name": "Reset JavaScript string interpolation expression", + "scope": ["meta.template.expression"], + "settings": { + "foreground": "#000000" + } + }, + { + "scope": [ + "support.constant.property-value", + "support.constant.font-name", + "support.constant.media-type", + "support.constant.media", + "constant.other.color.rgb-value", + "constant.other.rgb-value", + "support.constant.color" + ], + "settings": { + "foreground": "#0451a5" + } + }, + { + "scope": [ + "support.type.vendored.property-name", + "support.type.property-name", + "variable.css", + "variable.scss", + "variable.other.less", + "source.coffee.embedded" + ], + "settings": { + "foreground": "#ff0000" + } + }, + { + "scope": ["support.type.property-name.json"], + "settings": { + "foreground": "#0451a5" + } + }, + { + "scope": "keyword", + "settings": { + "foreground": "#0000ff" + } + }, + { + "scope": "keyword.control", + "settings": { + "foreground": "#0000ff" + } + }, + { + "scope": "keyword.operator", + "settings": { + "foreground": "#000000" + } + }, + { + "scope": [ + "keyword.operator.new", + "keyword.operator.expression", + "keyword.operator.cast", + "keyword.operator.sizeof", + "keyword.operator.instanceof", + "keyword.operator.logical.python" + ], + "settings": { + "foreground": "#0000ff" + } + }, + { + "scope": "keyword.other.unit", + "settings": { + "foreground": "#09885a" + } + }, + { + "scope": ["punctuation.section.embedded.begin.php", "punctuation.section.embedded.end.php"], + "settings": { + "foreground": "#800000" + } + }, + { + "scope": "support.function.git-rebase", + "settings": { + "foreground": "#0451a5" + } + }, + { + "scope": "constant.sha.git-rebase", + "settings": { + "foreground": "#09885a" + } + }, + { + "name": "coloring of the Java import and package identifiers", + "scope": [ + "storage.modifier.import.java", + "variable.language.wildcard.java", + "storage.modifier.package.java" + ], + "settings": { + "foreground": "#000000" + } + }, + { + "name": "this.self", + "scope": "variable.language", + "settings": { + "foreground": "#0000ff" + } + } + ] } diff --git a/resources/light/export_to_python.svg b/resources/light/export_to_python.svg new file mode 100644 index 000000000000..873383aaeb21 --- /dev/null +++ b/resources/light/export_to_python.svg @@ -0,0 +1,4 @@ + + + + diff --git a/resources/light/restart-kernel.svg b/resources/light/restart-kernel.svg new file mode 100644 index 000000000000..4ce884e15bbe --- /dev/null +++ b/resources/light/restart-kernel.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/light/run-file.svg b/resources/light/run-file.svg index f41a5c8fa2d8..0adc9e411b03 100644 --- a/resources/light/run-file.svg +++ b/resources/light/run-file.svg @@ -1,3 +1,4 @@ - - + + diff --git a/resources/light/trusted.svg b/resources/light/trusted.svg new file mode 100644 index 000000000000..82e41b9ff47b --- /dev/null +++ b/resources/light/trusted.svg @@ -0,0 +1,4 @@ + + + diff --git a/resources/light/un-trusted.svg b/resources/light/un-trusted.svg new file mode 100644 index 000000000000..c9be7cd88dda --- /dev/null +++ b/resources/light/un-trusted.svg @@ -0,0 +1,4 @@ + + + diff --git a/schemas/conda-environment.json b/schemas/conda-environment.json index 86ea60213263..458676942a44 100644 --- a/schemas/conda-environment.json +++ b/schemas/conda-environment.json @@ -1,7 +1,7 @@ { "title": "conda environment file", "description": "Support for conda's enviroment.yml files (e.g. `conda env export > environment.yml`)", - "id": "https://raw.githubusercontent.com/Microsoft/vscode-python/master/schemas/conda-environment.json", + "id": "https://raw.githubusercontent.com/Microsoft/vscode-python/main/schemas/conda-environment.json", "$schema": "http://json-schema.org/draft-04/schema#", "definitions": { "channel": { @@ -41,7 +41,7 @@ } } }, - "required": [ "pip" ] + "required": ["pip"] } ] } diff --git a/schemas/condarc.json b/schemas/condarc.json index 00ae69dee929..396236238c1a 100644 --- a/schemas/condarc.json +++ b/schemas/condarc.json @@ -1,7 +1,7 @@ { "title": ".condarc", "description": "The conda configuration file; https://conda.io/docs/user-guide/configuration/use-condarc.html", - "id": "https://raw.githubusercontent.com/Microsoft/vscode-python/master/schemas/condarc.json", + "id": "https://raw.githubusercontent.com/Microsoft/vscode-python/main/schemas/condarc.json", "$schema": "http://json-schema.org/draft-04/schema#", "definitions": { "channel": { diff --git a/snippets/python.json b/snippets/python.json index b1954d45cf17..59dde0bc62db 100644 --- a/snippets/python.json +++ b/snippets/python.json @@ -1,92 +1,52 @@ { "if": { "prefix": "if", - "body": [ - "if ${1:expression}:", - "\t${2:pass}" - ], + "body": ["if ${1:expression}:", "\t${2:pass}"], "description": "Code snippet for an if statement" }, "if/else": { "prefix": "if/else", - "body": [ - "if ${1:condition}:", - "\t${2:pass}", - "else:", - "\t${3:pass}" - ], + "body": ["if ${1:condition}:", "\t${2:pass}", "else:", "\t${3:pass}"], "description": "Code snippet for an if statement with else" }, "elif": { "prefix": "elif", - "body": [ - "elif ${1:expression}:", - "\t${2:pass}" - ], + "body": ["elif ${1:expression}:", "\t${2:pass}"], "description": "Code snippet for an elif" }, "else": { "prefix": "else", - "body": [ - "else:", - "\t${1:pass}" - ], + "body": ["else:", "\t${1:pass}"], "description": "Code snippet for an else" }, "while": { "prefix": "while", - "body": [ - "while ${1:expression}:", - "\t${2:pass}" - ], + "body": ["while ${1:expression}:", "\t${2:pass}"], "description": "Code snippet for a while loop" }, "while/else": { "prefix": "while/else", - "body": [ - "while ${1:expression}:", - "\t${2:pass}", - "else:", - "\t${3:pass}" - ], + "body": ["while ${1:expression}:", "\t${2:pass}", "else:", "\t${3:pass}"], "description": "Code snippet for a while loop with else" }, "for": { "prefix": "for", - "body": [ - "for ${1:target_list} in ${2:expression_list}:", - "\t${3:pass}" - ], + "body": ["for ${1:target_list} in ${2:expression_list}:", "\t${3:pass}"], "description": "Code snippet for a for loop" }, "for/else": { "prefix": "for/else", - "body": [ - "for ${1:target_list} in ${2:expression_list}:", - "\t${3:pass}", - "else:", - "\t${4:pass}" - ], + "body": ["for ${1:target_list} in ${2:expression_list}:", "\t${3:pass}", "else:", "\t${4:pass}"], "description": "Code snippet for a for loop with else" }, "try/except": { "prefix": "try/except", - "body": [ - "try:", - "\t${1:pass}", - "except ${2:expression} as ${3:identifier}:", - "\t${4:pass}" - ], + "body": ["try:", "\t${1:pass}", "except ${2:expression} as ${3:identifier}:", "\t${4:pass}"], "description": "Code snippet for a try/except statement" }, "try/finally": { "prefix": "try/finally", - "body": [ - "try:", - "\t${1:pass}", - "finally:", - "\t${2:pass}" - ], + "body": ["try:", "\t${1:pass}", "finally:", "\t${2:pass}"], "description": "Code snippet for a try/finally statement" }, "try/except/else": { @@ -129,100 +89,62 @@ }, "with": { "prefix": "with", - "body": [ - "with ${1:expression} as ${2:target}:", - "\t${3:pass}" - ], + "body": ["with ${1:expression} as ${2:target}:", "\t${3:pass}"], "description": "Code snippet for a with statement" }, "def": { "prefix": "def", - "body": [ - "def ${1:funcname}(${2:parameter_list}):", - "\t${3:pass}" - ], + "body": ["def ${1:funcname}(${2:parameter_list}):", "\t\"\"\"", "\t${3:docstring}", "\t\"\"\"","\t${4:pass}"], "description": "Code snippet for a function definition" }, "def(class method)": { "prefix": "def(class method)", - "body": [ - "def ${1:funcname}(self, ${2:parameter_list}):", - "\t${3:pass}" - ], + "body": ["def ${1:funcname}(self, ${2:parameter_list}):", "\t\"\"\"", "\t${3:docstring}", "\t\"\"\"", "\t${4:pass}"], "description": "Code snippet for a class method" }, "def(static class method)": { "prefix": "def(static class method)", - "body": [ - "@staticmethod", - "def ${1:funcname}(${2:parameter_list}):", - "\t${3:pass}" - ], + "body": ["@staticmethod", "def ${1:funcname}(${2:parameter_list}):", "\t\"\"\"", "\t${3:docstring}", "\t\"\"\"", "\t${4:pass}"], "description": "Code snippet for a static class method" }, "def(abstract class method)": { "prefix": "def(abstract class method)", - "body": [ - "def ${1:funcname}(self, ${2:parameter_list}):", - "\traise NotImplementedError" - ], + "body": ["def ${1:funcname}(self, ${2:parameter_list}):", "\t\"\"\"", "\t${3:docstring}", "\t\"\"\"", "\traise NotImplementedError"], "description": "Code snippet for an abstract class method" }, "class": { "prefix": "class", - "body": [ - "class ${1:classname}(${2:object}):", - "\t${3:pass}" - ], + "body": ["class ${1:classname}(${2:object}):", "\t\"\"\"", "\t${3:docstring}", "\t\"\"\"", "\t${4:pass}"], "description": "Code snippet for a class definition" }, "lambda": { "prefix": "lambda", - "body": [ - "lambda ${1:parameter_list}: ${2:expression}" - ], + "body": ["lambda ${1:parameter_list}: ${2:expression}"], "description": "Code snippet for a lambda statement" }, "if(main)": { "prefix": "__main__", - "body": [ - "if __name__ == \"__main__\":", - " ${1:pass}" - ], + "body": ["if __name__ == \"__main__\":", " ${1:pass}"], "description": "Code snippet for a `if __name__ == \"__main__\": ...` block" }, "async/def": { "prefix": "async/def", - "body": [ - "async def ${1:funcname}(${2:parameter_list}):", - "\t${3:pass}" - ], + "body": ["async def ${1:funcname}(${2:parameter_list}):", "\t${3:pass}"], "description": "Code snippet for an async statement" }, "async/for": { "prefix": "async/for", - "body": [ - "async for ${1:target} in ${2:iter}:", - "\t${3:block}" - ], + "body": ["async for ${1:target} in ${2:iter}:", "\t${3:block}"], "description": "Code snippet for an async for statement" }, "async/for/else": { "prefix": "async/for/else", - "body": [ - "async for ${1:target} in ${2:iter}:", - "\t${3:block}", - "else:", - "\t${4:block}" - ], + "body": ["async for ${1:target} in ${2:iter}:", "\t${3:block}", "else:", "\t${4:block}"], "description": "Code snippet for an async for statement with else" }, "async/with": { "prefix": "async/with", - "body": [ - "async with ${1:expr} as ${2:var}:", - "\t${3:block}" - ], + "body": ["async with ${1:expr} as ${2:var}:", "\t${3:block}"], "description": "Code snippet for an async with statement" }, "ipdb": { diff --git a/sprint-planning.github-issues b/sprint-planning.github-issues new file mode 100755 index 000000000000..73c40eae0253 --- /dev/null +++ b/sprint-planning.github-issues @@ -0,0 +1,98 @@ +[ + { + "kind": 1, + "language": "markdown", + "value": "# Query constants", + "editable": true + }, + { + "kind": 2, + "language": "github-issues", + "value": "$pvsc=repo:microsoft/vscode-python\n$not_DS=-label:\"data science\"\n$open=is:open", + "editable": true + }, + { + "kind": 1, + "language": "markdown", + "value": "# Priority issues 🚨", + "editable": true + }, + { + "kind": 1, + "language": "markdown", + "value": "## P0", + "editable": true + }, + { + "kind": 2, + "language": "github-issues", + "value": "$pvsc $not_DS $open label:\"P0\"", + "editable": true + }, + { + "kind": 1, + "language": "markdown", + "value": "## P1", + "editable": true + }, + { + "kind": 2, + "language": "github-issues", + "value": "$pvsc $not_DS $open label:\"P1\"", + "editable": true + }, + { + "kind": 1, + "language": "markdown", + "value": "# Regressions 🔙", + "editable": true + }, + { + "kind": 2, + "language": "github-issues", + "value": "$pvsc $not_DS $open label:\"reason-regression\"", + "editable": true + }, + { + "kind": 1, + "language": "markdown", + "value": "# Partner asks", + "editable": true + }, + { + "kind": 2, + "language": "github-issues", + "value": "$pvsc $not_DS $open label:\"partner ask\"", + "editable": true + }, + { + "kind": 1, + "language": "markdown", + "value": "# Upvotes 👍", + "editable": true + }, + { + "kind": 1, + "language": "markdown", + "value": "## Enhancements 💪", + "editable": true + }, + { + "kind": 2, + "language": "github-issues", + "value": "$pvsc $not_DS $open sort:reactions-+1-desc label:\"type-enhancement\" ", + "editable": true + }, + { + "kind": 1, + "language": "markdown", + "value": "## Bugs 🐜", + "editable": true + }, + { + "kind": 2, + "language": "github-issues", + "value": "$pvsc $not_DS $open sort:reactions-+1-desc label:\"type-bug\"", + "editable": true + } +] \ No newline at end of file diff --git a/src/client/activation/aaTesting.ts b/src/client/activation/aaTesting.ts index c6b4765f25a9..1a424e5f2606 100644 --- a/src/client/activation/aaTesting.ts +++ b/src/client/activation/aaTesting.ts @@ -1,19 +1,19 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -'use strict'; - -import { inject, injectable } from 'inversify'; -import { ValidateABTesting } from '../common/experimentGroups'; -import { IExperimentsManager } from '../common/types'; -import { IExtensionSingleActivationService } from './types'; - -@injectable() -export class AATesting implements IExtensionSingleActivationService { - constructor(@inject(IExperimentsManager) private experiments: IExperimentsManager) {} - - public async activate(): Promise { - this.experiments.sendTelemetryIfInExperiment(ValidateABTesting.experiment); - this.experiments.sendTelemetryIfInExperiment(ValidateABTesting.control); - } -} +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +'use strict'; + +import { inject, injectable } from 'inversify'; +import { ValidateABTesting } from '../common/experiments/groups'; +import { IExperimentsManager } from '../common/types'; +import { IExtensionSingleActivationService } from './types'; + +@injectable() +export class AATesting implements IExtensionSingleActivationService { + constructor(@inject(IExperimentsManager) private experiments: IExperimentsManager) {} + + public async activate(): Promise { + this.experiments.sendTelemetryIfInExperiment(ValidateABTesting.experiment); + this.experiments.sendTelemetryIfInExperiment(ValidateABTesting.control); + } +} diff --git a/src/client/activation/activationManager.ts b/src/client/activation/activationManager.ts index b47f7b2e9620..bf53a1d18103 100644 --- a/src/client/activation/activationManager.ts +++ b/src/client/activation/activationManager.ts @@ -7,16 +7,21 @@ import { inject, injectable, multiInject } from 'inversify'; import { TextDocument } from 'vscode'; import { IApplicationDiagnostics } from '../application/types'; import { IActiveResourceService, IDocumentManager, IWorkspaceService } from '../common/application/types'; -import { PYTHON_LANGUAGE } from '../common/constants'; +import { DEFAULT_INTERPRETER_SETTING, PYTHON_LANGUAGE } from '../common/constants'; +import { DeprecatePythonPath } from '../common/experiments/groups'; import { traceDecorators } from '../common/logger'; -import { IDisposable, Resource } from '../common/types'; -import { IInterpreterAutoSelectionService } from '../interpreter/autoSelection/types'; +import { IFileSystem } from '../common/platform/types'; +import { IDisposable, IExperimentsManager, IInterpreterPathService, Resource } from '../common/types'; +import { createDeferred, Deferred } from '../common/utils/async'; +import { IInterpreterAutoSelectionService, IInterpreterSecurityService } from '../interpreter/autoSelection/types'; import { IInterpreterService } from '../interpreter/contracts'; +import { sendActivationTelemetry } from '../telemetry/envFileTelemetry'; import { IExtensionActivationManager, IExtensionActivationService, IExtensionSingleActivationService } from './types'; @injectable() export class ExtensionActivationManager implements IExtensionActivationManager { public readonly activatedWorkspaces = new Set(); + protected readonly isInterpreterSetForWorkspacePromises = new Map>(); private readonly disposables: IDisposable[] = []; private docOpenedHandler?: IDisposable; constructor( @@ -28,7 +33,11 @@ export class ExtensionActivationManager implements IExtensionActivationManager { @inject(IInterpreterAutoSelectionService) private readonly autoSelection: IInterpreterAutoSelectionService, @inject(IApplicationDiagnostics) private readonly appDiagnostics: IApplicationDiagnostics, @inject(IWorkspaceService) private readonly workspaceService: IWorkspaceService, - @inject(IActiveResourceService) private readonly activeResourceService: IActiveResourceService + @inject(IFileSystem) private readonly fileSystem: IFileSystem, + @inject(IActiveResourceService) private readonly activeResourceService: IActiveResourceService, + @inject(IExperimentsManager) private readonly experiments: IExperimentsManager, + @inject(IInterpreterPathService) private readonly interpreterPathService: IInterpreterPathService, + @inject(IInterpreterSecurityService) private readonly interpreterSecurityService: IInterpreterSecurityService ) {} public dispose() { @@ -45,7 +54,7 @@ export class ExtensionActivationManager implements IExtensionActivationManager { await this.initialize(); // Activate all activation services together. await Promise.all([ - Promise.all(this.singleActivationServices.map(item => item.activate())), + Promise.all(this.singleActivationServices.map((item) => item.activate())), this.activateWorkspace(this.activeResourceService.getActiveResource()) ]); await this.autoSelection.autoSelectInterpreter(undefined); @@ -57,11 +66,20 @@ export class ExtensionActivationManager implements IExtensionActivationManager { return; } this.activatedWorkspaces.add(key); + + if (this.experiments.inExperiment(DeprecatePythonPath.experiment)) { + await this.interpreterPathService.copyOldInterpreterStorageValuesToNew(resource); + } + this.experiments.sendTelemetryIfInExperiment(DeprecatePythonPath.control); + // Get latest interpreter list in the background. this.interpreterService.getInterpreters(resource).ignoreErrors(); + await sendActivationTelemetry(this.fileSystem, this.workspaceService, resource); + await this.autoSelection.autoSelectInterpreter(resource); - await Promise.all(this.activationServices.map(item => item.activate(resource))); + await this.evaluateAutoSelectedInterpreterSafety(resource); + await Promise.all(this.activationServices.map((item) => item.activate(resource))); await this.appDiagnostics.performPreStartupHealthCheck(resource); } public async initialize() { @@ -83,8 +101,38 @@ export class ExtensionActivationManager implements IExtensionActivationManager { const folder = this.workspaceService.getWorkspaceFolder(doc.uri); this.activateWorkspace(folder ? folder.uri : undefined).ignoreErrors(); } + + public async evaluateAutoSelectedInterpreterSafety(resource: Resource) { + if (this.experiments.inExperiment(DeprecatePythonPath.experiment)) { + const workspaceKey = this.getWorkspaceKey(resource); + const interpreterSettingValue = this.interpreterPathService.get(resource); + if (interpreterSettingValue.length === 0 || interpreterSettingValue === DEFAULT_INTERPRETER_SETTING) { + // Setting is not set, extension will use the autoselected value. Make sure it's safe. + const interpreter = this.autoSelection.getAutoSelectedInterpreter(resource); + if (interpreter) { + const isInterpreterSetForWorkspace = createDeferred(); + this.isInterpreterSetForWorkspacePromises.set(workspaceKey, isInterpreterSetForWorkspace); + await Promise.race([ + isInterpreterSetForWorkspace.promise, + this.interpreterSecurityService.evaluateAndRecordInterpreterSafety(interpreter, resource) + ]); + } + } else { + // Resolve any concurrent calls waiting on the promise + if (this.isInterpreterSetForWorkspacePromises.has(workspaceKey)) { + this.isInterpreterSetForWorkspacePromises.get(workspaceKey)!.resolve(); + this.isInterpreterSetForWorkspacePromises.delete(workspaceKey); + } + } + } + this.experiments.sendTelemetryIfInExperiment(DeprecatePythonPath.control); + } + protected addHandlers() { this.disposables.push(this.workspaceService.onDidChangeWorkspaceFolders(this.onWorkspaceFoldersChanged, this)); + this.disposables.push( + this.interpreterPathService.onDidChange((i) => this.evaluateAutoSelectedInterpreterSafety(i.uri)) + ); } protected addRemoveDocOpenedHandlers() { if (this.hasMultipleWorkspaces()) { @@ -100,11 +148,11 @@ export class ExtensionActivationManager implements IExtensionActivationManager { } protected onWorkspaceFoldersChanged() { //If an activated workspace folder was removed, delete its key - const workspaceKeys = this.workspaceService.workspaceFolders!.map(workspaceFolder => + const workspaceKeys = this.workspaceService.workspaceFolders!.map((workspaceFolder) => this.getWorkspaceKey(workspaceFolder.uri) ); const activatedWkspcKeys = Array.from(this.activatedWorkspaces.keys()); - const activatedWkspcFoldersRemoved = activatedWkspcKeys.filter(item => workspaceKeys.indexOf(item) < 0); + const activatedWkspcFoldersRemoved = activatedWkspcKeys.filter((item) => workspaceKeys.indexOf(item) < 0); if (activatedWkspcFoldersRemoved.length > 0) { for (const folder of activatedWkspcFoldersRemoved) { this.activatedWorkspaces.delete(folder); diff --git a/src/client/activation/activationService.ts b/src/client/activation/activationService.ts index 3275e164835e..e076b9625869 100644 --- a/src/client/activation/activationService.ts +++ b/src/client/activation/activationService.ts @@ -7,26 +7,33 @@ import { ConfigurationChangeEvent, Disposable, OutputChannel, Uri } from 'vscode import { LSNotSupportedDiagnosticServiceId } from '../application/diagnostics/checks/lsNotSupported'; import { IDiagnosticsService } from '../application/diagnostics/types'; -import { IApplicationShell, ICommandManager, IWorkspaceService } from '../common/application/types'; +import { + IApplicationEnvironment, + IApplicationShell, + ICommandManager, + IWorkspaceService +} from '../common/application/types'; import { STANDARD_OUTPUT_CHANNEL } from '../common/constants'; -import { LSControl, LSEnabled } from '../common/experimentGroups'; import { traceError } from '../common/logger'; import { IConfigurationService, IDisposableRegistry, - IExperimentsManager, + IExtensions, IOutputChannel, IPersistentStateFactory, IPythonSettings, Resource } from '../common/types'; import { swallowExceptions } from '../common/utils/decorators'; +import { LanguageService } from '../common/utils/localize'; import { noop } from '../common/utils/misc'; -import { IInterpreterService, PythonInterpreter } from '../interpreter/contracts'; +import { IInterpreterService } from '../interpreter/contracts'; import { IServiceContainer } from '../ioc/types'; +import { PythonEnvironment } from '../pythonEnvironments/info'; import { sendTelemetryEvent } from '../telemetry'; import { EventName } from '../telemetry/constants'; -import { Commands } from './languageServer/constants'; +import { Commands } from './commands'; +import { LanguageServerChangeHandler } from './common/languageServerChangeHandler'; import { RefCountedLanguageServer } from './refCountedLanguageServer'; import { IExtensionActivationService, @@ -35,7 +42,6 @@ import { LanguageServerType } from './types'; -const jediEnabledSetting: keyof IPythonSettings = 'jediEnabled'; const languageServerSetting: keyof IPythonSettings = 'languageServer'; const workspacePathNameForGlobalWorkspaces = ''; @@ -52,19 +58,18 @@ export class LanguageServerExtensionActivationService private activatedServer?: IActivatedServer; private readonly workspaceService: IWorkspaceService; private readonly output: OutputChannel; - private readonly appShell: IApplicationShell; private readonly interpreterService: IInterpreterService; + private readonly languageServerChangeHandler: LanguageServerChangeHandler; private resource!: Resource; constructor( @inject(IServiceContainer) private serviceContainer: IServiceContainer, - @inject(IPersistentStateFactory) private stateFactory: IPersistentStateFactory, - @inject(IExperimentsManager) private readonly abExperiments: IExperimentsManager + @inject(IPersistentStateFactory) private stateFactory: IPersistentStateFactory ) { this.workspaceService = this.serviceContainer.get(IWorkspaceService); this.interpreterService = this.serviceContainer.get(IInterpreterService); this.output = this.serviceContainer.get(IOutputChannel, STANDARD_OUTPUT_CHANNEL); - this.appShell = this.serviceContainer.get(IApplicationShell); + const commandManager = this.serviceContainer.get(ICommandManager); const disposables = serviceContainer.get(IDisposableRegistry); disposables.push(this); @@ -74,6 +79,15 @@ export class LanguageServerExtensionActivationService disposables.push( commandManager.registerCommand(Commands.ClearAnalyisCache, this.onClearAnalysisCaches.bind(this)) ); + + this.languageServerChangeHandler = new LanguageServerChangeHandler( + this.getCurrentLanguageServerType(), + this.serviceContainer.get(IExtensions), + this.serviceContainer.get(IApplicationShell), + this.serviceContainer.get(IApplicationEnvironment), + this.serviceContainer.get(ICommandManager) + ); + disposables.push(this.languageServerChangeHandler); } public async activate(resource: Resource): Promise { @@ -105,7 +119,7 @@ export class LanguageServerExtensionActivationService this.activatedServer.server.activate(); } - public async get(resource: Resource, interpreter?: PythonInterpreter): Promise { + public async get(resource: Resource, interpreter?: PythonEnvironment): Promise { // See if we already have it or not const key = await this.getKey(resource, interpreter); let result: Promise | undefined = this.cache.get(key); @@ -116,7 +130,7 @@ export class LanguageServerExtensionActivationService this.cache.set(key, result); } else { // Increment ref count if already exists. - result = result.then(r => { + result = result.then((r) => { r.increment(); return r; }); @@ -129,33 +143,39 @@ export class LanguageServerExtensionActivationService this.activatedServer.server.dispose(); } } - @swallowExceptions('Send telemetry for Language Server current selection') - public async sendTelemetryForChosenLanguageServer(jediEnabled: boolean): Promise { - const state = this.stateFactory.createGlobalPersistentState('SWITCH_LS', undefined); - if (typeof state.value !== 'boolean') { - await state.updateValue(jediEnabled); + + @swallowExceptions('Send telemetry for language server current selection') + public async sendTelemetryForChosenLanguageServer(languageServer: LanguageServerType): Promise { + const state = this.stateFactory.createGlobalPersistentState( + 'SWITCH_LS', + undefined + ); + if (typeof state.value !== 'string') { + await state.updateValue(languageServer); } - if (state.value !== jediEnabled) { - await state.updateValue(jediEnabled); + if (state.value !== languageServer) { + await state.updateValue(languageServer); sendTelemetryEvent(EventName.PYTHON_LANGUAGE_SERVER_CURRENT_SELECTION, undefined, { - switchTo: jediEnabled + switchTo: languageServer }); } else { sendTelemetryEvent(EventName.PYTHON_LANGUAGE_SERVER_CURRENT_SELECTION, undefined, { - lsStartup: jediEnabled + lsStartup: languageServer }); } } /** - * Checks if user has not manually set `jediEnabled` setting + * Checks if user does not have any `languageServer` setting set. * @param resource - * @returns `true` if user has NOT manually added the setting and is using default configuration, `false` if user has `jediEnabled` setting added + * @returns `true` if user is using default configuration, `false` if user has `languageServer` setting added. */ public isJediUsingDefaultConfiguration(resource: Resource): boolean { - const settings = this.workspaceService.getConfiguration('python', resource).inspect('jediEnabled'); + const settings = this.workspaceService + .getConfiguration('python', resource) + .inspect('languageServer'); if (!settings) { - traceError('WorkspaceConfiguration.inspect returns `undefined` for setting `python.jediEnabled`'); + traceError('WorkspaceConfiguration.inspect returns `undefined` for setting `python.languageServer`'); return false; } return ( @@ -165,33 +185,13 @@ export class LanguageServerExtensionActivationService ); } - /** - * Checks if user is using Jedi as intellisense - * @returns `true` if user is using jedi, `false` if user is using language server - */ - public useJedi(): boolean { - if (this.isJediUsingDefaultConfiguration(this.resource)) { - if (this.abExperiments.inExperiment(LSEnabled)) { - return false; - } - // Send telemetry if user is in control group - this.abExperiments.sendTelemetryIfInExperiment(LSControl); - } - const configurationService = this.serviceContainer.get(IConfigurationService); - let enabled = configurationService.getSettings(this.resource).jediEnabled; - const languageServerType = configurationService.getSettings(this.resource).languageServer; - enabled = enabled || languageServerType === LanguageServerType.Jedi; - this.sendTelemetryForChosenLanguageServer(enabled).ignoreErrors(); - return enabled; - } - protected async onWorkspaceFoldersChanged() { //If an activated workspace folder was removed, dispose its activator const workspaceKeys = await Promise.all( - this.workspaceService.workspaceFolders!.map(workspaceFolder => this.getKey(workspaceFolder.uri)) + this.workspaceService.workspaceFolders!.map((workspaceFolder) => this.getKey(workspaceFolder.uri)) ); const activatedWkspcKeys = Array.from(this.cache.keys()); - const activatedWkspcFoldersRemoved = activatedWkspcKeys.filter(item => workspaceKeys.indexOf(item) < 0); + const activatedWkspcFoldersRemoved = activatedWkspcKeys.filter((item) => workspaceKeys.indexOf(item) < 0); if (activatedWkspcFoldersRemoved.length > 0) { for (const folder of activatedWkspcFoldersRemoved) { const server = await this.cache.get(folder); @@ -205,47 +205,34 @@ export class LanguageServerExtensionActivationService return this.activate(this.resource); } + private getCurrentLanguageServerType(): LanguageServerType { + const configurationService = this.serviceContainer.get(IConfigurationService); + return configurationService.getSettings(this.resource).languageServer; + } + private async createRefCountedServer( resource: Resource, - interpreter: PythonInterpreter | undefined, + interpreter: PythonEnvironment | undefined, key: string ): Promise { - const configurationService = this.serviceContainer.get(IConfigurationService); - let serverType = configurationService.getSettings(this.resource).languageServer; - if (!serverType) { - serverType = LanguageServerType.Jedi; - } - - switch (serverType) { - case LanguageServerType.None: - sendTelemetryEvent(EventName.PYTHON_LANGUAGE_SERVER_NONE, undefined, undefined); - break; - case LanguageServerType.Node: - // No telemetry in development phase. - break; - case LanguageServerType.Microsoft: - if (this.useJedi()) { - serverType = LanguageServerType.Jedi; - break; - } - const lsNotSupportedDiagnosticService = this.serviceContainer.get( - IDiagnosticsService, - LSNotSupportedDiagnosticServiceId - ); - const diagnostic = await lsNotSupportedDiagnosticService.diagnose(undefined); - lsNotSupportedDiagnosticService.handle(diagnostic).ignoreErrors(); - if (diagnostic.length) { - sendTelemetryEvent(EventName.PYTHON_LANGUAGE_SERVER_PLATFORM_SUPPORTED, undefined, { - supported: false - }); - serverType = LanguageServerType.Jedi; - } - break; - default: + let serverType = this.getCurrentLanguageServerType(); + if (serverType === LanguageServerType.Microsoft) { + const lsNotSupportedDiagnosticService = this.serviceContainer.get( + IDiagnosticsService, + LSNotSupportedDiagnosticServiceId + ); + const diagnostic = await lsNotSupportedDiagnosticService.diagnose(undefined); + lsNotSupportedDiagnosticService.handle(diagnostic).ignoreErrors(); + if (diagnostic.length) { + sendTelemetryEvent(EventName.PYTHON_LANGUAGE_SERVER_PLATFORM_SUPPORTED, undefined, { + supported: false + }); serverType = LanguageServerType.Jedi; - break; + } } + this.sendTelemetryForChosenLanguageServer(serverType).ignoreErrors(); + await this.logStartup(serverType); let server = this.serviceContainer.get(ILanguageServerActivator, serverType); try { @@ -254,7 +241,7 @@ export class LanguageServerExtensionActivationService if (serverType === LanguageServerType.Jedi) { throw ex; } - await this.logStartup(serverType); + this.output.appendLine(LanguageService.lsFailedToStart()); serverType = LanguageServerType.Jedi; server = this.serviceContainer.get(ILanguageServerActivator, serverType); await server.start(resource, interpreter); @@ -274,16 +261,16 @@ export class LanguageServerExtensionActivationService let outputLine; switch (serverType) { case LanguageServerType.Jedi: - outputLine = 'Starting Jedi Python language engine.'; + outputLine = LanguageService.startingJedi(); break; case LanguageServerType.Microsoft: - outputLine = 'Starting Microsoft Python language server.'; + outputLine = LanguageService.startingMicrosoft(); break; case LanguageServerType.Node: - outputLine = 'Starting Node.js language server.'; + outputLine = LanguageService.startingPylance(); break; case LanguageServerType.None: - outputLine = 'Editor support is inactive since language server is set to None.'; + outputLine = LanguageService.startingNone(); break; default: throw new Error('Unknown langauge server type in activator.'); @@ -291,37 +278,28 @@ export class LanguageServerExtensionActivationService this.output.appendLine(outputLine); } - private async onDidChangeConfiguration(event: ConfigurationChangeEvent) { + private async onDidChangeConfiguration(event: ConfigurationChangeEvent): Promise { const workspacesUris: (Uri | undefined)[] = this.workspaceService.hasWorkspaceFolders - ? this.workspaceService.workspaceFolders!.map(workspace => workspace.uri) + ? this.workspaceService.workspaceFolders!.map((workspace) => workspace.uri) : [undefined]; if ( - workspacesUris.findIndex(uri => event.affectsConfiguration(`python.${jediEnabledSetting}`, uri)) === -1 && - workspacesUris.findIndex(uri => event.affectsConfiguration(`python.${languageServerSetting}`, uri)) === -1 + workspacesUris.findIndex((uri) => event.affectsConfiguration(`python.${languageServerSetting}`, uri)) === -1 ) { return; } - const jedi = this.useJedi(); - if (this.activatedServer) { - if (this.activatedServer.jedi === jedi) { - return; - } - const configurationService = this.serviceContainer.get(IConfigurationService); - const lsType = configurationService.getSettings(this.resource).languageServer; - if (this.activatedServer.key === lsType) { - return; - } + const lsType = this.getCurrentLanguageServerType(); + if (this.activatedServer?.key !== lsType) { + await this.languageServerChangeHandler.handleLanguageServerChange(lsType); } + } - const item = await this.appShell.showInformationMessage( - 'Please reload the window switching between language engines.', - 'Reload' - ); - if (item === 'Reload') { - this.serviceContainer.get(ICommandManager).executeCommand('workbench.action.reloadWindow'); + private async getKey(resource: Resource, interpreter?: PythonEnvironment): Promise { + const configurationService = this.serviceContainer.get(IConfigurationService); + const serverType = configurationService.getSettings(this.resource).languageServer; + if (serverType === LanguageServerType.Node) { + return 'shared-ls'; } - } - private async getKey(resource: Resource, interpreter?: PythonInterpreter): Promise { + const resourcePortion = this.workspaceService.getWorkspaceFolderIdentifier( resource, workspacePathNameForGlobalWorkspaces @@ -333,6 +311,6 @@ export class LanguageServerExtensionActivationService private async onClearAnalysisCaches() { const values = await Promise.all([...this.cache.values()]); - values.forEach(v => (v.clearAnalysisCache ? v.clearAnalysisCache() : noop())); + values.forEach((v) => (v.clearAnalysisCache ? v.clearAnalysisCache() : noop())); } } diff --git a/src/client/activation/languageServer/constants.ts b/src/client/activation/commands.ts similarity index 74% rename from src/client/activation/languageServer/constants.ts rename to src/client/activation/commands.ts index 30094ca8507a..6a6628e6d4a3 100644 --- a/src/client/activation/languageServer/constants.ts +++ b/src/client/activation/commands.ts @@ -4,4 +4,5 @@ export namespace Commands { export const ClearAnalyisCache = 'python.analysis.clearCache'; + export const RestartLS = 'python.analysis.restartLanguageServer'; } diff --git a/src/client/activation/common/activatorBase.ts b/src/client/activation/common/activatorBase.ts index fa3956498a89..43ab2777cfc6 100644 --- a/src/client/activation/common/activatorBase.ts +++ b/src/client/activation/common/activatorBase.ts @@ -1,7 +1,6 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -import * as path from 'path'; import { CancellationToken, CodeLens, @@ -22,21 +21,15 @@ import { TextDocumentContentChangeEvent, WorkspaceEdit } from 'vscode'; -import * as vscodeLanguageClient from 'vscode-languageclient'; +import * as vscodeLanguageClient from 'vscode-languageclient/node'; import { injectable } from 'inversify'; import { IWorkspaceService } from '../../common/application/types'; import { traceDecorators } from '../../common/logger'; import { IFileSystem } from '../../common/platform/types'; import { IConfigurationService, Resource } from '../../common/types'; -import { EXTENSION_ROOT_DIR } from '../../constants'; -import { PythonInterpreter } from '../../interpreter/contracts'; -import { - ILanguageServerActivator, - ILanguageServerDownloader, - ILanguageServerFolderService, - ILanguageServerManager -} from '../types'; +import { PythonEnvironment } from '../../pythonEnvironments/info'; +import { ILanguageServerActivator, ILanguageServerManager } from '../types'; /** * Starts the language server managers per workspaces (currently one for first workspace). @@ -52,13 +45,11 @@ export abstract class LanguageServerActivatorBase implements ILanguageServerActi protected readonly manager: ILanguageServerManager, private readonly workspace: IWorkspaceService, protected readonly fs: IFileSystem, - protected readonly lsDownloader: ILanguageServerDownloader, - protected readonly languageServerFolderService: ILanguageServerFolderService, protected readonly configurationService: IConfigurationService ) {} @traceDecorators.error('Failed to activate language server') - public async start(resource: Resource, interpreter?: PythonInterpreter): Promise { + public async start(resource: Resource, interpreter?: PythonEnvironment): Promise { if (!resource) { resource = this.workspace.hasWorkspaceFolders ? this.workspace.workspaceFolders![0].uri : undefined; } @@ -94,10 +85,21 @@ export abstract class LanguageServerActivatorBase implements ILanguageServerActi public handleChanges(document: TextDocument, changes: TextDocumentContentChangeEvent[]): void { const languageClient = this.getLanguageClient(); if (languageClient) { - languageClient.sendNotification( - vscodeLanguageClient.DidChangeTextDocumentNotification.type, - languageClient.code2ProtocolConverter.asChangeTextDocumentParams({ document, contentChanges: changes }) - ); + // If the language client doesn't support incremental, just send the whole document + if (this.textDocumentSyncKind === vscodeLanguageClient.TextDocumentSyncKind.Full) { + languageClient.sendNotification( + vscodeLanguageClient.DidChangeTextDocumentNotification.type, + languageClient.code2ProtocolConverter.asChangeTextDocumentParams(document) + ); + } else { + languageClient.sendNotification( + vscodeLanguageClient.DidChangeTextDocumentNotification.type, + languageClient.code2ProtocolConverter.asChangeTextDocumentParams({ + document, + contentChanges: changes + }) + ); + } } } @@ -160,30 +162,30 @@ export abstract class LanguageServerActivatorBase implements ILanguageServerActi return this.handleProvideSignatureHelp(document, position, token, context); } - protected async ensureLanguageServerFileIsAvailable( - resource: Resource, - fileName: string - ): Promise { - const settings = this.configurationService.getSettings(resource); - if (!settings.downloadLanguageServer) { - return; - } - const languageServerFolder = await this.languageServerFolderService.getLanguageServerFolderName(resource); - const languageServerFolderPath = path.join(EXTENSION_ROOT_DIR, languageServerFolder); - const mscorlib = path.join(languageServerFolderPath, fileName); - if (!(await this.fs.fileExists(mscorlib))) { - await this.lsDownloader.downloadLanguageServer(languageServerFolderPath, resource); - } - return languageServerFolderPath; - } - - private getLanguageClient(): vscodeLanguageClient.LanguageClient | undefined { + protected getLanguageClient(): vscodeLanguageClient.LanguageClient | undefined { const proxy = this.manager.languageProxy; if (proxy) { return proxy.languageClient; } } + private get textDocumentSyncKind(): vscodeLanguageClient.TextDocumentSyncKind { + const languageClient = this.getLanguageClient(); + if (languageClient?.initializeResult?.capabilities?.textDocumentSync) { + const syncOptions = languageClient.initializeResult.capabilities.textDocumentSync; + const syncKind = + syncOptions !== undefined && syncOptions.hasOwnProperty('change') + ? (syncOptions as vscodeLanguageClient.TextDocumentSyncOptions).change + : syncOptions; + if (syncKind !== undefined) { + return syncKind as vscodeLanguageClient.TextDocumentSyncKind; + } + } + + // Default is full if not provided + return vscodeLanguageClient.TextDocumentSyncKind.Full; + } + private async handleProvideRenameEdits( document: TextDocument, position: Position, @@ -256,7 +258,7 @@ export abstract class LanguageServerActivatorBase implements ILanguageServerActi const result = await languageClient.sendRequest(vscodeLanguageClient.ReferencesRequest.type, args, token); if (result) { // Remove undefined part. - return result.map(l => { + return result.map((l) => { const r = languageClient!.protocol2CodeConverter.asLocation(l); return r!; }); diff --git a/src/client/activation/common/analysisOptions.ts b/src/client/activation/common/analysisOptions.ts new file mode 100644 index 000000000000..a5f462f2daf8 --- /dev/null +++ b/src/client/activation/common/analysisOptions.ts @@ -0,0 +1,92 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +import { injectable } from 'inversify'; +import { Disposable, Event, EventEmitter, WorkspaceFolder } from 'vscode'; +import { DocumentFilter, LanguageClientOptions, RevealOutputChannelOn } from 'vscode-languageclient/node'; + +import { PYTHON, PYTHON_LANGUAGE } from '../../common/constants'; +import { traceDecorators } from '../../common/logger'; +import { IOutputChannel, Resource } from '../../common/types'; +import { debounceSync } from '../../common/utils/decorators'; +import { IEnvironmentVariablesProvider } from '../../common/variables/types'; +import { PythonEnvironment } from '../../pythonEnvironments/info'; +import { ILanguageServerAnalysisOptions, ILanguageServerOutputChannel } from '../types'; + +@injectable() +export abstract class LanguageServerAnalysisOptionsBase implements ILanguageServerAnalysisOptions { + protected disposables: Disposable[] = []; + protected readonly didChange = new EventEmitter(); + private envPythonPath: string = ''; + private readonly output: IOutputChannel; + + protected constructor( + private readonly envVarsProvider: IEnvironmentVariablesProvider, + lsOutputChannel: ILanguageServerOutputChannel + ) { + this.output = lsOutputChannel.channel; + } + + public async initialize(_resource: Resource, _interpreter: PythonEnvironment | undefined) { + const disposable = this.envVarsProvider.onDidEnvironmentVariablesChange(this.onEnvVarChange, this); + this.disposables.push(disposable); + } + + public get onDidChange(): Event { + return this.didChange.event; + } + + public dispose(): void { + this.disposables.forEach((d) => d.dispose()); + this.didChange.dispose(); + } + + @traceDecorators.error('Failed to get analysis options') + public async getAnalysisOptions(): Promise { + const workspaceFolder = this.getWorkspaceFolder(); + const documentSelector = this.getDocumentFilters(workspaceFolder); + + return { + documentSelector, + workspaceFolder, + synchronize: { + configurationSection: PYTHON_LANGUAGE + }, + outputChannel: this.output, + revealOutputChannelOn: RevealOutputChannelOn.Never, + initializationOptions: await this.getInitializationOptions() + }; + } + + protected getWorkspaceFolder(): WorkspaceFolder | undefined { + return undefined; + } + + protected getDocumentFilters(_workspaceFolder?: WorkspaceFolder): DocumentFilter[] { + return PYTHON; + } + + // tslint:disable-next-line: no-any + protected async getInitializationOptions(): Promise { + return undefined; + } + + protected async getEnvPythonPath(): Promise { + const vars = await this.envVarsProvider.getEnvironmentVariables(); + this.envPythonPath = vars.PYTHONPATH || ''; + return this.envPythonPath; + } + + @debounceSync(1000) + protected onEnvVarChange(): void { + this.notifyifEnvPythonPathChanged().ignoreErrors(); + } + + protected async notifyifEnvPythonPathChanged(): Promise { + const vars = await this.envVarsProvider.getEnvironmentVariables(); + const envPythonPath = vars.PYTHONPATH || ''; + + if (this.envPythonPath !== envPythonPath) { + this.didChange.fire(); + } + } +} diff --git a/src/client/activation/common/downloader.ts b/src/client/activation/common/downloader.ts index c029da7b14ed..b4e690e6b919 100644 --- a/src/client/activation/common/downloader.ts +++ b/src/client/activation/common/downloader.ts @@ -8,6 +8,7 @@ import * as path from 'path'; import { ProgressLocation, window } from 'vscode'; import { IApplicationShell, IWorkspaceService } from '../../common/application/types'; import '../../common/extensions'; +import { traceError } from '../../common/logger'; import { IFileSystem } from '../../common/platform/types'; import { IFileDownloader, IOutputChannel, Resource } from '../../common/types'; import { createDeferred } from '../../common/utils/async'; @@ -43,7 +44,7 @@ export class LanguageServerDownloader implements ILanguageServerDownloader { } public async getDownloadInfo(resource: Resource) { - const info = await this.lsFolderService.getLatestLanguageServerVersion(resource).then(item => item!); + const info = await this.lsFolderService.getLatestLanguageServerVersion(resource).then((item) => item!); let uri = info.uri; if (uri.startsWith('https:')) { @@ -53,12 +54,18 @@ export class LanguageServerDownloader implements ILanguageServerDownloader { uri = uri.replace(/^https:/, 'http:'); } } - - return [uri, info.version.raw]; + const lsNameTrimmed = info.package.split('.')[0]; + return [uri, info.version.raw, lsNameTrimmed]; } public async downloadLanguageServer(destinationFolder: string, resource: Resource): Promise { - const [downloadUri, lsVersion] = await this.getDownloadInfo(resource); + if (await this.lsFolderService.skipDownload()) { + // Sanity check; this case should not be hit if skipDownload is true elsewhere. + traceError('Attempted to download with skipDownload true.'); + return; + } + + const [downloadUri, lsVersion, lsName] = await this.getDownloadInfo(resource); const timer: StopWatch = new StopWatch(); let success: boolean = true; let localTempFilePath = ''; @@ -85,7 +92,8 @@ export class LanguageServerDownloader implements ILanguageServerDownloader { sendTelemetryEvent(EventName.PYTHON_LANGUAGE_SERVER_DOWNLOADED, timer.elapsedTime, { success, lsVersion, - usedSSL + usedSSL, + lsName }); } @@ -105,7 +113,11 @@ export class LanguageServerDownloader implements ILanguageServerDownloader { ); throw new Error(err); } finally { - sendTelemetryEvent(EventName.PYTHON_LANGUAGE_SERVER_EXTRACTED, timer.elapsedTime, { success, lsVersion }); + sendTelemetryEvent(EventName.PYTHON_LANGUAGE_SERVER_EXTRACTED, timer.elapsedTime, { + success, + lsVersion, + lsName + }); await this.fs.deleteFile(localTempFilePath); } } @@ -124,7 +136,7 @@ export class LanguageServerDownloader implements ILanguageServerDownloader { outputChannel: this.output, progressMessagePrefix: title }; - return this.fileDownloader.downloadFile(uri, downloadOptions).then(file => { + return this.fileDownloader.downloadFile(uri, downloadOptions).then((file) => { this.output.appendLine(LanguageService.extractionCompletedOutputMessage()); return file; }); @@ -140,7 +152,7 @@ export class LanguageServerDownloader implements ILanguageServerDownloader { { location: ProgressLocation.Window }, - progress => { + (progress) => { // tslint:disable-next-line:no-require-imports no-var-requires const StreamZip = require('node-stream-zip'); const zip = new StreamZip({ diff --git a/src/client/activation/common/languageServerChangeHandler.ts b/src/client/activation/common/languageServerChangeHandler.ts new file mode 100644 index 000000000000..c154ba83b1fb --- /dev/null +++ b/src/client/activation/common/languageServerChangeHandler.ts @@ -0,0 +1,114 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +import { Disposable } from 'vscode'; +import { IApplicationEnvironment, IApplicationShell, ICommandManager } from '../../common/application/types'; +import { PYLANCE_EXTENSION_ID } from '../../common/constants'; +import { IExtensions } from '../../common/types'; +import { createDeferred } from '../../common/utils/async'; +import { Common, LanguageService, Pylance } from '../../common/utils/localize'; +import { getPylanceExtensionUri } from '../../languageServices/proposeLanguageServerBanner'; +import { LanguageServerType } from '../types'; + +export async function promptForPylanceInstall( + appShell: IApplicationShell, + appEnv: IApplicationEnvironment +): Promise { + // If not installed, point user to Pylance at the store. + const response = await appShell.showWarningMessage( + Pylance.installPylanceMessage(), + Common.bannerLabelYes(), + Common.bannerLabelNo() + ); + + if (response === Common.bannerLabelYes()) { + appShell.openUrl(getPylanceExtensionUri(appEnv)); + } +} + +// Tracks language server type and issues appropriate reload or install prompts. +export class LanguageServerChangeHandler implements Disposable { + // For tests that need to track Pylance install completion. + private readonly pylanceInstallCompletedDeferred = createDeferred(); + private readonly disposables: Disposable[] = []; + private pylanceInstalled = false; + + constructor( + private currentLsType: LanguageServerType | undefined, + private readonly extensions: IExtensions, + private readonly appShell: IApplicationShell, + private readonly appEnv: IApplicationEnvironment, + private readonly commands: ICommandManager + ) { + this.pylanceInstalled = this.isPylanceInstalled(); + this.disposables.push( + extensions.onDidChange(async () => { + await this.extensionsChangeHandler(); + }) + ); + } + + public dispose(): void { + while (this.disposables.length) { + this.disposables.pop()?.dispose(); + } + } + + // For tests that need to track Pylance install completion. + get pylanceInstallCompleted(): Promise { + return this.pylanceInstallCompletedDeferred.promise; + } + + public async handleLanguageServerChange(lsType: LanguageServerType | undefined): Promise { + if (this.currentLsType === lsType) { + return; + } + // VS Code has to be reloaded when language server type changes. In case of Pylance + // it also has to be installed manually by the user. We avoid prompting to reload + // if target changes to Pylance when Pylance is not installed since otherwise user + // may get one reload prompt now and then another when Pylance is finally installed. + // Instead, check the installation and suppress prompt if Pylance is not there. + // Extensions change event handler will then show its own prompt. + let response: string | undefined; + if (lsType === LanguageServerType.Node && !this.isPylanceInstalled()) { + // If not installed, point user to Pylance at the store. + await promptForPylanceInstall(this.appShell, this.appEnv); + // At this point Pylance is not yet installed. Skip reload prompt + // since we are going to show it when Pylance becomes available. + } else { + response = await this.appShell.showInformationMessage( + LanguageService.reloadAfterLanguageServerChange(), + Common.reload() + ); + if (response === Common.reload()) { + this.commands.executeCommand('workbench.action.reloadWindow'); + } + } + this.currentLsType = lsType; + } + + private async extensionsChangeHandler(): Promise { + // Track Pylance extension installation state and prompt to reload when it becomes available. + const oldInstallState = this.pylanceInstalled; + this.pylanceInstalled = this.isPylanceInstalled(); + if (oldInstallState === this.pylanceInstalled) { + this.pylanceInstallCompletedDeferred.resolve(); + return; + } + + const response = await this.appShell.showWarningMessage( + Pylance.pylanceInstalledReloadPromptMessage(), + Common.bannerLabelYes(), + Common.bannerLabelNo() + ); + + this.pylanceInstallCompletedDeferred.resolve(); + if (response === Common.bannerLabelYes()) { + this.commands.executeCommand('workbench.action.reloadWindow'); + } + } + + private isPylanceInstalled(): boolean { + return !!this.extensions.getExtension(PYLANCE_EXTENSION_ID); + } +} diff --git a/src/client/activation/common/languageServerFolderService.ts b/src/client/activation/common/languageServerFolderService.ts index a04fe1c5323c..ae501d8b709e 100644 --- a/src/client/activation/common/languageServerFolderService.ts +++ b/src/client/activation/common/languageServerFolderService.ts @@ -26,6 +26,10 @@ export abstract class LanguageServerFolderService implements ILanguageServerFold @unmanaged() protected readonly languageServerFolder: string ) {} + public async skipDownload(): Promise { + return false; + } + @traceDecorators.verbose('Get language server folder name') public async getLanguageServerFolderName(resource: Resource): Promise { const currentFolder = await this.getCurrentLanguageServerDirectory(); @@ -49,7 +53,7 @@ export abstract class LanguageServerFolderService implements ILanguageServerFold return `${this.languageServerFolder}.${serverVersion!.version.raw}`; } - @traceDecorators.verbose('Get latest version of Language Server') + @traceDecorators.verbose('Get latest version of language server') public getLatestLanguageServerVersion(resource: Resource): Promise { const minVersion = this.getMinimalLanguageServerVersion(); const lsPackageService = this.serviceContainer.get( @@ -87,8 +91,8 @@ export abstract class LanguageServerFolderService implements ILanguageServerFold const fs = this.serviceContainer.get(IFileSystem); const subDirs = await fs.getSubDirectories(EXTENSION_ROOT_DIR); return subDirs - .filter(dir => path.basename(dir).startsWith(this.languageServerFolder)) - .map(dir => { + .filter((dir) => path.basename(dir).startsWith(this.languageServerFolder)) + .map((dir) => { return { path: dir, version: this.getFolderVersion(path.basename(dir)) }; }); } diff --git a/src/client/activation/common/languageServerPackageService.ts b/src/client/activation/common/languageServerPackageService.ts index 10b60cf40f39..feed13c03b53 100644 --- a/src/client/activation/common/languageServerPackageService.ts +++ b/src/client/activation/common/languageServerPackageService.ts @@ -63,8 +63,8 @@ export abstract class LanguageServerPackageService implements ILanguageServerPac protected getValidPackage(packages: NugetPackage[], minimumVersion?: string): NugetPackage { const nugetService = this.serviceContainer.get(INugetService); const validPackages = packages - .filter(item => item.version.major === this.maxMajorVersion) - .filter(item => nugetService.isReleaseVersion(item.version)) + .filter((item) => item.version.major === this.maxMajorVersion) + .filter((item) => nugetService.isReleaseVersion(item.version)) .sort((a, b) => a.version.compare(b.version)); const pkg = validPackages[validPackages.length - 1]; diff --git a/src/client/activation/extensionSurvey.ts b/src/client/activation/extensionSurvey.ts index 67ec7e68e9d6..45750a4c9b4d 100644 --- a/src/client/activation/extensionSurvey.ts +++ b/src/client/activation/extensionSurvey.ts @@ -6,12 +6,12 @@ import { inject, injectable, optional } from 'inversify'; import * as querystring from 'querystring'; import { IApplicationEnvironment, IApplicationShell } from '../common/application/types'; -import { ShowExtensionSurveyPrompt } from '../common/experimentGroups'; +import { ShowExtensionSurveyPrompt } from '../common/experiments/groups'; import '../common/extensions'; import { traceDecorators } from '../common/logger'; import { IPlatformService } from '../common/platform/types'; import { IBrowserService, IExperimentsManager, IPersistentStateFactory, IRandom } from '../common/types'; -import { Common, ExtensionSurveyBanner, LanguageService } from '../common/utils/localize'; +import { Common, ExtensionSurveyBanner } from '../common/utils/localize'; import { sendTelemetryEvent } from '../telemetry'; import { EventName } from '../telemetry/constants'; import { IExtensionSingleActivationService } from './types'; @@ -78,7 +78,11 @@ export class ExtensionSurveyPrompt implements IExtensionSingleActivationService @traceDecorators.error('Failed to display prompt for extension survey') public async showSurvey() { - const prompts = [LanguageService.bannerLabelYes(), ExtensionSurveyBanner.maybeLater(), Common.doNotShowAgain()]; + const prompts = [ + ExtensionSurveyBanner.bannerLabelYes(), + ExtensionSurveyBanner.maybeLater(), + Common.doNotShowAgain() + ]; const telemetrySelections: ['Yes', 'Maybe later', 'Do not show again'] = [ 'Yes', 'Maybe later', @@ -91,7 +95,7 @@ export class ExtensionSurveyPrompt implements IExtensionSingleActivationService if (!selection) { return; } - if (selection === LanguageService.bannerLabelYes()) { + if (selection === ExtensionSurveyBanner.bannerLabelYes()) { this.launchSurvey(); // Disable survey for a few weeks await this.persistentState @@ -114,7 +118,7 @@ export class ExtensionSurveyPrompt implements IExtensionSingleActivationService o: encodeURIComponent(this.platformService.osType), // platform v: encodeURIComponent(this.appEnvironment.vscodeVersion), e: encodeURIComponent(this.appEnvironment.packageJson.version), // extension version - m: encodeURIComponent(this.appEnvironment.machineId) + m: encodeURIComponent(this.appEnvironment.sessionId) }); const url = `https://aka.ms/AA5rjx5?${query}`; this.browserService.launch(url); diff --git a/src/client/activation/jedi.ts b/src/client/activation/jedi.ts index 58e123ca64da..7b964d5e7974 100644 --- a/src/client/activation/jedi.ts +++ b/src/client/activation/jedi.ts @@ -28,7 +28,7 @@ import { import { PYTHON } from '../common/constants'; import { traceError } from '../common/logger'; import { IConfigurationService, IDisposable, IExtensionContext, Resource } from '../common/types'; -import { IShebangCodeLensProvider, PythonInterpreter } from '../interpreter/contracts'; +import { IShebangCodeLensProvider } from '../interpreter/contracts'; import { IServiceContainer, IServiceManager } from '../ioc/types'; import { JediFactory } from '../languageServices/jediProxyFactory'; import { PythonCompletionItemProvider } from '../providers/completionProvider'; @@ -39,6 +39,7 @@ import { PythonReferenceProvider } from '../providers/referenceProvider'; import { PythonRenameProvider } from '../providers/renameProvider'; import { PythonSignatureProvider } from '../providers/signatureProvider'; import { JediSymbolProvider } from '../providers/symbolProvider'; +import { PythonEnvironment } from '../pythonEnvironments/info'; import { ITestManagementService } from '../testing/types'; import { BlockFormatProviders } from '../typeFormatters/blockFormatProvider'; import { OnTypeFormattingDispatcher } from '../typeFormatters/dispatcher'; @@ -68,16 +69,12 @@ export class JediExtensionActivator implements ILanguageServerActivator { this.documentSelector = PYTHON; } - public async start(_resource: Resource, interpreter: PythonInterpreter | undefined): Promise { + public async start(_resource: Resource, interpreter: PythonEnvironment | undefined): Promise { if (this.jediFactory) { throw new Error('Jedi already started'); } const context = this.context; - const jediFactory = (this.jediFactory = new JediFactory( - context.asAbsolutePath('.'), - interpreter, - this.serviceManager - )); + const jediFactory = (this.jediFactory = new JediFactory(interpreter, this.serviceManager)); context.subscriptions.push(jediFactory); const serviceContainer = this.serviceManager.get(IServiceContainer); @@ -100,11 +97,11 @@ export class JediExtensionActivator implements ILanguageServerActivator { const testManagementService = this.serviceManager.get(ITestManagementService); testManagementService .activate(this.symbolProvider) - .catch(ex => traceError('Failed to activate Unit Tests', ex)); + .catch((ex) => traceError('Failed to activate Unit Tests', ex)); } public deactivate() { - this.registrations.forEach(r => r.dispose()); + this.registrations.forEach((r) => r.dispose()); this.registrations = []; } @@ -243,7 +240,7 @@ export class JediExtensionActivator implements ILanguageServerActivator { } public dispose(): void { - this.registrations.forEach(r => r.dispose()); + this.registrations.forEach((r) => r.dispose()); if (this.jediFactory) { this.jediFactory.dispose(); } diff --git a/src/client/activation/languageClientMiddleware.ts b/src/client/activation/languageClientMiddleware.ts index cfa1c6a699b1..2232af85e039 100644 --- a/src/client/activation/languageClientMiddleware.ts +++ b/src/client/activation/languageClientMiddleware.ts @@ -23,6 +23,7 @@ import { ProviderResult, Range, SignatureHelp, + SignatureHelpContext, SymbolInformation, TextDocument, TextEdit, @@ -30,7 +31,10 @@ import { WorkspaceEdit } from 'vscode'; import { + ConfigurationParams, + ConfigurationRequest, HandleDiagnosticsSignature, + HandlerResult, Middleware, PrepareRenameSignature, ProvideCodeActionsSignature, @@ -50,13 +54,14 @@ import { ProvideWorkspaceSymbolsSignature, ResolveCodeLensSignature, ResolveCompletionItemSignature, - ResolveDocumentLinkSignature -} from 'vscode-languageclient'; + ResolveDocumentLinkSignature, + ResponseError +} from 'vscode-languageclient/node'; -import { ProvideDeclarationSignature } from 'vscode-languageclient/lib/declaration'; +import { ProvideDeclarationSignature } from 'vscode-languageclient/lib/common/declaration'; import { HiddenFilePrefix } from '../common/constants'; -import { CollectLSRequestTiming, CollectNodeLSRequestTiming } from '../common/experimentGroups'; -import { IExperimentsManager, IPythonExtensionBanner } from '../common/types'; +import { CollectLSRequestTiming, CollectNodeLSRequestTiming } from '../common/experiments/groups'; +import { IConfigurationService, IExperimentsManager } from '../common/types'; import { StopWatch } from '../common/utils/stopWatch'; import { sendTelemetryEvent } from '../telemetry'; import { EventName } from '../telemetry/constants'; @@ -79,11 +84,47 @@ export class LanguageClientMiddleware implements Middleware { public nextWindow: number = 0; public eventCount: number = 0; + public workspace = { + // tslint:disable:no-any + configuration: ( + params: ConfigurationParams, + token: CancellationToken, + next: ConfigurationRequest.HandlerSignature + ): HandlerResult => { + // Hand-collapse "Thenable | Thenable | Thenable" into just "Thenable" to make TS happy. + const result: any[] | ResponseError | Thenable> = next(params, token); + + // For backwards compatibility, set python.pythonPath to the configured + // value as though it were in the user's settings.json file. + const addPythonPath = (settings: any[] | ResponseError) => { + if (settings instanceof ResponseError) { + return settings; + } + + params.items.forEach((item, i) => { + if (item.section === 'python') { + const uri = item.scopeUri ? Uri.parse(item.scopeUri) : undefined; + settings[i].pythonPath = this.configService.getSettings(uri).pythonPath; + } + }); + + return settings; + }; + + if (isThenable(result)) { + return result.then(addPythonPath); + } + + return addPythonPath(result); + } + // tslint:enable:no-any + }; + private connected = false; // Default to not forwarding to VS code. public constructor( - private readonly surveyBanner: IPythonExtensionBanner, experimentsManager: IExperimentsManager, + private readonly configService: IConfigurationService, serverType: LanguageServerType, public readonly serverVersion?: string ) { @@ -95,7 +136,7 @@ export class LanguageClientMiddleware implements Middleware { this.eventName = EventName.PYTHON_LANGUAGE_SERVER_REQUEST; group = CollectLSRequestTiming; } else if (serverType === LanguageServerType.Node) { - this.eventName = EventName.PYTHON_NODE_SERVER_REQUEST; + this.eventName = EventName.LANGUAGE_SERVER_REQUEST; group = CollectNodeLSRequestTiming; } else { return; @@ -124,7 +165,6 @@ export class LanguageClientMiddleware implements Middleware { next: ProvideCompletionItemsSignature ) { if (this.connected) { - this.surveyBanner.showBanner().ignoreErrors(); return next(document, position, context, token); } } @@ -167,11 +207,12 @@ export class LanguageClientMiddleware implements Middleware { public provideSignatureHelp( document: TextDocument, position: Position, + context: SignatureHelpContext, token: CancellationToken, next: ProvideSignatureHelpSignature ): ProviderResult { if (this.connected) { - return next(document, position, token); + return next(document, position, context, token); } } @@ -372,11 +413,11 @@ export class LanguageClientMiddleware implements Middleware { function captureTelemetryForLSPMethod(method: string, debounceMilliseconds: number) { // tslint:disable-next-line:no-function-expression no-any - return function(_target: Object, _propertyKey: string, descriptor: TypedPropertyDescriptor) { + return function (_target: Object, _propertyKey: string, descriptor: TypedPropertyDescriptor) { const originalMethod = descriptor.value; // tslint:disable-next-line:no-any - descriptor.value = function(this: LanguageClientMiddleware, ...args: any[]) { + descriptor.value = function (this: LanguageClientMiddleware, ...args: any[]) { const eventName = this.eventName; if (!eventName) { return originalMethod.apply(this, args); @@ -401,9 +442,12 @@ function captureTelemetryForLSPMethod(method: string, debounceMilliseconds: numb this.lastCaptured.set(method, now); this.eventCount += 1; + // Replace all slashes in the method name so it doesn't get scrubbed by vscode-extension-telemetry. + const formattedMethod = method.replace(/\//g, '.'); + const properties = { lsVersion: this.serverVersion || 'unknown', - method: method + method: formattedMethod }; const stopWatch = new StopWatch(); @@ -411,8 +455,8 @@ function captureTelemetryForLSPMethod(method: string, debounceMilliseconds: numb const result = originalMethod.apply(this, args); // tslint:disable-next-line:no-unsafe-any - if (result && typeof result.then === 'function') { - (result as Thenable).then(() => { + if (result && isThenable(result)) { + result.then(() => { sendTelemetryEvent(eventName, stopWatch.elapsedTime, properties); }); } else { @@ -425,3 +469,8 @@ function captureTelemetryForLSPMethod(method: string, debounceMilliseconds: numb return descriptor; }; } + +// tslint:disable-next-line: no-any +function isThenable(v: any): v is Thenable { + return typeof v?.then === 'function'; +} diff --git a/src/client/activation/languageServer/activator.ts b/src/client/activation/languageServer/activator.ts index 42194f36adbe..69d810540817 100644 --- a/src/client/activation/languageServer/activator.ts +++ b/src/client/activation/languageServer/activator.ts @@ -1,13 +1,14 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -import { inject, injectable } from 'inversify'; +import { inject, injectable, named } from 'inversify'; import * as path from 'path'; import { IWorkspaceService } from '../../common/application/types'; -import { traceDecorators } from '../../common/logger'; +import { EXTENSION_ROOT_DIR, isTestExecution } from '../../common/constants'; import { IFileSystem } from '../../common/platform/types'; -import { IConfigurationService, Resource } from '../../common/types'; +import { BANNER_NAME_PROPOSE_LS, IConfigurationService, IPythonExtensionBanner, Resource } from '../../common/types'; +import { PythonEnvironment } from '../../pythonEnvironments/info'; import { LanguageServerActivatorBase } from '../common/activatorBase'; import { ILanguageServerDownloader, ILanguageServerFolderService, ILanguageServerManager } from '../types'; @@ -25,14 +26,24 @@ export class DotNetLanguageServerActivator extends LanguageServerActivatorBase { @inject(ILanguageServerManager) manager: ILanguageServerManager, @inject(IWorkspaceService) workspace: IWorkspaceService, @inject(IFileSystem) fs: IFileSystem, - @inject(ILanguageServerDownloader) lsDownloader: ILanguageServerDownloader, - @inject(ILanguageServerFolderService) languageServerFolderService: ILanguageServerFolderService, - @inject(IConfigurationService) configurationService: IConfigurationService + @inject(ILanguageServerDownloader) private readonly lsDownloader: ILanguageServerDownloader, + @inject(ILanguageServerFolderService) + private readonly languageServerFolderService: ILanguageServerFolderService, + @inject(IConfigurationService) configurationService: IConfigurationService, + @inject(IPythonExtensionBanner) + @named(BANNER_NAME_PROPOSE_LS) + private proposePylancePopup: IPythonExtensionBanner ) { - super(manager, workspace, fs, lsDownloader, languageServerFolderService, configurationService); + super(manager, workspace, fs, configurationService); + } + + public async start(resource: Resource, interpreter?: PythonEnvironment): Promise { + if (!isTestExecution()) { + this.proposePylancePopup.showBanner().ignoreErrors(); + } + return super.start(resource, interpreter); } - @traceDecorators.error('Failed to ensure language server is available') public async ensureLanguageServerIsAvailable(resource: Resource): Promise { const languageServerFolderPath = await this.ensureLanguageServerFileIsAvailable(resource, 'mscorlib.dll'); if (languageServerFolderPath) { @@ -66,4 +77,24 @@ export class DotNetLanguageServerActivator extends LanguageServerActivatorBase { content.runtimeOptions.configProperties['System.Globalization.Invariant'] = true; await this.fs.writeFile(targetJsonFile, JSON.stringify(content)); } + + private async ensureLanguageServerFileIsAvailable( + resource: Resource, + fileName: string + ): Promise { + const settings = this.configurationService.getSettings(resource); + if (settings.downloadLanguageServer === false) { + // Development mode + return; + } + const languageServerFolder = await this.languageServerFolderService.getLanguageServerFolderName(resource); + if (languageServerFolder) { + const languageServerFolderPath = path.join(EXTENSION_ROOT_DIR, languageServerFolder); + const mscorlib = path.join(languageServerFolderPath, fileName); + if (!(await this.fs.fileExists(mscorlib))) { + await this.lsDownloader.downloadLanguageServer(languageServerFolderPath, resource); + } + return languageServerFolderPath; + } + } } diff --git a/src/client/activation/languageServer/analysisOptions.ts b/src/client/activation/languageServer/analysisOptions.ts index 1fffcd1473aa..21e263d08a42 100644 --- a/src/client/activation/languageServer/analysisOptions.ts +++ b/src/client/activation/languageServer/analysisOptions.ts @@ -2,77 +2,81 @@ // Licensed under the MIT License. import { inject, injectable } from 'inversify'; import * as path from 'path'; -import { ConfigurationChangeEvent, Disposable, Event, EventEmitter, WorkspaceFolder } from 'vscode'; -import { DocumentFilter, DocumentSelector, LanguageClientOptions, RevealOutputChannelOn } from 'vscode-languageclient'; +import { ConfigurationChangeEvent, WorkspaceFolder } from 'vscode'; +import { DocumentFilter } from 'vscode-languageclient/node'; import { IWorkspaceService } from '../../common/application/types'; -import { isTestExecution, PYTHON_LANGUAGE } from '../../common/constants'; import { traceDecorators, traceError } from '../../common/logger'; -import { IConfigurationService, IExtensionContext, IOutputChannel, IPathUtils, Resource } from '../../common/types'; +import { IConfigurationService, IExtensionContext, IPathUtils, Resource } from '../../common/types'; import { debounceSync } from '../../common/utils/decorators'; import { IEnvironmentVariablesProvider } from '../../common/variables/types'; -import { PythonInterpreter } from '../../interpreter/contracts'; -import { ILanguageServerAnalysisOptions, ILanguageServerFolderService, ILanguageServerOutputChannel } from '../types'; +import { PythonEnvironment } from '../../pythonEnvironments/info'; +import { LanguageServerAnalysisOptionsBase } from '../common/analysisOptions'; +import { ILanguageServerFolderService, ILanguageServerOutputChannel } from '../types'; @injectable() -export class LanguageServerAnalysisOptions implements ILanguageServerAnalysisOptions { - private envPythonPath: string = ''; +export class DotNetLanguageServerAnalysisOptions extends LanguageServerAnalysisOptionsBase { + private resource: Resource; + private interpreter: PythonEnvironment | undefined; + private languageServerFolder: string = ''; private excludedFiles: string[] = []; private typeshedPaths: string[] = []; - private disposables: Disposable[] = []; - private languageServerFolder: string = ''; - private resource: Resource; - private interpreter: PythonInterpreter | undefined; - private output: IOutputChannel; - private readonly didChange = new EventEmitter(); + constructor( @inject(IExtensionContext) private readonly context: IExtensionContext, - @inject(IEnvironmentVariablesProvider) private readonly envVarsProvider: IEnvironmentVariablesProvider, + @inject(IEnvironmentVariablesProvider) envVarsProvider: IEnvironmentVariablesProvider, @inject(IConfigurationService) private readonly configuration: IConfigurationService, @inject(IWorkspaceService) private readonly workspace: IWorkspaceService, - @inject(ILanguageServerOutputChannel) private readonly lsOutputChannel: ILanguageServerOutputChannel, + @inject(ILanguageServerOutputChannel) lsOutputChannel: ILanguageServerOutputChannel, @inject(IPathUtils) private readonly pathUtils: IPathUtils, @inject(ILanguageServerFolderService) private readonly languageServerFolderService: ILanguageServerFolderService ) { - this.output = this.lsOutputChannel.channel; + super(envVarsProvider, lsOutputChannel); } - public async initialize(resource: Resource, interpreter: PythonInterpreter | undefined) { + + public async initialize(resource: Resource, interpreter: PythonEnvironment | undefined) { + await super.initialize(resource, interpreter); + this.resource = resource; this.interpreter = interpreter; this.languageServerFolder = await this.languageServerFolderService.getLanguageServerFolderName(resource); - let disposable = this.workspace.onDidChangeConfiguration(this.onSettingsChangedHandler, this); - this.disposables.push(disposable); - - disposable = this.envVarsProvider.onDidEnvironmentVariablesChange(this.onEnvVarChange, this); + const disposable = this.workspace.onDidChangeConfiguration(this.onSettingsChangedHandler, this); this.disposables.push(disposable); } - public get onDidChange(): Event { - return this.didChange.event; + + protected getWorkspaceFolder(): WorkspaceFolder | undefined { + return this.workspace.getWorkspaceFolder(this.resource); } - public dispose(): void { - this.disposables.forEach(d => d.dispose()); - this.didChange.dispose(); + + protected getDocumentFilters(workspaceFolder?: WorkspaceFolder): DocumentFilter[] { + const filters = super.getDocumentFilters(workspaceFolder); + + // Set the document selector only when in a multi-root workspace scenario. + if ( + workspaceFolder && + Array.isArray(this.workspace.workspaceFolders) && + this.workspace.workspaceFolders!.length > 1 + ) { + filters[0].pattern = `${workspaceFolder.uri.fsPath}/**/*`; + } + + return filters; } - // tslint:disable-next-line: max-func-body-length - @traceDecorators.error('Failed to get analysis options') - public async getAnalysisOptions(): Promise { + + protected async getInitializationOptions() { const properties: Record = {}; const interpreterInfo = this.interpreter; if (!interpreterInfo) { - // tslint:disable-next-line:no-suspicious-comment - // TODO: How do we handle this? It is pretty unlikely... throw Error('did not find an active interpreter'); } - // tslint:disable-next-line:no-string-literal - properties['InterpreterPath'] = interpreterInfo.path; + properties.InterpreterPath = interpreterInfo.path; const version = interpreterInfo.version; if (version) { - // tslint:disable-next-line:no-string-literal - properties['Version'] = `${version.major}.${version.minor}.${version.patch}`; + properties.Version = `${version.major}.${version.minor}.${version.patch}`; } else { traceError('Unable to determine Python version. Analysis may be limited.'); } @@ -87,72 +91,28 @@ export class LanguageServerAnalysisOptions implements ILanguageServerAnalysisOpt } } - // tslint:disable-next-line: no-suspicious-comment - // TODO: remove this setting since LS 0.2.92+ is not using it. - // tslint:disable-next-line:no-string-literal - properties['DatabasePath'] = path.join(this.context.extensionPath, this.languageServerFolder); - - const vars = await this.envVarsProvider.getEnvironmentVariables(); - this.envPythonPath = vars.PYTHONPATH || ''; - if (this.envPythonPath !== '') { - const paths = this.envPythonPath.split(this.pathUtils.delimiter).filter(item => item.trim().length > 0); + const envPythonPath = await this.getEnvPythonPath(); + if (envPythonPath !== '') { + const paths = envPythonPath.split(this.pathUtils.delimiter).filter((item) => item.trim().length > 0); searchPaths.push(...paths); } - searchPaths = searchPaths.map(p => path.normalize(p)); + searchPaths = searchPaths.map((p) => path.normalize(p)); this.excludedFiles = this.getExcludedFiles(); this.typeshedPaths = this.getTypeshedPaths(); - const workspaceFolder = this.workspace.getWorkspaceFolder(this.resource); - const documentSelector = this.getDocumentSelector(workspaceFolder); - // Options to control the language client. + return { - // Register the server for Python documents. - documentSelector, - workspaceFolder, - synchronize: { - configurationSection: PYTHON_LANGUAGE + interpreter: { + properties }, - outputChannel: this.output, - revealOutputChannelOn: RevealOutputChannelOn.Never, - initializationOptions: { - interpreter: { - properties - }, - displayOptions: { - preferredFormat: 'markdown', - trimDocumentationLines: false, - maxDocumentationLineLength: 0, - trimDocumentationText: false, - maxDocumentationTextLength: 0 - }, - searchPaths, - typeStubSearchPaths: this.typeshedPaths, - cacheFolderPath: this.getCacheFolderPath(), - excludeFiles: this.excludedFiles, - testEnvironment: isTestExecution(), - analysisUpdates: true, - traceLogging: true, // Max level, let LS decide through settings actual level of logging. - asyncStartup: true - } + searchPaths, + typeStubSearchPaths: this.typeshedPaths, + cacheFolderPath: this.getCacheFolderPath(), + excludeFiles: this.excludedFiles }; } - protected getDocumentSelector(workspaceFolder?: WorkspaceFolder): DocumentSelector { - const documentSelector: DocumentFilter[] = [ - { scheme: 'file', language: PYTHON_LANGUAGE }, - { scheme: 'untitled', language: PYTHON_LANGUAGE } - ]; - // Set the document selector only when in a multi-root workspace scenario. - if ( - workspaceFolder && - Array.isArray(this.workspace.workspaceFolders) && - this.workspace.workspaceFolders!.length > 1 - ) { - // tslint:disable-next-line:no-any - documentSelector[0].pattern = `${workspaceFolder.uri.fsPath}/**/*`; - } - return documentSelector; - } + protected getExcludedFiles(): string[] { const list: string[] = ['**/Lib/**', '**/site-packages/**']; this.getVsCodeExcludeSection('search.exclude', list); @@ -166,39 +126,45 @@ export class LanguageServerAnalysisOptions implements ILanguageServerAnalysisOpt const states = this.workspace.getConfiguration(setting); if (states) { Object.keys(states) - .filter(k => (k.indexOf('*') >= 0 || k.indexOf('/') >= 0) && states[k]) - .forEach(p => list.push(p)); + .filter((k) => (k.indexOf('*') >= 0 || k.indexOf('/') >= 0) && states[k]) + .forEach((p) => list.push(p)); } } + protected getPythonExcludeSection(list: string[]): void { const pythonSettings = this.configuration.getSettings(this.resource); const paths = pythonSettings && pythonSettings.linting ? pythonSettings.linting.ignorePatterns : undefined; if (paths && Array.isArray(paths)) { - paths.filter(p => p && p.length > 0).forEach(p => list.push(p)); + paths.filter((p) => p && p.length > 0).forEach((p) => list.push(p)); } } + protected getTypeshedPaths(): string[] { const settings = this.configuration.getSettings(this.resource); return settings.analysis.typeshedPaths && settings.analysis.typeshedPaths.length > 0 ? settings.analysis.typeshedPaths : [path.join(this.context.extensionPath, this.languageServerFolder, 'Typeshed')]; } + protected getCacheFolderPath(): string | null { const settings = this.configuration.getSettings(this.resource); return settings.analysis.cacheFolderPath && settings.analysis.cacheFolderPath.length > 0 ? settings.analysis.cacheFolderPath : null; } + protected async onSettingsChangedHandler(e?: ConfigurationChangeEvent): Promise { if (e && !e.affectsConfiguration('python', this.resource)) { return; } this.onSettingsChanged(); } + @debounceSync(1000) protected onSettingsChanged(): void { this.notifyIfSettingsChanged().ignoreErrors(); } + @traceDecorators.verbose('Changes in python settings detected in analysis options') protected async notifyIfSettingsChanged(): Promise { const excludedFiles = this.getExcludedFiles(); @@ -221,18 +187,4 @@ export class LanguageServerAnalysisOptions implements ILanguageServerAnalysisOpt } } } - - @debounceSync(1000) - protected onEnvVarChange(): void { - this.notifyifEnvPythonPathChanged().ignoreErrors(); - } - - protected async notifyifEnvPythonPathChanged(): Promise { - const vars = await this.envVarsProvider.getEnvironmentVariables(); - const envPythonPath = vars.PYTHONPATH || ''; - - if (this.envPythonPath !== envPythonPath) { - this.didChange.fire(); - } - } } diff --git a/src/client/activation/languageServer/languageClientFactory.ts b/src/client/activation/languageServer/languageClientFactory.ts index 38e923054812..e49b4b841b71 100644 --- a/src/client/activation/languageServer/languageClientFactory.ts +++ b/src/client/activation/languageServer/languageClientFactory.ts @@ -3,13 +3,13 @@ import { inject, injectable, unmanaged } from 'inversify'; import * as path from 'path'; -import { LanguageClient, LanguageClientOptions, ServerOptions } from 'vscode-languageclient'; +import { LanguageClient, LanguageClientOptions, ServerOptions } from 'vscode-languageclient/node'; import { EXTENSION_ROOT_DIR, PYTHON_LANGUAGE } from '../../common/constants'; import { IConfigurationService, Resource } from '../../common/types'; import { IEnvironmentVariablesProvider } from '../../common/variables/types'; import { IEnvironmentActivationService } from '../../interpreter/activation/types'; -import { PythonInterpreter } from '../../interpreter/contracts'; +import { PythonEnvironment } from '../../pythonEnvironments/info'; import { ILanguageClientFactory, ILanguageServerFolderService, IPlatformData } from '../types'; // tslint:disable:no-require-imports no-require-imports no-var-requires max-classes-per-file @@ -25,7 +25,7 @@ export class DotNetDownloadedLanguageClientFactory implements ILanguageClientFac public async createLanguageClient( resource: Resource, - _interpreter: PythonInterpreter | undefined, + _interpreter: PythonEnvironment | undefined, clientOptions: LanguageClientOptions, env?: NodeJS.ProcessEnv ): Promise { @@ -40,7 +40,7 @@ export class DotNetDownloadedLanguageClientFactory implements ILanguageClientFac run: { command: serverModule, args: [], options }, debug: { command: serverModule, args: ['--debug'], options } }; - const vscodeLanguageClient = require('vscode-languageclient') as typeof import('vscode-languageclient'); + const vscodeLanguageClient = require('vscode-languageclient/node') as typeof import('vscode-languageclient/node'); return new vscodeLanguageClient.LanguageClient( PYTHON_LANGUAGE, languageClientName, @@ -58,7 +58,7 @@ export class DotNetSimpleLanguageClientFactory implements ILanguageClientFactory public async createLanguageClient( resource: Resource, - _interpreter: PythonInterpreter | undefined, + _interpreter: PythonEnvironment | undefined, clientOptions: LanguageClientOptions, env?: NodeJS.ProcessEnv ): Promise { @@ -69,7 +69,7 @@ export class DotNetSimpleLanguageClientFactory implements ILanguageClientFactory run: { command: dotNetCommand, args: [serverModule], options }, debug: { command: dotNetCommand, args: [serverModule, '--debug'], options } }; - const vscodeLanguageClient = require('vscode-languageclient') as typeof import('vscode-languageclient'); + const vscodeLanguageClient = require('vscode-languageclient/node') as typeof import('vscode-languageclient/node'); return new vscodeLanguageClient.LanguageClient( PYTHON_LANGUAGE, languageClientName, @@ -95,7 +95,7 @@ export class DotNetLanguageClientFactory implements ILanguageClientFactory { public async createLanguageClient( resource: Resource, - interpreter: PythonInterpreter | undefined, + interpreter: PythonEnvironment | undefined, clientOptions: LanguageClientOptions ): Promise { const settings = this.configurationService.getSettings(resource); @@ -113,7 +113,7 @@ export class DotNetLanguageClientFactory implements ILanguageClientFactory { private async getEnvVars( resource: Resource, - interpreter: PythonInterpreter | undefined + interpreter: PythonEnvironment | undefined ): Promise { const envVars = await this.environmentActivationService.getActivatedEnvironmentVariables(resource, interpreter); if (envVars && Object.keys(envVars).length > 0) { diff --git a/src/client/activation/languageServer/languageServerExtension.ts b/src/client/activation/languageServer/languageServerExtension.ts index 1bcaa0e5be03..b2f69abadbee 100644 --- a/src/client/activation/languageServer/languageServerExtension.ts +++ b/src/client/activation/languageServer/languageServerExtension.ts @@ -27,7 +27,7 @@ export class LanguageServerExtension implements ILanguageServerExtension { if (this.disposable) { return; } - this.disposable = this.commandManager.registerCommand(loadExtensionCommand, args => { + this.disposable = this.commandManager.registerCommand(loadExtensionCommand, (args) => { this.loadExtensionArgs = args; this._invoked.fire(); }); diff --git a/src/client/activation/languageServer/languageServerFolderService.ts b/src/client/activation/languageServer/languageServerFolderService.ts index bc89bb95ecea..bf541ab4690f 100644 --- a/src/client/activation/languageServer/languageServerFolderService.ts +++ b/src/client/activation/languageServer/languageServerFolderService.ts @@ -7,11 +7,15 @@ import { inject, injectable } from 'inversify'; import { IApplicationEnvironment } from '../../common/application/types'; import { IServiceContainer } from '../../ioc/types'; import { LanguageServerFolderService } from '../common/languageServerFolderService'; +import { DotNetLanguageServerFolder } from '../types'; + +// Must match languageServerVersion* keys in package.json +export const DotNetLanguageServerMinVersionKey = 'languageServerVersion'; @injectable() export class DotNetLanguageServerFolderService extends LanguageServerFolderService { constructor(@inject(IServiceContainer) serviceContainer: IServiceContainer) { - super(serviceContainer, 'languageServer'); + super(serviceContainer, DotNetLanguageServerFolder); } protected getMinimalLanguageServerVersion(): string { @@ -19,7 +23,7 @@ export class DotNetLanguageServerFolderService extends LanguageServerFolderServi try { const appEnv = this.serviceContainer.get(IApplicationEnvironment); if (appEnv) { - minVersion = appEnv.packageJson.languageServerVersion as string; + minVersion = appEnv.packageJson[DotNetLanguageServerMinVersionKey] as string; } // tslint:disable-next-line: no-empty } catch {} diff --git a/src/client/activation/languageServer/languageServerPackageService.ts b/src/client/activation/languageServer/languageServerPackageService.ts index 46998e8cc9cb..9a912645fb4f 100644 --- a/src/client/activation/languageServer/languageServerPackageService.ts +++ b/src/client/activation/languageServer/languageServerPackageService.ts @@ -1,42 +1,42 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -'use strict'; - -import { inject, injectable } from 'inversify'; -import { IApplicationEnvironment } from '../../common/application/types'; -import { IPlatformService } from '../../common/platform/types'; -import { OSType } from '../../common/utils/platform'; -import { IServiceContainer } from '../../ioc/types'; -import { LanguageServerPackageService } from '../common/languageServerPackageService'; -import { PlatformName } from '../types'; - -const downloadBaseFileName = 'Python-Language-Server'; -export const PackageNames = { - [PlatformName.Windows32Bit]: `${downloadBaseFileName}-${PlatformName.Windows32Bit}`, - [PlatformName.Windows64Bit]: `${downloadBaseFileName}-${PlatformName.Windows64Bit}`, - [PlatformName.Linux64Bit]: `${downloadBaseFileName}-${PlatformName.Linux64Bit}`, - [PlatformName.Mac64Bit]: `${downloadBaseFileName}-${PlatformName.Mac64Bit}` -}; - -@injectable() -export class DotNetLanguageServerPackageService extends LanguageServerPackageService { - constructor( - @inject(IServiceContainer) serviceContainer: IServiceContainer, - @inject(IApplicationEnvironment) appEnv: IApplicationEnvironment, - @inject(IPlatformService) platform: IPlatformService - ) { - super(serviceContainer, appEnv, platform); - } - - public getNugetPackageName(): string { - switch (this.platform.osType) { - case OSType.Windows: - return PackageNames[this.platform.is64bit ? PlatformName.Windows64Bit : PlatformName.Windows32Bit]; - case OSType.OSX: - return PackageNames[PlatformName.Mac64Bit]; - default: - return PackageNames[PlatformName.Linux64Bit]; - } - } -} +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +'use strict'; + +import { inject, injectable } from 'inversify'; +import { IApplicationEnvironment } from '../../common/application/types'; +import { IPlatformService } from '../../common/platform/types'; +import { OSType } from '../../common/utils/platform'; +import { IServiceContainer } from '../../ioc/types'; +import { LanguageServerPackageService } from '../common/languageServerPackageService'; +import { PlatformName } from '../types'; + +const downloadBaseFileName = 'Python-Language-Server'; +export const PackageNames = { + [PlatformName.Windows32Bit]: `${downloadBaseFileName}-${PlatformName.Windows32Bit}`, + [PlatformName.Windows64Bit]: `${downloadBaseFileName}-${PlatformName.Windows64Bit}`, + [PlatformName.Linux64Bit]: `${downloadBaseFileName}-${PlatformName.Linux64Bit}`, + [PlatformName.Mac64Bit]: `${downloadBaseFileName}-${PlatformName.Mac64Bit}` +}; + +@injectable() +export class DotNetLanguageServerPackageService extends LanguageServerPackageService { + constructor( + @inject(IServiceContainer) serviceContainer: IServiceContainer, + @inject(IApplicationEnvironment) appEnv: IApplicationEnvironment, + @inject(IPlatformService) platform: IPlatformService + ) { + super(serviceContainer, appEnv, platform); + } + + public getNugetPackageName(): string { + switch (this.platform.osType) { + case OSType.Windows: + return PackageNames[this.platform.is64bit ? PlatformName.Windows64Bit : PlatformName.Windows32Bit]; + case OSType.OSX: + return PackageNames[PlatformName.Mac64Bit]; + default: + return PackageNames[PlatformName.Linux64Bit]; + } + } +} diff --git a/src/client/activation/languageServer/languageServerProxy.ts b/src/client/activation/languageServer/languageServerProxy.ts index 52576457d3a2..4b0ff833430c 100644 --- a/src/client/activation/languageServer/languageServerProxy.ts +++ b/src/client/activation/languageServer/languageServerProxy.ts @@ -3,15 +3,15 @@ import '../../common/extensions'; import { inject, injectable } from 'inversify'; -import { Disposable, LanguageClient, LanguageClientOptions } from 'vscode-languageclient'; +import { Disposable, LanguageClient, LanguageClientOptions } from 'vscode-languageclient/node'; import { traceDecorators, traceError } from '../../common/logger'; import { IConfigurationService, Resource } from '../../common/types'; import { createDeferred, Deferred, sleep } from '../../common/utils/async'; import { swallowExceptions } from '../../common/utils/decorators'; import { noop } from '../../common/utils/misc'; -import { PythonInterpreter } from '../../interpreter/contracts'; import { LanguageServerSymbolProvider } from '../../providers/symbolProvider'; +import { PythonEnvironment } from '../../pythonEnvironments/info'; import { captureTelemetry, sendTelemetryEvent } from '../../telemetry'; import { EventName } from '../../telemetry/constants'; import { ITestManagementService } from '../../testing/types'; @@ -33,11 +33,11 @@ export class DotNetLanguageServerProxy implements ILanguageServerProxy { ) { this.startupCompleted = createDeferred(); } - @traceDecorators.verbose('Stopping Language Server') + @traceDecorators.verbose('Stopping language server') public dispose() { if (this.languageClient) { // Do not await on this. - this.languageClient.stop().then(noop, ex => traceError('Stopping language client failed', ex)); + this.languageClient.stop().then(noop, (ex) => traceError('Stopping language client failed', ex)); this.languageClient = undefined; } while (this.disposables.length > 0) { @@ -45,7 +45,7 @@ export class DotNetLanguageServerProxy implements ILanguageServerProxy { d.dispose(); } if (this.startupCompleted.completed) { - this.startupCompleted.reject(new Error('Disposed Language Server')); + this.startupCompleted.reject(new Error('Disposed language server')); this.startupCompleted = createDeferred(); } this.disposed = true; @@ -55,7 +55,7 @@ export class DotNetLanguageServerProxy implements ILanguageServerProxy { @captureTelemetry(EventName.PYTHON_LANGUAGE_SERVER_ENABLED, undefined, true) public async start( resource: Resource, - interpreter: PythonInterpreter | undefined, + interpreter: PythonEnvironment | undefined, options: LanguageClientOptions ): Promise { if (!this.languageClient) { @@ -71,9 +71,14 @@ export class DotNetLanguageServerProxy implements ILanguageServerProxy { const settings = this.configurationService.getSettings(resource); if (settings.downloadLanguageServer) { - this.languageClient.onTelemetry(telemetryEvent => { + this.languageClient.onTelemetry((telemetryEvent) => { const eventName = telemetryEvent.EventName || EventName.PYTHON_LANGUAGE_SERVER_TELEMETRY; - sendTelemetryEvent(eventName, telemetryEvent.Measurements, telemetryEvent.Properties); + const formattedProperties = { + ...telemetryEvent.Properties, + // Replace all slashes in the method name so it doesn't get scrubbed by vscode-extension-telemetry. + method: telemetryEvent.Properties.method?.replace(/\//g, '.') + }; + sendTelemetryEvent(eventName, telemetryEvent.Measurements, formattedProperties); }); } await this.registerTestServices(); @@ -81,7 +86,7 @@ export class DotNetLanguageServerProxy implements ILanguageServerProxy { await this.startupCompleted.promise; } } - @traceDecorators.error('Failed to load Language Server extension') + @traceDecorators.error('Failed to load language server extension') public loadExtension(args?: {}) { if (this.extensionLoadedArgs.has(args || '')) { return; @@ -89,7 +94,7 @@ export class DotNetLanguageServerProxy implements ILanguageServerProxy { this.extensionLoadedArgs.add(args || ''); this.startupCompleted.promise .then(() => - this.languageClient!.sendRequest('python/loadExtension', args).then(noop, ex => + this.languageClient!.sendRequest('python/loadExtension', args).then(noop, (ex) => traceError('Request python/loadExtension failed', ex) ) ) @@ -97,12 +102,16 @@ export class DotNetLanguageServerProxy implements ILanguageServerProxy { } @captureTelemetry(EventName.PYTHON_LANGUAGE_SERVER_READY, undefined, true) protected async serverReady(): Promise { - while (this.languageClient && !this.languageClient!.initializeResult) { + // languageClient can be disposed in awaits. + while (this.languageClient && !this.languageClient.initializeResult) { await sleep(100); } + if (this.languageClient) { + await this.languageClient.onReady(); + } this.startupCompleted.resolve(); } - @swallowExceptions('Activating Unit Tests Manager for Language Server') + @swallowExceptions('Activating Unit Tests Manager for Microsoft Python Language Server') protected async registerTestServices() { if (!this.languageClient) { throw new Error('languageClient not initialized'); diff --git a/src/client/activation/languageServer/manager.ts b/src/client/activation/languageServer/manager.ts index 216915b240ea..91c01769fc53 100644 --- a/src/client/activation/languageServer/manager.ts +++ b/src/client/activation/languageServer/manager.ts @@ -4,19 +4,15 @@ import '../../common/extensions'; import { inject, injectable, named } from 'inversify'; +import { ICommandManager } from '../../common/application/types'; import { traceDecorators } from '../../common/logger'; -import { - BANNER_NAME_LS_SURVEY, - IDisposable, - IExperimentsManager, - IPythonExtensionBanner, - Resource -} from '../../common/types'; +import { IConfigurationService, IDisposable, IExperimentsManager, Resource } from '../../common/types'; import { debounceSync } from '../../common/utils/decorators'; -import { PythonInterpreter } from '../../interpreter/contracts'; import { IServiceContainer } from '../../ioc/types'; +import { PythonEnvironment } from '../../pythonEnvironments/info'; import { captureTelemetry } from '../../telemetry'; import { EventName } from '../../telemetry/constants'; +import { Commands } from '../commands'; import { LanguageClientMiddleware } from '../languageClientMiddleware'; import { ILanguageServerAnalysisOptions, @@ -31,40 +27,59 @@ import { export class DotNetLanguageServerManager implements ILanguageServerManager { private languageServerProxy?: ILanguageServerProxy; private resource!: Resource; - private interpreter: PythonInterpreter | undefined; + private interpreter: PythonEnvironment | undefined; private middleware: LanguageClientMiddleware | undefined; private disposables: IDisposable[] = []; private connected: boolean = false; + private lsVersion: string | undefined; + constructor( @inject(IServiceContainer) private readonly serviceContainer: IServiceContainer, - @inject(ILanguageServerAnalysisOptions) private readonly analysisOptions: ILanguageServerAnalysisOptions, + @inject(ILanguageServerAnalysisOptions) + @named(LanguageServerType.Microsoft) + private readonly analysisOptions: ILanguageServerAnalysisOptions, @inject(ILanguageServerExtension) private readonly lsExtension: ILanguageServerExtension, - @inject(IPythonExtensionBanner) - @named(BANNER_NAME_LS_SURVEY) - private readonly surveyBanner: IPythonExtensionBanner, @inject(ILanguageServerFolderService) private readonly folderService: ILanguageServerFolderService, - @inject(IExperimentsManager) private readonly experimentsManager: IExperimentsManager - ) {} + @inject(IExperimentsManager) private readonly experimentsManager: IExperimentsManager, + @inject(IConfigurationService) private readonly configService: IConfigurationService, + @inject(ICommandManager) commandManager: ICommandManager + ) { + this.disposables.push( + commandManager.registerCommand(Commands.RestartLS, () => { + this.restartLanguageServer().ignoreErrors(); + }) + ); + } + + private static versionTelemetryProps(instance: DotNetLanguageServerManager) { + return { + lsVersion: instance.lsVersion + }; + } + public dispose() { if (this.languageProxy) { this.languageProxy.dispose(); } - this.disposables.forEach(d => d.dispose()); + this.disposables.forEach((d) => d.dispose()); } public get languageProxy() { return this.languageServerProxy; } - @traceDecorators.error('Failed to start Language Server') - public async start(resource: Resource, interpreter: PythonInterpreter | undefined): Promise { + @traceDecorators.error('Failed to start language server') + public async start(resource: Resource, interpreter: PythonEnvironment | undefined): Promise { if (this.languageProxy) { - throw new Error('Language Server already started'); + throw new Error('Language server already started'); } this.registerCommandHandler(); this.resource = resource; this.interpreter = interpreter; this.analysisOptions.onDidChange(this.restartLanguageServerDebounced, this, this.disposables); + const versionPair = await this.folderService.getCurrentLanguageServerDirectory(); + this.lsVersion = versionPair?.version.format(); + await this.analysisOptions.initialize(resource, interpreter); await this.startLanguageServer(); } @@ -88,27 +103,31 @@ export class DotNetLanguageServerManager implements ILanguageServerManager { protected restartLanguageServerDebounced(): void { this.restartLanguageServer().ignoreErrors(); } - @traceDecorators.error('Failed to restart Language Server') - @traceDecorators.verbose('Restarting Language Server') + @traceDecorators.error('Failed to restart language server') + @traceDecorators.verbose('Restarting language server') protected async restartLanguageServer(): Promise { if (this.languageProxy) { this.languageProxy.dispose(); } await this.startLanguageServer(); } - @captureTelemetry(EventName.PYTHON_LANGUAGE_SERVER_STARTUP, undefined, true) - @traceDecorators.verbose('Starting Language Server') + @captureTelemetry( + EventName.PYTHON_LANGUAGE_SERVER_STARTUP, + undefined, + true, + undefined, + DotNetLanguageServerManager.versionTelemetryProps + ) + @traceDecorators.verbose('Starting language server') protected async startLanguageServer(): Promise { this.languageServerProxy = this.serviceContainer.get(ILanguageServerProxy); - const versionPair = await this.folderService.getCurrentLanguageServerDirectory(); - const options = await this.analysisOptions!.getAnalysisOptions(); options.middleware = this.middleware = new LanguageClientMiddleware( - this.surveyBanner, this.experimentsManager, + this.configService, LanguageServerType.Microsoft, - versionPair?.version.format() + this.lsVersion ); // Make sure the middleware is connected if we restart and we we're already connected. diff --git a/src/client/activation/languageServer/outputChannel.ts b/src/client/activation/languageServer/outputChannel.ts index f37ad51db496..2d4815b3af97 100644 --- a/src/client/activation/languageServer/outputChannel.ts +++ b/src/client/activation/languageServer/outputChannel.ts @@ -1,39 +1,39 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -'use strict'; - -import { inject, injectable } from 'inversify'; -import { IApplicationShell, ICommandManager } from '../../common/application/types'; -import '../../common/extensions'; -import { IOutputChannel } from '../../common/types'; -import { OutputChannelNames } from '../../common/utils/localize'; -import { ILanguageServerOutputChannel } from '../types'; - -@injectable() -export class LanguageServerOutputChannel implements ILanguageServerOutputChannel { - public output: IOutputChannel | undefined; - private registered = false; - constructor( - @inject(IApplicationShell) private readonly appShell: IApplicationShell, - @inject(ICommandManager) private readonly commandManager: ICommandManager - ) {} - - public get channel() { - if (!this.output) { - this.output = this.appShell.createOutputChannel(OutputChannelNames.languageServer()); - this.registerCommand().ignoreErrors(); - } - return this.output; - } - private async registerCommand() { - if (this.registered) { - return; - } - this.registered = true; - // This controls the visibility of the command used to display the LS Output panel. - // We don't want to display it when Jedi is used instead of LS. - await this.commandManager.executeCommand('setContext', 'python.hasLanguageServerOutputChannel', true); - this.commandManager.registerCommand('python.viewLanguageServerOutput', () => this.output!.show(true)); - } -} +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +'use strict'; + +import { inject, injectable } from 'inversify'; +import { IApplicationShell, ICommandManager } from '../../common/application/types'; +import '../../common/extensions'; +import { IOutputChannel } from '../../common/types'; +import { OutputChannelNames } from '../../common/utils/localize'; +import { ILanguageServerOutputChannel } from '../types'; + +@injectable() +export class LanguageServerOutputChannel implements ILanguageServerOutputChannel { + public output: IOutputChannel | undefined; + private registered = false; + constructor( + @inject(IApplicationShell) private readonly appShell: IApplicationShell, + @inject(ICommandManager) private readonly commandManager: ICommandManager + ) {} + + public get channel() { + if (!this.output) { + this.output = this.appShell.createOutputChannel(OutputChannelNames.languageServer()); + this.registerCommand().ignoreErrors(); + } + return this.output; + } + private async registerCommand() { + if (this.registered) { + return; + } + this.registered = true; + // This controls the visibility of the command used to display the LS Output panel. + // We don't want to display it when Jedi is used instead of LS. + await this.commandManager.executeCommand('setContext', 'python.hasLanguageServerOutputChannel', true); + this.commandManager.registerCommand('python.viewLanguageServerOutput', () => this.output!.show(true)); + } +} diff --git a/src/client/activation/node/activator.ts b/src/client/activation/node/activator.ts index 89090581b84b..fc438bece25b 100644 --- a/src/client/activation/node/activator.ts +++ b/src/client/activation/node/activator.ts @@ -1,16 +1,22 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -import { inject, injectable } from 'inversify'; -import { IWorkspaceService } from '../../common/application/types'; -import { traceDecorators } from '../../common/logger'; +import { inject, injectable } from 'inversify'; +import { CancellationToken, CompletionItem, ProviderResult } from 'vscode'; +// tslint:disable-next-line: import-name +import ProtocolCompletionItem from 'vscode-languageclient/lib/common/protocolCompletionItem'; +import { CompletionResolveRequest } from 'vscode-languageclient/node'; +import { IApplicationEnvironment, IApplicationShell, IWorkspaceService } from '../../common/application/types'; +import { PYLANCE_EXTENSION_ID } from '../../common/constants'; import { IFileSystem } from '../../common/platform/types'; -import { IConfigurationService, Resource } from '../../common/types'; +import { IConfigurationService, IExtensions, Resource } from '../../common/types'; +import { Pylance } from '../../common/utils/localize'; import { LanguageServerActivatorBase } from '../common/activatorBase'; -import { ILanguageServerDownloader, ILanguageServerFolderService, ILanguageServerManager } from '../types'; +import { promptForPylanceInstall } from '../common/languageServerChangeHandler'; +import { ILanguageServerManager } from '../types'; /** - * Starts the Node.js-based language server managers per workspaces (currently one for first workspace). + * Starts Pylance language server manager. * * @export * @class NodeLanguageServerActivator @@ -23,15 +29,51 @@ export class NodeLanguageServerActivator extends LanguageServerActivatorBase { @inject(ILanguageServerManager) manager: ILanguageServerManager, @inject(IWorkspaceService) workspace: IWorkspaceService, @inject(IFileSystem) fs: IFileSystem, - @inject(ILanguageServerDownloader) lsDownloader: ILanguageServerDownloader, - @inject(ILanguageServerFolderService) languageServerFolderService: ILanguageServerFolderService, - @inject(IConfigurationService) configurationService: IConfigurationService + @inject(IConfigurationService) configurationService: IConfigurationService, + @inject(IExtensions) private readonly extensions: IExtensions, + @inject(IApplicationShell) private readonly appShell: IApplicationShell, + @inject(IApplicationEnvironment) private readonly appEnv: IApplicationEnvironment ) { - super(manager, workspace, fs, lsDownloader, languageServerFolderService, configurationService); + super(manager, workspace, fs, configurationService); } - @traceDecorators.error('Failed to ensure language server is available') public async ensureLanguageServerIsAvailable(resource: Resource): Promise { - await this.ensureLanguageServerFileIsAvailable(resource, 'server.bundle.js'); + const settings = this.configurationService.getSettings(resource); + if (settings.downloadLanguageServer === false) { + // Development mode. + return; + } + if (!this.extensions.getExtension(PYLANCE_EXTENSION_ID)) { + // Pylance is not yet installed. Throw will cause activator to use Jedi + // temporarily. Language server installation tracker will prompt for window + // reload when Pylance becomes available. + await promptForPylanceInstall(this.appShell, this.appEnv); + throw new Error(Pylance.pylanceNotInstalledMessage()); + } + } + + public resolveCompletionItem(item: CompletionItem, token: CancellationToken): ProviderResult { + return this.handleResolveCompletionItem(item, token); + } + + private async handleResolveCompletionItem( + item: CompletionItem, + token: CancellationToken + ): Promise { + const languageClient = this.getLanguageClient(); + + if (languageClient) { + // Turn our item into a ProtocolCompletionItem before we convert it. This preserves the .data + // attribute that it has and is needed to match on the language server side. + const protoItem: ProtocolCompletionItem = new ProtocolCompletionItem(item.label); + Object.assign(protoItem, item); + + const args = languageClient.code2ProtocolConverter.asCompletionItem(protoItem); + const result = await languageClient.sendRequest(CompletionResolveRequest.type, args, token); + + if (result) { + return languageClient.protocol2CodeConverter.asCompletionItem(result); + } + } } } diff --git a/src/client/activation/node/analysisOptions.ts b/src/client/activation/node/analysisOptions.ts new file mode 100644 index 000000000000..487ecc7e2208 --- /dev/null +++ b/src/client/activation/node/analysisOptions.ts @@ -0,0 +1,17 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +import { inject, injectable } from 'inversify'; + +import { IEnvironmentVariablesProvider } from '../../common/variables/types'; +import { LanguageServerAnalysisOptionsBase } from '../common/analysisOptions'; +import { ILanguageServerOutputChannel } from '../types'; + +@injectable() +export class NodeLanguageServerAnalysisOptions extends LanguageServerAnalysisOptionsBase { + constructor( + @inject(IEnvironmentVariablesProvider) envVarsProvider: IEnvironmentVariablesProvider, + @inject(ILanguageServerOutputChannel) lsOutputChannel: ILanguageServerOutputChannel + ) { + super(envVarsProvider, lsOutputChannel); + } +} diff --git a/src/client/activation/node/cancellationUtils.ts b/src/client/activation/node/cancellationUtils.ts new file mode 100644 index 000000000000..18cf55705765 --- /dev/null +++ b/src/client/activation/node/cancellationUtils.ts @@ -0,0 +1,98 @@ +/* + * cancellationUtils.ts + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT license. + * + * Helper methods around cancellation + */ + +import { randomBytes } from 'crypto'; +import * as fs from 'fs'; +import * as os from 'os'; +import * as path from 'path'; +import { + CancellationReceiverStrategy, + CancellationSenderStrategy, + CancellationStrategy, + Disposable, + MessageConnection +} from 'vscode-languageclient/node'; + +type CancellationId = string | number; + +function getCancellationFolderPath(folderName: string) { + return path.join(os.tmpdir(), 'python-languageserver-cancellation', folderName); +} + +function getCancellationFilePath(folderName: string, id: CancellationId) { + return path.join(getCancellationFolderPath(folderName), `cancellation-${String(id)}.tmp`); +} + +function tryRun(callback: () => void) { + try { + callback(); + } catch (e) { + // tslint:disable-next-line: no-empty + } +} + +class FileCancellationSenderStrategy implements CancellationSenderStrategy { + constructor(readonly folderName: string) { + const folder = getCancellationFolderPath(folderName)!; + tryRun(() => fs.mkdirSync(folder, { recursive: true })); + } + + public sendCancellation(_: MessageConnection, id: CancellationId): void { + const file = getCancellationFilePath(this.folderName, id); + tryRun(() => fs.writeFileSync(file, '', { flag: 'w' })); + } + + public cleanup(id: CancellationId): void { + tryRun(() => fs.unlinkSync(getCancellationFilePath(this.folderName, id))); + } + + public dispose(): void { + const folder = getCancellationFolderPath(this.folderName); + tryRun(() => rimraf(folder)); + + function rimraf(location: string) { + const stat = fs.lstatSync(location); + if (stat) { + if (stat.isDirectory() && !stat.isSymbolicLink()) { + for (const dir of fs.readdirSync(location)) { + rimraf(path.join(location, dir)); + } + + fs.rmdirSync(location); + } else { + fs.unlinkSync(location); + } + } + } + } +} + +export class FileBasedCancellationStrategy implements CancellationStrategy, Disposable { + private _sender: FileCancellationSenderStrategy; + + constructor() { + const folderName = randomBytes(21).toString('hex'); + this._sender = new FileCancellationSenderStrategy(folderName); + } + + get receiver(): CancellationReceiverStrategy { + return CancellationReceiverStrategy.Message; + } + + get sender(): CancellationSenderStrategy { + return this._sender; + } + + public getCommandLineArguments(): string[] { + return [`--cancellationReceive=file:${this._sender.folderName}`]; + } + + public dispose(): void { + this._sender.dispose(); + } +} diff --git a/src/client/activation/node/languageClientFactory.ts b/src/client/activation/node/languageClientFactory.ts index c4fe31ce4d53..fe588f839dab 100644 --- a/src/client/activation/node/languageClientFactory.ts +++ b/src/client/activation/node/languageClientFactory.ts @@ -3,13 +3,14 @@ import { inject, injectable } from 'inversify'; import * as path from 'path'; -import { LanguageClient, LanguageClientOptions, ServerOptions, TransportKind } from 'vscode-languageclient'; +import { LanguageClient, LanguageClientOptions, ServerOptions, TransportKind } from 'vscode-languageclient/node'; import { EXTENSION_ROOT_DIR, PYTHON_LANGUAGE } from '../../common/constants'; import { IFileSystem } from '../../common/platform/types'; import { Resource } from '../../common/types'; -import { PythonInterpreter } from '../../interpreter/contracts'; +import { PythonEnvironment } from '../../pythonEnvironments/info'; import { ILanguageClientFactory, ILanguageServerFolderService } from '../types'; +import { FileBasedCancellationStrategy } from './cancellationUtils'; // tslint:disable:no-require-imports no-require-imports no-var-requires max-classes-per-file const languageClientName = 'Python Tools'; @@ -23,27 +24,42 @@ export class NodeLanguageClientFactory implements ILanguageClientFactory { public async createLanguageClient( resource: Resource, - _interpreter: PythonInterpreter | undefined, + _interpreter: PythonEnvironment | undefined, clientOptions: LanguageClientOptions ): Promise { - const languageServerFolder = await this.languageServerFolderService.getLanguageServerFolderName(resource); - const bundlePath = path.join(EXTENSION_ROOT_DIR, languageServerFolder, 'server.bundle.js'); - const nonBundlePath = path.join(EXTENSION_ROOT_DIR, languageServerFolder, 'server.js'); + // this must exist for node language client + const commandArgs = (clientOptions.connectionOptions + ?.cancellationStrategy as FileBasedCancellationStrategy).getCommandLineArguments(); + + const folderName = await this.languageServerFolderService.getLanguageServerFolderName(resource); + const languageServerFolder = path.isAbsolute(folderName) + ? folderName + : path.join(EXTENSION_ROOT_DIR, folderName); + + const bundlePath = path.join(languageServerFolder, 'server.bundle.js'); + const nonBundlePath = path.join(languageServerFolder, 'server.js'); const modulePath = (await this.fs.fileExists(nonBundlePath)) ? nonBundlePath : bundlePath; const debugOptions = { execArgv: ['--nolazy', '--inspect=6600'] }; + // If the extension is launched in debug mode, then the debug server options are used. const serverOptions: ServerOptions = { - run: { module: bundlePath, transport: TransportKind.ipc }, + run: { + module: bundlePath, + transport: TransportKind.ipc, + args: commandArgs + }, // In debug mode, use the non-bundled code if it's present. The production // build includes only the bundled package, so we don't want to crash if // someone starts the production extension in debug mode. debug: { module: modulePath, transport: TransportKind.ipc, - options: debugOptions + options: debugOptions, + args: commandArgs } }; - const vscodeLanguageClient = require('vscode-languageclient') as typeof import('vscode-languageclient'); + + const vscodeLanguageClient = require('vscode-languageclient/node') as typeof import('vscode-languageclient/node'); return new vscodeLanguageClient.LanguageClient( PYTHON_LANGUAGE, languageClientName, diff --git a/src/client/activation/node/languageServerFolderService.ts b/src/client/activation/node/languageServerFolderService.ts index dc81535c7bd3..0ccb89b28fc3 100644 --- a/src/client/activation/node/languageServerFolderService.ts +++ b/src/client/activation/node/languageServerFolderService.ts @@ -3,17 +3,112 @@ 'use strict'; +import * as assert from 'assert'; import { inject, injectable } from 'inversify'; +import * as path from 'path'; +import { SemVer } from 'semver'; +import { IWorkspaceService } from '../../common/application/types'; +import { PYLANCE_EXTENSION_ID } from '../../common/constants'; +import { NugetPackage } from '../../common/nuget/types'; +import { IConfigurationService, IExtensions, Resource } from '../../common/types'; import { IServiceContainer } from '../../ioc/types'; import { LanguageServerFolderService } from '../common/languageServerFolderService'; +import { FolderVersionPair, ILanguageServerFolderService, NodeLanguageServerFolder } from '../types'; -@injectable() -export class NodeLanguageServerFolderService extends LanguageServerFolderService { - constructor(@inject(IServiceContainer) serviceContainer: IServiceContainer) { - super(serviceContainer, 'nodeLanguageServer'); +class FallbackNodeLanguageServerFolderService extends LanguageServerFolderService { + constructor(serviceContainer: IServiceContainer) { + super(serviceContainer, NodeLanguageServerFolder); } protected getMinimalLanguageServerVersion(): string { return '0.0.0'; } } + +// Exported for testing. +export interface ILanguageServerFolder { + path: string; + version: string; // SemVer, in string form to avoid cross-extension type issues. +} + +// Exported for testing. +export interface ILSExtensionApi { + languageServerFolder?(): Promise; +} + +@injectable() +export class NodeLanguageServerFolderService implements ILanguageServerFolderService { + private readonly fallback: FallbackNodeLanguageServerFolderService; + + constructor( + @inject(IServiceContainer) serviceContainer: IServiceContainer, + @inject(IConfigurationService) private configService: IConfigurationService, + @inject(IWorkspaceService) private workspaceService: IWorkspaceService, + @inject(IExtensions) readonly extensions: IExtensions + ) { + this.fallback = new FallbackNodeLanguageServerFolderService(serviceContainer); + } + + public async skipDownload(): Promise { + return (await this.lsExtensionApi()) !== undefined; + } + + public async getLanguageServerFolderName(resource: Resource): Promise { + const lsf = await this.languageServerFolder(); + if (lsf) { + assert.ok(path.isAbsolute(lsf.path)); + return lsf.path; + } + return this.fallback.getLanguageServerFolderName(resource); + } + + public async getLatestLanguageServerVersion(resource: Resource): Promise { + if (await this.lsExtensionApi()) { + return undefined; + } + return this.fallback.getLatestLanguageServerVersion(resource); + } + + public async getCurrentLanguageServerDirectory(): Promise { + const lsf = await this.languageServerFolder(); + if (lsf) { + assert.ok(path.isAbsolute(lsf.path)); + return { + path: lsf.path, + version: new SemVer(lsf.version) + }; + } + return this.fallback.getCurrentLanguageServerDirectory(); + } + + protected async languageServerFolder(): Promise { + const extension = await this.lsExtensionApi(); + if (!extension?.languageServerFolder) { + return undefined; + } + return extension.languageServerFolder(); + } + + private async lsExtensionApi(): Promise { + // downloadLanguageServer is a bit of a misnomer; if false then this indicates that a local + // development copy should be run instead of a "real" build, telemetry discarded, etc. + // So, we require it to be true, even though in the pinned case no real download happens. + if ( + !this.configService.getSettings().downloadLanguageServer || + this.workspaceService.getConfiguration('python').get('packageName') + ) { + return undefined; + } + + const extension = this.extensions.getExtension(PYLANCE_EXTENSION_ID); + if (!extension) { + return undefined; + } + + if (!extension.isActive) { + return extension.activate(); + } + + return extension.exports; + } +} diff --git a/src/client/activation/node/languageServerProxy.ts b/src/client/activation/node/languageServerProxy.ts index 1d8753065c6f..bdae2938b2a9 100644 --- a/src/client/activation/node/languageServerProxy.ts +++ b/src/client/activation/node/languageServerProxy.ts @@ -3,62 +3,96 @@ import '../../common/extensions'; import { inject, injectable } from 'inversify'; -import { Disposable, LanguageClient, LanguageClientOptions } from 'vscode-languageclient'; +import { + DidChangeConfigurationNotification, + Disposable, + LanguageClient, + LanguageClientOptions +} from 'vscode-languageclient/node'; +import { DeprecatePythonPath } from '../../common/experiments/groups'; import { traceDecorators, traceError } from '../../common/logger'; -import { IConfigurationService, Resource } from '../../common/types'; +import { IConfigurationService, IExperimentsManager, IInterpreterPathService, Resource } from '../../common/types'; import { createDeferred, Deferred, sleep } from '../../common/utils/async'; import { swallowExceptions } from '../../common/utils/decorators'; import { noop } from '../../common/utils/misc'; -import { PythonInterpreter } from '../../interpreter/contracts'; import { LanguageServerSymbolProvider } from '../../providers/symbolProvider'; +import { PythonEnvironment } from '../../pythonEnvironments/info'; import { captureTelemetry, sendTelemetryEvent } from '../../telemetry'; import { EventName } from '../../telemetry/constants'; import { ITestManagementService } from '../../testing/types'; import { ProgressReporting } from '../progress'; -import { ILanguageClientFactory, ILanguageServerProxy } from '../types'; +import { ILanguageClientFactory, ILanguageServerFolderService, ILanguageServerProxy } from '../types'; +import { FileBasedCancellationStrategy } from './cancellationUtils'; @injectable() export class NodeLanguageServerProxy implements ILanguageServerProxy { public languageClient: LanguageClient | undefined; private startupCompleted: Deferred; + private cancellationStrategy: FileBasedCancellationStrategy | undefined; private readonly disposables: Disposable[] = []; private disposed: boolean = false; + private lsVersion: string | undefined; constructor( @inject(ILanguageClientFactory) private readonly factory: ILanguageClientFactory, @inject(ITestManagementService) private readonly testManager: ITestManagementService, - @inject(IConfigurationService) private readonly configurationService: IConfigurationService + @inject(IConfigurationService) private readonly configurationService: IConfigurationService, + @inject(ILanguageServerFolderService) private readonly folderService: ILanguageServerFolderService, + @inject(IExperimentsManager) private readonly experiments: IExperimentsManager, + @inject(IInterpreterPathService) private readonly interpreterPathService: IInterpreterPathService ) { this.startupCompleted = createDeferred(); } - @traceDecorators.verbose('Stopping Language Server') + private static versionTelemetryProps(instance: NodeLanguageServerProxy) { + return { + lsVersion: instance.lsVersion + }; + } + + @traceDecorators.verbose('Stopping language server') public dispose() { if (this.languageClient) { // Do not await on this. - this.languageClient.stop().then(noop, ex => traceError('Stopping language client failed', ex)); + this.languageClient.stop().then(noop, (ex) => traceError('Stopping language client failed', ex)); this.languageClient = undefined; } + if (this.cancellationStrategy) { + this.cancellationStrategy.dispose(); + this.cancellationStrategy = undefined; + } while (this.disposables.length > 0) { const d = this.disposables.shift()!; d.dispose(); } if (this.startupCompleted.completed) { - this.startupCompleted.reject(new Error('Disposed Language Server')); + this.startupCompleted.reject(new Error('Disposed language server')); this.startupCompleted = createDeferred(); } this.disposed = true; } @traceDecorators.error('Failed to start language server') - @captureTelemetry(EventName.PYTHON_NODE_SERVER_ENABLED, undefined, true) + @captureTelemetry( + EventName.LANGUAGE_SERVER_ENABLED, + undefined, + true, + undefined, + NodeLanguageServerProxy.versionTelemetryProps + ) public async start( resource: Resource, - interpreter: PythonInterpreter | undefined, + interpreter: PythonEnvironment | undefined, options: LanguageClientOptions ): Promise { if (!this.languageClient) { + const directory = await this.folderService.getCurrentLanguageServerDirectory(); + this.lsVersion = directory?.version.format(); + + this.cancellationStrategy = new FileBasedCancellationStrategy(); + options.connectionOptions = { cancellationStrategy: this.cancellationStrategy }; + this.languageClient = await this.factory.createLanguageClient(resource, interpreter, options); this.disposables.push(this.languageClient!.start()); await this.serverReady(); @@ -69,11 +103,30 @@ export class NodeLanguageServerProxy implements ILanguageServerProxy { const progressReporting = new ProgressReporting(this.languageClient!); this.disposables.push(progressReporting); + if (this.experiments.inExperiment(DeprecatePythonPath.experiment)) { + this.disposables.push( + this.interpreterPathService.onDidChange(() => { + // Manually send didChangeConfiguration in order to get the server to requery + // the workspace configurations (to then pick up pythonPath set in the middleware). + // This is needed as interpreter changes via the interpreter path service happen + // outside of VS Code's settings (which would mean VS Code sends the config updates itself). + this.languageClient!.sendNotification(DidChangeConfigurationNotification.type, { + settings: null + }); + }) + ); + } + const settings = this.configurationService.getSettings(resource); if (settings.downloadLanguageServer) { - this.languageClient.onTelemetry(telemetryEvent => { - const eventName = telemetryEvent.EventName || EventName.PYTHON_LANGUAGE_SERVER_TELEMETRY; - sendTelemetryEvent(eventName, telemetryEvent.Measurements, telemetryEvent.Properties); + this.languageClient.onTelemetry((telemetryEvent) => { + const eventName = telemetryEvent.EventName || EventName.LANGUAGE_SERVER_TELEMETRY; + const formattedProperties = { + ...telemetryEvent.Properties, + // Replace all slashes in the method name so it doesn't get scrubbed by vscode-extension-telemetry. + method: telemetryEvent.Properties.method?.replace(/\//g, '.') + }; + sendTelemetryEvent(eventName, telemetryEvent.Measurements, formattedProperties); }); } await this.registerTestServices(); @@ -85,15 +138,24 @@ export class NodeLanguageServerProxy implements ILanguageServerProxy { // tslint:disable-next-line: no-empty public loadExtension(_args?: {}) {} - @captureTelemetry(EventName.PYTHON_NODE_SERVER_READY, undefined, true) + @captureTelemetry( + EventName.LANGUAGE_SERVER_READY, + undefined, + true, + undefined, + NodeLanguageServerProxy.versionTelemetryProps + ) protected async serverReady(): Promise { - while (this.languageClient && !this.languageClient!.initializeResult) { + while (this.languageClient && !this.languageClient.initializeResult) { await sleep(100); } + if (this.languageClient) { + await this.languageClient.onReady(); + } this.startupCompleted.resolve(); } - @swallowExceptions('Activating Unit Tests Manager for Language Server') + @swallowExceptions('Activating Unit Tests Manager for Pylance language server') protected async registerTestServices() { if (!this.languageClient) { throw new Error('languageClient not initialized'); diff --git a/src/client/activation/node/manager.ts b/src/client/activation/node/manager.ts index cf09c6d0dcce..26b2a33a1c5c 100644 --- a/src/client/activation/node/manager.ts +++ b/src/client/activation/node/manager.ts @@ -4,19 +4,15 @@ import '../../common/extensions'; import { inject, injectable, named } from 'inversify'; +import { ICommandManager } from '../../common/application/types'; import { traceDecorators } from '../../common/logger'; -import { - BANNER_NAME_LS_SURVEY, - IDisposable, - IExperimentsManager, - IPythonExtensionBanner, - Resource -} from '../../common/types'; +import { IConfigurationService, IDisposable, IExperimentsManager, Resource } from '../../common/types'; import { debounceSync } from '../../common/utils/decorators'; -import { PythonInterpreter } from '../../interpreter/contracts'; import { IServiceContainer } from '../../ioc/types'; +import { PythonEnvironment } from '../../pythonEnvironments/info'; import { captureTelemetry } from '../../telemetry'; import { EventName } from '../../telemetry/constants'; +import { Commands } from '../commands'; import { LanguageClientMiddleware } from '../languageClientMiddleware'; import { ILanguageServerAnalysisOptions, @@ -30,40 +26,59 @@ import { export class NodeLanguageServerManager implements ILanguageServerManager { private languageServerProxy?: ILanguageServerProxy; private resource!: Resource; - private interpreter: PythonInterpreter | undefined; + private interpreter: PythonEnvironment | undefined; private middleware: LanguageClientMiddleware | undefined; private disposables: IDisposable[] = []; private connected: boolean = false; + private lsVersion: string | undefined; + constructor( @inject(IServiceContainer) private readonly serviceContainer: IServiceContainer, - @inject(ILanguageServerAnalysisOptions) private readonly analysisOptions: ILanguageServerAnalysisOptions, - @inject(IPythonExtensionBanner) - @named(BANNER_NAME_LS_SURVEY) - private readonly surveyBanner: IPythonExtensionBanner, - @inject(ILanguageServerFolderService) private readonly folderService: ILanguageServerFolderService, - @inject(IExperimentsManager) private readonly experimentsManager: IExperimentsManager - ) {} + @inject(ILanguageServerAnalysisOptions) + @named(LanguageServerType.Node) + private readonly analysisOptions: ILanguageServerAnalysisOptions, + @inject(ILanguageServerFolderService) + private readonly folderService: ILanguageServerFolderService, + @inject(IExperimentsManager) private readonly experimentsManager: IExperimentsManager, + @inject(IConfigurationService) private readonly configService: IConfigurationService, + @inject(ICommandManager) commandManager: ICommandManager + ) { + this.disposables.push( + commandManager.registerCommand(Commands.RestartLS, () => { + this.restartLanguageServer().ignoreErrors(); + }) + ); + } + + private static versionTelemetryProps(instance: NodeLanguageServerManager) { + return { + lsVersion: instance.lsVersion + }; + } public dispose() { if (this.languageProxy) { this.languageProxy.dispose(); } - this.disposables.forEach(d => d.dispose()); + this.disposables.forEach((d) => d.dispose()); } public get languageProxy() { return this.languageServerProxy; } - @traceDecorators.error('Failed to start Language Server') - public async start(resource: Resource, interpreter: PythonInterpreter | undefined): Promise { + @traceDecorators.error('Failed to start language server') + public async start(resource: Resource, interpreter: PythonEnvironment | undefined): Promise { if (this.languageProxy) { - throw new Error('Language Server already started'); + throw new Error('Language server already started'); } this.resource = resource; this.interpreter = interpreter; this.analysisOptions.onDidChange(this.restartLanguageServerDebounced, this, this.disposables); + const versionPair = await this.folderService.getCurrentLanguageServerDirectory(); + this.lsVersion = versionPair?.version.format(); + await this.analysisOptions.initialize(resource, interpreter); await this.startLanguageServer(); } @@ -83,8 +98,8 @@ export class NodeLanguageServerManager implements ILanguageServerManager { this.restartLanguageServer().ignoreErrors(); } - @traceDecorators.error('Failed to restart Language Server') - @traceDecorators.verbose('Restarting Language Server') + @traceDecorators.error('Failed to restart language server') + @traceDecorators.verbose('Restarting language server') protected async restartLanguageServer(): Promise { if (this.languageProxy) { this.languageProxy.dispose(); @@ -92,19 +107,23 @@ export class NodeLanguageServerManager implements ILanguageServerManager { await this.startLanguageServer(); } - @captureTelemetry(EventName.PYTHON_NODE_SERVER_STARTUP, undefined, true) - @traceDecorators.verbose('Starting Language Server') + @captureTelemetry( + EventName.LANGUAGE_SERVER_STARTUP, + undefined, + true, + undefined, + NodeLanguageServerManager.versionTelemetryProps + ) + @traceDecorators.verbose('Starting language server') protected async startLanguageServer(): Promise { this.languageServerProxy = this.serviceContainer.get(ILanguageServerProxy); - const versionPair = await this.folderService.getCurrentLanguageServerDirectory(); - const options = await this.analysisOptions!.getAnalysisOptions(); options.middleware = this.middleware = new LanguageClientMiddleware( - this.surveyBanner, this.experimentsManager, + this.configService, LanguageServerType.Node, - versionPair?.version.format() + this.lsVersion ); // Make sure the middleware is connected if we restart and we we're already connected. diff --git a/src/client/activation/none/activator.ts b/src/client/activation/none/activator.ts index 316099104141..d9a2e1414f7e 100644 --- a/src/client/activation/none/activator.ts +++ b/src/client/activation/none/activator.ts @@ -1,6 +1,6 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -import { injectable } from 'inversify'; +import { inject, injectable, named } from 'inversify'; import { CancellationToken, CodeLens, @@ -20,8 +20,9 @@ import { TextDocument, WorkspaceEdit } from 'vscode'; -import { Resource } from '../../common/types'; -import { PythonInterpreter } from '../../interpreter/contracts'; +import { isTestExecution } from '../../common/constants'; +import { BANNER_NAME_PROPOSE_LS, IPythonExtensionBanner, Resource } from '../../common/types'; +import { PythonEnvironment } from '../../pythonEnvironments/info'; import { ILanguageServerActivator } from '../types'; /** @@ -33,8 +34,16 @@ import { ILanguageServerActivator } from '../types'; */ @injectable() export class NoLanguageServerExtensionActivator implements ILanguageServerActivator { - // tslint:disable-next-line: no-empty - public async start(_resource: Resource, _interpreter?: PythonInterpreter): Promise {} + constructor( + @inject(IPythonExtensionBanner) + @named(BANNER_NAME_PROPOSE_LS) + private proposePylancePopup: IPythonExtensionBanner + ) {} + public async start(_resource: Resource, _interpreter?: PythonEnvironment): Promise { + if (!isTestExecution()) { + this.proposePylancePopup.showBanner().ignoreErrors(); + } + } // tslint:disable-next-line: no-empty public dispose(): void {} // tslint:disable-next-line: no-empty diff --git a/src/client/activation/progress.ts b/src/client/activation/progress.ts index 4158670fa7e7..835a10188f59 100644 --- a/src/client/activation/progress.ts +++ b/src/client/activation/progress.ts @@ -4,7 +4,7 @@ 'use strict'; import { Progress, ProgressLocation, window } from 'vscode'; -import { Disposable, LanguageClient } from 'vscode-languageclient'; +import { Disposable, LanguageClient } from 'vscode-languageclient/node'; import { createDeferred, Deferred } from '../common/utils/async'; export class ProgressReporting implements Disposable { @@ -20,7 +20,7 @@ export class ProgressReporting implements Disposable { this.statusBarMessage = window.setStatusBarMessage(m); }); - this.languageClient.onNotification('python/beginProgress', _ => { + this.languageClient.onNotification('python/beginProgress', (_) => { if (this.progressDeferred) { return; } @@ -34,7 +34,7 @@ export class ProgressReporting implements Disposable { this.progress!.report({ message: m }); }); - this.languageClient.onNotification('python/endProgress', _ => { + this.languageClient.onNotification('python/endProgress', (_) => { if (this.progressDeferred) { this.progressDeferred.resolve(); this.progressDeferred = undefined; @@ -57,7 +57,7 @@ export class ProgressReporting implements Disposable { location: ProgressLocation.Window, title: '' }, - progress => { + (progress) => { this.progress = progress; return this.progressDeferred!.promise; } diff --git a/src/client/activation/refCountedLanguageServer.ts b/src/client/activation/refCountedLanguageServer.ts index b6bf48827c48..f589d6257ac7 100644 --- a/src/client/activation/refCountedLanguageServer.ts +++ b/src/client/activation/refCountedLanguageServer.ts @@ -23,7 +23,7 @@ import { import { Resource } from '../common/types'; import { noop } from '../common/utils/misc'; -import { PythonInterpreter } from '../interpreter/contracts'; +import { PythonEnvironment } from '../pythonEnvironments/info'; import { ILanguageServerActivator, LanguageServerType } from './types'; export class RefCountedLanguageServer implements ILanguageServerActivator { @@ -49,7 +49,7 @@ export class RefCountedLanguageServer implements ILanguageServerActivator { } } - public start(_resource: Resource, _interpreter: PythonInterpreter | undefined): Promise { + public start(_resource: Resource, _interpreter: PythonEnvironment | undefined): Promise { throw new Error('Server should have already been started. Do not start the wrapper.'); } diff --git a/src/client/activation/serviceRegistry.ts b/src/client/activation/serviceRegistry.ts index 21897a0617e4..0f1fa5497f67 100644 --- a/src/client/activation/serviceRegistry.ts +++ b/src/client/activation/serviceRegistry.ts @@ -1,21 +1,18 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -import { ActiveResourceService } from '../common/application/activeResource'; -import { IActiveResourceService } from '../common/application/types'; + import { registerTypes as registerDotNetTypes } from '../common/dotnet/serviceRegistry'; import { INugetRepository } from '../common/nuget/types'; import { BANNER_NAME_DS_SURVEY, BANNER_NAME_INTERACTIVE_SHIFTENTER, - BANNER_NAME_LS_SURVEY, BANNER_NAME_PROPOSE_LS, IPythonExtensionBanner } from '../common/types'; import { DataScienceSurveyBanner } from '../datascience/dataScienceSurveyBanner'; import { InteractiveShiftEnterBanner } from '../datascience/shiftEnterBanner'; import { IServiceManager } from '../ioc/types'; -import { LanguageServerSurveyBanner } from '../languageServices/languageServerSurveyBanner'; -import { ProposeLanguageServerBanner } from '../languageServices/proposeLanguageServerBanner'; +import { ProposePylanceBanner } from '../languageServices/proposeLanguageServerBanner'; import { AATesting } from './aaTesting'; import { ExtensionActivationManager } from './activationManager'; import { LanguageServerExtensionActivationService } from './activationService'; @@ -25,7 +22,7 @@ import { LanguageServerDownloadChannel } from './common/packageRepository'; import { ExtensionSurveyPrompt } from './extensionSurvey'; import { JediExtensionActivator } from './jedi'; import { DotNetLanguageServerActivator } from './languageServer/activator'; -import { LanguageServerAnalysisOptions } from './languageServer/analysisOptions'; +import { DotNetLanguageServerAnalysisOptions } from './languageServer/analysisOptions'; import { DotNetLanguageClientFactory } from './languageServer/languageClientFactory'; import { LanguageServerCompatibilityService } from './languageServer/languageServerCompatibilityService'; import { LanguageServerExtension } from './languageServer/languageServerExtension'; @@ -41,6 +38,7 @@ import { DotNetLanguageServerManager } from './languageServer/manager'; import { LanguageServerOutputChannel } from './languageServer/outputChannel'; import { PlatformData } from './languageServer/platformData'; import { NodeLanguageServerActivator } from './node/activator'; +import { NodeLanguageServerAnalysisOptions } from './node/analysisOptions'; import { NodeLanguageClientFactory } from './node/languageClientFactory'; import { NodeLanguageServerFolderService } from './node/languageServerFolderService'; import { @@ -85,16 +83,10 @@ export function registerTypes(serviceManager: IServiceManager, languageServerTyp JediExtensionActivator, LanguageServerType.Jedi ); - serviceManager.add(ILanguageServerAnalysisOptions, LanguageServerAnalysisOptions); serviceManager.addSingleton( IPythonExtensionBanner, - LanguageServerSurveyBanner, - BANNER_NAME_LS_SURVEY - ); - serviceManager.addSingleton( - IPythonExtensionBanner, - ProposeLanguageServerBanner, + ProposePylanceBanner, BANNER_NAME_PROPOSE_LS ); serviceManager.addSingleton( @@ -109,6 +101,11 @@ export function registerTypes(serviceManager: IServiceManager, languageServerTyp ); if (languageServerType === LanguageServerType.Microsoft) { + serviceManager.add( + ILanguageServerAnalysisOptions, + DotNetLanguageServerAnalysisOptions, + LanguageServerType.Microsoft + ); serviceManager.add( ILanguageServerActivator, DotNetLanguageServerActivator, @@ -147,6 +144,11 @@ export function registerTypes(serviceManager: IServiceManager, languageServerTyp ); registerDotNetTypes(serviceManager); } else if (languageServerType === LanguageServerType.Node) { + serviceManager.add( + ILanguageServerAnalysisOptions, + NodeLanguageServerAnalysisOptions, + LanguageServerType.Node + ); serviceManager.add( ILanguageServerActivator, NodeLanguageServerActivator, @@ -211,6 +213,5 @@ export function registerTypes(serviceManager: IServiceManager, languageServerTyp IExtensionSingleActivationService, ExtensionSurveyPrompt ); - serviceManager.addSingleton(IActiveResourceService, ActiveResourceService); serviceManager.addSingleton(IExtensionSingleActivationService, AATesting); } diff --git a/src/client/activation/types.ts b/src/client/activation/types.ts index c5e685cfd498..9d8549b9b8a1 100644 --- a/src/client/activation/types.ts +++ b/src/client/activation/types.ts @@ -1,229 +1,233 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -'use strict'; - -import { SemVer } from 'semver'; -import { - CodeLensProvider, - CompletionItemProvider, - DefinitionProvider, - DocumentSymbolProvider, - Event, - HoverProvider, - ReferenceProvider, - RenameProvider, - SignatureHelpProvider, - TextDocument, - TextDocumentContentChangeEvent -} from 'vscode'; -import { LanguageClient, LanguageClientOptions } from 'vscode-languageclient'; -import { NugetPackage } from '../common/nuget/types'; -import { IDisposable, IOutputChannel, LanguageServerDownloadChannels, Resource } from '../common/types'; -import { PythonInterpreter } from '../interpreter/contracts'; - -export const IExtensionActivationManager = Symbol('IExtensionActivationManager'); -/** - * Responsible for activation of extension. - * - * @export - * @interface IExtensionActivationManager - * @extends {IDisposable} - */ -export interface IExtensionActivationManager extends IDisposable { - /** - * Method invoked when extension activates (invoked once). - * - * @returns {Promise} - * @memberof IExtensionActivationManager - */ - activate(): Promise; - /** - * Method invoked when a workspace is loaded. - * This is where we place initialization scripts for each workspace. - * (e.g. if we need to run code for each workspace, then this is where that happens). - * - * @param {Resource} resource - * @returns {Promise} - * @memberof IExtensionActivationManager - */ - activateWorkspace(resource: Resource): Promise; -} - -export const IExtensionActivationService = Symbol('IExtensionActivationService'); -/** - * Classes implementing this interface will have their `activate` methods - * invoked for every workspace folder (in multi-root workspace folders) during the activation of the extension. - * This is a great hook for extension activation code, i.e. you don't need to modify - * the `extension.ts` file to invoke some code when extension gets activated. - * @export - * @interface IExtensionActivationService - */ -export interface IExtensionActivationService { - activate(resource: Resource): Promise; -} - -export enum LanguageServerType { - Jedi = 'Jedi', - Microsoft = 'Microsoft', - Node = 'Node', - None = 'None' -} - -// tslint:disable-next-line: interface-name -export interface DocumentHandler { - handleOpen(document: TextDocument): void; - handleChanges(document: TextDocument, changes: TextDocumentContentChangeEvent[]): void; -} - -// tslint:disable-next-line: interface-name -export interface LanguageServerCommandHandler { - clearAnalysisCache(): void; -} - -export interface ILanguageServer - extends RenameProvider, - DefinitionProvider, - HoverProvider, - ReferenceProvider, - CompletionItemProvider, - CodeLensProvider, - DocumentSymbolProvider, - SignatureHelpProvider, - Partial, - Partial, - IDisposable {} - -export const ILanguageServerActivator = Symbol('ILanguageServerActivator'); -export interface ILanguageServerActivator extends ILanguageServer { - start(resource: Resource, interpreter: PythonInterpreter | undefined): Promise; - activate(): void; - deactivate(): void; -} - -export const ILanguageServerCache = Symbol('ILanguageServerCache'); -export interface ILanguageServerCache { - get(resource: Resource, interpreter?: PythonInterpreter): Promise; -} - -export type FolderVersionPair = { path: string; version: SemVer }; -export const ILanguageServerFolderService = Symbol('ILanguageServerFolderService'); - -export interface ILanguageServerFolderService { - getLanguageServerFolderName(resource: Resource): Promise; - getLatestLanguageServerVersion(resource: Resource): Promise; - getCurrentLanguageServerDirectory(): Promise; -} - -export const ILanguageServerDownloader = Symbol('ILanguageServerDownloader'); - -export interface ILanguageServerDownloader { - downloadLanguageServer(destinationFolder: string, resource: Resource): Promise; -} - -export const ILanguageServerPackageService = Symbol('ILanguageServerPackageService'); -export interface ILanguageServerPackageService { - getNugetPackageName(): string; - getLatestNugetPackageVersion(resource: Resource, minVersion?: string): Promise; - getLanguageServerDownloadChannel(): LanguageServerDownloadChannels; -} - -export const MajorLanguageServerVersion = Symbol('MajorLanguageServerVersion'); -export const IDownloadChannelRule = Symbol('IDownloadChannelRule'); -export interface IDownloadChannelRule { - shouldLookForNewLanguageServer(currentFolder?: FolderVersionPair): Promise; -} -export const ILanguageServerCompatibilityService = Symbol('ILanguageServerCompatibilityService'); -export interface ILanguageServerCompatibilityService { - isSupported(): Promise; -} -export enum LanguageClientFactory { - base = 'base', - simple = 'simple', - downloaded = 'downloaded' -} -export const ILanguageClientFactory = Symbol('ILanguageClientFactory'); -export interface ILanguageClientFactory { - createLanguageClient( - resource: Resource, - interpreter: PythonInterpreter | undefined, - clientOptions: LanguageClientOptions, - env?: NodeJS.ProcessEnv - ): Promise; -} -export const ILanguageServerAnalysisOptions = Symbol('ILanguageServerAnalysisOptions'); -export interface ILanguageServerAnalysisOptions extends IDisposable { - readonly onDidChange: Event; - initialize(resource: Resource, interpreter: PythonInterpreter | undefined): Promise; - getAnalysisOptions(): Promise; -} -export const ILanguageServerManager = Symbol('ILanguageServerManager'); -export interface ILanguageServerManager extends IDisposable { - readonly languageProxy: ILanguageServerProxy | undefined; - start(resource: Resource, interpreter: PythonInterpreter | undefined): Promise; - connect(): void; - disconnect(): void; -} -export const ILanguageServerExtension = Symbol('ILanguageServerExtension'); -export interface ILanguageServerExtension extends IDisposable { - readonly invoked: Event; - loadExtensionArgs?: {}; - register(): void; -} -export const ILanguageServerProxy = Symbol('ILanguageServerProxy'); -export interface ILanguageServerProxy extends IDisposable { - /** - * LanguageClient in use - */ - languageClient: LanguageClient | undefined; - start( - resource: Resource, - interpreter: PythonInterpreter | undefined, - options: LanguageClientOptions - ): Promise; - /** - * Sends a request to LS so as to load other extensions. - * This is used as a plugin loader mechanism. - * Anyone (such as intellicode) wanting to interact with LS, needs to send this request to LS. - * @param {{}} [args] - * @memberof ILanguageServerProxy - */ - loadExtension(args?: {}): void; -} - -export enum PlatformName { - Windows32Bit = 'win-x86', - Windows64Bit = 'win-x64', - Mac64Bit = 'osx-x64', - Linux64Bit = 'linux-x64' -} -export const IPlatformData = Symbol('IPlatformData'); -export interface IPlatformData { - readonly platformName: PlatformName; - readonly engineDllName: string; - readonly engineExecutableName: string; -} - -export const ILanguageServerOutputChannel = Symbol('ILanguageServerOutputChannel'); -export interface ILanguageServerOutputChannel { - /** - * Creates output channel if necessary and returns it - * - * @type {IOutputChannel} - * @memberof ILanguageServerOutputChannel - */ - readonly channel: IOutputChannel; -} - -export const IExtensionSingleActivationService = Symbol('IExtensionSingleActivationService'); -/** - * Classes implementing this interface will have their `activate` methods - * invoked during the activation of the extension. - * This is a great hook for extension activation code, i.e. you don't need to modify - * the `extension.ts` file to invoke some code when extension gets activated. - * @export - * @interface IExtensionSingleActivationService - */ -export interface IExtensionSingleActivationService { - activate(): Promise; -} +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +'use strict'; + +import { SemVer } from 'semver'; +import { + CodeLensProvider, + CompletionItemProvider, + DefinitionProvider, + DocumentSymbolProvider, + Event, + HoverProvider, + ReferenceProvider, + RenameProvider, + SignatureHelpProvider, + TextDocument, + TextDocumentContentChangeEvent +} from 'vscode'; +import { LanguageClient, LanguageClientOptions } from 'vscode-languageclient/node'; +import { NugetPackage } from '../common/nuget/types'; +import { IDisposable, IOutputChannel, LanguageServerDownloadChannels, Resource } from '../common/types'; +import { PythonEnvironment } from '../pythonEnvironments/info'; + +export const IExtensionActivationManager = Symbol('IExtensionActivationManager'); +/** + * Responsible for activation of extension. + * + * @export + * @interface IExtensionActivationManager + * @extends {IDisposable} + */ +export interface IExtensionActivationManager extends IDisposable { + /** + * Method invoked when extension activates (invoked once). + * + * @returns {Promise} + * @memberof IExtensionActivationManager + */ + activate(): Promise; + /** + * Method invoked when a workspace is loaded. + * This is where we place initialization scripts for each workspace. + * (e.g. if we need to run code for each workspace, then this is where that happens). + * + * @param {Resource} resource + * @returns {Promise} + * @memberof IExtensionActivationManager + */ + activateWorkspace(resource: Resource): Promise; +} + +export const IExtensionActivationService = Symbol('IExtensionActivationService'); +/** + * Classes implementing this interface will have their `activate` methods + * invoked for every workspace folder (in multi-root workspace folders) during the activation of the extension. + * This is a great hook for extension activation code, i.e. you don't need to modify + * the `extension.ts` file to invoke some code when extension gets activated. + * @export + * @interface IExtensionActivationService + */ +export interface IExtensionActivationService { + activate(resource: Resource): Promise; +} + +export enum LanguageServerType { + Jedi = 'Jedi', + Microsoft = 'Microsoft', + Node = 'Pylance', + None = 'None' +} + +export const DotNetLanguageServerFolder = 'languageServer'; +export const NodeLanguageServerFolder = 'nodeLanguageServer'; + +// tslint:disable-next-line: interface-name +export interface DocumentHandler { + handleOpen(document: TextDocument): void; + handleChanges(document: TextDocument, changes: TextDocumentContentChangeEvent[]): void; +} + +// tslint:disable-next-line: interface-name +export interface LanguageServerCommandHandler { + clearAnalysisCache(): void; +} + +export interface ILanguageServer + extends RenameProvider, + DefinitionProvider, + HoverProvider, + ReferenceProvider, + CompletionItemProvider, + CodeLensProvider, + DocumentSymbolProvider, + SignatureHelpProvider, + Partial, + Partial, + IDisposable {} + +export const ILanguageServerActivator = Symbol('ILanguageServerActivator'); +export interface ILanguageServerActivator extends ILanguageServer { + start(resource: Resource, interpreter: PythonEnvironment | undefined): Promise; + activate(): void; + deactivate(): void; +} + +export const ILanguageServerCache = Symbol('ILanguageServerCache'); +export interface ILanguageServerCache { + get(resource: Resource, interpreter?: PythonEnvironment): Promise; +} + +export type FolderVersionPair = { path: string; version: SemVer }; +export const ILanguageServerFolderService = Symbol('ILanguageServerFolderService'); + +export interface ILanguageServerFolderService { + getLanguageServerFolderName(resource: Resource): Promise; + getLatestLanguageServerVersion(resource: Resource): Promise; + getCurrentLanguageServerDirectory(): Promise; + skipDownload(): Promise; +} + +export const ILanguageServerDownloader = Symbol('ILanguageServerDownloader'); + +export interface ILanguageServerDownloader { + downloadLanguageServer(destinationFolder: string, resource: Resource): Promise; +} + +export const ILanguageServerPackageService = Symbol('ILanguageServerPackageService'); +export interface ILanguageServerPackageService { + getNugetPackageName(): string; + getLatestNugetPackageVersion(resource: Resource, minVersion?: string): Promise; + getLanguageServerDownloadChannel(): LanguageServerDownloadChannels; +} + +export const MajorLanguageServerVersion = Symbol('MajorLanguageServerVersion'); +export const IDownloadChannelRule = Symbol('IDownloadChannelRule'); +export interface IDownloadChannelRule { + shouldLookForNewLanguageServer(currentFolder?: FolderVersionPair): Promise; +} +export const ILanguageServerCompatibilityService = Symbol('ILanguageServerCompatibilityService'); +export interface ILanguageServerCompatibilityService { + isSupported(): Promise; +} +export enum LanguageClientFactory { + base = 'base', + simple = 'simple', + downloaded = 'downloaded' +} +export const ILanguageClientFactory = Symbol('ILanguageClientFactory'); +export interface ILanguageClientFactory { + createLanguageClient( + resource: Resource, + interpreter: PythonEnvironment | undefined, + clientOptions: LanguageClientOptions, + env?: NodeJS.ProcessEnv + ): Promise; +} +export const ILanguageServerAnalysisOptions = Symbol('ILanguageServerAnalysisOptions'); +export interface ILanguageServerAnalysisOptions extends IDisposable { + readonly onDidChange: Event; + initialize(resource: Resource, interpreter: PythonEnvironment | undefined): Promise; + getAnalysisOptions(): Promise; +} +export const ILanguageServerManager = Symbol('ILanguageServerManager'); +export interface ILanguageServerManager extends IDisposable { + readonly languageProxy: ILanguageServerProxy | undefined; + start(resource: Resource, interpreter: PythonEnvironment | undefined): Promise; + connect(): void; + disconnect(): void; +} +export const ILanguageServerExtension = Symbol('ILanguageServerExtension'); +export interface ILanguageServerExtension extends IDisposable { + readonly invoked: Event; + loadExtensionArgs?: {}; + register(): void; +} +export const ILanguageServerProxy = Symbol('ILanguageServerProxy'); +export interface ILanguageServerProxy extends IDisposable { + /** + * LanguageClient in use + */ + languageClient: LanguageClient | undefined; + start( + resource: Resource, + interpreter: PythonEnvironment | undefined, + options: LanguageClientOptions + ): Promise; + /** + * Sends a request to LS so as to load other extensions. + * This is used as a plugin loader mechanism. + * Anyone (such as intellicode) wanting to interact with LS, needs to send this request to LS. + * @param {{}} [args] + * @memberof ILanguageServerProxy + */ + loadExtension(args?: {}): void; +} + +export enum PlatformName { + Windows32Bit = 'win-x86', + Windows64Bit = 'win-x64', + Mac64Bit = 'osx-x64', + Linux64Bit = 'linux-x64' +} +export const IPlatformData = Symbol('IPlatformData'); +export interface IPlatformData { + readonly platformName: PlatformName; + readonly engineDllName: string; + readonly engineExecutableName: string; +} + +export const ILanguageServerOutputChannel = Symbol('ILanguageServerOutputChannel'); +export interface ILanguageServerOutputChannel { + /** + * Creates output channel if necessary and returns it + * + * @type {IOutputChannel} + * @memberof ILanguageServerOutputChannel + */ + readonly channel: IOutputChannel; +} + +export const IExtensionSingleActivationService = Symbol('IExtensionSingleActivationService'); +/** + * Classes implementing this interface will have their `activate` methods + * invoked during the activation of the extension. + * This is a great hook for extension activation code, i.e. you don't need to modify + * the `extension.ts` file to invoke some code when extension gets activated. + * @export + * @interface IExtensionSingleActivationService + */ +export interface IExtensionSingleActivationService { + activate(): Promise; +} diff --git a/src/client/api.ts b/src/client/api.ts index 85b8b6b162b0..389f2912eada 100644 --- a/src/client/api.ts +++ b/src/client/api.ts @@ -3,12 +3,14 @@ 'use strict'; +import { Event, Uri } from 'vscode'; import { isTestExecution } from './common/constants'; -import { DebugAdapterNewPtvsd } from './common/experimentGroups'; import { traceError } from './common/logger'; -import { IExperimentsManager } from './common/types'; -import { RemoteDebuggerExternalLauncherScriptProvider } from './debugger/debugAdapter/DebugClients/launcherProvider'; -import { IDebugAdapterDescriptorFactory } from './debugger/extension/types'; +import { IConfigurationService, Resource } from './common/types'; +import { IDataViewerDataProvider, IDataViewerFactory } from './datascience/data-viewing/types'; +import { IJupyterUriProvider, IJupyterUriProviderRegistration } from './datascience/types'; +import { getDebugpyLauncherArgs, getDebugpyPackagePath } from './debugger/extension/adapter/remoteLaunchers'; +import { IInterpreterService } from './interpreter/contracts'; import { IServiceContainer, IServiceManager } from './ioc/types'; /* @@ -27,13 +29,65 @@ export interface IExtensionApi { /** * Generate an array of strings for commands to pass to the Python executable to launch the debugger for remote debugging. * Users can append another array of strings of what they want to execute along with relevant arguments to Python. - * E.g `['/Users/..../pythonVSCode/pythonFiles/ptvsd_launcher.py', '--host', 'localhost', '--port', '57039', '--wait']` + * E.g `['/Users/..../pythonVSCode/pythonFiles/lib/python/debugpy', '--listen', 'localhost:57039', '--wait-for-client']` * @param {string} host * @param {number} port * @param {boolean} [waitUntilDebuggerAttaches=true] * @returns {Promise} */ getRemoteLauncherCommand(host: string, port: number, waitUntilDebuggerAttaches: boolean): Promise; + + /** + * Gets the path to the debugger package used by the extension. + * @returns {Promise} + */ + getDebuggerPackagePath(): Promise; + }; + /** + * Return internal settings within the extension which are stored in VSCode storage + */ + settings: { + /** + * An event that is emitted when execution details (for a resource) change. For instance, when interpreter configuration changes. + */ + readonly onDidChangeExecutionDetails: Event; + /** + * Returns all the details the consumer needs to execute code within the selected environment, + * corresponding to the specified resource taking into account any workspace-specific settings + * for the workspace to which this resource belongs. + * @param {Resource} [resource] A resource for which the setting is asked for. + * * When no resource is provided, the setting scoped to the first workspace folder is returned. + * * If no folder is present, it returns the global setting. + * @returns {({ execCommand: string[] | undefined })} + */ + getExecutionDetails( + resource?: Resource + ): { + /** + * E.g of execution commands returned could be, + * * `['']` + * * `['']` + * * `['conda', 'run', 'python']` which is used to run from within Conda environments. + * or something similar for some other Python environments. + * + * @type {(string[] | undefined)} When return value is `undefined`, it means no interpreter is set. + * Otherwise, join the items returned using space to construct the full execution command. + */ + execCommand: string[] | undefined; + }; + }; + datascience: { + /** + * Launches Data Viewer component. + * @param {IDataViewerDataProvider} dataProvider Instance that will be used by the Data Viewer component to fetch data. + * @param {string} title Data Viewer title + */ + showDataViewer(dataProvider: IDataViewerDataProvider, title: string): Promise; + /** + * Registers a remote server provider component that's used to pick remote jupyter server URIs + * @param serverProvider object called back when picking jupyter server URI + */ + registerRemoteServerProvider(serverProvider: IJupyterUriProvider): void; }; } @@ -42,13 +96,12 @@ export function buildApi( ready: Promise, serviceManager: IServiceManager, serviceContainer: IServiceContainer -) { - const experimentsManager = serviceContainer.get(IExperimentsManager); - const debugFactory = serviceContainer.get(IDebugAdapterDescriptorFactory); - - const api = { +): IExtensionApi { + const configurationService = serviceContainer.get(IConfigurationService); + const interpreterService = serviceContainer.get(IInterpreterService); + const api: IExtensionApi = { // 'ready' will propagate the exception, but we must log it here first. - ready: ready.catch(ex => { + ready: ready.catch((ex) => { traceError('Failure during activation.', ex); return Promise.reject(ex); }), @@ -58,19 +111,34 @@ export function buildApi( port: number, waitUntilDebuggerAttaches: boolean = true ): Promise { - const useNewDADebugger = experimentsManager.inExperiment(DebugAdapterNewPtvsd.experiment); - - if (useNewDADebugger) { - // Same logic as in RemoteDebuggerExternalLauncherScriptProvider, but eventually launcherProvider.ts will be deleted. - const args = debugFactory.getRemoteDebuggerArgs({ host, port, waitUntilDebuggerAttaches }); - return [debugFactory.getDebuggerPath(), ...args]; - } - - return new RemoteDebuggerExternalLauncherScriptProvider().getLauncherArgs({ + return getDebugpyLauncherArgs({ host, port, waitUntilDebuggerAttaches }); + }, + async getDebuggerPackagePath(): Promise { + return getDebugpyPackagePath(); + } + }, + settings: { + onDidChangeExecutionDetails: interpreterService.onDidChangeInterpreterConfiguration, + getExecutionDetails(resource?: Resource) { + const pythonPath = configurationService.getSettings(resource).pythonPath; + // If pythonPath equals an empty string, no interpreter is set. + return { execCommand: pythonPath === '' ? undefined : [pythonPath] }; + } + }, + datascience: { + async showDataViewer(dataProvider: IDataViewerDataProvider, title: string): Promise { + const dataViewerProviderService = serviceContainer.get(IDataViewerFactory); + await dataViewerProviderService.create(dataProvider, title); + }, + registerRemoteServerProvider(picker: IJupyterUriProvider): void { + const container = serviceContainer.get( + IJupyterUriProviderRegistration + ); + container.registerProvider(picker); } } }; diff --git a/src/client/application/diagnostics/applicationDiagnostics.ts b/src/client/application/diagnostics/applicationDiagnostics.ts index cb676c486c81..aebfa942edb7 100644 --- a/src/client/application/diagnostics/applicationDiagnostics.ts +++ b/src/client/application/diagnostics/applicationDiagnostics.ts @@ -29,18 +29,18 @@ export class ApplicationDiagnostics implements IApplicationDiagnostics { const services = this.serviceContainer.getAll(IDiagnosticsService); // Perform these validation checks in the foreground. await this.runDiagnostics( - services.filter(item => !item.runInBackground), + services.filter((item) => !item.runInBackground), resource ); // Perform these validation checks in the background. this.runDiagnostics( - services.filter(item => item.runInBackground), + services.filter((item) => item.runInBackground), resource ).ignoreErrors(); } private async runDiagnostics(diagnosticServices: IDiagnosticsService[], resource: Resource): Promise { await Promise.all( - diagnosticServices.map(async diagnosticService => { + diagnosticServices.map(async (diagnosticService) => { const diagnostics = await diagnosticService.diagnose(resource); if (diagnostics.length > 0) { this.log(diagnostics); @@ -50,7 +50,7 @@ export class ApplicationDiagnostics implements IApplicationDiagnostics { ); } private log(diagnostics: IDiagnostic[]): void { - diagnostics.forEach(item => { + diagnostics.forEach((item) => { const message = `Diagnostic Code: ${item.code}, Message: ${item.message}`; switch (item.severity) { case DiagnosticSeverity.Error: { diff --git a/src/client/application/diagnostics/base.ts b/src/client/application/diagnostics/base.ts index 85af2e18aaed..240883cb3657 100644 --- a/src/client/application/diagnostics/base.ts +++ b/src/client/application/diagnostics/base.ts @@ -21,7 +21,8 @@ export abstract class BaseDiagnostic implements IDiagnostic { public readonly severity: DiagnosticSeverity, public readonly scope: DiagnosticScope, public readonly resource: Resource, - public readonly invokeHandler: 'always' | 'default' = 'default' + public readonly invokeHandler: 'always' | 'default' = 'default', + public readonly shouldShowPrompt = true ) {} } @@ -46,7 +47,7 @@ export abstract class BaseDiagnosticsService implements IDiagnosticsService, IDi if (diagnostics.length === 0) { return; } - const diagnosticsToHandle = diagnostics.filter(item => { + const diagnosticsToHandle = diagnostics.filter((item) => { if (item.invokeHandler && item.invokeHandler === 'always') { return true; } @@ -61,7 +62,7 @@ export abstract class BaseDiagnosticsService implements IDiagnosticsService, IDi } public async canHandle(diagnostic: IDiagnostic): Promise { sendTelemetryEvent(EventName.DIAGNOSTICS_MESSAGE, undefined, { code: diagnostic.code }); - return this.supportedDiagnosticCodes.filter(item => item === diagnostic.code).length > 0; + return this.supportedDiagnosticCodes.filter((item) => item === diagnostic.code).length > 0; } protected abstract onHandle(diagnostics: IDiagnostic[]): Promise; /** diff --git a/src/client/application/diagnostics/checks/envPathVariable.ts b/src/client/application/diagnostics/checks/envPathVariable.ts index ef31aa3f8601..2c137662055e 100644 --- a/src/client/application/diagnostics/checks/envPathVariable.ts +++ b/src/client/application/diagnostics/checks/envPathVariable.ts @@ -89,6 +89,6 @@ export class EnvironmentPathVariableDiagnosticsService extends BaseDiagnosticsSe const pathValue = currentProc.env[this.platform.pathVariableName]; const pathSeparator = this.serviceContainer.get(IPathUtils).delimiter; const paths = (pathValue || '').split(pathSeparator); - return paths.filter(item => item.indexOf('"') >= 0).length > 0; + return paths.filter((item) => item.indexOf('"') >= 0).length > 0; } } diff --git a/src/client/application/diagnostics/checks/invalidLaunchJsonDebugger.ts b/src/client/application/diagnostics/checks/invalidLaunchJsonDebugger.ts index b41221e7e604..a545764d26ec 100644 --- a/src/client/application/diagnostics/checks/invalidLaunchJsonDebugger.ts +++ b/src/client/application/diagnostics/checks/invalidLaunchJsonDebugger.ts @@ -20,7 +20,8 @@ import { DiagnosticScope, IDiagnostic, IDiagnosticHandlerService } from '../type const messages = { [DiagnosticCodes.InvalidDebuggerTypeDiagnostic]: Diagnostics.invalidDebuggerTypeDiagnostic(), [DiagnosticCodes.JustMyCodeDiagnostic]: Diagnostics.justMyCodeDiagnostic(), - [DiagnosticCodes.ConsoleTypeDiagnostic]: Diagnostics.consoleTypeDiagnostic() + [DiagnosticCodes.ConsoleTypeDiagnostic]: Diagnostics.consoleTypeDiagnostic(), + [DiagnosticCodes.ConfigPythonPathDiagnostic]: '' }; export class InvalidLaunchJsonDebuggerDiagnostic extends BaseDiagnostic { @@ -28,10 +29,20 @@ export class InvalidLaunchJsonDebuggerDiagnostic extends BaseDiagnostic { code: | DiagnosticCodes.InvalidDebuggerTypeDiagnostic | DiagnosticCodes.JustMyCodeDiagnostic - | DiagnosticCodes.ConsoleTypeDiagnostic, - resource: Resource + | DiagnosticCodes.ConsoleTypeDiagnostic + | DiagnosticCodes.ConfigPythonPathDiagnostic, + resource: Resource, + shouldShowPrompt: boolean = true ) { - super(code, messages[code], DiagnosticSeverity.Error, DiagnosticScope.WorkspaceFolder, resource, 'always'); + super( + code, + messages[code], + DiagnosticSeverity.Error, + DiagnosticScope.WorkspaceFolder, + resource, + 'always', + shouldShowPrompt + ); } } @@ -52,7 +63,8 @@ export class InvalidLaunchJsonDebuggerService extends BaseDiagnosticsService { [ DiagnosticCodes.InvalidDebuggerTypeDiagnostic, DiagnosticCodes.JustMyCodeDiagnostic, - DiagnosticCodes.ConsoleTypeDiagnostic + DiagnosticCodes.ConsoleTypeDiagnostic, + DiagnosticCodes.ConfigPythonPathDiagnostic ], serviceContainer, disposableRegistry, @@ -69,7 +81,7 @@ export class InvalidLaunchJsonDebuggerService extends BaseDiagnosticsService { return this.diagnoseWorkspace(workspaceFolder, resource); } protected async onHandle(diagnostics: IDiagnostic[]): Promise { - diagnostics.forEach(diagnostic => this.handleDiagnostic(diagnostic)); + diagnostics.forEach((diagnostic) => this.handleDiagnostic(diagnostic)); } protected async fixLaunchJson(code: DiagnosticCodes) { if (!this.workspaceService.hasWorkspaceFolders) { @@ -77,7 +89,7 @@ export class InvalidLaunchJsonDebuggerService extends BaseDiagnosticsService { } await Promise.all( - this.workspaceService.workspaceFolders!.map(workspaceFolder => + this.workspaceService.workspaceFolders!.map((workspaceFolder) => this.fixLaunchJsonInWorkspace(code, workspaceFolder) ) ); @@ -101,12 +113,23 @@ export class InvalidLaunchJsonDebuggerService extends BaseDiagnosticsService { if (fileContents.indexOf('"console": "none"') > 0) { diagnostics.push(new InvalidLaunchJsonDebuggerDiagnostic(DiagnosticCodes.ConsoleTypeDiagnostic, resource)); } + if ( + fileContents.indexOf('{config:python.pythonPath}') > 0 || + fileContents.indexOf('{config:python.interpreterPath}') > 0 + ) { + diagnostics.push( + new InvalidLaunchJsonDebuggerDiagnostic(DiagnosticCodes.ConfigPythonPathDiagnostic, resource, false) + ); + } return diagnostics; } private async handleDiagnostic(diagnostic: IDiagnostic): Promise { if (!this.canHandle(diagnostic)) { return; } + if (!diagnostic.shouldShowPrompt) { + return this.fixLaunchJson(diagnostic.code); + } const commandPrompts = [ { prompt: Diagnostics.yesUpdateLaunch(), @@ -145,6 +168,19 @@ export class InvalidLaunchJsonDebuggerService extends BaseDiagnosticsService { fileContents = this.findAndReplace(fileContents, '"console": "none"', '"console": "internalConsole"'); break; } + case DiagnosticCodes.ConfigPythonPathDiagnostic: { + fileContents = this.findAndReplace( + fileContents, + '{config:python.pythonPath}', + '{command:python.interpreterPath}' + ); + fileContents = this.findAndReplace( + fileContents, + '{config:python.interpreterPath}', + '{command:python.interpreterPath}' + ); + break; + } default: { return; } diff --git a/src/client/application/diagnostics/checks/invalidPythonPathInDebugger.ts b/src/client/application/diagnostics/checks/invalidPythonPathInDebugger.ts index 492bbf9c06c8..73f60ce7edfa 100644 --- a/src/client/application/diagnostics/checks/invalidPythonPathInDebugger.ts +++ b/src/client/application/diagnostics/checks/invalidPythonPathInDebugger.ts @@ -76,7 +76,7 @@ export class InvalidPythonPathInDebuggerService extends BaseDiagnosticsService public async validatePythonPath(pythonPath?: string, pythonPathSource?: PythonPathSource, resource?: Uri) { pythonPath = pythonPath ? this.resolveVariables(pythonPath, resource) : undefined; // tslint:disable-next-line:no-invalid-template-strings - if (pythonPath === '${config:python.pythonPath}' || !pythonPath) { + if (pythonPath === '${command:python.interpreterPath}' || !pythonPath) { pythonPath = this.configService.getSettings(resource).pythonPath; } if (await this.interpreterHelper.getInterpreterInformation(pythonPath).catch(() => undefined)) { @@ -90,7 +90,7 @@ export class InvalidPythonPathInDebuggerService extends BaseDiagnosticsService resource ) ]) - .catch(ex => traceError('Failed to handle invalid python path in launch.json debugger', ex)) + .catch((ex) => traceError('Failed to handle invalid python path in launch.json debugger', ex)) .ignoreErrors(); } else { this.handle([ @@ -99,7 +99,7 @@ export class InvalidPythonPathInDebuggerService extends BaseDiagnosticsService resource ) ]) - .catch(ex => traceError('Failed to handle invalid python path in settings.json debugger', ex)) + .catch((ex) => traceError('Failed to handle invalid python path in settings.json debugger', ex)) .ignoreErrors(); } return false; diff --git a/src/client/application/diagnostics/checks/macPythonInterpreter.ts b/src/client/application/diagnostics/checks/macPythonInterpreter.ts index baa59aa22dc2..f6ed45b551ae 100644 --- a/src/client/application/diagnostics/checks/macPythonInterpreter.ts +++ b/src/client/application/diagnostics/checks/macPythonInterpreter.ts @@ -6,11 +6,20 @@ import { inject, injectable } from 'inversify'; import { ConfigurationChangeEvent, DiagnosticSeverity, Uri } from 'vscode'; import { IWorkspaceService } from '../../../common/application/types'; +import { DeprecatePythonPath } from '../../../common/experiments/groups'; import '../../../common/extensions'; import { IPlatformService } from '../../../common/platform/types'; -import { IConfigurationService, IDisposableRegistry, Resource } from '../../../common/types'; -import { IInterpreterHelper, IInterpreterService, InterpreterType } from '../../../interpreter/contracts'; +import { + IConfigurationService, + IDisposableRegistry, + IExperimentsManager, + IInterpreterPathService, + InterpreterConfigurationScope, + Resource +} from '../../../common/types'; +import { IInterpreterHelper, IInterpreterService } from '../../../interpreter/contracts'; import { IServiceContainer } from '../../../ioc/types'; +import { EnvironmentType } from '../../../pythonEnvironments/info'; import { BaseDiagnostic, BaseDiagnosticsService } from '../base'; import { IDiagnosticsCommandFactory } from '../commands/types'; import { DiagnosticCodes } from '../constants'; @@ -89,12 +98,12 @@ export class InvalidMacPythonInterpreterService extends BaseDiagnosticsService { if (!this.helper.isMacDefaultPythonPath(settings.pythonPath)) { return []; } - if (!currentInterpreter || currentInterpreter.type !== InterpreterType.Unknown) { + if (!currentInterpreter || currentInterpreter.envType !== EnvironmentType.Unknown) { return []; } const interpreters = await this.interpreterService.getInterpreters(resource); - if (interpreters.filter(i => !this.helper.isMacDefaultPythonPath(i.path)).length === 0) { + if (interpreters.filter((i) => !this.helper.isMacDefaultPythonPath(i.path)).length === 0) { return [ new InvalidMacPythonInterpreterDiagnostic( DiagnosticCodes.MacInterpreterSelectedAndNoOtherInterpretersDiagnostic, @@ -119,7 +128,7 @@ export class InvalidMacPythonInterpreterService extends BaseDiagnosticsService { DiagnosticCommandPromptHandlerServiceId ); await Promise.all( - diagnostics.map(async diagnostic => { + diagnostics.map(async (diagnostic) => { const canHandle = await this.canHandle(diagnostic); const shouldIgnore = await this.filterService.shouldIgnoreDiagnostic(diagnostic.code); if (!canHandle || shouldIgnore) { @@ -133,16 +142,37 @@ export class InvalidMacPythonInterpreterService extends BaseDiagnosticsService { protected addPythonPathChangedHandler() { const workspaceService = this.serviceContainer.get(IWorkspaceService); const disposables = this.serviceContainer.get(IDisposableRegistry); + const interpreterPathService = this.serviceContainer.get(IInterpreterPathService); + const experiments = this.serviceContainer.get(IExperimentsManager); + if (experiments.inExperiment(DeprecatePythonPath.experiment)) { + disposables.push(interpreterPathService.onDidChange((i) => this.onDidChangeConfiguration(undefined, i))); + } + experiments.sendTelemetryIfInExperiment(DeprecatePythonPath.control); disposables.push(workspaceService.onDidChangeConfiguration(this.onDidChangeConfiguration.bind(this))); } - protected async onDidChangeConfiguration(event: ConfigurationChangeEvent) { - const workspaceService = this.serviceContainer.get(IWorkspaceService); - const workspacesUris: (Uri | undefined)[] = workspaceService.hasWorkspaceFolders - ? workspaceService.workspaceFolders!.map(workspace => workspace.uri) - : [undefined]; - const workspaceUriIndex = workspacesUris.findIndex(uri => event.affectsConfiguration('python.pythonPath', uri)); - if (workspaceUriIndex === -1) { - return; + protected async onDidChangeConfiguration( + event?: ConfigurationChangeEvent, + interpreterConfigurationScope?: InterpreterConfigurationScope + ) { + let workspaceUri: Resource; + if (event) { + const workspaceService = this.serviceContainer.get(IWorkspaceService); + const workspacesUris: (Uri | undefined)[] = workspaceService.hasWorkspaceFolders + ? workspaceService.workspaceFolders!.map((workspace) => workspace.uri) + : [undefined]; + const workspaceUriIndex = workspacesUris.findIndex((uri) => + event.affectsConfiguration('python.pythonPath', uri) + ); + if (workspaceUriIndex === -1) { + return; + } + workspaceUri = workspacesUris[workspaceUriIndex]; + } else if (interpreterConfigurationScope) { + workspaceUri = interpreterConfigurationScope.uri; + } else { + throw new Error( + 'One of `interpreterConfigurationScope` or `event` should be defined when calling `onDidChangeConfiguration`.' + ); } // Lets wait, for more changes, dirty simple throttling. if (this.timeOut) { @@ -152,8 +182,8 @@ export class InvalidMacPythonInterpreterService extends BaseDiagnosticsService { } this.timeOut = setTimeout(() => { this.timeOut = undefined; - this.diagnose(workspacesUris[workspaceUriIndex]) - .then(diagnostics => this.handle(diagnostics)) + this.diagnose(workspaceUri) + .then((diagnostics) => this.handle(diagnostics)) .ignoreErrors(); }, this.changeThrottleTimeout); } diff --git a/src/client/application/diagnostics/checks/powerShellActivation.ts b/src/client/application/diagnostics/checks/powerShellActivation.ts index 99f2326f9f9a..a2e8c08ff5c5 100644 --- a/src/client/application/diagnostics/checks/powerShellActivation.ts +++ b/src/client/application/diagnostics/checks/powerShellActivation.ts @@ -80,7 +80,7 @@ export class PowerShellActivationHackDiagnosticsService extends BaseDiagnosticsS sendTelemetryEvent(EventName.DIAGNOSTICS_ACTION, undefined, { action: 'switchToCommandPrompt' }); - useCommandPromptAsDefaultShell(currentProcess, configurationService).catch(ex => + useCommandPromptAsDefaultShell(currentProcess, configurationService).catch((ex) => traceError('Use Command Prompt as default shell', ex) ); } diff --git a/src/client/application/diagnostics/checks/pythonInterpreter.ts b/src/client/application/diagnostics/checks/pythonInterpreter.ts index e87a537036fe..6040234f7f2a 100644 --- a/src/client/application/diagnostics/checks/pythonInterpreter.ts +++ b/src/client/application/diagnostics/checks/pythonInterpreter.ts @@ -9,11 +9,19 @@ import '../../../common/extensions'; import { IConfigurationService, IDisposableRegistry, Resource } from '../../../common/types'; import { IInterpreterService } from '../../../interpreter/contracts'; import { IServiceContainer } from '../../../ioc/types'; +import { sendTelemetryEvent } from '../../../telemetry'; +import { EventName } from '../../../telemetry/constants'; import { BaseDiagnostic, BaseDiagnosticsService } from '../base'; import { IDiagnosticsCommandFactory } from '../commands/types'; import { DiagnosticCodes } from '../constants'; import { DiagnosticCommandPromptHandlerServiceId, MessageCommandPrompt } from '../promptHandler'; -import { DiagnosticScope, IDiagnostic, IDiagnosticCommand, IDiagnosticHandlerService } from '../types'; +import { + DiagnosticScope, + IDiagnostic, + IDiagnosticCommand, + IDiagnosticHandlerService, + IDiagnosticMessageOnCloseHandler +} from '../types'; const messages = { [DiagnosticCodes.NoPythonInterpretersDiagnostic]: @@ -59,7 +67,14 @@ export class InvalidPythonInterpreterService extends BaseDiagnosticsService { } const interpreterService = this.serviceContainer.get(IInterpreterService); - const hasInterpreters = await interpreterService.hasInterpreters; + // hasInterpreters being false can mean one of 2 things: + // 1. getInterpreters hasn't returned any interpreters; + // 2. getInterpreters hasn't run yet. + // We want to make sure that false comes from 1, so we're adding this fix until we refactor interpreter discovery. + // Also see https://github.com/microsoft/vscode-python/issues/3023. + const hasInterpreters = + (await interpreterService.hasInterpreters) || + (await interpreterService.getInterpreters(resource)).length > 0; if (!hasInterpreters) { return [new InvalidPythonInterpreterDiagnostic(DiagnosticCodes.NoPythonInterpretersDiagnostic, resource)]; @@ -86,12 +101,13 @@ export class InvalidPythonInterpreterService extends BaseDiagnosticsService { DiagnosticCommandPromptHandlerServiceId ); await Promise.all( - diagnostics.map(async diagnostic => { + diagnostics.map(async (diagnostic) => { if (!this.canHandle(diagnostic)) { return; } const commandPrompts = this.getCommandPrompts(diagnostic); - return messageService.handle(diagnostic, { commandPrompts, message: diagnostic.message }); + const onClose = this.getOnCloseHandler(diagnostic); + return messageService.handle(diagnostic, { commandPrompts, message: diagnostic.message, onClose }); }) ); } @@ -125,4 +141,15 @@ export class InvalidPythonInterpreterService extends BaseDiagnosticsService { } } } + private getOnCloseHandler(diagnostic: IDiagnostic): IDiagnosticMessageOnCloseHandler | undefined { + if (diagnostic.code === DiagnosticCodes.NoPythonInterpretersDiagnostic) { + return (response?: string) => { + sendTelemetryEvent(EventName.PYTHON_NOT_INSTALLED_PROMPT, undefined, { + selection: response ? 'Download' : 'Ignore' + }); + }; + } + + return; + } } diff --git a/src/client/application/diagnostics/checks/pythonPathDeprecated.ts b/src/client/application/diagnostics/checks/pythonPathDeprecated.ts new file mode 100644 index 000000000000..305be378d831 --- /dev/null +++ b/src/client/application/diagnostics/checks/pythonPathDeprecated.ts @@ -0,0 +1,100 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +'use strict'; + +import { inject, named } from 'inversify'; +import { ConfigurationTarget, DiagnosticSeverity } from 'vscode'; +import { IWorkspaceService } from '../../../common/application/types'; +import { STANDARD_OUTPUT_CHANNEL } from '../../../common/constants'; +import { DeprecatePythonPath } from '../../../common/experiments/groups'; +import { IDisposableRegistry, IExperimentsManager, IOutputChannel, Resource } from '../../../common/types'; +import { Common, Diagnostics } from '../../../common/utils/localize'; +import { IServiceContainer } from '../../../ioc/types'; +import { BaseDiagnostic, BaseDiagnosticsService } from '../base'; +import { IDiagnosticsCommandFactory } from '../commands/types'; +import { DiagnosticCodes } from '../constants'; +import { DiagnosticCommandPromptHandlerServiceId, MessageCommandPrompt } from '../promptHandler'; +import { DiagnosticScope, IDiagnostic, IDiagnosticHandlerService } from '../types'; + +export class PythonPathDeprecatedDiagnostic extends BaseDiagnostic { + constructor(message: string, resource: Resource) { + super( + DiagnosticCodes.PythonPathDeprecatedDiagnostic, + message, + DiagnosticSeverity.Information, + DiagnosticScope.WorkspaceFolder, + resource + ); + } +} + +export const PythonPathDeprecatedDiagnosticServiceId = 'PythonPathDeprecatedDiagnosticServiceId'; + +export class PythonPathDeprecatedDiagnosticService extends BaseDiagnosticsService { + private workspaceService: IWorkspaceService; + private output: IOutputChannel; + constructor( + @inject(IServiceContainer) serviceContainer: IServiceContainer, + @inject(IDiagnosticHandlerService) + @named(DiagnosticCommandPromptHandlerServiceId) + protected readonly messageService: IDiagnosticHandlerService, + @inject(IDisposableRegistry) disposableRegistry: IDisposableRegistry + ) { + super([DiagnosticCodes.PythonPathDeprecatedDiagnostic], serviceContainer, disposableRegistry, true); + this.workspaceService = this.serviceContainer.get(IWorkspaceService); + this.output = this.serviceContainer.get(IOutputChannel, STANDARD_OUTPUT_CHANNEL); + } + public async diagnose(resource: Resource): Promise { + const experiments = this.serviceContainer.get(IExperimentsManager); + experiments.sendTelemetryIfInExperiment(DeprecatePythonPath.control); + if (!experiments.inExperiment(DeprecatePythonPath.experiment)) { + return []; + } + const setting = this.workspaceService.getConfiguration('python', resource).inspect('pythonPath'); + if (!setting) { + return []; + } + const isCodeWorkspaceSettingSet = this.workspaceService.workspaceFile && setting.workspaceValue !== undefined; + const isSettingsJsonSettingSet = setting.workspaceFolderValue !== undefined; + if (isCodeWorkspaceSettingSet || isSettingsJsonSettingSet) { + return [new PythonPathDeprecatedDiagnostic(Diagnostics.removedPythonPathFromSettings(), resource)]; + } + return []; + } + + public async _removePythonPathFromWorkspaceSettings(resource: Resource) { + const workspaceConfig = this.workspaceService.getConfiguration('python', resource); + await Promise.all([ + workspaceConfig.update('pythonPath', undefined, ConfigurationTarget.Workspace), + workspaceConfig.update('pythonPath', undefined, ConfigurationTarget.WorkspaceFolder) + ]); + } + + protected async onHandle(diagnostics: IDiagnostic[]): Promise { + if (diagnostics.length === 0 || !(await this.canHandle(diagnostics[0]))) { + return; + } + const diagnostic = diagnostics[0]; + if (await this.filterService.shouldIgnoreDiagnostic(diagnostic.code)) { + return; + } + await this._removePythonPathFromWorkspaceSettings(diagnostic.resource); + const commandFactory = this.serviceContainer.get(IDiagnosticsCommandFactory); + const options = [ + { + prompt: Common.openOutputPanel(), + command: { + diagnostic, + invoke: async (): Promise => this.output.show(true) + } + }, + { + prompt: Common.doNotShowAgain(), + command: commandFactory.createCommand(diagnostic, { type: 'ignore', options: DiagnosticScope.Global }) + } + ]; + + await this.messageService.handle(diagnostic, { commandPrompts: options }); + } +} diff --git a/src/client/application/diagnostics/checks/upgradeCodeRunner.ts b/src/client/application/diagnostics/checks/upgradeCodeRunner.ts new file mode 100644 index 000000000000..9285b41d72e7 --- /dev/null +++ b/src/client/application/diagnostics/checks/upgradeCodeRunner.ts @@ -0,0 +1,95 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +'use strict'; + +import { inject, named } from 'inversify'; +import { DiagnosticSeverity } from 'vscode'; +import { IWorkspaceService } from '../../../common/application/types'; +import { CODE_RUNNER_EXTENSION_ID } from '../../../common/constants'; +import { DeprecatePythonPath } from '../../../common/experiments/groups'; +import { IDisposableRegistry, IExperimentsManager, IExtensions, Resource } from '../../../common/types'; +import { Common, Diagnostics } from '../../../common/utils/localize'; +import { IServiceContainer } from '../../../ioc/types'; +import { BaseDiagnostic, BaseDiagnosticsService } from '../base'; +import { IDiagnosticsCommandFactory } from '../commands/types'; +import { DiagnosticCodes } from '../constants'; +import { DiagnosticCommandPromptHandlerServiceId, MessageCommandPrompt } from '../promptHandler'; +import { DiagnosticScope, IDiagnostic, IDiagnosticHandlerService } from '../types'; + +export class UpgradeCodeRunnerDiagnostic extends BaseDiagnostic { + constructor(message: string, resource: Resource) { + super( + DiagnosticCodes.UpgradeCodeRunnerDiagnostic, + message, + DiagnosticSeverity.Information, + DiagnosticScope.Global, + resource + ); + } +} + +export const UpgradeCodeRunnerDiagnosticServiceId = 'UpgradeCodeRunnerDiagnosticServiceId'; + +export class UpgradeCodeRunnerDiagnosticService extends BaseDiagnosticsService { + public _diagnosticReturned: boolean = false; + private workspaceService: IWorkspaceService; + constructor( + @inject(IServiceContainer) serviceContainer: IServiceContainer, + @inject(IDiagnosticHandlerService) + @named(DiagnosticCommandPromptHandlerServiceId) + protected readonly messageService: IDiagnosticHandlerService, + @inject(IDisposableRegistry) disposableRegistry: IDisposableRegistry, + @inject(IExtensions) private readonly extensions: IExtensions + ) { + super([DiagnosticCodes.UpgradeCodeRunnerDiagnostic], serviceContainer, disposableRegistry, true); + this.workspaceService = this.serviceContainer.get(IWorkspaceService); + } + public async diagnose(resource: Resource): Promise { + if (this._diagnosticReturned) { + return []; + } + const experiments = this.serviceContainer.get(IExperimentsManager); + experiments.sendTelemetryIfInExperiment(DeprecatePythonPath.control); + if (!experiments.inExperiment(DeprecatePythonPath.experiment)) { + return []; + } + const extension = this.extensions.getExtension(CODE_RUNNER_EXTENSION_ID); + if (!extension) { + return []; + } + // Available feature flags: https://github.com/formulahendry/vscode-code-runner/blob/master/package.json#L6 + const flagValue: boolean | undefined = extension.packageJSON?.featureFlags?.usingNewPythonInterpreterPathApiV2; + if (flagValue) { + // Using new version of Code runner already, no need to upgrade + return []; + } + const pythonExecutor = this.workspaceService + .getConfiguration('code-runner', resource) + .get('executorMap.python'); + if (pythonExecutor?.includes('$pythonPath')) { + this._diagnosticReturned = true; + return [new UpgradeCodeRunnerDiagnostic(Diagnostics.upgradeCodeRunner(), resource)]; + } + return []; + } + + protected async onHandle(diagnostics: IDiagnostic[]): Promise { + if (diagnostics.length === 0 || !(await this.canHandle(diagnostics[0]))) { + return; + } + const diagnostic = diagnostics[0]; + if (await this.filterService.shouldIgnoreDiagnostic(diagnostic.code)) { + return; + } + const commandFactory = this.serviceContainer.get(IDiagnosticsCommandFactory); + const options = [ + { + prompt: Common.doNotShowAgain(), + command: commandFactory.createCommand(diagnostic, { type: 'ignore', options: DiagnosticScope.Global }) + } + ]; + + await this.messageService.handle(diagnostic, { commandPrompts: options }); + } +} diff --git a/src/client/application/diagnostics/constants.ts b/src/client/application/diagnostics/constants.ts index 46deb3c1620b..b975ae9222a0 100644 --- a/src/client/application/diagnostics/constants.ts +++ b/src/client/application/diagnostics/constants.ts @@ -14,6 +14,9 @@ export enum DiagnosticCodes { EnvironmentActivationInPowerShellWithBatchFilesNotSupportedDiagnostic = 'EnvironmentActivationInPowerShellWithBatchFilesNotSupportedDiagnostic', NoCurrentlySelectedPythonInterpreterDiagnostic = 'InvalidPythonInterpreterDiagnostic', LSNotSupportedDiagnostic = 'LSNotSupportedDiagnostic', + PythonPathDeprecatedDiagnostic = 'PythonPathDeprecatedDiagnostic', JustMyCodeDiagnostic = 'JustMyCodeDiagnostic', - ConsoleTypeDiagnostic = 'ConsoleTypeDiagnostic' + ConsoleTypeDiagnostic = 'ConsoleTypeDiagnostic', + ConfigPythonPathDiagnostic = 'ConfigPythonPathDiagnostic', + UpgradeCodeRunnerDiagnostic = 'UpgradeCodeRunnerDiagnostic' } diff --git a/src/client/application/diagnostics/promptHandler.ts b/src/client/application/diagnostics/promptHandler.ts index 2504e0c2ff71..210a7c5ecee3 100644 --- a/src/client/application/diagnostics/promptHandler.ts +++ b/src/client/application/diagnostics/promptHandler.ts @@ -7,7 +7,7 @@ import { inject, injectable } from 'inversify'; import { DiagnosticSeverity } from 'vscode'; import { IApplicationShell } from '../../common/application/types'; import { IServiceContainer } from '../../ioc/types'; -import { IDiagnostic, IDiagnosticCommand, IDiagnosticHandlerService } from './types'; +import { IDiagnostic, IDiagnosticCommand, IDiagnosticHandlerService, IDiagnosticMessageOnCloseHandler } from './types'; export type MessageCommandPrompt = { commandPrompts: { @@ -15,6 +15,7 @@ export type MessageCommandPrompt = { command?: IDiagnosticCommand; }[]; message?: string; + onClose?: IDiagnosticMessageOnCloseHandler; }; export const DiagnosticCommandPromptHandlerServiceId = 'DiagnosticCommandPromptHandlerServiceId'; @@ -29,16 +30,19 @@ export class DiagnosticCommandPromptHandlerService implements IDiagnosticHandler diagnostic: IDiagnostic, options: MessageCommandPrompt = { commandPrompts: [] } ): Promise { - const prompts = options.commandPrompts.map(option => option.prompt); + const prompts = options.commandPrompts.map((option) => option.prompt); const response = await this.displayMessage( options.message ? options.message : diagnostic.message, diagnostic.severity, prompts ); + if (options.onClose) { + options.onClose(response); + } if (!response) { return; } - const selectedOption = options.commandPrompts.find(option => option.prompt === response); + const selectedOption = options.commandPrompts.find((option) => option.prompt === response); if (selectedOption && selectedOption.command) { await selectedOption.command.invoke(); } diff --git a/src/client/application/diagnostics/serviceRegistry.ts b/src/client/application/diagnostics/serviceRegistry.ts index 6dbce89902da..9aefb8e742d9 100644 --- a/src/client/application/diagnostics/serviceRegistry.ts +++ b/src/client/application/diagnostics/serviceRegistry.ts @@ -29,6 +29,11 @@ import { PowerShellActivationHackDiagnosticsServiceId } from './checks/powerShellActivation'; import { InvalidPythonInterpreterService, InvalidPythonInterpreterServiceId } from './checks/pythonInterpreter'; +import { + PythonPathDeprecatedDiagnosticService, + PythonPathDeprecatedDiagnosticServiceId +} from './checks/pythonPathDeprecated'; +import { UpgradeCodeRunnerDiagnosticService, UpgradeCodeRunnerDiagnosticServiceId } from './checks/upgradeCodeRunner'; import { DiagnosticsCommandFactory } from './commands/factory'; import { IDiagnosticsCommandFactory } from './commands/types'; import { DiagnosticFilterService } from './filter'; @@ -76,6 +81,17 @@ export function registerTypes(serviceManager: IServiceManager, languageServerTyp InvalidMacPythonInterpreterService, InvalidMacPythonInterpreterServiceId ); + serviceManager.addSingleton( + IDiagnosticsService, + PythonPathDeprecatedDiagnosticService, + PythonPathDeprecatedDiagnosticServiceId + ); + + serviceManager.addSingleton( + IDiagnosticsService, + UpgradeCodeRunnerDiagnosticService, + UpgradeCodeRunnerDiagnosticServiceId + ); serviceManager.addSingleton(IDiagnosticsCommandFactory, DiagnosticsCommandFactory); serviceManager.addSingleton(IApplicationDiagnostics, ApplicationDiagnostics); diff --git a/src/client/application/diagnostics/types.ts b/src/client/application/diagnostics/types.ts index d38d3f671bf8..56a0e844c670 100644 --- a/src/client/application/diagnostics/types.ts +++ b/src/client/application/diagnostics/types.ts @@ -25,6 +25,7 @@ export interface IDiagnostic { readonly scope: DiagnosticScope; readonly resource: Resource; readonly invokeHandler: 'always' | 'default'; + readonly shouldShowPrompt?: boolean; } export const IDiagnosticsService = Symbol('IDiagnosticsService'); @@ -54,6 +55,8 @@ export interface IDiagnosticCommand { invoke(): Promise; } +export type IDiagnosticMessageOnCloseHandler = (response?: string) => void; + export const IInvalidPythonPathInDebuggerService = Symbol('IInvalidPythonPathInDebuggerService'); export interface IInvalidPythonPathInDebuggerService extends IDiagnosticsService { diff --git a/src/client/application/misc/joinMailingListPrompt.ts b/src/client/application/misc/joinMailingListPrompt.ts new file mode 100644 index 000000000000..d120183e1473 --- /dev/null +++ b/src/client/application/misc/joinMailingListPrompt.ts @@ -0,0 +1,79 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +import { inject, injectable } from 'inversify'; +import * as querystring from 'querystring'; +import { IExtensionSingleActivationService } from '../../activation/types'; +import { IApplicationEnvironment, IApplicationShell } from '../../common/application/types'; +import { JoinMailingListPromptVariants } from '../../common/experiments/groups'; +import { IBrowserService, IExperimentService, IPersistentState, IPersistentStateFactory } from '../../common/types'; +import { swallowExceptions } from '../../common/utils/decorators'; +import { Common } from '../../common/utils/localize'; +import { sendTelemetryEvent } from '../../telemetry'; +import { EventName } from '../../telemetry/constants'; + +@injectable() +export class JoinMailingListPrompt implements IExtensionSingleActivationService { + private readonly storage: IPersistentState; + + constructor( + @inject(IApplicationShell) private readonly shell: IApplicationShell, + @inject(IPersistentStateFactory) private readonly factory: IPersistentStateFactory, + @inject(IExperimentService) private readonly experiments: IExperimentService, + @inject(IBrowserService) private browserService: IBrowserService, + @inject(IApplicationEnvironment) private appEnvironment: IApplicationEnvironment + ) { + this.storage = this.factory.createGlobalPersistentState('JoinMailingListPrompt', false); + } + + public async activate(): Promise { + // Only show the prompt if we have never shown it before. True here, means we have + // shown the prompt before. + if (this.storage.value) { + return Promise.resolve(); + } + + let promptContent: string | undefined; + if (await this.experiments.inExperiment(JoinMailingListPromptVariants.variant1)) { + promptContent = await this.experiments.getExperimentValue(JoinMailingListPromptVariants.variant1); + } else if (await this.experiments.inExperiment(JoinMailingListPromptVariants.variant2)) { + promptContent = await this.experiments.getExperimentValue(JoinMailingListPromptVariants.variant2); + } else if (await this.experiments.inExperiment(JoinMailingListPromptVariants.variant3)) { + promptContent = await this.experiments.getExperimentValue(JoinMailingListPromptVariants.variant3); + } else { + // Not in any experiment, so no content to show. + promptContent = undefined; + } + + // Show the prompt only if there is any content to show. + if (promptContent) { + this.showTip(promptContent).ignoreErrors(); + } + + // Disable this prompt for all users after the first load. Even if they + // never saw the prompt. + await this.storage.updateValue(true); + } + + @swallowExceptions('Failed to display tip') + private async showTip(promptContent: string) { + const selection = await this.shell.showInformationMessage( + promptContent, + Common.bannerLabelYes(), + Common.bannerLabelNo() + ); + + if (selection === Common.bannerLabelYes()) { + sendTelemetryEvent(EventName.JOIN_MAILING_LIST_PROMPT, undefined, { selection: 'Yes' }); + const query = querystring.stringify({ + m: encodeURIComponent(this.appEnvironment.sessionId) + }); + const url = `https://aka.ms/python-vscode-mailinglist?${query}`; + this.browserService.launch(url); + } else if (selection === Common.bannerLabelNo()) { + sendTelemetryEvent(EventName.JOIN_MAILING_LIST_PROMPT, undefined, { selection: 'No' }); + } else { + sendTelemetryEvent(EventName.JOIN_MAILING_LIST_PROMPT, undefined, { selection: undefined }); + } + } +} diff --git a/src/client/application/serviceRegistry.ts b/src/client/application/serviceRegistry.ts index b4f8f3c30ccc..5fc750fa7c05 100644 --- a/src/client/application/serviceRegistry.ts +++ b/src/client/application/serviceRegistry.ts @@ -3,13 +3,15 @@ 'use strict'; -import { LanguageServerType } from '../activation/types'; +import { IExtensionSingleActivationService, LanguageServerType } from '../activation/types'; import { IServiceManager } from '../ioc/types'; import { registerTypes as diagnosticsRegisterTypes } from './diagnostics/serviceRegistry'; import { SourceMapSupportService } from './diagnostics/surceMapSupportService'; import { ISourceMapSupportService } from './diagnostics/types'; +import { JoinMailingListPrompt } from './misc/joinMailingListPrompt'; export function registerTypes(serviceManager: IServiceManager, languageServerType: LanguageServerType) { serviceManager.addSingleton(ISourceMapSupportService, SourceMapSupportService); diagnosticsRegisterTypes(serviceManager, languageServerType); + serviceManager.add(IExtensionSingleActivationService, JoinMailingListPrompt); } diff --git a/src/client/common/application/activeResource.ts b/src/client/common/application/activeResource.ts index 972a78963a22..a89386b0d9cf 100644 --- a/src/client/common/application/activeResource.ts +++ b/src/client/common/application/activeResource.ts @@ -1,27 +1,27 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -'use strict'; - -import { inject, injectable } from 'inversify'; -import { Resource } from '../types'; -import { IActiveResourceService, IDocumentManager, IWorkspaceService } from './types'; - -@injectable() -export class ActiveResourceService implements IActiveResourceService { - constructor( - @inject(IDocumentManager) private readonly documentManager: IDocumentManager, - @inject(IWorkspaceService) private readonly workspaceService: IWorkspaceService - ) {} - - public getActiveResource(): Resource { - const editor = this.documentManager.activeTextEditor; - if (editor && !editor.document.isUntitled) { - return editor.document.uri; - } - return Array.isArray(this.workspaceService.workspaceFolders) && - this.workspaceService.workspaceFolders.length > 0 - ? this.workspaceService.workspaceFolders[0].uri - : undefined; - } -} +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +'use strict'; + +import { inject, injectable } from 'inversify'; +import { Resource } from '../types'; +import { IActiveResourceService, IDocumentManager, IWorkspaceService } from './types'; + +@injectable() +export class ActiveResourceService implements IActiveResourceService { + constructor( + @inject(IDocumentManager) private readonly documentManager: IDocumentManager, + @inject(IWorkspaceService) private readonly workspaceService: IWorkspaceService + ) {} + + public getActiveResource(): Resource { + const editor = this.documentManager.activeTextEditor; + if (editor && !editor.document.isUntitled) { + return editor.document.uri; + } + return Array.isArray(this.workspaceService.workspaceFolders) && + this.workspaceService.workspaceFolders.length > 0 + ? this.workspaceService.workspaceFolders[0].uri + : undefined; + } +} diff --git a/src/client/common/application/applicationEnvironment.ts b/src/client/common/application/applicationEnvironment.ts index a16082e0b848..3d01d85f4b35 100644 --- a/src/client/common/application/applicationEnvironment.ts +++ b/src/client/common/application/applicationEnvironment.ts @@ -88,4 +88,7 @@ export class ApplicationEnvironment implements IApplicationEnvironment { const version = parse(this.packageJson.version); return !version || version.prerelease.length > 0 ? 'insiders' : 'stable'; } + public get uriScheme(): string { + return vscode.env.uriScheme; + } } diff --git a/src/client/common/application/applicationShell.ts b/src/client/common/application/applicationShell.ts index 1ed917cc3c86..cd28fc986b0d 100644 --- a/src/client/common/application/applicationShell.ts +++ b/src/client/common/application/applicationShell.ts @@ -1,136 +1,154 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -'use strict'; - -// tslint:disable:no-var-requires no-any unified-signatures - -import { injectable } from 'inversify'; -import { - CancellationToken, - Disposable, - env, - Event, - InputBox, - InputBoxOptions, - MessageItem, - MessageOptions, - OpenDialogOptions, - OutputChannel, - Progress, - ProgressOptions, - QuickPick, - QuickPickItem, - QuickPickOptions, - SaveDialogOptions, - StatusBarAlignment, - StatusBarItem, - TreeView, - TreeViewOptions, - Uri, - window, - WindowState, - WorkspaceFolder, - WorkspaceFolderPickOptions -} from 'vscode'; -import { IApplicationShell } from './types'; - -@injectable() -export class ApplicationShell implements IApplicationShell { - public get onDidChangeWindowState(): Event { - return window.onDidChangeWindowState; - } - public showInformationMessage(message: string, ...items: string[]): Thenable; - public showInformationMessage(message: string, options: MessageOptions, ...items: string[]): Thenable; - public showInformationMessage(message: string, ...items: T[]): Thenable; - public showInformationMessage( - message: string, - options: MessageOptions, - ...items: T[] - ): Thenable; - public showInformationMessage(message: string, options?: any, ...items: any[]): Thenable { - return window.showInformationMessage(message, options, ...items); - } - - public showWarningMessage(message: string, ...items: string[]): Thenable; - public showWarningMessage(message: string, options: MessageOptions, ...items: string[]): Thenable; - public showWarningMessage(message: string, ...items: T[]): Thenable; - public showWarningMessage( - message: string, - options: MessageOptions, - ...items: T[] - ): Thenable; - public showWarningMessage(message: any, options?: any, ...items: any[]) { - return window.showWarningMessage(message, options, ...items); - } - - public showErrorMessage(message: string, ...items: string[]): Thenable; - public showErrorMessage(message: string, options: MessageOptions, ...items: string[]): Thenable; - public showErrorMessage(message: string, ...items: T[]): Thenable; - public showErrorMessage( - message: string, - options: MessageOptions, - ...items: T[] - ): Thenable; - public showErrorMessage(message: any, options?: any, ...items: any[]) { - return window.showErrorMessage(message, options, ...items); - } - - public showQuickPick( - items: string[] | Thenable, - options?: QuickPickOptions, - token?: CancellationToken - ): Thenable; - public showQuickPick( - items: T[] | Thenable, - options?: QuickPickOptions, - token?: CancellationToken - ): Thenable; - public showQuickPick(items: any, options?: any, token?: any): Thenable { - return window.showQuickPick(items, options, token); - } - - public showOpenDialog(options: OpenDialogOptions): Thenable { - return window.showOpenDialog(options); - } - public showSaveDialog(options: SaveDialogOptions): Thenable { - return window.showSaveDialog(options); - } - public showInputBox(options?: InputBoxOptions, token?: CancellationToken): Thenable { - return window.showInputBox(options, token); - } - public openUrl(url: string): void { - env.openExternal(Uri.parse(url)); - } - - public setStatusBarMessage(text: string, hideAfterTimeout: number): Disposable; - public setStatusBarMessage(text: string, hideWhenDone: Thenable): Disposable; - public setStatusBarMessage(text: string): Disposable; - public setStatusBarMessage(text: string, arg?: any): Disposable { - return window.setStatusBarMessage(text, arg); - } - - public createStatusBarItem(alignment?: StatusBarAlignment, priority?: number): StatusBarItem { - return window.createStatusBarItem(alignment, priority); - } - public showWorkspaceFolderPick(options?: WorkspaceFolderPickOptions): Thenable { - return window.showWorkspaceFolderPick(options); - } - public withProgress( - options: ProgressOptions, - task: (progress: Progress<{ message?: string; increment?: number }>, token: CancellationToken) => Thenable - ): Thenable { - return window.withProgress(options, task); - } - public createQuickPick(): QuickPick { - return window.createQuickPick(); - } - public createInputBox(): InputBox { - return window.createInputBox(); - } - public createTreeView(viewId: string, options: TreeViewOptions): TreeView { - return window.createTreeView(viewId, options); - } - public createOutputChannel(name: string): OutputChannel { - return window.createOutputChannel(name); - } -} +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +'use strict'; + +// tslint:disable:no-var-requires no-any unified-signatures + +import { injectable } from 'inversify'; +import { + CancellationToken, + CancellationTokenSource, + Disposable, + env, + Event, + InputBox, + InputBoxOptions, + MessageItem, + MessageOptions, + OpenDialogOptions, + OutputChannel, + Progress, + ProgressOptions, + QuickPick, + QuickPickItem, + QuickPickOptions, + SaveDialogOptions, + StatusBarAlignment, + StatusBarItem, + TreeView, + TreeViewOptions, + Uri, + window, + WindowState, + WorkspaceFolder, + WorkspaceFolderPickOptions +} from 'vscode'; +import { IApplicationShell } from './types'; + +@injectable() +export class ApplicationShell implements IApplicationShell { + public get onDidChangeWindowState(): Event { + return window.onDidChangeWindowState; + } + public showInformationMessage(message: string, ...items: string[]): Thenable; + public showInformationMessage(message: string, options: MessageOptions, ...items: string[]): Thenable; + public showInformationMessage(message: string, ...items: T[]): Thenable; + public showInformationMessage( + message: string, + options: MessageOptions, + ...items: T[] + ): Thenable; + public showInformationMessage(message: string, options?: any, ...items: any[]): Thenable { + return window.showInformationMessage(message, options, ...items); + } + + public showWarningMessage(message: string, ...items: string[]): Thenable; + public showWarningMessage(message: string, options: MessageOptions, ...items: string[]): Thenable; + public showWarningMessage(message: string, ...items: T[]): Thenable; + public showWarningMessage( + message: string, + options: MessageOptions, + ...items: T[] + ): Thenable; + public showWarningMessage(message: any, options?: any, ...items: any[]) { + return window.showWarningMessage(message, options, ...items); + } + + public showErrorMessage(message: string, ...items: string[]): Thenable; + public showErrorMessage(message: string, options: MessageOptions, ...items: string[]): Thenable; + public showErrorMessage(message: string, ...items: T[]): Thenable; + public showErrorMessage( + message: string, + options: MessageOptions, + ...items: T[] + ): Thenable; + public showErrorMessage(message: any, options?: any, ...items: any[]) { + return window.showErrorMessage(message, options, ...items); + } + + public showQuickPick( + items: string[] | Thenable, + options?: QuickPickOptions, + token?: CancellationToken + ): Thenable; + public showQuickPick( + items: T[] | Thenable, + options?: QuickPickOptions, + token?: CancellationToken + ): Thenable; + public showQuickPick(items: any, options?: any, token?: any): Thenable { + return window.showQuickPick(items, options, token); + } + + public showOpenDialog(options: OpenDialogOptions): Thenable { + return window.showOpenDialog(options); + } + public showSaveDialog(options: SaveDialogOptions): Thenable { + return window.showSaveDialog(options); + } + public showInputBox(options?: InputBoxOptions, token?: CancellationToken): Thenable { + return window.showInputBox(options, token); + } + public openUrl(url: string): void { + env.openExternal(Uri.parse(url)); + } + + public setStatusBarMessage(text: string, hideAfterTimeout: number): Disposable; + public setStatusBarMessage(text: string, hideWhenDone: Thenable): Disposable; + public setStatusBarMessage(text: string): Disposable; + public setStatusBarMessage(text: string, arg?: any): Disposable { + return window.setStatusBarMessage(text, arg); + } + + public createStatusBarItem(alignment?: StatusBarAlignment, priority?: number): StatusBarItem { + return window.createStatusBarItem(alignment, priority); + } + public showWorkspaceFolderPick(options?: WorkspaceFolderPickOptions): Thenable { + return window.showWorkspaceFolderPick(options); + } + public withProgress( + options: ProgressOptions, + task: (progress: Progress<{ message?: string; increment?: number }>, token: CancellationToken) => Thenable + ): Thenable { + return window.withProgress(options, task); + } + public withProgressCustomIcon( + icon: string, + task: (progress: Progress<{ message?: string; increment?: number }>, token: CancellationToken) => Thenable + ): Thenable { + const token = new CancellationTokenSource().token; + const statusBarProgress = this.createStatusBarItem(StatusBarAlignment.Left); + const progress = { + report: (value: { message?: string; increment?: number }) => { + statusBarProgress.text = `${icon} ${value.message}`; + } + }; + statusBarProgress.show(); + return task(progress, token).then((result) => { + statusBarProgress.dispose(); + return result; + }); + } + public createQuickPick(): QuickPick { + return window.createQuickPick(); + } + public createInputBox(): InputBox { + return window.createInputBox(); + } + public createTreeView(viewId: string, options: TreeViewOptions): TreeView { + return window.createTreeView(viewId, options); + } + public createOutputChannel(name: string): OutputChannel { + return window.createOutputChannel(name); + } +} diff --git a/src/client/common/application/commands.ts b/src/client/common/application/commands.ts index 8da4a3d858b4..de51fb872e82 100644 --- a/src/client/common/application/commands.ts +++ b/src/client/common/application/commands.ts @@ -4,13 +4,15 @@ 'use strict'; import { CancellationToken, Position, TextDocument, Uri } from 'vscode'; -import { Commands as LSCommands } from '../../activation/languageServer/constants'; +import { Commands as LSCommands } from '../../activation/commands'; import { Commands as DSCommands } from '../../datascience/constants'; -import { INotebook } from '../../datascience/types'; +import { KernelConnectionMetadata } from '../../datascience/jupyter/kernels/types'; +import { INotebookModel, ISwitchKernelOptions } from '../../datascience/types'; import { CommandSource } from '../../testing/common/constants'; import { TestFunction, TestsToRun } from '../../testing/common/types'; import { TestDataItem, TestWorkspaceFolder } from '../../testing/types'; import { Commands } from '../constants'; +import { Channel } from './types'; export type CommandsWithoutArgs = keyof ICommandNameWithoutArgumentTypeMapping; @@ -22,11 +24,14 @@ export type CommandsWithoutArgs = keyof ICommandNameWithoutArgumentTypeMapping; interface ICommandNameWithoutArgumentTypeMapping { [Commands.SwitchToInsidersDaily]: []; [Commands.SwitchToInsidersWeekly]: []; + [Commands.ClearWorkspaceInterpreter]: []; + [Commands.ResetInterpreterSecurityStorage]: []; [Commands.SwitchOffInsidersChannel]: []; [Commands.Set_Interpreter]: []; [Commands.Set_ShebangInterpreter]: []; [Commands.Run_Linter]: []; [Commands.Enable_Linter]: []; + ['workbench.action.showCommands']: []; ['workbench.action.debug.continue']: []; ['workbench.action.debug.stepOver']: []; ['workbench.action.debug.stop']: []; @@ -51,7 +56,7 @@ interface ICommandNameWithoutArgumentTypeMapping { [DSCommands.RunCurrentCellAdvance]: []; [DSCommands.ExecSelectionInInteractiveWindow]: []; [DSCommands.SelectJupyterURI]: []; - [DSCommands.ShowHistoryPane]: []; + [DSCommands.CreateNewInteractive]: []; [DSCommands.UndoCells]: []; [DSCommands.RedoCells]: []; [DSCommands.RemoveAllCells]: []; @@ -70,7 +75,9 @@ interface ICommandNameWithoutArgumentTypeMapping { [DSCommands.ExportOutputAsNotebook]: []; [DSCommands.AddCellBelow]: []; [DSCommands.CreateNewNotebook]: []; + [Commands.OpenStartPage]: []; [LSCommands.ClearAnalyisCache]: []; + [LSCommands.RestartLS]: []; } /** @@ -81,17 +88,27 @@ interface ICommandNameWithoutArgumentTypeMapping { * @extends {ICommandNameWithoutArgumentTypeMapping} */ export interface ICommandNameArgumentTypeMapping extends ICommandNameWithoutArgumentTypeMapping { + ['vscode.openWith']: [Uri, string]; + ['workbench.action.quickOpen']: [string]; ['workbench.extensions.installExtension']: [Uri | 'ms-python.python']; - ['setContext']: [string, boolean]; + ['workbench.action.files.openFolder']: []; + ['workbench.action.openWorkspace']: []; + ['setContext']: [string, boolean] | ['python.vscode.channel', Channel]; ['python.reloadVSCode']: [string]; ['revealLine']: [{ lineNumber: number; at: 'top' | 'center' | 'bottom' }]; ['python._loadLanguageServerExtension']: {}[]; ['python.SelectAndInsertDebugConfiguration']: [TextDocument, Position, CancellationToken]; ['vscode.open']: [Uri]; + ['notebook.execute']: []; + ['notebook.cell.execute']: []; + ['notebook.cell.insertCodeCellBelow']: []; + ['notebook.undo']: []; + ['notebook.redo']: []; ['python.viewLanguageServerOutput']: []; ['vscode.open']: [Uri]; ['workbench.action.files.saveAs']: [Uri]; ['workbench.action.files.save']: [Uri]; + [Commands.GetSelectedInterpreterPath]: [{ workspaceFolder: string } | string[]]; [Commands.Build_Workspace_Symbols]: [boolean, CancellationToken]; [Commands.Sort_Imports]: [undefined, Uri]; [Commands.Exec_In_Terminal]: [undefined, Uri]; @@ -134,32 +151,57 @@ export interface ICommandNameArgumentTypeMapping extends ICommandNameWithoutArgu [Commands.navigateToTestFunction]: [Uri, TestDataItem, boolean]; [Commands.navigateToTestSuite]: [Uri, TestDataItem, boolean]; [DSCommands.ExportFileAndOutputAsNotebook]: [Uri]; - [DSCommands.RunAllCells]: [string]; - [DSCommands.RunCell]: [string, number, number, number, number]; - [DSCommands.RunAllCellsAbove]: [string, number, number]; - [DSCommands.RunCellAndAllBelow]: [string, number, number]; + [DSCommands.RunAllCells]: [Uri]; + [DSCommands.RunCell]: [Uri, number, number, number, number]; + [DSCommands.RunAllCellsAbove]: [Uri, number, number]; + [DSCommands.RunCellAndAllBelow]: [Uri, number, number]; [DSCommands.RunAllCellsAbovePalette]: []; [DSCommands.RunCellAndAllBelowPalette]: []; [DSCommands.DebugCurrentCellPalette]: []; - [DSCommands.RunToLine]: [string, number, number]; - [DSCommands.RunFromLine]: [string, number, number]; + [DSCommands.RunToLine]: [Uri, number, number]; + [DSCommands.RunFromLine]: [Uri, number, number]; [DSCommands.ImportNotebook]: [undefined | Uri, undefined | CommandSource]; [DSCommands.ImportNotebookFile]: [undefined | Uri, undefined | CommandSource]; [DSCommands.OpenNotebook]: [undefined | Uri, undefined | CommandSource]; + [DSCommands.OpenNotebookInPreviewEditor]: [undefined | Uri]; [DSCommands.ExportFileAsNotebook]: [undefined | Uri, undefined | CommandSource]; - [DSCommands.RunFileInInteractiveWindows]: [string]; - [DSCommands.DebugFileInInteractiveWindows]: [string]; - [DSCommands.DebugCell]: [string, number, number, number, number]; + [DSCommands.RunFileInInteractiveWindows]: [Uri]; + [DSCommands.DebugFileInInteractiveWindows]: [Uri]; + [DSCommands.DebugCell]: [Uri, number, number, number, number]; [DSCommands.DebugStepOver]: []; [DSCommands.DebugStop]: []; [DSCommands.DebugContinue]: []; - [DSCommands.RunCurrentCellAndAddBelow]: [string]; - [DSCommands.ScrollToCell]: [string, string]; + [DSCommands.RunCurrentCellAndAddBelow]: [Uri]; + [DSCommands.InsertCellBelowPosition]: []; + [DSCommands.InsertCellBelow]: []; + [DSCommands.InsertCellAbove]: []; + [DSCommands.DeleteCells]: []; + [DSCommands.SelectCell]: []; + [DSCommands.SelectCellContents]: []; + [DSCommands.ExtendSelectionByCellAbove]: []; + [DSCommands.ExtendSelectionByCellBelow]: []; + [DSCommands.MoveCellsUp]: []; + [DSCommands.MoveCellsDown]: []; + [DSCommands.ChangeCellToMarkdown]: []; + [DSCommands.ChangeCellToCode]: []; + [DSCommands.GotoNextCellInFile]: []; + [DSCommands.GotoPrevCellInFile]: []; + [DSCommands.ScrollToCell]: [Uri, string]; [DSCommands.ViewJupyterOutput]: []; - [DSCommands.SwitchJupyterKernel]: [INotebook | undefined]; + [DSCommands.ExportAsPythonScript]: [INotebookModel]; + [DSCommands.ExportToHTML]: [INotebookModel, string | undefined]; + [DSCommands.ExportToPDF]: [INotebookModel, string | undefined]; + [DSCommands.Export]: [Uri | INotebookModel, string | undefined]; + [DSCommands.SetJupyterKernel]: [KernelConnectionMetadata, Uri, undefined | Uri]; + [DSCommands.SwitchJupyterKernel]: [ISwitchKernelOptions | undefined]; [DSCommands.SelectJupyterCommandLine]: [undefined | Uri]; - [DSCommands.SaveNotebookNonCustomEditor]: [Uri]; - [DSCommands.SaveAsNotebookNonCustomEditor]: [Uri, Uri]; + [DSCommands.SaveNotebookNonCustomEditor]: [INotebookModel]; + [DSCommands.SaveAsNotebookNonCustomEditor]: [INotebookModel, Uri]; [DSCommands.OpenNotebookNonCustomEditor]: [Uri]; [DSCommands.GatherQuality]: [string]; + [DSCommands.LatestExtension]: [string]; + [DSCommands.EnableLoadingWidgetsFrom3rdPartySource]: [undefined | never]; + [DSCommands.TrustNotebook]: [undefined | never | Uri]; + [DSCommands.NotebookEditorExpandAllCells]: []; + [DSCommands.NotebookEditorCollapseAllCells]: []; } diff --git a/src/client/common/application/customEditorService.ts b/src/client/common/application/customEditorService.ts index 57c968335961..35687c8408a2 100644 --- a/src/client/common/application/customEditorService.ts +++ b/src/client/common/application/customEditorService.ts @@ -2,23 +2,34 @@ // Licensed under the MIT License. 'use strict'; import { inject, injectable } from 'inversify'; +import * as path from 'path'; import * as vscode from 'vscode'; +import { DataScience } from '../../common/utils/localize'; -import { UseCustomEditorApi } from '../constants'; +import { EXTENSION_ROOT_DIR, UseCustomEditorApi } from '../constants'; +import { traceError } from '../logger'; +import { IFileSystem } from '../platform/types'; import { noop } from '../utils/misc'; -import { CustomEditorProvider, ICommandManager, ICustomEditorService } from './types'; +import { CustomEditorProvider, IApplicationEnvironment, ICommandManager, ICustomEditorService } from './types'; @injectable() export class CustomEditorService implements ICustomEditorService { constructor( @inject(ICommandManager) private commandManager: ICommandManager, - @inject(UseCustomEditorApi) private readonly useCustomEditorApi: boolean - ) {} + @inject(UseCustomEditorApi) private readonly useCustomEditorApi: boolean, + @inject(IApplicationEnvironment) private readonly appEnvironment: IApplicationEnvironment, + @inject(IFileSystem) private readonly fileSystem: IFileSystem + ) { + this.verifyPackageJson().catch((e) => traceError(`Error rewriting package json: `, e)); + } public registerCustomEditorProvider( viewType: string, provider: CustomEditorProvider, - options?: vscode.WebviewPanelOptions + options?: { + readonly webviewOptions?: vscode.WebviewPanelOptions; + readonly supportsMultipleEditorsPerDocument?: boolean; + } ): vscode.Disposable { if (this.useCustomEditorApi) { // tslint:disable-next-line: no-any @@ -28,9 +39,47 @@ export class CustomEditorService implements ICustomEditorService { } } - public async openEditor(file: vscode.Uri): Promise { + public async openEditor(file: vscode.Uri, viewType: string): Promise { if (this.useCustomEditorApi) { - await this.commandManager.executeCommand('vscode.open', file); + await this.commandManager.executeCommand('vscode.openWith', file, viewType); + } + } + + private async verifyPackageJson(): Promise { + // Double check the package json has the necessary entries for contributing a custom editor. Note + // we have to actually read it because appEnvironment.packageJson is the webpacked version + const packageJson = JSON.parse(await this.fileSystem.readFile(path.join(EXTENSION_ROOT_DIR, 'package.json'))); + if (this.useCustomEditorApi && !packageJson.contributes?.customEditors) { + return this.addCustomEditors(packageJson); + } else if (!this.useCustomEditorApi && packageJson.contributes.customEditors) { + return this.removeCustomEditors(); } } + + // tslint:disable-next-line: no-any + private async addCustomEditors(currentPackageJson: any) { + // tslint:disable-next-line:no-require-imports no-var-requires + const _mergeWith = require('lodash/mergeWith') as typeof import('lodash/mergeWith'); + const improvedContents = await this.fileSystem.readFile(path.join(EXTENSION_ROOT_DIR, 'customEditor.json')); + const improved = _mergeWith({ ...currentPackageJson }, JSON.parse(improvedContents), (l, r) => { + if (Array.isArray(l) && Array.isArray(r)) { + return [...l, ...r]; + } + }); + await this.fileSystem.writeFile( + path.join(EXTENSION_ROOT_DIR, 'package.json'), + JSON.stringify(improved, null, 4) + ); + this.commandManager.executeCommand('python.reloadVSCode', DataScience.reloadCustomEditor()); + } + private async removeCustomEditors() { + // Note, to put it back, use the shipped version. This packageJson is required into the product + // so it's packed by webpack into the source. + const original = { ...this.appEnvironment.packageJson }; + await this.fileSystem.writeFile( + path.join(EXTENSION_ROOT_DIR, 'package.json'), + JSON.stringify(original, null, 4) + ); + this.commandManager.executeCommand('python.reloadVSCode', DataScience.reloadCustomEditor()); + } } diff --git a/src/client/common/application/documentManager.ts b/src/client/common/application/documentManager.ts index daaaa6cbfcc2..d3fe7dd2140e 100644 --- a/src/client/common/application/documentManager.ts +++ b/src/client/common/application/documentManager.ts @@ -25,7 +25,7 @@ import { IDocumentManager } from './types'; @injectable() export class DocumentManager implements IDocumentManager { - public get textDocuments(): TextDocument[] { + public get textDocuments(): readonly TextDocument[] { return workspace.textDocuments; } public get activeTextEditor(): TextEditor | undefined { diff --git a/src/client/common/application/notebook.ts b/src/client/common/application/notebook.ts new file mode 100644 index 000000000000..529718ac414d --- /dev/null +++ b/src/client/common/application/notebook.ts @@ -0,0 +1,139 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +import { inject, injectable } from 'inversify'; +import { Disposable, Event, EventEmitter } from 'vscode'; +import type { + notebook, + NotebookCellMetadata, + NotebookCellsChangeEvent as VSCNotebookCellsChangeEvent, + NotebookContentProvider, + NotebookDocument, + NotebookDocumentFilter, + NotebookEditor, + NotebookKernel, + NotebookKernelProvider +} from 'vscode-proposed'; +import { UseProposedApi } from '../constants'; +import { IDisposableRegistry } from '../types'; +import { + IApplicationEnvironment, + IVSCodeNotebook, + NotebookCellLanguageChangeEvent, + NotebookCellOutputsChangeEvent, + NotebookCellsChangeEvent +} from './types'; + +@injectable() +export class VSCodeNotebook implements IVSCodeNotebook { + public get onDidChangeActiveNotebookKernel(): Event<{ + document: NotebookDocument; + kernel: NotebookKernel | undefined; + }> { + return this.canUseNotebookApi + ? this.notebook.onDidChangeActiveNotebookKernel + : new EventEmitter<{ + document: NotebookDocument; + kernel: NotebookKernel | undefined; + }>().event; + } + public get onDidChangeActiveNotebookEditor(): Event { + return this.canUseNotebookApi + ? this.notebook.onDidChangeActiveNotebookEditor + : new EventEmitter().event; + } + public get onDidOpenNotebookDocument(): Event { + return this.canUseNotebookApi + ? this.notebook.onDidOpenNotebookDocument + : new EventEmitter().event; + } + public get onDidCloseNotebookDocument(): Event { + return this.canUseNotebookApi + ? this.notebook.onDidCloseNotebookDocument + : new EventEmitter().event; + } + public get notebookDocuments(): ReadonlyArray { + return this.canUseNotebookApi ? this.notebook.notebookDocuments : []; + } + public get notebookEditors() { + return this.canUseNotebookApi ? this.notebook.visibleNotebookEditors : []; + } + public get onDidChangeNotebookDocument(): Event< + NotebookCellsChangeEvent | NotebookCellOutputsChangeEvent | NotebookCellLanguageChangeEvent + > { + return this.canUseNotebookApi + ? this._onDidChangeNotebookDocument.event + : new EventEmitter< + NotebookCellsChangeEvent | NotebookCellOutputsChangeEvent | NotebookCellLanguageChangeEvent + >().event; + } + public get activeNotebookEditor(): NotebookEditor | undefined { + if (!this.useProposedApi) { + return; + } + return this.notebook.activeNotebookEditor; + } + private get notebook() { + if (!this._notebook) { + // tslint:disable-next-line: no-require-imports + this._notebook = require('vscode').notebook; + } + return this._notebook!; + } + private readonly _onDidChangeNotebookDocument = new EventEmitter< + NotebookCellsChangeEvent | NotebookCellOutputsChangeEvent | NotebookCellLanguageChangeEvent + >(); + private addedEventHandlers?: boolean; + private _notebook?: typeof notebook; + private readonly canUseNotebookApi?: boolean; + private readonly handledCellChanges = new WeakSet(); + constructor( + @inject(UseProposedApi) private readonly useProposedApi: boolean, + @inject(IDisposableRegistry) private readonly disposables: IDisposableRegistry, + @inject(IApplicationEnvironment) readonly env: IApplicationEnvironment + ) { + if (this.useProposedApi && this.env.channel === 'insiders') { + this.addEventHandlers(); + this.canUseNotebookApi = true; + } + } + public registerNotebookContentProvider( + notebookType: string, + provider: NotebookContentProvider, + options?: { + transientOutputs: boolean; + transientMetadata: { [K in keyof NotebookCellMetadata]?: boolean }; + } + ): Disposable { + return this.notebook.registerNotebookContentProvider(notebookType, provider, options); + } + public registerNotebookKernelProvider( + selector: NotebookDocumentFilter, + provider: NotebookKernelProvider + ): Disposable { + return this.notebook.registerNotebookKernelProvider(selector, provider); + } + private addEventHandlers() { + if (this.addedEventHandlers) { + return; + } + this.addedEventHandlers = true; + this.disposables.push( + ...[ + this.notebook.onDidChangeCellLanguage((e) => + this._onDidChangeNotebookDocument.fire({ ...e, type: 'changeCellLanguage' }) + ), + this.notebook.onDidChangeCellOutputs((e) => + this._onDidChangeNotebookDocument.fire({ ...e, type: 'changeCellOutputs' }) + ), + this.notebook.onDidChangeNotebookCells((e) => { + if (this.handledCellChanges.has(e)) { + return; + } + this.handledCellChanges.add(e); + this._onDidChangeNotebookDocument.fire({ ...e, type: 'changeCells' }); + }) + ] + ); + } +} diff --git a/src/client/common/application/types.ts b/src/client/common/application/types.ts index e0516cf7b383..11a8dee8c166 100644 --- a/src/client/common/application/types.ts +++ b/src/client/common/application/types.ts @@ -58,6 +58,18 @@ import { WorkspaceFolderPickOptions, WorkspaceFoldersChangeEvent } from 'vscode'; +import type { + NotebookCellLanguageChangeEvent as VSCNotebookCellLanguageChangeEvent, + NotebookCellMetadata, + NotebookCellOutputsChangeEvent as VSCNotebookCellOutputsChangeEvent, + NotebookCellsChangeEvent as VSCNotebookCellsChangeEvent, + NotebookContentProvider, + NotebookDocument, + NotebookDocumentFilter, + NotebookEditor, + NotebookKernel, + NotebookKernelProvider +} from 'vscode-proposed'; import * as vsls from 'vsls/vscode'; import { IAsyncDisposable, Resource } from '../types'; @@ -374,6 +386,33 @@ export interface IApplicationShell { task: (progress: Progress<{ message?: string; increment?: number }>, token: CancellationToken) => Thenable ): Thenable; + /** + * Show progress in the status bar with a custom icon instead of the default spinner. + * Progress is shown while running the given callback and while the promise it returned isn't resolved nor rejected. + * At the moment, progress can only be displayed in the status bar when using this method. If you want to + * display it elsewhere, use `withProgress`. + * + * @param icon A valid Octicon. + * + * @param task A callback returning a promise. Progress state can be reported with + * the provided [progress](#Progress)-object. + * + * To report discrete progress, use `increment` to indicate how much work has been completed. Each call with + * a `increment` value will be summed up and reflected as overall progress until 100% is reached (a value of + * e.g. `10` accounts for `10%` of work done). + * Note that currently only `ProgressLocation.Notification` is capable of showing discrete progress. + * + * To monitor if the operation has been cancelled by the user, use the provided [`CancellationToken`](#CancellationToken). + * Note that currently only `ProgressLocation.Notification` is supporting to show a cancel button to cancel the + * long running operation. + * + * @return The thenable the task-callback returned. + */ + withProgressCustomIcon( + icon: string, + task: (progress: Progress<{ message?: string; increment?: number }>, token: CancellationToken) => Thenable + ): Thenable; + /** * Create a [TreeView](#TreeView) for the view contributed using the extension point `views`. * @param viewId Id of the view contributed using the extension point `views`. @@ -468,7 +507,7 @@ export interface IDocumentManager { * * @readonly */ - readonly textDocuments: TextDocument[]; + readonly textDocuments: readonly TextDocument[]; /** * The currently active editor or `undefined`. The active editor is the one * that currently has focus or, when none has focus, the one that has changed @@ -638,7 +677,38 @@ export interface IWorkspaceService { * * @readonly */ - readonly workspaceFolders: WorkspaceFolder[] | undefined; + readonly workspaceFolders: readonly WorkspaceFolder[] | undefined; + + /** + * The location of the workspace file, for example: + * + * `file:///Users/name/Development/myProject.code-workspace` + * + * or + * + * `untitled:1555503116870` + * + * for a workspace that is untitled and not yet saved. + * + * Depending on the workspace that is opened, the value will be: + * * `undefined` when no workspace or a single folder is opened + * * the path of the workspace file as `Uri` otherwise. if the workspace + * is untitled, the returned URI will use the `untitled:` scheme + * + * The location can e.g. be used with the `vscode.openFolder` command to + * open the workspace again after it has been closed. + * + * **Example:** + * ```typescript + * vscode.commands.executeCommand('vscode.openFolder', uriOfWorkspace); + * ``` + * + * **Note:** it is not advised to use `workspace.workspaceFile` to write + * configuration data into the file. You can use `workspace.getConfiguration().update()` + * for that purpose which will work both when a single folder is opened as + * well as an untitled or saved workspace. + */ + readonly workspaceFile: Resource; /** * An event that is emitted when a workspace folder is added or removed. @@ -955,24 +1025,30 @@ export interface IApplicationEnvironment { * The version of the editor. */ readonly vscodeVersion: string; + /** + * The custom uri scheme the editor registers to in the operating system. + */ + readonly uriScheme: string; } -export const IWebPanelMessageListener = Symbol('IWebPanelMessageListener'); -export interface IWebPanelMessageListener extends IAsyncDisposable { +export interface IWebviewMessageListener { /** - * Listens to web panel messages + * Listens to webview messages * @param message: the message being sent * @param payload: extra data that came with the message - * @return A IWebPanel that can be used to show html pages. */ onMessage(message: string, payload: any): void; +} + +export const IWebviewPanelMessageListener = Symbol('IWebviewPanelMessageListener'); +export interface IWebviewPanelMessageListener extends IWebviewMessageListener, IAsyncDisposable { /** * Listens to web panel state changes */ - onChangeViewState(panel: IWebPanel): void; + onChangeViewState(panel: IWebviewPanel): void; } -export type WebPanelMessage = { +export type WebviewMessage = { /** * Message type */ @@ -984,9 +1060,34 @@ export type WebPanelMessage = { payload?: any; }; +// Wraps a VS Code webview +export const IWebview = Symbol('IWebview'); +export interface IWebview { + /** + * Sends a message to the hosted html page + */ + postMessage(message: WebviewMessage): void; + /** + * Convert a uri for the local file system to one that can be used inside webviews. + * + * Webviews cannot directly load resources from the workspace or local file system using `file:` uris. The + * `asWebviewUri` function takes a local `file:` uri and converts it into a uri that can be used inside of + * a webview to load the same resource: + * + * ```ts + * webview.html = `` + * ``` + */ + asWebviewUri(localResource: Uri): Uri; +} + // Wraps the VS Code webview panel -export const IWebPanel = Symbol('IWebPanel'); -export interface IWebPanel { +export const IWebviewPanel = Symbol('IWebviewPanel'); +export interface IWebviewPanel extends IWebview { + /** + * Event is fired when the load for a web panel fails + */ + readonly loadFailed: Event; setTitle(val: string): void; /** * Makes the webpanel show up. @@ -999,11 +1100,6 @@ export interface IWebPanel { */ isVisible(): boolean; - /** - * Sends a message to the hosted html page - */ - postMessage(message: WebPanelMessage): void; - /** * Attempts to close the panel if it's visible */ @@ -1019,14 +1115,21 @@ export interface IWebPanel { updateCwd(cwd: string): void; } -export interface IWebPanelOptions { - viewColumn: ViewColumn; - listener: IWebPanelMessageListener; - title: string; +export interface IWebviewOptions { rootPath: string; - scripts: string[]; - startHttpServer: boolean; cwd: string; + scripts: string[]; +} + +export interface IWebviewPanelOptions extends IWebviewOptions { + viewColumn: ViewColumn; + listener: IWebviewPanelMessageListener; + title: string; + /** + * Additional paths apart from cwd and rootPath, that webview would allow loading resources/files from. + * E.g. required for webview to serve images from worksapces when nb is in a nested folder. + */ + additionalPaths?: string[]; // tslint:disable-next-line: no-any settings?: any; // Web panel to use if supplied by VS code instead @@ -1034,16 +1137,9 @@ export interface IWebPanelOptions { } // Wraps the VS Code api for creating a web panel -export const IWebPanelProvider = Symbol('IWebPanelProvider'); -export interface IWebPanelProvider { - /** - * Creates a new webpanel - * - * @param {IWebPanelOptions} options - params for creating an IWebPanel - * @returns {IWebPanel} - * @memberof IWebPanelProvider - */ - create(options: IWebPanelOptions): Promise; +export const IWebviewPanelProvider = Symbol('IWebviewPanelProvider'); +export interface IWebviewPanelProvider { + create(options: IWebviewPanelOptions): Promise; } // Wraps the vsls liveshare API @@ -1096,242 +1192,286 @@ export interface IActiveResourceService { } // Temporary hack to get the nyc compiler to find these types. vscode.proposed.d.ts doesn't work for some reason. -//#region Custom editors: https://github.com/microsoft/vscode/issues/77131 // tslint:disable: interface-name +//#region Custom editor https://github.com/microsoft/vscode/issues/77131 + /** - * Defines the editing capability of a custom webview editor. This allows the webview editor to hook into standard - * editor events such as `undo` or `save`. + * Represents a custom document used by a [`CustomEditorProvider`](#CustomEditorProvider). * - * @param EditType Type of edits. + * Custom documents are only used within a given `CustomEditorProvider`. The lifecycle of a `CustomDocument` is + * managed by VS Code. When no more references remain to a `CustomDocument`, it is disposed of. */ -export interface CustomEditorEditingDelegate { - /** - * Event triggered by extensions to signal to VS Code that an edit has occurred. - */ - readonly onDidEdit: Event>; +export interface CustomDocument { /** - * Save the resource. - * - * @param document Document to save. - * @param cancellation Token that signals the save is no longer required (for example, if another save was triggered). - * - * @return Thenable signaling that the save has completed. + * The associated uri for this document. */ - save(document: CustomDocument, cancellation: CancellationToken): Thenable; + readonly uri: Uri; /** - * Save the existing resource at a new path. - * - * @param document Document to save. - * @param targetResource Location to save to. + * Dispose of the custom document. * - * @return Thenable signaling that the save has completed. + * This is invoked by VS Code when there are no more references to a given `CustomDocument` (for example when + * all editors associated with the document have been closed.) */ - saveAs(document: CustomDocument, targetResource: Uri): Thenable; + dispose(): void; +} +/** + * Event triggered by extensions to signal to VS Code that an edit has occurred on an [`CustomDocument`](#CustomDocument). + * + * @see [`CustomDocumentProvider.onDidChangeCustomDocument`](#CustomDocumentProvider.onDidChangeCustomDocument). + */ +export interface CustomDocumentEditEvent { /** - * Apply a set of edits. - * - * Note that is not invoked when `onDidEdit` is called because `onDidEdit` implies also updating the view to reflect the edit. - * - * @param document Document to apply edits to. - * @param edit Array of edits. Sorted from oldest to most recent. - * - * @return Thenable signaling that the change has completed. + * The document that the edit is for. */ - applyEdits(document: CustomDocument, edits: readonly EditType[]): Thenable; + readonly document: T; /** - * Undo a set of edits. - * - * This is triggered when a user undoes an edit. - * - * @param document Document to undo edits from. - * @param edit Array of edits. Sorted from most recent to oldest. + * Display name describing the edit. * - * @return Thenable signaling that the change has completed. + * This is shown in the UI to users. */ - undoEdits(document: CustomDocument, edits: readonly EditType[]): Thenable; + readonly label?: string; /** - * Revert the file to its last saved state. - * - * @param document Document to revert. - * @param edits Added or applied edits. + * Undo the edit operation. * - * @return Thenable signaling that the change has completed. + * This is invoked by VS Code when the user undoes this edit. To implement `undo`, your + * extension should restore the document and editor to the state they were in just before this + * edit was added to VS Code's internal edit stack by `onDidChangeCustomDocument`. */ - revert(document: CustomDocument, edits: CustomDocumentRevert): Thenable; + undo(): Thenable | void; /** - * Back up the resource in its current state. - * - * Backups are used for hot exit and to prevent data loss. Your `backup` method should persist the resource in - * its current state, i.e. with the edits applied. Most commonly this means saving the resource to disk in - * the `ExtensionContext.storagePath`. When VS Code reloads and your custom editor is opened for a resource, - * your extension should first check to see if any backups exist for the resource. If there is a backup, your - * extension should load the file contents from there instead of from the resource in the workspace. - * - * `backup` is triggered whenever an edit it made. Calls to `backup` are debounced so that if multiple edits are - * made in quick succession, `backup` is only triggered after the last one. `backup` is not invoked when - * `auto save` is enabled (since auto save already persists resource ). + * Redo the edit operation. * - * @param document Document to revert. - * @param cancellation Token that signals the current backup since a new backup is coming in. It is up to your - * extension to decided how to respond to cancellation. If for example your extension is backing up a large file - * in an operation that takes time to complete, your extension may decide to finish the ongoing backup rather - * than cancelling it to ensure that VS Code has some valid backup. + * This is invoked by VS Code when the user redoes this edit. To implement `redo`, your + * extension should restore the document and editor to the state they were in just after this + * edit was added to VS Code's internal edit stack by `onDidChangeCustomDocument`. */ - backup(document: CustomDocument, cancellation: CancellationToken): Thenable; + redo(): Thenable | void; } /** - * Event triggered by extensions to signal to VS Code that an edit has occurred on a CustomDocument``. + * Event triggered by extensions to signal to VS Code that the content of a [`CustomDocument`](#CustomDocument) + * has changed. + * + * @see [`CustomDocumentProvider.onDidChangeCustomDocument`](#CustomDocumentProvider.onDidChangeCustomDocument). */ -export interface CustomDocumentEditEvent { +export interface CustomDocumentContentChangeEvent { /** - * Document the edit is for. + * The document that the change is for. */ - readonly document: CustomDocument; + readonly document: T; +} +/** + * A backup for an [`CustomDocument`](#CustomDocument). + */ +export interface CustomDocumentBackup { /** - * Object that describes the edit. + * Unique identifier for the backup. * - * Edit objects are passed back to your extension in `undoEdits`, `applyEdits`, and `revert`. + * This id is passed back to your extension in `openCustomDocument` when opening a custom editor from a backup. */ - readonly edit: EditType; + readonly id: string; /** - * Display name describing the edit. + * Delete the current backup. + * + * This is called by VS Code when it is clear the current backup is no longer needed, such as when a new backup + * is made or when the file is saved. */ - readonly label?: string; + delete(): void; } /** - * Data about a revert for a `CustomDocument`. + * Additional information used to implement [`CustomEditableDocument.backup`](#CustomEditableDocument.backup). */ -export interface CustomDocumentRevert { +export interface CustomDocumentBackupContext { /** - * List of edits that were undone to get the document back to its on disk state. + * Suggested file location to write the new backup. + * + * Note that your extension is free to ignore this and use its own strategy for backup. + * + * For editors for workspace resource, this destination will be in the workspace storage. The path may not */ - readonly undoneEdits: readonly EditType[]; + readonly destination: Uri; +} +/** + * Additional information about the opening custom document. + */ +export interface CustomDocumentOpenContext { /** - * List of edits that were reapplied to get the document back to its on disk state. + * The id of the backup to restore the document from or `undefined` if there is no backup. + * + * If this is provided, your extension should restore the editor from the backup instead of reading the file + * the user's workspace. */ - readonly appliedEdits: readonly EditType[]; + readonly backupId?: string; } /** - * Represents a custom document used by a `CustomEditorProvider`. + * Provider for readonly custom editors that use a custom document model. * - * Custom documents are only used within a given `CustomEditorProvider`. The lifecycle of a - * `CustomDocument` is managed by VS Code. When no more references remain to a given `CustomDocument`, - * then it is disposed of. + * Custom editors use [`CustomDocument`](#CustomDocument) as their document model instead of a [`TextDocument`](#TextDocument). * - * @param UserDataType Type of custom object that extensions can store on the document. + * You should use this type of custom editor when dealing with binary files or more complex scenarios. For simple + * text based documents, use [`CustomTextEditorProvider`](#CustomTextEditorProvider) instead. + * + * @param T Type of the custom document returned by this provider. */ -export interface CustomDocument { - /** - * The associated viewType for this document. - */ - readonly viewType: string; - - /** - * The associated uri for this document. - */ - readonly uri: Uri; - +export interface CustomReadonlyEditorProvider { /** - * Event fired when there are no more references to the `CustomDocument`. + * Create a new document for a given resource. + * + * `openCustomDocument` is called when the first editor for a given resource is opened, and the resolve document + * is passed to `resolveCustomEditor`. The resolved `CustomDocument` is re-used for subsequent editor opens. + * If all editors for a given resource are closed, the `CustomDocument` is disposed of. Opening an editor at + * this point will trigger another call to `openCustomDocument`. + * + * @param uri Uri of the document to open. + * @param openContext Additional information about the opening custom document. + * @param token A cancellation token that indicates the result is no longer needed. + * + * @return The custom document. */ - readonly onDidDispose: Event; + openCustomDocument(uri: Uri, openContext: CustomDocumentOpenContext, token: CancellationToken): Thenable | T; /** - * Custom data that an extension can store on the document. + * Resolve a custom editor for a given resource. + * + * This is called whenever the user opens a new editor for this `CustomEditorProvider`. + * + * To resolve a custom editor, the provider must fill in its initial html content and hook up all + * the event listeners it is interested it. The provider can also hold onto the `WebviewPanel` to use later, + * for example in a command. See [`WebviewPanel`](#WebviewPanel) for additional details. + * + * @param document Document for the resource being resolved. + * @param webviewPanel Webview to resolve. + * @param token A cancellation token that indicates the result is no longer needed. + * + * @return Optional thenable indicating that the custom editor has been resolved. */ - userData?: UserDataType; + resolveCustomEditor(document: T, webviewPanel: WebviewPanel, token: CancellationToken): Thenable | void; } /** - * Provider for webview editors that use a custom data model. + * Provider for editiable custom editors that use a custom document model. * - * Custom webview editors use [`CustomDocument`](#CustomDocument) as their data model. + * Custom editors use [`CustomDocument`](#CustomDocument) as their document model instead of a [`TextDocument`](#TextDocument). * This gives extensions full control over actions such as edit, save, and backup. * - * You should use custom text based editors when dealing with binary files or more complex scenarios. For simple text - * based documents, use [`WebviewTextEditorProvider`](#WebviewTextEditorProvider) instead. + * You should use this type of custom editor when dealing with binary files or more complex scenarios. For simple + * text based documents, use [`CustomTextEditorProvider`](#CustomTextEditorProvider) instead. + * + * @param T Type of the custom document returned by this provider. */ -export interface CustomEditorProvider { +export interface CustomEditorProvider + extends CustomReadonlyEditorProvider { /** - * Defines the editing capability of a custom webview document. + * Signal that an edit has occurred inside a custom editor. * - * When not provided, the document is considered readonly. + * This event must be fired by your extension whenever an edit happens in a custom editor. An edit can be + * anything from changing some text, to cropping an image, to reordering a list. Your extension is free to + * define what an edit is and what data is stored on each edit. + * + * Firing `onDidChange` causes VS Code to mark the editors as being dirty. This is cleared when the user either + * saves or reverts the file. + * + * Editors that support undo/redo must fire a `CustomDocumentEditEvent` whenever an edit happens. This allows + * users to undo and redo the edit using VS Code's standard VS Code keyboard shortcuts. VS Code will also mark + * the editor as no longer being dirty if the user undoes all edits to the last saved state. + * + * Editors that support editing but cannot use VS Code's standard undo/redo mechanism must fire a `CustomDocumentContentChangeEvent`. + * The only way for a user to clear the dirty state of an editor that does not support undo/redo is to either + * `save` or `revert` the file. + * + * An editor should only ever fire `CustomDocumentEditEvent` events, or only ever fire `CustomDocumentContentChangeEvent` events. */ - readonly editingDelegate?: CustomEditorEditingDelegate; + readonly onDidChangeCustomDocument: Event> | Event>; + /** - * Resolve the model for a given resource. + * Save a custom document. * - * `resolveCustomDocument` is called when the first editor for a given resource is opened, and the resolve document - * is passed to `resolveCustomEditor`. The resolved `CustomDocument` is re-used for subsequent editor opens. - * If all editors for a given resource are closed, the `CustomDocument` is disposed of. Opening an editor at - * this point will trigger another call to `resolveCustomDocument`. + * This method is invoked by VS Code when the user saves a custom editor. This can happen when the user + * triggers save while the custom editor is active, by commands such as `save all`, or by auto save if enabled. + * + * To implement `save`, the implementer must persist the custom editor. This usually means writing the + * file data for the custom document to disk. After `save` completes, any associated editor instances will + * no longer be marked as dirty. * - * @param document Document to resolve. + * @param document Document to save. + * @param cancellation Token that signals the save is no longer required (for example, if another save was triggered). * - * @return The capabilities of the resolved document. + * @return Thenable signaling that saving has completed. */ - resolveCustomDocument(document: CustomDocument): Thenable; + saveCustomDocument(document: T, cancellation: CancellationToken): Thenable; /** - * Resolve a webview editor for a given resource. + * Save a custom document to a different location. * - * This is called when a user first opens a resource for a `CustomTextEditorProvider`, or if they reopen an - * existing editor using this `CustomTextEditorProvider`. + * This method is invoked by VS Code when the user triggers 'save as' on a custom editor. The implementer must + * persist the custom editor to `destination`. * - * To resolve a webview editor, the provider must fill in its initial html content and hook up all - * the event listeners it is interested it. The provider can also hold onto the `WebviewPanel` to use later, - * for example in a command. See [`WebviewPanel`](#WebviewPanel) for additional details + * When the user accepts save as, the current editor is be replaced by an non-dirty editor for the newly saved file. * - * @param document Document for the resource being resolved. - * @param webviewPanel Webview to resolve. + * @param document Document to save. + * @param destination Location to save to. + * @param cancellation Token that signals the save is no longer required. * - * @return Thenable indicating that the webview editor has been resolved. + * @return Thenable signaling that saving has completed. */ - resolveCustomEditor(document: CustomDocument, webviewPanel: WebviewPanel): Thenable; -} + saveCustomDocumentAs(document: T, destination: Uri, cancellation: CancellationToken): Thenable; -/** - * Provider for text based webview editors. - * - * Text based webview editors use a [`TextDocument`](#TextDocument) as their data model. This considerably simplifies - * implementing a webview editor as it allows VS Code to handle many common operations such as - * undo and backup. The provider is responsible for synchronizing text changes between the webview and the `TextDocument`. - * - * You should use text based webview editors when dealing with text based file formats, such as `xml` or `json`. - * For binary files or more specialized use cases, see [CustomEditorProvider](#CustomEditorProvider). - */ -export interface CustomTextEditorProvider { /** - * Resolve a webview editor for a given text resource. + * Revert a custom document to its last saved state. * - * This is called when a user first opens a resource for a `CustomTextEditorProvider`, or if they reopen an - * existing editor using this `CustomTextEditorProvider`. + * This method is invoked by VS Code when the user triggers `File: Revert File` in a custom editor. (Note that + * this is only used using VS Code's `File: Revert File` command and not on a `git revert` of the file). * - * To resolve a webview editor, the provider must fill in its initial html content and hook up all - * the event listeners it is interested it. The provider can also hold onto the `WebviewPanel` to use later, - * for example in a command. See [`WebviewPanel`](#WebviewPanel) for additional details. + * To implement `revert`, the implementer must make sure all editor instances (webviews) for `document` + * are displaying the document in the same state is saved in. This usually means reloading the file from the + * workspace. * - * @param document Document for the resource to resolve. - * @param webviewPanel Webview to resolve. + * @param document Document to revert. + * @param cancellation Token that signals the revert is no longer required. * - * @return Thenable indicating that the webview editor has been resolved. + * @return Thenable signaling that the change has completed. */ - resolveCustomTextEditor(document: TextDocument, webviewPanel: WebviewPanel): Thenable; + revertCustomDocument(document: T, cancellation: CancellationToken): Thenable; + + /** + * Back up a dirty custom document. + * + * Backups are used for hot exit and to prevent data loss. Your `backup` method should persist the resource in + * its current state, i.e. with the edits applied. Most commonly this means saving the resource to disk in + * the `ExtensionContext.storagePath`. When VS Code reloads and your custom editor is opened for a resource, + * your extension should first check to see if any backups exist for the resource. If there is a backup, your + * extension should load the file contents from there instead of from the resource in the workspace. + * + * `backup` is triggered whenever an edit it made. Calls to `backup` are debounced so that if multiple edits are + * made in quick succession, `backup` is only triggered after the last one. `backup` is not invoked when + * `auto save` is enabled (since auto save already persists resource ). + * + * @param document Document to backup. + * @param context Information that can be used to backup the document. + * @param cancellation Token that signals the current backup since a new backup is coming in. It is up to your + * extension to decided how to respond to cancellation. If for example your extension is backing up a large file + * in an operation that takes time to complete, your extension may decide to finish the ongoing backup rather + * than cancelling it to ensure that VS Code has some valid backup. + */ + backupCustomDocument( + document: T, + context: CustomDocumentBackupContext, + cancellation: CancellationToken + ): Thenable; } -//#endregion +// #endregion export const ICustomEditorService = Symbol('ICustomEditorService'); export interface ICustomEditorService { @@ -1346,15 +1486,31 @@ export interface ICustomEditorService { */ registerCustomEditorProvider( viewType: string, - provider: CustomEditorProvider, - options?: WebviewPanelOptions + provider: CustomReadonlyEditorProvider | CustomEditorProvider, + options?: { + readonly webviewOptions?: WebviewPanelOptions; + + /** + * Only applies to `CustomReadonlyEditorProvider | CustomEditorProvider`. + * + * Indicates that the provider allows multiple editor instances to be open at the same time for + * the same resource. + * + * If not set, VS Code only allows one editor instance to be open at a time for each resource. If the + * user tries to open a second editor instance for the resource, the first one is instead moved to where + * the second one was to be opened. + * + * When set, users can split and create copies of the custom editor. The custom editor must make sure it + * can properly synchronize the states of all editor instances for a resource so that they are consistent. + */ + readonly supportsMultipleEditorsPerDocument?: boolean; + } ): Disposable; /** * Opens a file with a custom editor */ - openEditor(file: Uri): Promise; + openEditor(file: Uri, viewType: string): Promise; } - export const IClipboard = Symbol('IClipboard'); export interface IClipboard { /** @@ -1367,3 +1523,43 @@ export interface IClipboard { */ writeText(value: string): Promise; } + +export type NotebookCellsChangeEvent = { type: 'changeCells' } & VSCNotebookCellsChangeEvent; +export type NotebookCellOutputsChangeEvent = { type: 'changeCellOutputs' } & VSCNotebookCellOutputsChangeEvent; +export type NotebookCellLanguageChangeEvent = { type: 'changeCellLanguage' } & VSCNotebookCellLanguageChangeEvent; +export type NotebookCellChangedEvent = + | NotebookCellsChangeEvent + | NotebookCellOutputsChangeEvent + | NotebookCellLanguageChangeEvent; +export const IVSCodeNotebook = Symbol('IVSCodeNotebook'); +export interface IVSCodeNotebook { + readonly onDidChangeActiveNotebookKernel: Event<{ + document: NotebookDocument; + kernel: NotebookKernel | undefined; + }>; + readonly notebookDocuments: ReadonlyArray; + readonly onDidOpenNotebookDocument: Event; + readonly onDidCloseNotebookDocument: Event; + readonly onDidChangeActiveNotebookEditor: Event; + readonly onDidChangeNotebookDocument: Event; + readonly notebookEditors: Readonly; + readonly activeNotebookEditor: NotebookEditor | undefined; + registerNotebookContentProvider( + notebookType: string, + provider: NotebookContentProvider, + options?: { + /** + * Controls if outputs change will trigger notebook document content change and if it will be used in the diff editor + * Default to false. If the content provider doesn't persisit the outputs in the file document, this should be set to true. + */ + transientOutputs: boolean; + /** + * Controls if a meetadata property change will trigger notebook document content change and if it will be used in the diff editor + * Default to false. If the content provider doesn't persisit a metadata property in the file document, it should be set to true. + */ + transientMetadata: { [K in keyof NotebookCellMetadata]?: boolean }; + } + ): Disposable; + + registerNotebookKernelProvider(selector: NotebookDocumentFilter, provider: NotebookKernelProvider): Disposable; +} diff --git a/src/client/common/application/webPanels/webPanel.ts b/src/client/common/application/webPanels/webPanel.ts deleted file mode 100644 index f64494d71140..000000000000 --- a/src/client/common/application/webPanels/webPanel.ts +++ /dev/null @@ -1,268 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -'use strict'; -import '../../extensions'; - -import * as uuid from 'uuid/v4'; -import { Uri, Webview, WebviewOptions, WebviewPanel, window } from 'vscode'; - -import { Identifiers } from '../../../datascience/constants'; -import { InteractiveWindowMessages } from '../../../datascience/interactive-common/interactiveWindowTypes'; -import { SharedMessages } from '../../../datascience/messages'; -import { IFileSystem } from '../../platform/types'; -import { IDisposableRegistry } from '../../types'; -import * as localize from '../../utils/localize'; -import { IWebPanel, IWebPanelOptions, WebPanelMessage } from '../types'; - -// Pick a static port to remap the remote port to one that VS code will route traffic to. -// According to this, it should be a static number: -// https://code.visualstudio.com/api/advanced-topics/remote-extensions -const RemappedPort = 9890; - -export class WebPanel implements IWebPanel { - private panel: WebviewPanel | undefined; - private loadPromise: Promise; - private id = uuid(); - - constructor( - private fs: IFileSystem, - private disposableRegistry: IDisposableRegistry, - private port: number | undefined, - private token: string | undefined, - private options: IWebPanelOptions - ) { - const webViewOptions: WebviewOptions = { - enableScripts: true, - localResourceRoots: [Uri.file(this.options.rootPath), Uri.file(this.options.cwd)], - portMapping: port ? [{ webviewPort: RemappedPort, extensionHostPort: port }] : undefined - }; - if (options.webViewPanel) { - this.panel = options.webViewPanel; - this.panel.webview.options = webViewOptions; - } else { - this.panel = window.createWebviewPanel( - options.title.toLowerCase().replace(' ', ''), - options.title, - { viewColumn: options.viewColumn, preserveFocus: true }, - { - retainContextWhenHidden: true, - enableFindWidget: true, - ...webViewOptions - } - ); - } - this.loadPromise = this.load(); - } - - public async show(preserveFocus: boolean) { - await this.loadPromise; - if (this.panel) { - this.panel.reveal(this.panel.viewColumn, preserveFocus); - } - } - - public updateCwd(_cwd: string) { - if (this.options.startHttpServer && this.port) { - // See issue https://github.com/microsoft/vscode-python/issues/8933 for implementing this. - } - } - - public close() { - if (this.panel) { - this.panel.dispose(); - } - } - - public isVisible(): boolean { - return this.panel ? this.panel.visible : false; - } - - public isActive(): boolean { - return this.panel ? this.panel.active : false; - } - - public postMessage(message: WebPanelMessage) { - if (this.panel && this.panel.webview) { - this.panel.webview.postMessage(message); - } - } - - public setTitle(newTitle: string) { - this.options.title = newTitle; - if (this.panel) { - this.panel.title = newTitle; - } - } - - // tslint:disable-next-line:no-any - private async load() { - if (this.panel) { - const localFilesExist = await Promise.all(this.options.scripts.map(s => this.fs.fileExists(s))); - if (localFilesExist.every(exists => exists === true)) { - // Call our special function that sticks this script inside of an html page - // and translates all of the paths to vscode-resource URIs - this.panel.webview.html = this.options.startHttpServer - ? this.generateServerReactHtml(this.panel.webview) - : await this.generateLocalReactHtml(this.panel.webview); - - // Reset when the current panel is closed - this.disposableRegistry.push( - this.panel.onDidDispose(() => { - this.panel = undefined; - this.options.listener.dispose().ignoreErrors(); - }) - ); - - this.disposableRegistry.push( - this.panel.webview.onDidReceiveMessage(message => { - // Pass the message onto our listener - this.options.listener.onMessage(message.type, message.payload); - }) - ); - - this.disposableRegistry.push( - this.panel.onDidChangeViewState(_e => { - // Pass the state change onto our listener - this.options.listener.onChangeViewState(this); - }) - ); - - // Set initial state - this.options.listener.onChangeViewState(this); - } else { - // Indicate that we can't load the file path - const badPanelString = localize.DataScience.badWebPanelFormatString(); - this.panel.webview.html = badPanelString.format(this.options.scripts.join(', ')); - } - } - } - - // tslint:disable-next-line:no-any - private async generateLocalReactHtml(webView: Webview) { - const uriBase = webView.asWebviewUri(Uri.file(this.options.cwd)).toString(); - const uris = this.options.scripts.map(script => webView.asWebviewUri(Uri.file(script))); - const testFiles = await this.fs.getFiles(this.options.rootPath); - - // This method must be called so VSC is aware of files that can be pulled. - // Allow js and js.map files to be loaded by webpack in the webview. - testFiles - .filter(f => f.toLowerCase().endsWith('.js') || f.toLowerCase().endsWith('.js.map')) - .forEach(f => webView.asWebviewUri(Uri.file(f))); - - const rootPath = webView.asWebviewUri(Uri.file(this.options.rootPath)).toString(); - return ` - - - - - - - - React App - - - - -
- - ${uris.map(uri => ``).join('\n')} - - `; - } - - // tslint:disable-next-line:no-any - private generateServerReactHtml(webView: Webview) { - const uriBase = webView.asWebviewUri(Uri.file(this.options.rootPath)); - const relativeScripts = this.options.scripts.map(s => `.${s.substr(this.options.rootPath.length)}`); - const encoded = relativeScripts.map(s => - encodeURIComponent(s.replace(/\\/g, '/').replace('index_bundle.js', 'index_chunked_bundle.js')) - ); - - return ` - - - - - - - - React App - - - - -