@microsoft/teamsfx-core 2.0.10-rc.0 → 2.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/common/constants.d.ts +19 -11
- package/build/common/constants.d.ts.map +1 -1
- package/build/common/constants.js +22 -44
- package/build/common/constants.js.map +1 -1
- package/build/common/correlator.d.ts +0 -1
- package/build/common/correlator.d.ts.map +1 -1
- package/build/common/correlator.js +1 -6
- package/build/common/correlator.js.map +1 -1
- package/build/common/deps-checker/checkerFactory.d.ts.map +1 -0
- package/build/common/deps-checker/checkerFactory.js.map +1 -0
- package/build/{component → common}/deps-checker/constant/helpLink.d.ts +3 -0
- package/build/common/deps-checker/constant/helpLink.d.ts.map +1 -0
- package/build/{component → common}/deps-checker/constant/helpLink.js +6 -1
- package/build/common/deps-checker/constant/helpLink.js.map +1 -0
- package/build/common/deps-checker/constant/index.d.ts.map +1 -0
- package/build/common/deps-checker/constant/index.js.map +1 -0
- package/build/common/deps-checker/constant/message.d.ts.map +1 -0
- package/build/common/deps-checker/constant/message.js +45 -0
- package/build/common/deps-checker/constant/message.js.map +1 -0
- package/build/common/deps-checker/constant/telemetry.d.ts.map +1 -0
- package/build/common/deps-checker/constant/telemetry.js.map +1 -0
- package/build/common/deps-checker/coreDepsLoggerAdapter.d.ts.map +1 -0
- package/build/common/deps-checker/coreDepsLoggerAdapter.js.map +1 -0
- package/build/common/deps-checker/coreDepsTelemetryAdapter.d.ts.map +1 -0
- package/build/{component → common}/deps-checker/coreDepsTelemetryAdapter.js +4 -4
- package/build/common/deps-checker/coreDepsTelemetryAdapter.js.map +1 -0
- package/build/common/deps-checker/depsChecker.d.ts.map +1 -0
- package/build/common/deps-checker/depsChecker.js.map +1 -0
- package/build/common/deps-checker/depsError.d.ts.map +1 -0
- package/build/common/deps-checker/depsError.js.map +1 -0
- package/build/common/deps-checker/depsLogger.d.ts.map +1 -0
- package/build/common/deps-checker/depsLogger.js.map +1 -0
- package/build/common/deps-checker/depsManager.d.ts.map +1 -0
- package/build/common/deps-checker/depsManager.js.map +1 -0
- package/build/common/deps-checker/depsTelemetry.d.ts.map +1 -0
- package/build/common/deps-checker/depsTelemetry.js.map +1 -0
- package/build/common/deps-checker/index.d.ts.map +1 -0
- package/build/common/deps-checker/index.js.map +1 -0
- package/build/common/deps-checker/internal/dotnetChecker.d.ts.map +1 -0
- package/build/{component → common}/deps-checker/internal/dotnetChecker.js +14 -14
- package/build/common/deps-checker/internal/dotnetChecker.js.map +1 -0
- package/build/common/deps-checker/internal/funcToolChecker.d.ts.map +1 -0
- package/build/{component → common}/deps-checker/internal/funcToolChecker.js +16 -16
- package/build/common/deps-checker/internal/funcToolChecker.js.map +1 -0
- package/build/common/deps-checker/internal/nodeChecker.d.ts.map +1 -0
- package/build/common/deps-checker/internal/nodeChecker.js.map +1 -0
- package/build/common/deps-checker/internal/testToolChecker.d.ts.map +1 -0
- package/build/{component → common}/deps-checker/internal/testToolChecker.js +22 -22
- package/build/common/deps-checker/internal/testToolChecker.js.map +1 -0
- package/build/common/deps-checker/internal/vxTestAppChecker.d.ts.map +1 -0
- package/build/{component → common}/deps-checker/internal/vxTestAppChecker.js +8 -14
- package/build/common/deps-checker/internal/vxTestAppChecker.js.map +1 -0
- package/build/common/deps-checker/util/cpUtils.d.ts.map +1 -0
- package/build/common/deps-checker/util/cpUtils.js.map +1 -0
- package/build/common/deps-checker/util/downloadHelper.d.ts.map +1 -0
- package/build/common/deps-checker/util/downloadHelper.js.map +1 -0
- package/build/common/deps-checker/util/fileHelper.d.ts.map +1 -0
- package/build/common/deps-checker/util/fileHelper.js.map +1 -0
- package/build/common/deps-checker/util/index.d.ts.map +1 -0
- package/build/common/deps-checker/util/index.js.map +1 -0
- package/build/common/deps-checker/util/progressIndicator.d.ts.map +1 -0
- package/build/common/deps-checker/util/progressIndicator.js.map +1 -0
- package/build/common/deps-checker/util/system.d.ts.map +1 -0
- package/build/common/deps-checker/util/system.js.map +1 -0
- package/build/common/featureFlags.d.ts +22 -61
- package/build/common/featureFlags.d.ts.map +1 -1
- package/build/common/featureFlags.js +70 -91
- package/build/common/featureFlags.js.map +1 -1
- package/build/common/globalState.js +4 -4
- package/build/common/globalState.js.map +1 -1
- package/build/common/jsonUtils.js +10 -10
- package/build/common/jsonUtils.js.map +1 -1
- package/build/common/local/constants.d.ts +185 -0
- package/build/common/local/constants.d.ts.map +1 -0
- package/build/{component → common}/local/constants.js +0 -1
- package/build/common/local/constants.js.map +1 -0
- package/build/common/local/index.d.ts.map +1 -0
- package/build/common/local/index.js.map +1 -0
- package/build/common/local/localCertificateManager.d.ts.map +1 -0
- package/build/{component → common}/local/localCertificateManager.js +11 -13
- package/build/common/local/localCertificateManager.js.map +1 -0
- package/build/common/local/localEnvManager.d.ts.map +1 -0
- package/build/{component → common}/local/localEnvManager.js +2 -2
- package/build/common/local/localEnvManager.js.map +1 -0
- package/build/common/local/localTelemetryReporter.d.ts.map +1 -0
- package/build/{component → common}/local/localTelemetryReporter.js +4 -4
- package/build/common/local/localTelemetryReporter.js.map +1 -0
- package/build/common/local/npmLogHelper.d.ts.map +1 -0
- package/build/common/local/npmLogHelper.js.map +1 -0
- package/build/common/local/packageJsonHelper.d.ts.map +1 -0
- package/build/common/local/packageJsonHelper.js.map +1 -0
- package/build/common/local/portChecker.d.ts.map +1 -0
- package/build/{component → common}/local/portChecker.js +6 -6
- package/build/common/local/portChecker.js.map +1 -0
- package/build/common/local/process.d.ts.map +1 -0
- package/build/common/local/process.js.map +1 -0
- package/build/common/local/taskDefinition.d.ts.map +1 -0
- package/build/{component → common}/local/taskDefinition.js +6 -6
- package/build/common/local/taskDefinition.js.map +1 -0
- package/build/common/localizeUtils.js +3 -3
- package/build/common/localizeUtils.js.map +1 -1
- package/build/common/m365/constants.d.ts +6 -0
- package/build/common/m365/constants.d.ts.map +1 -0
- package/build/{component → common}/m365/constants.js +1 -4
- package/build/common/m365/constants.js.map +1 -0
- package/build/common/m365/errors.d.ts.map +1 -0
- package/build/{component → common}/m365/errors.js +3 -3
- package/build/common/m365/errors.js.map +1 -0
- package/build/common/m365/launchHelper.d.ts +12 -0
- package/build/common/m365/launchHelper.d.ts.map +1 -0
- package/build/{component → common}/m365/launchHelper.js +30 -38
- package/build/common/m365/launchHelper.js.map +1 -0
- package/build/common/m365/packageService.d.ts.map +1 -0
- package/build/{component → common}/m365/packageService.js +28 -28
- package/build/common/m365/packageService.js.map +1 -0
- package/build/common/m365/serviceConstant.d.ts +3 -0
- package/build/common/m365/serviceConstant.d.ts.map +1 -0
- package/build/common/m365/serviceConstant.js +8 -0
- package/build/common/m365/serviceConstant.js.map +1 -0
- package/build/common/projectSettingsHelper.d.ts +0 -5
- package/build/common/projectSettingsHelper.d.ts.map +1 -1
- package/build/common/projectSettingsHelper.js +1 -31
- package/build/common/projectSettingsHelper.js.map +1 -1
- package/build/common/projectSettingsHelperV3.d.ts +2 -0
- package/build/common/projectSettingsHelperV3.d.ts.map +1 -0
- package/build/common/projectSettingsHelperV3.js +15 -0
- package/build/common/projectSettingsHelperV3.js.map +1 -0
- package/build/common/projectTypeChecker.js +3 -3
- package/build/common/projectTypeChecker.js.map +1 -1
- package/build/common/samples.d.ts +1 -6
- package/build/common/samples.d.ts.map +1 -1
- package/build/common/samples.js +7 -7
- package/build/common/samples.js.map +1 -1
- package/build/common/stringUtils.d.ts +5 -11
- package/build/common/stringUtils.d.ts.map +1 -1
- package/build/common/stringUtils.js +101 -71
- package/build/common/stringUtils.js.map +1 -1
- package/build/common/telemetry.d.ts +13 -43
- package/build/common/telemetry.d.ts.map +1 -1
- package/build/common/telemetry.js +74 -97
- package/build/common/telemetry.js.map +1 -1
- package/build/common/templates-config.json +2 -2
- package/build/common/tools.d.ts +32 -2
- package/build/common/tools.d.ts.map +1 -1
- package/build/common/tools.js +250 -17
- package/build/common/tools.js.map +1 -1
- package/build/common/utils.d.ts +3 -5
- package/build/common/utils.d.ts.map +1 -1
- package/build/common/utils.js +12 -40
- package/build/common/utils.js.map +1 -1
- package/build/common/wrappedAxiosClient.d.ts +0 -1
- package/build/common/wrappedAxiosClient.d.ts.map +1 -1
- package/build/common/wrappedAxiosClient.js +34 -64
- package/build/common/wrappedAxiosClient.js.map +1 -1
- package/build/component/configManager/actionInjector.js +2 -2
- package/build/component/configManager/actionInjector.js.map +1 -1
- package/build/component/configManager/lifecycle.js +10 -10
- package/build/component/configManager/lifecycle.js.map +1 -1
- package/build/component/configManager/parser.js +21 -21
- package/build/component/configManager/parser.js.map +1 -1
- package/build/component/configManager/validator.js +2 -2
- package/build/component/configManager/validator.js.map +1 -1
- package/build/component/constant/commonConstant.d.ts +0 -1
- package/build/component/constant/commonConstant.d.ts.map +1 -1
- package/build/component/constant/commonConstant.js +0 -1
- package/build/component/constant/commonConstant.js.map +1 -1
- package/build/component/constants.d.ts +223 -7
- package/build/component/constants.d.ts.map +1 -1
- package/build/component/constants.js +251 -12
- package/build/component/constants.js.map +1 -1
- package/build/component/coordinator/index.d.ts.map +1 -1
- package/build/component/coordinator/index.js +234 -125
- package/build/component/coordinator/index.js.map +1 -1
- package/build/component/coordinator/summary.js +10 -10
- package/build/component/coordinator/summary.js.map +1 -1
- package/build/component/deployUtils.js +4 -4
- package/build/component/deployUtils.js.map +1 -1
- package/build/component/developerPortalScaffoldUtils.d.ts +5 -1
- package/build/component/developerPortalScaffoldUtils.d.ts.map +1 -1
- package/build/component/developerPortalScaffoldUtils.js +94 -78
- package/build/component/developerPortalScaffoldUtils.js.map +1 -1
- package/build/component/driver/aad/create.d.ts.map +1 -1
- package/build/component/driver/aad/create.js +29 -43
- package/build/component/driver/aad/create.js.map +1 -1
- package/build/component/driver/aad/error/aadAppNameTooLongError.js +2 -2
- package/build/component/driver/aad/error/aadAppNameTooLongError.js.map +1 -1
- package/build/component/driver/aad/error/aadManifestError.js +27 -27
- package/build/component/driver/aad/error/aadManifestError.js.map +1 -1
- package/build/component/driver/aad/error/clientSecretNotAllowedError.js +2 -2
- package/build/component/driver/aad/error/clientSecretNotAllowedError.js.map +1 -1
- package/build/component/driver/aad/error/credentialInvalidLifetimeError.js +2 -2
- package/build/component/driver/aad/error/credentialInvalidLifetimeError.js.map +1 -1
- package/build/component/driver/aad/error/invalidFieldInManifestError.js +2 -2
- package/build/component/driver/aad/error/invalidFieldInManifestError.js.map +1 -1
- package/build/component/driver/aad/error/missingEnvError.js +2 -2
- package/build/component/driver/aad/error/missingEnvError.js.map +1 -1
- package/build/component/driver/aad/update.js +16 -16
- package/build/component/driver/aad/update.js.map +1 -1
- package/build/component/driver/aad/utility/aadAppClient.d.ts.map +1 -1
- package/build/component/driver/aad/utility/aadAppClient.js +19 -19
- package/build/component/driver/aad/utility/aadAppClient.js.map +1 -1
- package/build/component/driver/aad/utility/aadManifestHelper.js +3 -3
- package/build/component/driver/aad/utility/aadManifestHelper.js.map +1 -1
- package/build/component/driver/aad/utility/buildAadManifest.d.ts +1 -1
- package/build/component/driver/aad/utility/buildAadManifest.d.ts.map +1 -1
- package/build/component/driver/aad/utility/buildAadManifest.js +13 -13
- package/build/component/driver/aad/utility/buildAadManifest.js.map +1 -1
- package/build/component/driver/aad/utility/constants.d.ts +0 -2
- package/build/component/driver/aad/utility/constants.d.ts.map +1 -1
- package/build/component/driver/aad/utility/constants.js +0 -2
- package/build/component/driver/aad/utility/constants.js.map +1 -1
- package/build/component/driver/add/addWebPart.d.ts +2 -2
- package/build/component/driver/add/addWebPart.d.ts.map +1 -1
- package/build/component/driver/add/addWebPart.js +31 -31
- package/build/component/driver/add/addWebPart.js.map +1 -1
- package/build/component/driver/add/error/noConfigurationError.js +2 -2
- package/build/component/driver/add/error/noConfigurationError.js.map +1 -1
- package/build/component/driver/apiKey/create.d.ts.map +1 -1
- package/build/component/driver/apiKey/create.js +27 -30
- package/build/component/driver/apiKey/create.js.map +1 -1
- package/build/component/driver/apiKey/error/apiKeyClientSecretInvalid.js +2 -2
- package/build/component/driver/apiKey/error/apiKeyClientSecretInvalid.js.map +1 -1
- package/build/component/driver/apiKey/error/apiKeyDomainInvalid.js +2 -2
- package/build/component/driver/apiKey/error/apiKeyDomainInvalid.js.map +1 -1
- package/build/component/driver/apiKey/error/apiKeyFailedToGetDomain.js +2 -2
- package/build/component/driver/apiKey/error/apiKeyFailedToGetDomain.js.map +1 -1
- package/build/component/driver/apiKey/error/apiKeyNameTooLong.js +2 -2
- package/build/component/driver/apiKey/error/apiKeyNameTooLong.js.map +1 -1
- package/build/component/driver/apiKey/update.d.ts +1 -1
- package/build/component/driver/apiKey/update.d.ts.map +1 -1
- package/build/component/driver/apiKey/update.js +27 -27
- package/build/component/driver/apiKey/update.js.map +1 -1
- package/build/component/driver/apiKey/utility/constants.d.ts +1 -1
- package/build/component/driver/apiKey/utility/constants.js +1 -1
- package/build/component/driver/apiKey/utility/utility.js +2 -2
- package/build/component/driver/apiKey/utility/utility.js.map +1 -1
- package/build/component/driver/arm/deploy.js +4 -4
- package/build/component/driver/arm/deploy.js.map +1 -1
- package/build/component/driver/arm/deployImpl.d.ts.map +1 -1
- package/build/component/driver/arm/deployImpl.js +18 -20
- package/build/component/driver/arm/deployImpl.js.map +1 -1
- package/build/component/driver/arm/util/bicepChecker.d.ts.map +1 -1
- package/build/component/driver/arm/util/bicepChecker.js +9 -29
- package/build/component/driver/arm/util/bicepChecker.js.map +1 -1
- package/build/component/driver/arm/util/handleError.js +10 -10
- package/build/component/driver/arm/util/handleError.js.map +1 -1
- package/build/component/driver/arm/validator.js +3 -3
- package/build/component/driver/arm/validator.js.map +1 -1
- package/build/component/driver/botAadApp/create.d.ts.map +1 -1
- package/build/component/driver/botAadApp/create.js +22 -38
- package/build/component/driver/botAadApp/create.js.map +1 -1
- package/build/component/driver/botAadApp/error/unexpectedEmptyBotPasswordError.js +2 -2
- package/build/component/driver/botAadApp/error/unexpectedEmptyBotPasswordError.js.map +1 -1
- package/build/component/driver/botAadApp/utility/constants.d.ts +0 -1
- package/build/component/driver/botAadApp/utility/constants.d.ts.map +1 -1
- package/build/component/driver/botAadApp/utility/constants.js +0 -1
- package/build/component/driver/botAadApp/utility/constants.js.map +1 -1
- package/build/component/driver/botFramework/createOrUpdateBot.js +14 -14
- package/build/component/driver/botFramework/createOrUpdateBot.js.map +1 -1
- package/build/component/driver/botFramework/error/invalidBotIdError.js +2 -2
- package/build/component/driver/botFramework/error/invalidBotIdError.js.map +1 -1
- package/build/component/driver/deploy/azure/azureAppServiceDeployDriver.js +3 -3
- package/build/component/driver/deploy/azure/azureAppServiceDeployDriver.js.map +1 -1
- package/build/component/driver/deploy/azure/azureFunctionDeployDriver.js +3 -3
- package/build/component/driver/deploy/azure/azureFunctionDeployDriver.js.map +1 -1
- package/build/component/driver/deploy/azure/azureStaticWebAppGetDeploymentTokenDriver.d.ts.map +1 -1
- package/build/component/driver/deploy/azure/azureStaticWebAppGetDeploymentTokenDriver.js +10 -16
- package/build/component/driver/deploy/azure/azureStaticWebAppGetDeploymentTokenDriver.js.map +1 -1
- package/build/component/driver/deploy/azure/azureStorageDeployDriver.js +9 -9
- package/build/component/driver/deploy/azure/azureStorageDeployDriver.js.map +1 -1
- package/build/component/driver/deploy/azure/azureStorageStaticWebsiteConfigDriver.js +15 -15
- package/build/component/driver/deploy/azure/azureStorageStaticWebsiteConfigDriver.js.map +1 -1
- package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js +7 -7
- package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js.map +1 -1
- package/build/component/driver/deploy/azure/impl/azureDeployImpl.d.ts +4 -4
- package/build/component/driver/deploy/azure/impl/azureDeployImpl.d.ts.map +1 -1
- package/build/component/driver/deploy/azure/impl/azureDeployImpl.js +20 -20
- package/build/component/driver/deploy/azure/impl/azureDeployImpl.js.map +1 -1
- package/build/component/driver/deploy/azure/impl/baseDeployImpl.js +11 -11
- package/build/component/driver/deploy/azure/impl/baseDeployImpl.js.map +1 -1
- package/build/component/driver/deploy/spfx/deployDriver.d.ts +1 -1
- package/build/component/driver/deploy/spfx/deployDriver.d.ts.map +1 -1
- package/build/component/driver/deploy/spfx/deployDriver.js +28 -29
- package/build/component/driver/deploy/spfx/deployDriver.js.map +1 -1
- package/build/component/driver/deploy/spfx/error/createAppCatalogFailedError.js +2 -2
- package/build/component/driver/deploy/spfx/error/createAppCatalogFailedError.js.map +1 -1
- package/build/component/driver/deploy/spfx/error/getGraphTokenFailedError.js +2 -2
- package/build/component/driver/deploy/spfx/error/getGraphTokenFailedError.js.map +1 -1
- package/build/component/driver/deploy/spfx/error/getSPOTokenFailedError.js +2 -2
- package/build/component/driver/deploy/spfx/error/getSPOTokenFailedError.js.map +1 -1
- package/build/component/driver/deploy/spfx/error/getTenantFailedError.js +2 -2
- package/build/component/driver/deploy/spfx/error/getTenantFailedError.js.map +1 -1
- package/build/component/driver/deploy/spfx/error/insufficientPermissionError.js +2 -2
- package/build/component/driver/deploy/spfx/error/insufficientPermissionError.js.map +1 -1
- package/build/component/driver/deploy/spfx/error/noSPPackageError.js +2 -2
- package/build/component/driver/deploy/spfx/error/noSPPackageError.js.map +1 -1
- package/build/component/driver/deploy/spfx/error/noValidAppCatelogError.js +2 -2
- package/build/component/driver/deploy/spfx/error/noValidAppCatelogError.js.map +1 -1
- package/build/component/driver/deploy/spfx/error/uploadAppPackageFailedError.js +2 -2
- package/build/component/driver/deploy/spfx/error/uploadAppPackageFailedError.js.map +1 -1
- package/build/component/driver/deploy/spfx/utility/constants.js +5 -5
- package/build/component/driver/deploy/spfx/utility/constants.js.map +1 -1
- package/build/component/driver/devTool/constant.d.ts +8 -8
- package/build/component/driver/devTool/constant.d.ts.map +1 -1
- package/build/component/driver/devTool/constant.js +10 -10
- package/build/component/driver/devTool/constant.js.map +1 -1
- package/build/component/driver/devTool/error/dotnetInstallationUserError.js +4 -4
- package/build/component/driver/devTool/error/dotnetInstallationUserError.js.map +1 -1
- package/build/component/driver/devTool/error/funcInstallationUserError.js +4 -4
- package/build/component/driver/devTool/error/funcInstallationUserError.js.map +1 -1
- package/build/component/driver/devTool/error/testToolInstallationUserError.js +4 -4
- package/build/component/driver/devTool/error/testToolInstallationUserError.js.map +1 -1
- package/build/component/driver/devTool/installDriver.d.ts +1 -1
- package/build/component/driver/devTool/installDriver.d.ts.map +1 -1
- package/build/component/driver/devTool/installDriver.js +12 -12
- package/build/component/driver/devTool/installDriver.js.map +1 -1
- package/build/component/driver/error/outputEnvironmentVariableUndefinedError.js +2 -2
- package/build/component/driver/error/outputEnvironmentVariableUndefinedError.js.map +1 -1
- package/build/component/driver/file/createOrUpdateEnvironmentFile.js +11 -11
- package/build/component/driver/file/createOrUpdateEnvironmentFile.js.map +1 -1
- package/build/component/driver/file/createOrUpdateJsonFile.js +12 -12
- package/build/component/driver/file/createOrUpdateJsonFile.js.map +1 -1
- package/build/component/driver/index.d.ts +0 -1
- package/build/component/driver/index.d.ts.map +1 -1
- package/build/component/driver/index.js +0 -1
- package/build/component/driver/index.js.map +1 -1
- package/build/component/driver/m365/acquire.js +16 -16
- package/build/component/driver/m365/acquire.js.map +1 -1
- package/build/component/driver/middleware/addSWADeployTelemetry.js +7 -7
- package/build/component/driver/middleware/addSWADeployTelemetry.js.map +1 -1
- package/build/component/driver/middleware/addStartAndEndTelemetry.d.ts.map +1 -1
- package/build/component/driver/middleware/addStartAndEndTelemetry.js +3 -3
- package/build/component/driver/middleware/addStartAndEndTelemetry.js.map +1 -1
- package/build/component/driver/oauth/create.d.ts +1 -1
- package/build/component/driver/oauth/create.d.ts.map +1 -1
- package/build/component/driver/oauth/create.js +36 -65
- package/build/component/driver/oauth/create.js.map +1 -1
- package/build/component/driver/oauth/error/oauthAuthInfoInvalid.js +2 -2
- package/build/component/driver/oauth/error/oauthAuthInfoInvalid.js.map +1 -1
- package/build/component/driver/oauth/error/oauthDomainInvalid.js +2 -2
- package/build/component/driver/oauth/error/oauthDomainInvalid.js.map +1 -1
- package/build/component/driver/oauth/error/oauthFailedToGetDomain.js +2 -2
- package/build/component/driver/oauth/error/oauthFailedToGetDomain.js.map +1 -1
- package/build/component/driver/oauth/error/oauthNameTooLong.js +2 -2
- package/build/component/driver/oauth/error/oauthNameTooLong.js.map +1 -1
- package/build/component/driver/oauth/interface/createOauthArgs.d.ts +0 -2
- package/build/component/driver/oauth/interface/createOauthArgs.d.ts.map +1 -1
- package/build/component/driver/oauth/interface/updateOauthArgs.d.ts +0 -1
- package/build/component/driver/oauth/interface/updateOauthArgs.d.ts.map +1 -1
- package/build/component/driver/oauth/update.d.ts +1 -1
- package/build/component/driver/oauth/update.d.ts.map +1 -1
- package/build/component/driver/oauth/update.js +26 -37
- package/build/component/driver/oauth/update.js.map +1 -1
- package/build/component/driver/oauth/utility/constants.d.ts +1 -1
- package/build/component/driver/oauth/utility/constants.js +1 -1
- package/build/component/driver/oauth/utility/utility.js +6 -5
- package/build/component/driver/oauth/utility/utility.js.map +1 -1
- package/build/component/driver/script/baseBuildDriver.js +8 -8
- package/build/component/driver/script/baseBuildDriver.js.map +1 -1
- package/build/component/driver/script/dotnetBuildDriver.js +3 -3
- package/build/component/driver/script/dotnetBuildDriver.js.map +1 -1
- package/build/component/driver/script/npmBuildDriver.js +3 -3
- package/build/component/driver/script/npmBuildDriver.js.map +1 -1
- package/build/component/driver/script/npxBuildDriver.js +5 -5
- package/build/component/driver/script/npxBuildDriver.js.map +1 -1
- package/build/component/driver/script/scriptDriver.d.ts +0 -2
- package/build/component/driver/script/scriptDriver.d.ts.map +1 -1
- package/build/component/driver/script/scriptDriver.js +29 -28
- package/build/component/driver/script/scriptDriver.js.map +1 -1
- package/build/component/driver/teamsApp/appStudio.d.ts +1 -1
- package/build/component/driver/teamsApp/appStudio.d.ts.map +1 -1
- package/build/component/driver/teamsApp/appStudio.js +74 -63
- package/build/component/driver/teamsApp/appStudio.js.map +1 -1
- package/build/component/driver/teamsApp/clients/appStudioClient.d.ts +4 -7
- package/build/component/driver/teamsApp/clients/appStudioClient.d.ts.map +1 -1
- package/build/component/driver/teamsApp/clients/appStudioClient.js +77 -78
- package/build/component/driver/teamsApp/clients/appStudioClient.js.map +1 -1
- package/build/component/driver/teamsApp/configure.d.ts +1 -1
- package/build/component/driver/teamsApp/configure.d.ts.map +1 -1
- package/build/component/driver/teamsApp/configure.js +32 -32
- package/build/component/driver/teamsApp/configure.js.map +1 -1
- package/build/component/driver/teamsApp/constants.d.ts +3 -15
- package/build/component/driver/teamsApp/constants.d.ts.map +1 -1
- package/build/component/driver/teamsApp/constants.js +16 -136
- package/build/component/driver/teamsApp/constants.js.map +1 -1
- package/build/component/driver/teamsApp/copyAppPackageToSPFx.js +8 -8
- package/build/component/driver/teamsApp/copyAppPackageToSPFx.js.map +1 -1
- package/build/component/driver/teamsApp/create.d.ts +2 -2
- package/build/component/driver/teamsApp/create.d.ts.map +1 -1
- package/build/component/driver/teamsApp/create.js +37 -37
- package/build/component/driver/teamsApp/create.js.map +1 -1
- package/build/component/driver/teamsApp/createAppPackage.d.ts +1 -3
- package/build/component/driver/teamsApp/createAppPackage.d.ts.map +1 -1
- package/build/component/driver/teamsApp/createAppPackage.js +68 -84
- package/build/component/driver/teamsApp/createAppPackage.js.map +1 -1
- package/build/component/driver/teamsApp/errors.d.ts +2 -6
- package/build/component/driver/teamsApp/errors.d.ts.map +1 -1
- package/build/component/driver/teamsApp/errors.js +42 -49
- package/build/component/driver/teamsApp/errors.js.map +1 -1
- package/build/component/driver/teamsApp/interfaces/CreateAppPackageArgs.d.ts +2 -6
- package/build/component/driver/teamsApp/interfaces/CreateAppPackageArgs.d.ts.map +1 -1
- package/build/component/driver/teamsApp/interfaces/OauthRegistration.d.ts +0 -2
- package/build/component/driver/teamsApp/interfaces/OauthRegistration.d.ts.map +1 -1
- package/build/component/driver/teamsApp/interfaces/OauthRegistration.js.map +1 -1
- package/build/component/driver/teamsApp/interfaces/appdefinitions/IValidationResult.d.ts +0 -1
- package/build/component/driver/teamsApp/interfaces/appdefinitions/IValidationResult.d.ts.map +1 -1
- package/build/component/driver/teamsApp/publishAppPackage.d.ts +1 -1
- package/build/component/driver/teamsApp/publishAppPackage.d.ts.map +1 -1
- package/build/component/driver/teamsApp/publishAppPackage.js +42 -42
- package/build/component/driver/teamsApp/publishAppPackage.js.map +1 -1
- package/build/component/driver/teamsApp/teamsappMgr.d.ts.map +1 -1
- package/build/component/driver/teamsApp/teamsappMgr.js +49 -48
- package/build/component/driver/teamsApp/teamsappMgr.js.map +1 -1
- package/build/component/driver/teamsApp/utils/CopilotGptManifestUtils.d.ts +3 -5
- package/build/component/driver/teamsApp/utils/CopilotGptManifestUtils.d.ts.map +1 -1
- package/build/component/driver/teamsApp/utils/CopilotGptManifestUtils.js +41 -72
- package/build/component/driver/teamsApp/utils/CopilotGptManifestUtils.js.map +1 -1
- package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts +2 -3
- package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts.map +1 -1
- package/build/component/driver/teamsApp/utils/ManifestUtils.js +61 -85
- package/build/component/driver/teamsApp/utils/ManifestUtils.js.map +1 -1
- package/build/component/driver/teamsApp/utils/PluginManifestUtils.d.ts +3 -4
- package/build/component/driver/teamsApp/utils/PluginManifestUtils.d.ts.map +1 -1
- package/build/component/driver/teamsApp/utils/PluginManifestUtils.js +18 -36
- package/build/component/driver/teamsApp/utils/PluginManifestUtils.js.map +1 -1
- package/build/component/driver/teamsApp/utils/telemetry.d.ts +9 -0
- package/build/component/driver/teamsApp/utils/telemetry.d.ts.map +1 -1
- package/build/component/driver/teamsApp/utils/telemetry.js +9 -0
- package/build/component/driver/teamsApp/utils/telemetry.js.map +1 -1
- package/build/component/driver/teamsApp/utils/utils.d.ts +4 -4
- package/build/component/driver/teamsApp/utils/utils.d.ts.map +1 -1
- package/build/component/driver/teamsApp/utils/utils.js +15 -45
- package/build/component/driver/teamsApp/utils/utils.js.map +1 -1
- package/build/component/driver/teamsApp/validate.js +27 -27
- package/build/component/driver/teamsApp/validate.js.map +1 -1
- package/build/component/driver/teamsApp/validateAppPackage.d.ts +5 -3
- package/build/component/driver/teamsApp/validateAppPackage.d.ts.map +1 -1
- package/build/component/driver/teamsApp/validateAppPackage.js +54 -68
- package/build/component/driver/teamsApp/validateAppPackage.js.map +1 -1
- package/build/component/driver/teamsApp/validateTestCases.d.ts +3 -3
- package/build/component/driver/teamsApp/validateTestCases.d.ts.map +1 -1
- package/build/component/driver/teamsApp/validateTestCases.js +49 -50
- package/build/component/driver/teamsApp/validateTestCases.js.map +1 -1
- package/build/component/driver/util/utils.d.ts +0 -3
- package/build/component/driver/util/utils.d.ts.map +1 -1
- package/build/component/driver/util/utils.js +1 -16
- package/build/component/driver/util/utils.js.map +1 -1
- package/build/component/driver/util/wrapUtil.d.ts.map +1 -1
- package/build/component/driver/util/wrapUtil.js +9 -12
- package/build/component/driver/util/wrapUtil.js.map +1 -1
- package/build/component/error/componentError.js +8 -8
- package/build/component/error/componentError.js.map +1 -1
- package/build/component/feature/collaboration.d.ts.map +1 -1
- package/build/component/feature/collaboration.js +59 -60
- package/build/component/feature/collaboration.js.map +1 -1
- package/build/component/feature/createAuthFiles.js +8 -8
- package/build/component/feature/createAuthFiles.js.map +1 -1
- package/build/component/feature/sso.js +6 -7
- package/build/component/feature/sso.js.map +1 -1
- package/build/component/generator/constant.d.ts +0 -1
- package/build/component/generator/constant.d.ts.map +1 -1
- package/build/component/generator/constant.js +1 -2
- package/build/component/generator/constant.js.map +1 -1
- package/build/component/generator/copilotPlugin/generator.d.ts +13 -0
- package/build/component/generator/copilotPlugin/generator.d.ts.map +1 -0
- package/build/component/generator/copilotPlugin/generator.js +275 -0
- package/build/component/generator/copilotPlugin/generator.js.map +1 -0
- package/build/component/generator/copilotPlugin/helper.d.ts +45 -0
- package/build/component/generator/copilotPlugin/helper.d.ts.map +1 -0
- package/build/component/generator/copilotPlugin/helper.js +710 -0
- package/build/component/generator/copilotPlugin/helper.js.map +1 -0
- package/build/component/generator/error.d.ts +1 -1
- package/build/component/generator/error.d.ts.map +1 -1
- package/build/component/generator/error.js +5 -5
- package/build/component/generator/error.js.map +1 -1
- package/build/component/generator/generator.d.ts.map +1 -1
- package/build/component/generator/generator.js +21 -27
- package/build/component/generator/generator.js.map +1 -1
- package/build/component/generator/generatorAction.d.ts +1 -1
- package/build/component/generator/generatorAction.d.ts.map +1 -1
- package/build/component/generator/generatorAction.js +22 -14
- package/build/component/generator/generatorAction.js.map +1 -1
- package/build/component/generator/generatorProvider.d.ts.map +1 -1
- package/build/component/generator/generatorProvider.js +2 -6
- package/build/component/generator/generatorProvider.js.map +1 -1
- package/build/component/generator/officeAddin/generator.d.ts +1 -0
- package/build/component/generator/officeAddin/generator.d.ts.map +1 -1
- package/build/component/generator/officeAddin/generator.js +73 -72
- package/build/component/generator/officeAddin/generator.js.map +1 -1
- package/build/component/generator/officeAddin/helperMethods.d.ts +0 -5
- package/build/component/generator/officeAddin/helperMethods.d.ts.map +1 -1
- package/build/component/generator/officeAddin/helperMethods.js +0 -37
- package/build/component/generator/officeAddin/helperMethods.js.map +1 -1
- package/build/component/generator/officeXMLAddin/generator.d.ts +13 -0
- package/build/component/generator/officeXMLAddin/generator.d.ts.map +1 -0
- package/build/component/generator/officeXMLAddin/generator.js +110 -0
- package/build/component/generator/officeXMLAddin/generator.js.map +1 -0
- package/build/component/generator/officeXMLAddin/projectConfig.d.ts +4 -2
- package/build/component/generator/officeXMLAddin/projectConfig.d.ts.map +1 -1
- package/build/component/generator/officeXMLAddin/projectConfig.js +86 -1
- package/build/component/generator/officeXMLAddin/projectConfig.js.map +1 -1
- package/build/component/generator/spfx/depsChecker/generatorChecker.d.ts.map +1 -1
- package/build/component/generator/spfx/depsChecker/generatorChecker.js +10 -11
- package/build/component/generator/spfx/depsChecker/generatorChecker.js.map +1 -1
- package/build/component/generator/spfx/depsChecker/yoChecker.d.ts.map +1 -1
- package/build/component/generator/spfx/depsChecker/yoChecker.js +6 -7
- package/build/component/generator/spfx/depsChecker/yoChecker.js.map +1 -1
- package/build/component/generator/spfx/error.d.ts +1 -0
- package/build/component/generator/spfx/error.d.ts.map +1 -1
- package/build/component/generator/spfx/error.js +24 -20
- package/build/component/generator/spfx/error.js.map +1 -1
- package/build/component/generator/spfx/spfxGenerator.d.ts +2 -2
- package/build/component/generator/spfx/spfxGenerator.d.ts.map +1 -1
- package/build/component/generator/spfx/spfxGenerator.js +105 -102
- package/build/component/generator/spfx/spfxGenerator.js.map +1 -1
- package/build/component/generator/spfx/utils/constants.d.ts +13 -0
- package/build/component/generator/spfx/utils/constants.d.ts.map +1 -1
- package/build/component/generator/spfx/utils/constants.js +24 -9
- package/build/component/generator/spfx/utils/constants.js.map +1 -1
- package/build/component/generator/spfx/utils/telemetry-helper.d.ts.map +1 -1
- package/build/component/generator/spfx/utils/telemetry-helper.js +9 -11
- package/build/component/generator/spfx/utils/telemetry-helper.js.map +1 -1
- package/build/component/generator/spfx/utils/utils.d.ts +1 -1
- package/build/component/generator/spfx/utils/utils.d.ts.map +1 -1
- package/build/component/generator/spfx/utils/utils.js +3 -3
- package/build/component/generator/spfx/utils/utils.js.map +1 -1
- package/build/component/generator/templates/ssrTabGenerator.d.ts.map +1 -1
- package/build/component/generator/templates/ssrTabGenerator.js +6 -6
- package/build/component/generator/templates/ssrTabGenerator.js.map +1 -1
- package/build/component/generator/templates/templateGenerator.d.ts +3 -3
- package/build/component/generator/templates/templateGenerator.d.ts.map +1 -1
- package/build/component/generator/templates/templateGenerator.js +18 -16
- package/build/component/generator/templates/templateGenerator.js.map +1 -1
- package/build/component/generator/templates/templateNames.d.ts +0 -3
- package/build/component/generator/templates/templateNames.d.ts.map +1 -1
- package/build/component/generator/templates/templateNames.js +112 -109
- package/build/component/generator/templates/templateNames.js.map +1 -1
- package/build/component/generator/templates/templateReplaceMap.d.ts.map +1 -1
- package/build/component/generator/templates/templateReplaceMap.js +15 -48
- package/build/component/generator/templates/templateReplaceMap.js.map +1 -1
- package/build/component/generator/utils.d.ts +12 -4
- package/build/component/generator/utils.d.ts.map +1 -1
- package/build/component/generator/utils.js +80 -49
- package/build/component/generator/utils.js.map +1 -1
- package/build/component/messages.js +7 -7
- package/build/component/messages.js.map +1 -1
- package/build/component/middleware/actionExecutionMW.d.ts +1 -1
- package/build/component/middleware/actionExecutionMW.d.ts.map +1 -1
- package/build/component/middleware/actionExecutionMW.js +13 -13
- package/build/component/middleware/actionExecutionMW.js.map +1 -1
- package/build/component/middleware/envMW.js +9 -9
- package/build/component/middleware/envMW.js.map +1 -1
- package/build/component/middleware/questionMW.js +4 -4
- package/build/component/middleware/questionMW.js.map +1 -1
- package/build/component/migrate.d.ts +0 -32
- package/build/component/migrate.d.ts.map +1 -1
- package/build/component/migrate.js +35 -112
- package/build/component/migrate.js.map +1 -1
- package/build/component/provisionUtils.d.ts.map +1 -1
- package/build/component/provisionUtils.js +29 -28
- package/build/component/provisionUtils.js.map +1 -1
- package/build/component/resource/botService/appStudio/appStudioClient.d.ts.map +1 -1
- package/build/component/resource/botService/appStudio/appStudioClient.js +22 -23
- package/build/component/resource/botService/appStudio/appStudioClient.js.map +1 -1
- package/build/component/resource/botService/botRegistration/botFrameworkRegistration.d.ts +1 -1
- package/build/component/resource/botService/botRegistration/botFrameworkRegistration.d.ts.map +1 -1
- package/build/component/resource/botService/botRegistration/botFrameworkRegistration.js +8 -11
- package/build/component/resource/botService/botRegistration/botFrameworkRegistration.js.map +1 -1
- package/build/component/resource/botService/constants.d.ts +13 -0
- package/build/component/resource/botService/constants.d.ts.map +1 -1
- package/build/component/resource/botService/constants.js +15 -1
- package/build/component/resource/botService/constants.js.map +1 -1
- package/build/component/resource/botService/errors.js +2 -2
- package/build/component/resource/botService/errors.js.map +1 -1
- package/build/component/resource/botService/messages.js +6 -6
- package/build/component/resource/botService/messages.js.map +1 -1
- package/build/component/resource/botService/strings.js +1 -1
- package/build/component/resource/botService/strings.js.map +1 -1
- package/build/component/telemetry.d.ts.map +1 -1
- package/build/component/telemetry.js +7 -6
- package/build/component/telemetry.js.map +1 -1
- package/build/component/utils/ResourceGroupHelper.d.ts +2 -10
- package/build/component/utils/ResourceGroupHelper.d.ts.map +1 -1
- package/build/component/utils/ResourceGroupHelper.js +62 -155
- package/build/component/utils/ResourceGroupHelper.js.map +1 -1
- package/build/component/utils/azureResourceOperation.js +2 -2
- package/build/component/utils/azureResourceOperation.js.map +1 -1
- package/build/component/utils/charsetUtils.d.ts +1 -1
- package/build/component/utils/charsetUtils.d.ts.map +1 -1
- package/build/component/utils/charsetUtils.js +1 -3
- package/build/component/utils/charsetUtils.js.map +1 -1
- package/build/component/utils/common.d.ts +3 -4
- package/build/component/utils/common.d.ts.map +1 -1
- package/build/component/utils/common.js +6 -17
- package/build/component/utils/common.js.map +1 -1
- package/build/component/utils/depsChecker/common.d.ts +3 -1
- package/build/component/utils/depsChecker/common.d.ts.map +1 -1
- package/build/component/utils/depsChecker/common.js +4 -2
- package/build/component/utils/depsChecker/common.js.map +1 -1
- package/build/component/utils/envUtil.d.ts +0 -1
- package/build/component/utils/envUtil.d.ts.map +1 -1
- package/build/component/utils/envUtil.js +20 -20
- package/build/component/utils/envUtil.js.map +1 -1
- package/build/component/utils/fileOperation.js +4 -3
- package/build/component/utils/fileOperation.js.map +1 -1
- package/build/component/utils/metadataGraphPermssion.js +3 -3
- package/build/component/utils/metadataGraphPermssion.js.map +1 -1
- package/build/component/utils/metadataUtil.js +3 -3
- package/build/component/utils/metadataUtil.js.map +1 -1
- package/build/component/utils/pathUtils.d.ts.map +1 -1
- package/build/component/utils/pathUtils.js +16 -14
- package/build/component/utils/pathUtils.js.map +1 -1
- package/build/component/utils/settingsUtil.js +8 -8
- package/build/component/utils/settingsUtil.js.map +1 -1
- package/build/component/utils/teamsFxTelemetryReporter.d.ts.map +1 -1
- package/build/component/utils/teamsFxTelemetryReporter.js +10 -7
- package/build/component/utils/teamsFxTelemetryReporter.js.map +1 -1
- package/build/component/utils.d.ts +12 -0
- package/build/component/utils.d.ts.map +1 -0
- package/build/component/utils.js +136 -0
- package/build/component/utils.js.map +1 -0
- package/build/component/workflow.d.ts +4 -0
- package/build/component/workflow.d.ts.map +1 -0
- package/build/component/workflow.js +18 -0
- package/build/component/workflow.js.map +1 -0
- package/build/core/FxCore.d.ts +4 -37
- package/build/core/FxCore.d.ts.map +1 -1
- package/build/core/FxCore.js +477 -750
- package/build/core/FxCore.js.map +1 -1
- package/build/core/callback.d.ts +2 -2
- package/build/core/callback.d.ts.map +1 -1
- package/build/core/callback.js.map +1 -1
- package/build/core/collaborator.d.ts.map +1 -1
- package/build/core/collaborator.js +72 -70
- package/build/core/collaborator.js.map +1 -1
- package/build/core/crypto.d.ts.map +1 -1
- package/build/core/crypto.js +5 -4
- package/build/core/crypto.js.map +1 -1
- package/build/core/environment.js +7 -7
- package/build/core/environment.js.map +1 -1
- package/build/core/environmentName.d.ts +1 -0
- package/build/core/environmentName.d.ts.map +1 -1
- package/build/core/environmentName.js +2 -0
- package/build/core/environmentName.js.map +1 -1
- package/build/core/error.d.ts +32 -0
- package/build/core/error.d.ts.map +1 -0
- package/build/core/error.js +122 -0
- package/build/core/error.js.map +1 -0
- package/build/{common → core}/globalVars.d.ts +1 -3
- package/build/core/globalVars.d.ts.map +1 -0
- package/build/{common → core}/globalVars.js +1 -12
- package/build/core/globalVars.js.map +1 -0
- package/build/core/middleware/concurrentLocker.d.ts.map +1 -1
- package/build/core/middleware/concurrentLocker.js +20 -19
- package/build/core/middleware/concurrentLocker.js.map +1 -1
- package/build/core/middleware/errorHandler.js +5 -5
- package/build/core/middleware/errorHandler.js.map +1 -1
- package/build/core/middleware/projectMigratorV3.d.ts +1 -5
- package/build/core/middleware/projectMigratorV3.d.ts.map +1 -1
- package/build/core/middleware/projectMigratorV3.js +100 -104
- package/build/core/middleware/projectMigratorV3.js.map +1 -1
- package/build/core/middleware/projectSettingsLoader.js +4 -4
- package/build/core/middleware/projectSettingsLoader.js.map +1 -1
- package/build/core/middleware/projectVersionChecker.js +14 -14
- package/build/core/middleware/projectVersionChecker.js.map +1 -1
- package/build/core/middleware/utils/MigrationUtils.js +5 -5
- package/build/core/middleware/utils/MigrationUtils.js.map +1 -1
- package/build/core/middleware/utils/appYmlGenerator.d.ts +0 -1
- package/build/core/middleware/utils/appYmlGenerator.d.ts.map +1 -1
- package/build/core/middleware/utils/appYmlGenerator.js +9 -15
- package/build/core/middleware/utils/appYmlGenerator.js.map +1 -1
- package/build/core/middleware/utils/debug/debugV3MigrationUtils.js +10 -10
- package/build/core/middleware/utils/debug/debugV3MigrationUtils.js.map +1 -1
- package/build/core/middleware/utils/debug/taskMigrator.js +74 -74
- package/build/core/middleware/utils/debug/taskMigrator.js.map +1 -1
- package/build/core/middleware/utils/migrationContext.js +1 -1
- package/build/core/middleware/utils/migrationContext.js.map +1 -1
- package/build/core/middleware/utils/v3MigrationUtils.js +13 -13
- package/build/core/middleware/utils/v3MigrationUtils.js.map +1 -1
- package/build/core/middleware/videoFilterAppBlocker.d.ts +0 -2
- package/build/core/middleware/videoFilterAppBlocker.d.ts.map +1 -1
- package/build/core/middleware/videoFilterAppBlocker.js +5 -21
- package/build/core/middleware/videoFilterAppBlocker.js.map +1 -1
- package/build/core/telemetry.d.ts +5 -0
- package/build/core/telemetry.d.ts.map +1 -1
- package/build/core/telemetry.js +17 -9
- package/build/core/telemetry.js.map +1 -1
- package/build/error/arm.js +10 -10
- package/build/error/arm.js.map +1 -1
- package/build/error/azure.js +20 -20
- package/build/error/azure.js.map +1 -1
- package/build/error/common.d.ts +1 -36
- package/build/error/common.d.ts.map +1 -1
- package/build/error/common.js +64 -175
- package/build/error/common.js.map +1 -1
- package/build/error/deploy.js +24 -24
- package/build/error/deploy.js.map +1 -1
- package/build/error/m365.js +6 -6
- package/build/error/m365.js.map +1 -1
- package/build/error/script.d.ts +2 -2
- package/build/error/script.d.ts.map +1 -1
- package/build/error/script.js +8 -14
- package/build/error/script.js.map +1 -1
- package/build/error/teamsApp.d.ts +0 -3
- package/build/error/teamsApp.d.ts.map +1 -1
- package/build/error/teamsApp.js +7 -20
- package/build/error/teamsApp.js.map +1 -1
- package/build/error/upgrade.js +2 -2
- package/build/error/upgrade.js.map +1 -1
- package/build/error/yml.js +13 -13
- package/build/error/yml.js.map +1 -1
- package/build/failpoint/index.d.ts +3 -0
- package/build/failpoint/index.d.ts.map +1 -0
- package/build/failpoint/index.js +11 -0
- package/build/failpoint/index.js.map +1 -0
- package/build/failpoint/marker.d.ts +13 -0
- package/build/failpoint/marker.d.ts.map +1 -0
- package/build/{question/inputs/SyncManifestInputs.js → failpoint/marker.js} +4 -1
- package/build/failpoint/marker.js.map +1 -0
- package/build/failpoint/runtime.d.ts +12 -0
- package/build/failpoint/runtime.d.ts.map +1 -0
- package/build/failpoint/runtime.js +67 -0
- package/build/failpoint/runtime.js.map +1 -0
- package/build/index.d.ts +36 -61
- package/build/index.d.ts.map +1 -1
- package/build/index.js +53 -132
- package/build/index.js.map +1 -1
- package/build/question/constants.d.ts +5 -269
- package/build/question/constants.d.ts.map +1 -1
- package/build/question/constants.js +13 -1107
- package/build/question/constants.js.map +1 -1
- package/build/question/create.d.ts +151 -13
- package/build/question/create.d.ts.map +1 -1
- package/build/question/create.js +1386 -542
- package/build/question/create.js.map +1 -1
- package/build/question/generator.js +2 -6
- package/build/question/generator.js.map +1 -1
- package/build/question/index.d.ts +3 -3
- package/build/question/index.d.ts.map +1 -1
- package/build/question/index.js +21 -23
- package/build/question/index.js.map +1 -1
- package/build/question/inputs/AddPluginInputs.d.ts +4 -8
- package/build/question/inputs/AddPluginInputs.d.ts.map +1 -1
- package/build/question/inputs/CreateProjectInputs.d.ts +8 -14
- package/build/question/inputs/CreateProjectInputs.d.ts.map +1 -1
- package/build/question/inputs/index.d.ts +0 -2
- package/build/question/inputs/index.d.ts.map +1 -1
- package/build/question/inputs/index.js +0 -2
- package/build/question/inputs/index.js.map +1 -1
- package/build/question/options/AddPluginOptions.d.ts.map +1 -1
- package/build/question/options/AddPluginOptions.js +10 -19
- package/build/question/options/AddPluginOptions.js.map +1 -1
- package/build/question/options/CreateProjectOptions.d.ts.map +1 -1
- package/build/question/options/CreateProjectOptions.js +33 -36
- package/build/question/options/CreateProjectOptions.js.map +1 -1
- package/build/question/options/index.d.ts +0 -2
- package/build/question/options/index.d.ts.map +1 -1
- package/build/question/options/index.js +0 -2
- package/build/question/options/index.js.map +1 -1
- package/build/question/other.d.ts +29 -4
- package/build/question/other.d.ts.map +1 -1
- package/build/question/other.js +343 -284
- package/build/question/other.js.map +1 -1
- package/build/question/questionNames.d.ts +78 -0
- package/build/question/questionNames.d.ts.map +1 -0
- package/build/question/questionNames.js +85 -0
- package/build/question/questionNames.js.map +1 -0
- package/build/question/util.d.ts +2 -0
- package/build/question/util.d.ts.map +1 -0
- package/build/question/util.js +18 -0
- package/build/question/util.js.map +1 -0
- package/build/ui/visitor.d.ts +1 -0
- package/build/ui/visitor.d.ts.map +1 -1
- package/build/ui/visitor.js +38 -57
- package/build/ui/visitor.js.map +1 -1
- package/package.json +14 -21
- package/resource/deps-checker/dotnet-install.ps1 +423 -912
- package/resource/deps-checker/dotnet-install.sh +238 -876
- package/resource/package.nls.json +156 -189
- package/resource/yaml-schema/yaml.schema.json +1 -59
- package/templates/core/v3Migration/js.ts.app.local.yml +3 -3
- package/templates/fallback/common.zip +0 -0
- package/templates/fallback/csharp.zip +0 -0
- package/templates/fallback/js.zip +0 -0
- package/templates/fallback/python.zip +0 -0
- package/templates/fallback/ts.zip +0 -0
- package/templates/plugins/resource/aad/auth/V3/aad.manifest.template.json +0 -6
- package/templates/plugins/resource/aad/manifest/aad.template.json +0 -6
- package/templates/plugins/resource/aad/manifest/bot/aad.manifest.template.json +0 -6
- package/templates/plugins/resource/aad/manifest/tab/aad.manifest.template.json +0 -6
- package/build/client/teamsDevPortalClient.d.ts +0 -128
- package/build/client/teamsDevPortalClient.d.ts.map +0 -1
- package/build/client/teamsDevPortalClient.js +0 -949
- package/build/client/teamsDevPortalClient.js.map +0 -1
- package/build/common/azureUtils.d.ts +0 -3
- package/build/common/azureUtils.d.ts.map +0 -1
- package/build/common/azureUtils.js +0 -50
- package/build/common/azureUtils.js.map +0 -1
- package/build/common/globalVars.d.ts.map +0 -1
- package/build/common/globalVars.js.map +0 -1
- package/build/common/requestUtils.d.ts +0 -4
- package/build/common/requestUtils.d.ts.map +0 -1
- package/build/common/requestUtils.js +0 -52
- package/build/common/requestUtils.js.map +0 -1
- package/build/common/secretmasker/dict.d.ts +0 -22
- package/build/common/secretmasker/dict.d.ts.map +0 -1
- package/build/common/secretmasker/dict.js +0 -83
- package/build/common/secretmasker/dict.js.map +0 -1
- package/build/common/secretmasker/feature.d.ts +0 -19
- package/build/common/secretmasker/feature.d.ts.map +0 -1
- package/build/common/secretmasker/feature.js +0 -389
- package/build/common/secretmasker/feature.js.map +0 -1
- package/build/common/secretmasker/masker.d.ts +0 -12
- package/build/common/secretmasker/masker.d.ts.map +0 -1
- package/build/common/secretmasker/masker.js +0 -54
- package/build/common/secretmasker/masker.js.map +0 -1
- package/build/component/deps-checker/checkerFactory.d.ts.map +0 -1
- package/build/component/deps-checker/checkerFactory.js.map +0 -1
- package/build/component/deps-checker/constant/helpLink.d.ts.map +0 -1
- package/build/component/deps-checker/constant/helpLink.js.map +0 -1
- package/build/component/deps-checker/constant/index.d.ts.map +0 -1
- package/build/component/deps-checker/constant/index.js.map +0 -1
- package/build/component/deps-checker/constant/message.d.ts.map +0 -1
- package/build/component/deps-checker/constant/message.js +0 -45
- package/build/component/deps-checker/constant/message.js.map +0 -1
- package/build/component/deps-checker/constant/telemetry.d.ts.map +0 -1
- package/build/component/deps-checker/constant/telemetry.js.map +0 -1
- package/build/component/deps-checker/coreDepsLoggerAdapter.d.ts.map +0 -1
- package/build/component/deps-checker/coreDepsLoggerAdapter.js.map +0 -1
- package/build/component/deps-checker/coreDepsTelemetryAdapter.d.ts.map +0 -1
- package/build/component/deps-checker/coreDepsTelemetryAdapter.js.map +0 -1
- package/build/component/deps-checker/depsChecker.d.ts.map +0 -1
- package/build/component/deps-checker/depsChecker.js.map +0 -1
- package/build/component/deps-checker/depsError.d.ts.map +0 -1
- package/build/component/deps-checker/depsError.js.map +0 -1
- package/build/component/deps-checker/depsLogger.d.ts.map +0 -1
- package/build/component/deps-checker/depsLogger.js.map +0 -1
- package/build/component/deps-checker/depsManager.d.ts.map +0 -1
- package/build/component/deps-checker/depsManager.js.map +0 -1
- package/build/component/deps-checker/depsTelemetry.d.ts.map +0 -1
- package/build/component/deps-checker/depsTelemetry.js.map +0 -1
- package/build/component/deps-checker/index.d.ts.map +0 -1
- package/build/component/deps-checker/index.js.map +0 -1
- package/build/component/deps-checker/internal/dotnetChecker.d.ts.map +0 -1
- package/build/component/deps-checker/internal/dotnetChecker.js.map +0 -1
- package/build/component/deps-checker/internal/funcToolChecker.d.ts.map +0 -1
- package/build/component/deps-checker/internal/funcToolChecker.js.map +0 -1
- package/build/component/deps-checker/internal/nodeChecker.d.ts.map +0 -1
- package/build/component/deps-checker/internal/nodeChecker.js.map +0 -1
- package/build/component/deps-checker/internal/testToolChecker.d.ts.map +0 -1
- package/build/component/deps-checker/internal/testToolChecker.js.map +0 -1
- package/build/component/deps-checker/internal/vxTestAppChecker.d.ts.map +0 -1
- package/build/component/deps-checker/internal/vxTestAppChecker.js.map +0 -1
- package/build/component/deps-checker/util/cpUtils.d.ts.map +0 -1
- package/build/component/deps-checker/util/cpUtils.js.map +0 -1
- package/build/component/deps-checker/util/downloadHelper.d.ts.map +0 -1
- package/build/component/deps-checker/util/downloadHelper.js.map +0 -1
- package/build/component/deps-checker/util/fileHelper.d.ts.map +0 -1
- package/build/component/deps-checker/util/fileHelper.js.map +0 -1
- package/build/component/deps-checker/util/index.d.ts.map +0 -1
- package/build/component/deps-checker/util/index.js.map +0 -1
- package/build/component/deps-checker/util/progressIndicator.d.ts.map +0 -1
- package/build/component/deps-checker/util/progressIndicator.js.map +0 -1
- package/build/component/deps-checker/util/system.d.ts.map +0 -1
- package/build/component/deps-checker/util/system.js.map +0 -1
- package/build/component/driver/aad/error/missingServiceManagamentReferenceError.d.ts +0 -5
- package/build/component/driver/aad/error/missingServiceManagamentReferenceError.d.ts.map +0 -1
- package/build/component/driver/aad/error/missingServiceManagamentReferenceError.js +0 -23
- package/build/component/driver/aad/error/missingServiceManagamentReferenceError.js.map +0 -1
- package/build/component/driver/apiKey/error/apiKeyFromScratchClientSecretInvalid.d.ts +0 -5
- package/build/component/driver/apiKey/error/apiKeyFromScratchClientSecretInvalid.d.ts.map +0 -1
- package/build/component/driver/apiKey/error/apiKeyFromScratchClientSecretInvalid.js +0 -21
- package/build/component/driver/apiKey/error/apiKeyFromScratchClientSecretInvalid.js.map +0 -1
- package/build/component/driver/oauth/error/oauthDisablePKCEError.d.ts +0 -5
- package/build/component/driver/oauth/error/oauthDisablePKCEError.d.ts.map +0 -1
- package/build/component/driver/oauth/error/oauthDisablePKCEError.js +0 -21
- package/build/component/driver/oauth/error/oauthDisablePKCEError.js.map +0 -1
- package/build/component/driver/oauth/error/oauthIdentityProviderInvalid.d.ts +0 -5
- package/build/component/driver/oauth/error/oauthIdentityProviderInvalid.d.ts.map +0 -1
- package/build/component/driver/oauth/error/oauthIdentityProviderInvalid.js +0 -21
- package/build/component/driver/oauth/error/oauthIdentityProviderInvalid.js.map +0 -1
- package/build/component/driver/teamsApp/interfaces/SyncManifest.d.ts +0 -20
- package/build/component/driver/teamsApp/interfaces/SyncManifest.d.ts.map +0 -1
- package/build/component/driver/teamsApp/interfaces/SyncManifest.js +0 -5
- package/build/component/driver/teamsApp/interfaces/SyncManifest.js.map +0 -1
- package/build/component/driver/teamsApp/syncManifest.d.ts +0 -14
- package/build/component/driver/teamsApp/syncManifest.d.ts.map +0 -1
- package/build/component/driver/teamsApp/syncManifest.js +0 -226
- package/build/component/driver/teamsApp/syncManifest.js.map +0 -1
- package/build/component/generator/apiSpec/generator.d.ts +0 -15
- package/build/component/generator/apiSpec/generator.d.ts.map +0 -1
- package/build/component/generator/apiSpec/generator.js +0 -274
- package/build/component/generator/apiSpec/generator.js.map +0 -1
- package/build/component/generator/apiSpec/helper.d.ts +0 -50
- package/build/component/generator/apiSpec/helper.d.ts.map +0 -1
- package/build/component/generator/apiSpec/helper.js +0 -834
- package/build/component/generator/apiSpec/helper.js.map +0 -1
- package/build/component/generator/copilotExtension/generator.d.ts +0 -19
- package/build/component/generator/copilotExtension/generator.d.ts.map +0 -1
- package/build/component/generator/copilotExtension/generator.js +0 -116
- package/build/component/generator/copilotExtension/generator.js.map +0 -1
- package/build/component/generator/copilotExtension/helper.d.ts +0 -8
- package/build/component/generator/copilotExtension/helper.d.ts.map +0 -1
- package/build/component/generator/copilotExtension/helper.js +0 -114
- package/build/component/generator/copilotExtension/helper.js.map +0 -1
- package/build/component/local/constants.d.ts +0 -186
- package/build/component/local/constants.d.ts.map +0 -1
- package/build/component/local/constants.js.map +0 -1
- package/build/component/local/index.d.ts.map +0 -1
- package/build/component/local/index.js.map +0 -1
- package/build/component/local/localCertificateManager.d.ts.map +0 -1
- package/build/component/local/localCertificateManager.js.map +0 -1
- package/build/component/local/localEnvManager.d.ts.map +0 -1
- package/build/component/local/localEnvManager.js.map +0 -1
- package/build/component/local/localTelemetryReporter.d.ts.map +0 -1
- package/build/component/local/localTelemetryReporter.js.map +0 -1
- package/build/component/local/npmLogHelper.d.ts.map +0 -1
- package/build/component/local/npmLogHelper.js.map +0 -1
- package/build/component/local/packageJsonHelper.d.ts.map +0 -1
- package/build/component/local/packageJsonHelper.js.map +0 -1
- package/build/component/local/portChecker.d.ts.map +0 -1
- package/build/component/local/portChecker.js.map +0 -1
- package/build/component/local/process.d.ts.map +0 -1
- package/build/component/local/process.js.map +0 -1
- package/build/component/local/taskDefinition.d.ts.map +0 -1
- package/build/component/local/taskDefinition.js.map +0 -1
- package/build/component/m365/constants.d.ts +0 -9
- package/build/component/m365/constants.d.ts.map +0 -1
- package/build/component/m365/constants.js.map +0 -1
- package/build/component/m365/errors.d.ts.map +0 -1
- package/build/component/m365/errors.js.map +0 -1
- package/build/component/m365/launchHelper.d.ts +0 -12
- package/build/component/m365/launchHelper.d.ts.map +0 -1
- package/build/component/m365/launchHelper.js.map +0 -1
- package/build/component/m365/packageService.d.ts.map +0 -1
- package/build/component/m365/packageService.js.map +0 -1
- package/build/component/m365/serviceConstant.d.ts +0 -3
- package/build/component/m365/serviceConstant.d.ts.map +0 -1
- package/build/component/m365/serviceConstant.js +0 -8
- package/build/component/m365/serviceConstant.js.map +0 -1
- package/build/component/utils/envFunctionUtils.d.ts +0 -12
- package/build/component/utils/envFunctionUtils.d.ts.map +0 -1
- package/build/component/utils/envFunctionUtils.js +0 -185
- package/build/component/utils/envFunctionUtils.js.map +0 -1
- package/build/question/inputs/SyncManifestInputs.d.ts +0 -16
- package/build/question/inputs/SyncManifestInputs.d.ts.map +0 -1
- package/build/question/inputs/SyncManifestInputs.js.map +0 -1
- package/build/question/inputs/UninstallInputs.d.ts +0 -22
- package/build/question/inputs/UninstallInputs.d.ts.map +0 -1
- package/build/question/inputs/UninstallInputs.js +0 -5
- package/build/question/inputs/UninstallInputs.js.map +0 -1
- package/build/question/options/SyncManifestOptions.d.ts +0 -10
- package/build/question/options/SyncManifestOptions.d.ts.map +0 -1
- package/build/question/options/SyncManifestOptions.js +0 -28
- package/build/question/options/SyncManifestOptions.js.map +0 -1
- package/build/question/options/UninstallOptions.d.ts +0 -10
- package/build/question/options/UninstallOptions.d.ts.map +0 -1
- package/build/question/options/UninstallOptions.js +0 -44
- package/build/question/options/UninstallOptions.js.map +0 -1
- package/build/tsconfig.tsbuildinfo +0 -1
- package/resource/dict.zip +0 -0
- package/resource/yaml-schema/v1.6/yaml.schema.json +0 -1842
- package/resource/yaml-schema/v1.7/yaml.schema.json +0 -1842
- /package/build/{component → common}/deps-checker/checkerFactory.d.ts +0 -0
- /package/build/{component → common}/deps-checker/checkerFactory.js +0 -0
- /package/build/{component → common}/deps-checker/constant/index.d.ts +0 -0
- /package/build/{component → common}/deps-checker/constant/index.js +0 -0
- /package/build/{component → common}/deps-checker/constant/message.d.ts +0 -0
- /package/build/{component → common}/deps-checker/constant/telemetry.d.ts +0 -0
- /package/build/{component → common}/deps-checker/constant/telemetry.js +0 -0
- /package/build/{component → common}/deps-checker/coreDepsLoggerAdapter.d.ts +0 -0
- /package/build/{component → common}/deps-checker/coreDepsLoggerAdapter.js +0 -0
- /package/build/{component → common}/deps-checker/coreDepsTelemetryAdapter.d.ts +0 -0
- /package/build/{component → common}/deps-checker/depsChecker.d.ts +0 -0
- /package/build/{component → common}/deps-checker/depsChecker.js +0 -0
- /package/build/{component → common}/deps-checker/depsError.d.ts +0 -0
- /package/build/{component → common}/deps-checker/depsError.js +0 -0
- /package/build/{component → common}/deps-checker/depsLogger.d.ts +0 -0
- /package/build/{component → common}/deps-checker/depsLogger.js +0 -0
- /package/build/{component → common}/deps-checker/depsManager.d.ts +0 -0
- /package/build/{component → common}/deps-checker/depsManager.js +0 -0
- /package/build/{component → common}/deps-checker/depsTelemetry.d.ts +0 -0
- /package/build/{component → common}/deps-checker/depsTelemetry.js +0 -0
- /package/build/{component → common}/deps-checker/index.d.ts +0 -0
- /package/build/{component → common}/deps-checker/index.js +0 -0
- /package/build/{component → common}/deps-checker/internal/dotnetChecker.d.ts +0 -0
- /package/build/{component → common}/deps-checker/internal/funcToolChecker.d.ts +0 -0
- /package/build/{component → common}/deps-checker/internal/nodeChecker.d.ts +0 -0
- /package/build/{component → common}/deps-checker/internal/nodeChecker.js +0 -0
- /package/build/{component → common}/deps-checker/internal/testToolChecker.d.ts +0 -0
- /package/build/{component → common}/deps-checker/internal/vxTestAppChecker.d.ts +0 -0
- /package/build/{component → common}/deps-checker/util/cpUtils.d.ts +0 -0
- /package/build/{component → common}/deps-checker/util/cpUtils.js +0 -0
- /package/build/{component → common}/deps-checker/util/downloadHelper.d.ts +0 -0
- /package/build/{component → common}/deps-checker/util/downloadHelper.js +0 -0
- /package/build/{component → common}/deps-checker/util/fileHelper.d.ts +0 -0
- /package/build/{component → common}/deps-checker/util/fileHelper.js +0 -0
- /package/build/{component → common}/deps-checker/util/index.d.ts +0 -0
- /package/build/{component → common}/deps-checker/util/index.js +0 -0
- /package/build/{component → common}/deps-checker/util/progressIndicator.d.ts +0 -0
- /package/build/{component → common}/deps-checker/util/progressIndicator.js +0 -0
- /package/build/{component → common}/deps-checker/util/system.d.ts +0 -0
- /package/build/{component → common}/deps-checker/util/system.js +0 -0
- /package/build/{component → common}/local/index.d.ts +0 -0
- /package/build/{component → common}/local/index.js +0 -0
- /package/build/{component → common}/local/localCertificateManager.d.ts +0 -0
- /package/build/{component → common}/local/localEnvManager.d.ts +0 -0
- /package/build/{component → common}/local/localTelemetryReporter.d.ts +0 -0
- /package/build/{component → common}/local/npmLogHelper.d.ts +0 -0
- /package/build/{component → common}/local/npmLogHelper.js +0 -0
- /package/build/{component → common}/local/packageJsonHelper.d.ts +0 -0
- /package/build/{component → common}/local/packageJsonHelper.js +0 -0
- /package/build/{component → common}/local/portChecker.d.ts +0 -0
- /package/build/{component → common}/local/process.d.ts +0 -0
- /package/build/{component → common}/local/process.js +0 -0
- /package/build/{component → common}/local/taskDefinition.d.ts +0 -0
- /package/build/{component → common}/m365/errors.d.ts +0 -0
- /package/build/{component → common}/m365/packageService.d.ts +0 -0
|
@@ -9,41 +9,22 @@
|
|
|
9
9
|
.DESCRIPTION
|
|
10
10
|
Installs dotnet cli. If dotnet installation already exists in the given directory
|
|
11
11
|
it will update it only if the requested version differs from the one already installed.
|
|
12
|
-
|
|
13
|
-
Note that the intended use of this script is for Continuous Integration (CI) scenarios, where:
|
|
14
|
-
- The SDK needs to be installed without user interaction and without admin rights.
|
|
15
|
-
- The SDK installation doesn't need to persist across multiple CI runs.
|
|
16
|
-
To set up a development environment or to run apps, use installers rather than this script. Visit https://dotnet.microsoft.com/download to get the installer.
|
|
17
|
-
|
|
18
12
|
.PARAMETER Channel
|
|
19
13
|
Default: LTS
|
|
20
14
|
Download from the Channel specified. Possible values:
|
|
21
|
-
-
|
|
22
|
-
- LTS -
|
|
15
|
+
- Current - most current release
|
|
16
|
+
- LTS - most current supported release
|
|
23
17
|
- 2-part version in a format A.B - represents a specific release
|
|
24
18
|
examples: 2.0, 1.0
|
|
25
|
-
-
|
|
26
|
-
examples:
|
|
27
|
-
|
|
28
|
-
Warning: Value "Current" is deprecated for the Channel parameter. Use "STS" instead.
|
|
29
|
-
Note: The version parameter overrides the channel parameter when any version other than 'latest' is used.
|
|
30
|
-
.PARAMETER Quality
|
|
31
|
-
Download the latest build of specified quality in the channel. The possible values are: daily, signed, validated, preview, GA.
|
|
32
|
-
Works only in combination with channel. Not applicable for STS and LTS channels and will be ignored if those channels are used.
|
|
33
|
-
For SDK use channel in A.B.Cxx format: using quality together with channel in A.B format is not supported.
|
|
34
|
-
Supported since 5.0 release.
|
|
35
|
-
Note: The version parameter overrides the channel parameter when any version other than 'latest' is used, and therefore overrides the quality.
|
|
19
|
+
- Branch name
|
|
20
|
+
examples: release/2.0.0, Master
|
|
21
|
+
Note: The version parameter overrides the channel parameter.
|
|
36
22
|
.PARAMETER Version
|
|
37
23
|
Default: latest
|
|
38
24
|
Represents a build version on specific channel. Possible values:
|
|
39
|
-
- latest -
|
|
25
|
+
- latest - most latest build on specific channel
|
|
40
26
|
- 3-part version in a format A.B.C - represents specific version of build
|
|
41
27
|
examples: 2.0.0-preview2-006120, 1.1.0
|
|
42
|
-
.PARAMETER Internal
|
|
43
|
-
Download internal builds. Requires providing credentials via -FeedCredential parameter.
|
|
44
|
-
.PARAMETER FeedCredential
|
|
45
|
-
Token to access Azure feed. Used as a query string to append to the Azure feed.
|
|
46
|
-
This parameter typically is not specified.
|
|
47
28
|
.PARAMETER InstallDir
|
|
48
29
|
Default: %LocalAppData%\Microsoft\dotnet
|
|
49
30
|
Path to where to install dotnet. Note that binaries will be placed directly in a given directory.
|
|
@@ -73,13 +54,14 @@
|
|
|
73
54
|
Displays diagnostics information.
|
|
74
55
|
.PARAMETER AzureFeed
|
|
75
56
|
Default: https://dotnetcli.azureedge.net/dotnet
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
This parameter is only used if $NoCdn is false.
|
|
57
|
+
This parameter typically is not changed by the user.
|
|
58
|
+
It allows changing the URL for the Azure feed used by this installer.
|
|
79
59
|
.PARAMETER UncachedFeed
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
60
|
+
This parameter typically is not changed by the user.
|
|
61
|
+
It allows changing the URL for the Uncached feed used by this installer.
|
|
62
|
+
.PARAMETER FeedCredential
|
|
63
|
+
Used as a query string to append to the Azure feed.
|
|
64
|
+
It allows changing the URL to use non-public blob storage accounts.
|
|
83
65
|
.PARAMETER ProxyAddress
|
|
84
66
|
If set, the installer will use the proxy when making web requests
|
|
85
67
|
.PARAMETER ProxyUseDefaultCredentials
|
|
@@ -95,52 +77,48 @@
|
|
|
95
77
|
.PARAMETER JSonFile
|
|
96
78
|
Determines the SDK version from a user specified global.json file
|
|
97
79
|
Note: global.json must have a value for 'SDK:Version'
|
|
98
|
-
.PARAMETER DownloadTimeout
|
|
99
|
-
Determines timeout duration in seconds for dowloading of the SDK file
|
|
100
|
-
Default: 1200 seconds (20 minutes)
|
|
101
|
-
.PARAMETER KeepZip
|
|
102
|
-
If set, downloaded file is kept
|
|
103
|
-
.PARAMETER ZipPath
|
|
104
|
-
Use that path to store installer, generated by default
|
|
105
|
-
.EXAMPLE
|
|
106
|
-
dotnet-install.ps1 -Version 7.0.401
|
|
107
|
-
Installs the .NET SDK version 7.0.401
|
|
108
|
-
.EXAMPLE
|
|
109
|
-
dotnet-install.ps1 -Channel 8.0 -Quality GA
|
|
110
|
-
Installs the latest GA (general availability) version of the .NET 8.0 SDK
|
|
111
80
|
#>
|
|
112
81
|
[cmdletbinding()]
|
|
113
82
|
param(
|
|
114
83
|
[string]$Channel="LTS",
|
|
115
|
-
[string]$Quality,
|
|
116
84
|
[string]$Version="Latest",
|
|
117
|
-
[switch]$Internal,
|
|
118
85
|
[string]$JSonFile,
|
|
119
|
-
[
|
|
86
|
+
[string]$InstallDir="<auto>",
|
|
120
87
|
[string]$Architecture="<auto>",
|
|
88
|
+
[ValidateSet("dotnet", "aspnetcore", "windowsdesktop", IgnoreCase = $false)]
|
|
121
89
|
[string]$Runtime,
|
|
122
90
|
[Obsolete("This parameter may be removed in a future version of this script. The recommended alternative is '-Runtime dotnet'.")]
|
|
123
91
|
[switch]$SharedRuntime,
|
|
124
92
|
[switch]$DryRun,
|
|
125
93
|
[switch]$NoPath,
|
|
126
|
-
[string]$AzureFeed,
|
|
127
|
-
[string]$UncachedFeed,
|
|
94
|
+
[string]$AzureFeed="https://dotnetcli.azureedge.net/dotnet",
|
|
95
|
+
[string]$UncachedFeed="https://dotnetcli.blob.core.windows.net/dotnet",
|
|
128
96
|
[string]$FeedCredential,
|
|
129
97
|
[string]$ProxyAddress,
|
|
130
98
|
[switch]$ProxyUseDefaultCredentials,
|
|
131
99
|
[string[]]$ProxyBypassList=@(),
|
|
132
100
|
[switch]$SkipNonVersionedFiles,
|
|
133
|
-
[switch]$NoCdn
|
|
134
|
-
[int]$DownloadTimeout=1200,
|
|
135
|
-
[switch]$KeepZip,
|
|
136
|
-
[string]$ZipPath=[System.IO.Path]::combine([System.IO.Path]::GetTempPath(), [System.IO.Path]::GetRandomFileName()),
|
|
137
|
-
[switch]$Help
|
|
101
|
+
[switch]$NoCdn
|
|
138
102
|
)
|
|
139
103
|
|
|
140
104
|
Set-StrictMode -Version Latest
|
|
141
105
|
$ErrorActionPreference="Stop"
|
|
142
106
|
$ProgressPreference="SilentlyContinue"
|
|
143
107
|
|
|
108
|
+
if ($NoCdn) {
|
|
109
|
+
$AzureFeed = $UncachedFeed
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
$BinFolderRelativePath=""
|
|
113
|
+
|
|
114
|
+
if ($SharedRuntime -and (-not $Runtime)) {
|
|
115
|
+
$Runtime = "dotnet"
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
# example path with regex: shared/1.0.0-beta-12345/somepath
|
|
119
|
+
$VersionRegEx="/\d+\.\d+[^/]+/"
|
|
120
|
+
$OverrideNonVersionedFiles = !$SkipNonVersionedFiles
|
|
121
|
+
|
|
144
122
|
function Say($str) {
|
|
145
123
|
try {
|
|
146
124
|
Write-Host "dotnet-install: $str"
|
|
@@ -183,38 +161,14 @@ function Say-Verbose($str) {
|
|
|
183
161
|
}
|
|
184
162
|
}
|
|
185
163
|
|
|
186
|
-
function Measure-Action($name, $block) {
|
|
187
|
-
$time = Measure-Command $block
|
|
188
|
-
$totalSeconds = $time.TotalSeconds
|
|
189
|
-
Say-Verbose "⏱ Action '$name' took $totalSeconds seconds"
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
function Get-Remote-File-Size($zipUri) {
|
|
193
|
-
try {
|
|
194
|
-
$response = Invoke-WebRequest -Uri $zipUri -Method Head
|
|
195
|
-
$fileSize = $response.Headers["Content-Length"]
|
|
196
|
-
if ((![string]::IsNullOrEmpty($fileSize))) {
|
|
197
|
-
Say "Remote file $zipUri size is $fileSize bytes."
|
|
198
|
-
|
|
199
|
-
return $fileSize
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
catch {
|
|
203
|
-
Say-Verbose "Content-Length header was not extracted for $zipUri."
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
return $null
|
|
207
|
-
}
|
|
208
|
-
|
|
209
164
|
function Say-Invocation($Invocation) {
|
|
210
165
|
$command = $Invocation.MyCommand;
|
|
211
166
|
$args = (($Invocation.BoundParameters.Keys | foreach { "-$_ `"$($Invocation.BoundParameters[$_])`"" }) -join " ")
|
|
212
167
|
Say-Verbose "$command $args"
|
|
213
168
|
}
|
|
214
169
|
|
|
215
|
-
function Invoke-With-Retry([ScriptBlock]$ScriptBlock, [
|
|
170
|
+
function Invoke-With-Retry([ScriptBlock]$ScriptBlock, [int]$MaxAttempts = 3, [int]$SecondsBetweenAttempts = 1) {
|
|
216
171
|
$Attempts = 0
|
|
217
|
-
$local:startTime = $(get-date)
|
|
218
172
|
|
|
219
173
|
while ($true) {
|
|
220
174
|
try {
|
|
@@ -222,15 +176,11 @@ function Invoke-With-Retry([ScriptBlock]$ScriptBlock, [System.Threading.Cancella
|
|
|
222
176
|
}
|
|
223
177
|
catch {
|
|
224
178
|
$Attempts++
|
|
225
|
-
if (
|
|
179
|
+
if ($Attempts -lt $MaxAttempts) {
|
|
226
180
|
Start-Sleep $SecondsBetweenAttempts
|
|
227
181
|
}
|
|
228
182
|
else {
|
|
229
|
-
|
|
230
|
-
if (($local:elapsedTime.TotalSeconds - $DownloadTimeout) -gt 0 -and -not $cancellationToken.IsCancellationRequested) {
|
|
231
|
-
throw New-Object System.TimeoutException("Failed to reach the server: connection timeout: default timeout is $DownloadTimeout second(s)");
|
|
232
|
-
}
|
|
233
|
-
throw;
|
|
183
|
+
throw
|
|
234
184
|
}
|
|
235
185
|
}
|
|
236
186
|
}
|
|
@@ -243,21 +193,10 @@ function Get-Machine-Architecture() {
|
|
|
243
193
|
# To get the correct architecture, we need to use PROCESSOR_ARCHITEW6432.
|
|
244
194
|
# PS x64 doesn't define this, so we fall back to PROCESSOR_ARCHITECTURE.
|
|
245
195
|
# Possible values: amd64, x64, x86, arm64, arm
|
|
246
|
-
if( $ENV:PROCESSOR_ARCHITEW6432 -ne $null ) {
|
|
247
|
-
return $ENV:PROCESSOR_ARCHITEW6432
|
|
248
|
-
}
|
|
249
196
|
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
{
|
|
254
|
-
return "arm64"
|
|
255
|
-
}
|
|
256
|
-
return "arm"
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
catch {
|
|
260
|
-
# Machine doesn't support Get-CimInstance
|
|
197
|
+
if( $ENV:PROCESSOR_ARCHITEW6432 -ne $null )
|
|
198
|
+
{
|
|
199
|
+
return $ENV:PROCESSOR_ARCHITEW6432
|
|
261
200
|
}
|
|
262
201
|
|
|
263
202
|
return $ENV:PROCESSOR_ARCHITECTURE
|
|
@@ -266,11 +205,8 @@ function Get-Machine-Architecture() {
|
|
|
266
205
|
function Get-CLIArchitecture-From-Architecture([string]$Architecture) {
|
|
267
206
|
Say-Invocation $MyInvocation
|
|
268
207
|
|
|
269
|
-
|
|
270
|
-
$
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
switch ($Architecture.ToLowerInvariant()) {
|
|
208
|
+
switch ($Architecture.ToLower()) {
|
|
209
|
+
{ $_ -eq "<auto>" } { return Get-CLIArchitecture-From-Architecture $(Get-Machine-Architecture) }
|
|
274
210
|
{ ($_ -eq "amd64") -or ($_ -eq "x64") } { return "x64" }
|
|
275
211
|
{ $_ -eq "x86" } { return "x86" }
|
|
276
212
|
{ $_ -eq "arm" } { return "arm" }
|
|
@@ -279,83 +215,13 @@ function Get-CLIArchitecture-From-Architecture([string]$Architecture) {
|
|
|
279
215
|
}
|
|
280
216
|
}
|
|
281
217
|
|
|
282
|
-
function ValidateFeedCredential([string] $FeedCredential)
|
|
283
|
-
{
|
|
284
|
-
if ($Internal -and [string]::IsNullOrWhitespace($FeedCredential)) {
|
|
285
|
-
$message = "Provide credentials via -FeedCredential parameter."
|
|
286
|
-
if ($DryRun) {
|
|
287
|
-
Say-Warning "$message"
|
|
288
|
-
} else {
|
|
289
|
-
throw "$message"
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
#FeedCredential should start with "?", for it to be added to the end of the link.
|
|
294
|
-
#adding "?" at the beginning of the FeedCredential if needed.
|
|
295
|
-
if ((![string]::IsNullOrWhitespace($FeedCredential)) -and ($FeedCredential[0] -ne '?')) {
|
|
296
|
-
$FeedCredential = "?" + $FeedCredential
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
return $FeedCredential
|
|
300
|
-
}
|
|
301
|
-
function Get-NormalizedQuality([string]$Quality) {
|
|
302
|
-
Say-Invocation $MyInvocation
|
|
303
|
-
|
|
304
|
-
if ([string]::IsNullOrEmpty($Quality)) {
|
|
305
|
-
return ""
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
switch ($Quality) {
|
|
309
|
-
{ @("daily", "signed", "validated", "preview") -contains $_ } { return $Quality.ToLowerInvariant() }
|
|
310
|
-
#ga quality is available without specifying quality, so normalizing it to empty
|
|
311
|
-
{ $_ -eq "ga" } { return "" }
|
|
312
|
-
default { throw "'$Quality' is not a supported value for -Quality option. Supported values are: daily, signed, validated, preview, ga. If you think this is a bug, report it at https://github.com/dotnet/install-scripts/issues." }
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
function Get-NormalizedChannel([string]$Channel) {
|
|
317
|
-
Say-Invocation $MyInvocation
|
|
318
|
-
|
|
319
|
-
if ([string]::IsNullOrEmpty($Channel)) {
|
|
320
|
-
return ""
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
if ($Channel.Contains("Current")) {
|
|
324
|
-
Say-Warning 'Value "Current" is deprecated for -Channel option. Use "STS" instead.'
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
if ($Channel.StartsWith('release/')) {
|
|
328
|
-
Say-Warning 'Using branch name with -Channel option is no longer supported with newer releases. Use -Quality option with a channel in X.Y format instead, such as "-Channel 5.0 -Quality Daily."'
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
switch ($Channel) {
|
|
332
|
-
{ $_ -eq "lts" } { return "LTS" }
|
|
333
|
-
{ $_ -eq "sts" } { return "STS" }
|
|
334
|
-
{ $_ -eq "current" } { return "STS" }
|
|
335
|
-
default { return $Channel.ToLowerInvariant() }
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
|
-
|
|
339
|
-
function Get-NormalizedProduct([string]$Runtime) {
|
|
340
|
-
Say-Invocation $MyInvocation
|
|
341
|
-
|
|
342
|
-
switch ($Runtime) {
|
|
343
|
-
{ $_ -eq "dotnet" } { return "dotnet-runtime" }
|
|
344
|
-
{ $_ -eq "aspnetcore" } { return "aspnetcore-runtime" }
|
|
345
|
-
{ $_ -eq "windowsdesktop" } { return "windowsdesktop-runtime" }
|
|
346
|
-
{ [string]::IsNullOrEmpty($_) } { return "dotnet-sdk" }
|
|
347
|
-
default { throw "'$Runtime' is not a supported value for -Runtime option, supported values are: dotnet, aspnetcore, windowsdesktop. If you think this is a bug, report it at https://github.com/dotnet/install-scripts/issues." }
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
|
|
351
|
-
|
|
352
218
|
# The version text returned from the feeds is a 1-line or 2-line string:
|
|
353
219
|
# For the SDK and the dotnet runtime (2 lines):
|
|
354
220
|
# Line 1: # commit_hash
|
|
355
221
|
# Line 2: # 4-part version
|
|
356
222
|
# For the aspnetcore runtime (1 line):
|
|
357
223
|
# Line 1: # 4-part version
|
|
358
|
-
function Get-Version-From-
|
|
224
|
+
function Get-Version-Info-From-Version-Text([string]$VersionText) {
|
|
359
225
|
Say-Invocation $MyInvocation
|
|
360
226
|
|
|
361
227
|
$Data = -split $VersionText
|
|
@@ -377,11 +243,10 @@ function Load-Assembly([string] $Assembly) {
|
|
|
377
243
|
}
|
|
378
244
|
}
|
|
379
245
|
|
|
380
|
-
function GetHTTPResponse([Uri] $Uri
|
|
246
|
+
function GetHTTPResponse([Uri] $Uri)
|
|
381
247
|
{
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
$downloadScript = {
|
|
248
|
+
Invoke-With-Retry(
|
|
249
|
+
{
|
|
385
250
|
|
|
386
251
|
$HttpClient = $null
|
|
387
252
|
|
|
@@ -394,11 +259,7 @@ function GetHTTPResponse([Uri] $Uri, [bool]$HeaderOnly, [bool]$DisableRedirect,
|
|
|
394
259
|
# Despite no proxy being explicitly specified, we may still be behind a default proxy
|
|
395
260
|
$DefaultProxy = [System.Net.WebRequest]::DefaultWebProxy;
|
|
396
261
|
if($DefaultProxy -and (-not $DefaultProxy.IsBypassed($Uri))) {
|
|
397
|
-
|
|
398
|
-
$ProxyAddress = $DefaultProxy.GetProxy($Uri).OriginalString
|
|
399
|
-
} else {
|
|
400
|
-
$ProxyAddress = $null
|
|
401
|
-
}
|
|
262
|
+
$ProxyAddress = $DefaultProxy.GetProxy($Uri).OriginalString
|
|
402
263
|
$ProxyUseDefaultCredentials = $true
|
|
403
264
|
}
|
|
404
265
|
} catch {
|
|
@@ -409,53 +270,32 @@ function GetHTTPResponse([Uri] $Uri, [bool]$HeaderOnly, [bool]$DisableRedirect,
|
|
|
409
270
|
}
|
|
410
271
|
}
|
|
411
272
|
|
|
412
|
-
$HttpClientHandler = New-Object System.Net.Http.HttpClientHandler
|
|
413
273
|
if($ProxyAddress) {
|
|
274
|
+
$HttpClientHandler = New-Object System.Net.Http.HttpClientHandler
|
|
414
275
|
$HttpClientHandler.Proxy = New-Object System.Net.WebProxy -Property @{
|
|
415
276
|
Address=$ProxyAddress;
|
|
416
277
|
UseDefaultCredentials=$ProxyUseDefaultCredentials;
|
|
417
278
|
BypassList = $ProxyBypassList;
|
|
418
279
|
}
|
|
419
|
-
|
|
420
|
-
if ($DisableRedirect)
|
|
421
|
-
{
|
|
422
|
-
$HttpClientHandler.AllowAutoRedirect = $false
|
|
423
|
-
}
|
|
424
|
-
$HttpClient = New-Object System.Net.Http.HttpClient -ArgumentList $HttpClientHandler
|
|
425
|
-
|
|
426
|
-
# Default timeout for HttpClient is 100s. For a 50 MB download this assumes 500 KB/s average, any less will time out
|
|
427
|
-
# Defaulting to 20 minutes allows it to work over much slower connections.
|
|
428
|
-
$HttpClient.Timeout = New-TimeSpan -Seconds $DownloadTimeout
|
|
429
|
-
|
|
430
|
-
if ($HeaderOnly){
|
|
431
|
-
$completionOption = [System.Net.Http.HttpCompletionOption]::ResponseHeadersRead
|
|
280
|
+
$HttpClient = New-Object System.Net.Http.HttpClient -ArgumentList $HttpClientHandler
|
|
432
281
|
}
|
|
433
282
|
else {
|
|
434
|
-
$completionOption = [System.Net.Http.HttpCompletionOption]::ResponseContentRead
|
|
435
|
-
}
|
|
436
283
|
|
|
437
|
-
|
|
438
|
-
$UriWithCredential = $Uri
|
|
284
|
+
$HttpClient = New-Object System.Net.Http.HttpClient
|
|
439
285
|
}
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
$Task = $HttpClient.GetAsync("$UriWithCredential", $completionOption).ConfigureAwait("false");
|
|
286
|
+
# Default timeout for HttpClient is 100s. For a 50 MB download this assumes 500 KB/s average, any less will time out
|
|
287
|
+
# 20 minutes allows it to work over much slower connections.
|
|
288
|
+
$HttpClient.Timeout = New-TimeSpan -Minutes 20
|
|
289
|
+
$Task = $HttpClient.GetAsync("${Uri}${FeedCredential}").ConfigureAwait("false");
|
|
445
290
|
$Response = $Task.GetAwaiter().GetResult();
|
|
446
291
|
|
|
447
|
-
if (($null -eq $Response) -or (
|
|
292
|
+
if (($null -eq $Response) -or (-not ($Response.IsSuccessStatusCode))) {
|
|
448
293
|
# The feed credential is potentially sensitive info. Do not log FeedCredential to console output.
|
|
449
294
|
$DownloadException = [System.Exception] "Unable to download $Uri."
|
|
450
295
|
|
|
451
296
|
if ($null -ne $Response) {
|
|
452
297
|
$DownloadException.Data["StatusCode"] = [int] $Response.StatusCode
|
|
453
298
|
$DownloadException.Data["ErrorMessage"] = "Unable to download $Uri. Returned HTTP status code: " + $DownloadException.Data["StatusCode"]
|
|
454
|
-
|
|
455
|
-
if (404 -eq [int] $Response.StatusCode)
|
|
456
|
-
{
|
|
457
|
-
$cts.Cancel()
|
|
458
|
-
}
|
|
459
299
|
}
|
|
460
300
|
|
|
461
301
|
throw $DownloadException
|
|
@@ -483,51 +323,37 @@ function GetHTTPResponse([Uri] $Uri, [bool]$HeaderOnly, [bool]$DisableRedirect,
|
|
|
483
323
|
throw $DownloadException
|
|
484
324
|
}
|
|
485
325
|
finally {
|
|
486
|
-
if ($
|
|
326
|
+
if ($HttpClient -ne $null) {
|
|
487
327
|
$HttpClient.Dispose()
|
|
488
328
|
}
|
|
489
329
|
}
|
|
490
|
-
}
|
|
491
|
-
|
|
492
|
-
try {
|
|
493
|
-
return Invoke-With-Retry $downloadScript $cts.Token
|
|
494
|
-
}
|
|
495
|
-
finally
|
|
496
|
-
{
|
|
497
|
-
if ($null -ne $cts)
|
|
498
|
-
{
|
|
499
|
-
$cts.Dispose()
|
|
500
|
-
}
|
|
501
|
-
}
|
|
330
|
+
})
|
|
502
331
|
}
|
|
503
332
|
|
|
504
|
-
function Get-Version-
|
|
333
|
+
function Get-Latest-Version-Info([string]$AzureFeed, [string]$Channel) {
|
|
505
334
|
Say-Invocation $MyInvocation
|
|
506
335
|
|
|
507
336
|
$VersionFileUrl = $null
|
|
508
337
|
if ($Runtime -eq "dotnet") {
|
|
509
|
-
$VersionFileUrl = "$
|
|
338
|
+
$VersionFileUrl = "$UncachedFeed/Runtime/$Channel/latest.version"
|
|
510
339
|
}
|
|
511
340
|
elseif ($Runtime -eq "aspnetcore") {
|
|
512
|
-
$VersionFileUrl = "$
|
|
341
|
+
$VersionFileUrl = "$UncachedFeed/aspnetcore/Runtime/$Channel/latest.version"
|
|
513
342
|
}
|
|
514
343
|
elseif ($Runtime -eq "windowsdesktop") {
|
|
515
|
-
$VersionFileUrl = "$
|
|
344
|
+
$VersionFileUrl = "$UncachedFeed/WindowsDesktop/$Channel/latest.version"
|
|
516
345
|
}
|
|
517
346
|
elseif (-not $Runtime) {
|
|
518
|
-
$VersionFileUrl = "$
|
|
347
|
+
$VersionFileUrl = "$UncachedFeed/Sdk/$Channel/latest.version"
|
|
519
348
|
}
|
|
520
349
|
else {
|
|
521
350
|
throw "Invalid value for `$Runtime"
|
|
522
351
|
}
|
|
523
|
-
|
|
524
|
-
Say-Verbose "Constructed latest.version URL: $VersionFileUrl"
|
|
525
|
-
|
|
526
352
|
try {
|
|
527
353
|
$Response = GetHTTPResponse -Uri $VersionFileUrl
|
|
528
354
|
}
|
|
529
355
|
catch {
|
|
530
|
-
Say-
|
|
356
|
+
Say-Error "Could not resolve version information."
|
|
531
357
|
throw
|
|
532
358
|
}
|
|
533
359
|
$StringContent = $Response.Content.ReadAsStringAsync().Result
|
|
@@ -539,7 +365,7 @@ function Get-Version-From-LatestVersion-File([string]$AzureFeed, [string]$Channe
|
|
|
539
365
|
default { throw "``$Response.Content.Headers.ContentType`` is an unknown .version file content type." }
|
|
540
366
|
}
|
|
541
367
|
|
|
542
|
-
$VersionInfo = Get-Version-From-
|
|
368
|
+
$VersionInfo = Get-Version-Info-From-Version-Text $VersionText
|
|
543
369
|
|
|
544
370
|
return $VersionInfo
|
|
545
371
|
}
|
|
@@ -585,8 +411,8 @@ function Get-Specific-Version-From-Version([string]$AzureFeed, [string]$Channel,
|
|
|
585
411
|
Say-Invocation $MyInvocation
|
|
586
412
|
|
|
587
413
|
if (-not $JSonFile) {
|
|
588
|
-
if ($Version.
|
|
589
|
-
$LatestVersionInfo = Get-Version-
|
|
414
|
+
if ($Version.ToLower() -eq "latest") {
|
|
415
|
+
$LatestVersionInfo = Get-Latest-Version-Info -AzureFeed $AzureFeed -Channel $Channel
|
|
590
416
|
return $LatestVersionInfo.Version
|
|
591
417
|
}
|
|
592
418
|
else {
|
|
@@ -652,116 +478,58 @@ function Get-LegacyDownload-Link([string]$AzureFeed, [string]$SpecificVersion, [
|
|
|
652
478
|
return $PayloadURL
|
|
653
479
|
}
|
|
654
480
|
|
|
655
|
-
function Get-Product-Version([string]$AzureFeed, [string]$SpecificVersion
|
|
656
|
-
Say-Invocation $MyInvocation
|
|
657
|
-
|
|
658
|
-
# Try to get the version number, using the productVersion.txt file located next to the installer file.
|
|
659
|
-
$ProductVersionTxtURLs = (Get-Product-Version-Url $AzureFeed $SpecificVersion $PackageDownloadLink -Flattened $true),
|
|
660
|
-
(Get-Product-Version-Url $AzureFeed $SpecificVersion $PackageDownloadLink -Flattened $false)
|
|
661
|
-
|
|
662
|
-
Foreach ($ProductVersionTxtURL in $ProductVersionTxtURLs) {
|
|
663
|
-
Say-Verbose "Checking for the existence of $ProductVersionTxtURL"
|
|
664
|
-
|
|
665
|
-
try {
|
|
666
|
-
$productVersionResponse = GetHTTPResponse($productVersionTxtUrl)
|
|
667
|
-
|
|
668
|
-
if ($productVersionResponse.StatusCode -eq 200) {
|
|
669
|
-
$productVersion = $productVersionResponse.Content.ReadAsStringAsync().Result.Trim()
|
|
670
|
-
if ($productVersion -ne $SpecificVersion)
|
|
671
|
-
{
|
|
672
|
-
Say "Using alternate version $productVersion found in $ProductVersionTxtURL"
|
|
673
|
-
}
|
|
674
|
-
return $productVersion
|
|
675
|
-
}
|
|
676
|
-
else {
|
|
677
|
-
Say-Verbose "Got StatusCode $($productVersionResponse.StatusCode) when trying to get productVersion.txt at $productVersionTxtUrl."
|
|
678
|
-
}
|
|
679
|
-
}
|
|
680
|
-
catch {
|
|
681
|
-
Say-Verbose "Could not read productVersion.txt at $productVersionTxtUrl (Exception: '$($_.Exception.Message)'. )"
|
|
682
|
-
}
|
|
683
|
-
}
|
|
684
|
-
|
|
685
|
-
# Getting the version number with productVersion.txt has failed. Try parsing the download link for a version number.
|
|
686
|
-
if ([string]::IsNullOrEmpty($PackageDownloadLink))
|
|
687
|
-
{
|
|
688
|
-
Say-Verbose "Using the default value '$SpecificVersion' as the product version."
|
|
689
|
-
return $SpecificVersion
|
|
690
|
-
}
|
|
691
|
-
|
|
692
|
-
$productVersion = Get-ProductVersionFromDownloadLink $PackageDownloadLink $SpecificVersion
|
|
693
|
-
return $productVersion
|
|
694
|
-
}
|
|
695
|
-
|
|
696
|
-
function Get-Product-Version-Url([string]$AzureFeed, [string]$SpecificVersion, [string]$PackageDownloadLink, [bool]$Flattened) {
|
|
481
|
+
function Get-Product-Version([string]$AzureFeed, [string]$SpecificVersion) {
|
|
697
482
|
Say-Invocation $MyInvocation
|
|
698
483
|
|
|
699
|
-
$
|
|
700
|
-
|
|
701
|
-
$majorVersion = $Matches[1] -as[int]
|
|
484
|
+
if ($Runtime -eq "dotnet") {
|
|
485
|
+
$ProductVersionTxtURL = "$AzureFeed/Runtime/$SpecificVersion/productVersion.txt"
|
|
702
486
|
}
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
if($Flattened) {
|
|
706
|
-
if(-not $Runtime) {
|
|
707
|
-
$pvFileName='sdk-productVersion.txt'
|
|
708
|
-
}
|
|
709
|
-
elseif($Runtime -eq "dotnet") {
|
|
710
|
-
$pvFileName='runtime-productVersion.txt'
|
|
711
|
-
}
|
|
712
|
-
else {
|
|
713
|
-
$pvFileName="$Runtime-productVersion.txt"
|
|
714
|
-
}
|
|
487
|
+
elseif ($Runtime -eq "aspnetcore") {
|
|
488
|
+
$ProductVersionTxtURL = "$AzureFeed/aspnetcore/Runtime/$SpecificVersion/productVersion.txt"
|
|
715
489
|
}
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
$
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
# The windows desktop runtime is part of the core runtime layout prior to 5.0
|
|
726
|
-
$ProductVersionTxtURL = "$AzureFeed/Runtime/$SpecificVersion/$pvFileName"
|
|
727
|
-
if ($majorVersion -ne $null -and $majorVersion -ge 5) {
|
|
728
|
-
$ProductVersionTxtURL = "$AzureFeed/WindowsDesktop/$SpecificVersion/$pvFileName"
|
|
490
|
+
elseif ($Runtime -eq "windowsdesktop") {
|
|
491
|
+
# The windows desktop runtime is part of the core runtime layout prior to 5.0
|
|
492
|
+
$ProductVersionTxtURL = "$AzureFeed/Runtime/$SpecificVersion/productVersion.txt"
|
|
493
|
+
if ($SpecificVersion -match '^(\d+)\.(.*)')
|
|
494
|
+
{
|
|
495
|
+
$majorVersion = [int]$Matches[1]
|
|
496
|
+
if ($majorVersion -ge 5)
|
|
497
|
+
{
|
|
498
|
+
$ProductVersionTxtURL = "$AzureFeed/WindowsDesktop/$SpecificVersion/productVersion.txt"
|
|
729
499
|
}
|
|
730
500
|
}
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
else {
|
|
735
|
-
throw "Invalid value '$Runtime' specified for `$Runtime"
|
|
736
|
-
}
|
|
501
|
+
}
|
|
502
|
+
elseif (-not $Runtime) {
|
|
503
|
+
$ProductVersionTxtURL = "$AzureFeed/Sdk/$SpecificVersion/productVersion.txt"
|
|
737
504
|
}
|
|
738
505
|
else {
|
|
739
|
-
|
|
506
|
+
throw "Invalid value '$Runtime' specified for `$Runtime"
|
|
740
507
|
}
|
|
741
508
|
|
|
742
|
-
Say-Verbose "
|
|
509
|
+
Say-Verbose "Checking for existence of $ProductVersionTxtURL"
|
|
743
510
|
|
|
744
|
-
|
|
745
|
-
|
|
511
|
+
try {
|
|
512
|
+
$productVersionResponse = GetHTTPResponse($productVersionTxtUrl)
|
|
746
513
|
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
514
|
+
if ($productVersionResponse.StatusCode -eq 200) {
|
|
515
|
+
$productVersion = $productVersionResponse.Content.ReadAsStringAsync().Result.Trim()
|
|
516
|
+
if ($productVersion -ne $SpecificVersion)
|
|
517
|
+
{
|
|
518
|
+
Say "Using alternate version $productVersion found in $ProductVersionTxtURL"
|
|
519
|
+
}
|
|
750
520
|
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
Say-Verbose "
|
|
759
|
-
}
|
|
760
|
-
else {
|
|
761
|
-
Say-Verbose "Using the default value '$SpecificVersion' as the product version."
|
|
521
|
+
return $productVersion
|
|
522
|
+
}
|
|
523
|
+
else {
|
|
524
|
+
Say-Verbose "Got StatusCode $($productVersionResponse.StatusCode) trying to get productVersion.txt at $productVersionTxtUrl, so using default value of $SpecificVersion"
|
|
525
|
+
$productVersion = $SpecificVersion
|
|
526
|
+
}
|
|
527
|
+
} catch {
|
|
528
|
+
Say-Verbose "Could not read productVersion.txt at $productVersionTxtUrl, so using default value of $SpecificVersion (Exception: '$($_.Exception.Message)' )"
|
|
762
529
|
$productVersion = $SpecificVersion
|
|
763
530
|
}
|
|
764
|
-
|
|
531
|
+
|
|
532
|
+
return $productVersion
|
|
765
533
|
}
|
|
766
534
|
|
|
767
535
|
function Get-User-Share-Path() {
|
|
@@ -799,8 +567,7 @@ function Get-Absolute-Path([string]$RelativeOrAbsolutePath) {
|
|
|
799
567
|
}
|
|
800
568
|
|
|
801
569
|
function Get-Path-Prefix-With-Version($path) {
|
|
802
|
-
|
|
803
|
-
$match = [regex]::match($path, "/\d+\.\d+[^/]+/")
|
|
570
|
+
$match = [regex]::match($path, $VersionRegEx)
|
|
804
571
|
if ($match.Success) {
|
|
805
572
|
return $entry.FullName.Substring(0, $match.Index + $match.Length)
|
|
806
573
|
}
|
|
@@ -814,7 +581,7 @@ function Get-List-Of-Directories-And-Versions-To-Unpack-From-Dotnet-Package([Sys
|
|
|
814
581
|
$ret = @()
|
|
815
582
|
foreach ($entry in $Zip.Entries) {
|
|
816
583
|
$dir = Get-Path-Prefix-With-Version $entry.FullName
|
|
817
|
-
if ($
|
|
584
|
+
if ($dir -ne $null) {
|
|
818
585
|
$path = Get-Absolute-Path $(Join-Path -Path $OutPath -ChildPath $dir)
|
|
819
586
|
if (-Not (Test-Path $path -PathType Container)) {
|
|
820
587
|
$ret += $dir
|
|
@@ -855,7 +622,7 @@ function Extract-Dotnet-Package([string]$ZipPath, [string]$OutPath) {
|
|
|
855
622
|
|
|
856
623
|
foreach ($entry in $Zip.Entries) {
|
|
857
624
|
$PathWithVersion = Get-Path-Prefix-With-Version $entry.FullName
|
|
858
|
-
if (($
|
|
625
|
+
if (($PathWithVersion -eq $null) -Or ($DirectoriesToUnpack -contains $PathWithVersion)) {
|
|
859
626
|
$DestinationPath = Get-Absolute-Path $(Join-Path -Path $OutPath -ChildPath $entry.FullName)
|
|
860
627
|
$DestinationDir = Split-Path -Parent $DestinationPath
|
|
861
628
|
$OverrideFiles=$OverrideNonVersionedFiles -Or (-Not (Test-Path $DestinationPath))
|
|
@@ -866,13 +633,8 @@ function Extract-Dotnet-Package([string]$ZipPath, [string]$OutPath) {
|
|
|
866
633
|
}
|
|
867
634
|
}
|
|
868
635
|
}
|
|
869
|
-
catch
|
|
870
|
-
{
|
|
871
|
-
Say-Error "Failed to extract package. Exception: $_"
|
|
872
|
-
throw;
|
|
873
|
-
}
|
|
874
636
|
finally {
|
|
875
|
-
if ($
|
|
637
|
+
if ($Zip -ne $null) {
|
|
876
638
|
$Zip.Dispose()
|
|
877
639
|
}
|
|
878
640
|
}
|
|
@@ -892,63 +654,40 @@ function DownloadFile($Source, [string]$OutPath) {
|
|
|
892
654
|
}
|
|
893
655
|
|
|
894
656
|
$Stream = $null
|
|
895
|
-
|
|
657
|
+
|
|
896
658
|
try {
|
|
897
659
|
$Response = GetHTTPResponse -Uri $Source
|
|
898
660
|
$Stream = $Response.Content.ReadAsStreamAsync().Result
|
|
899
661
|
$File = [System.IO.File]::Create($OutPath)
|
|
900
662
|
$Stream.CopyTo($File)
|
|
901
663
|
$File.Close()
|
|
902
|
-
|
|
903
|
-
ValidateRemoteLocalFileSizes -LocalFileOutPath $OutPath -SourceUri $Source
|
|
904
664
|
}
|
|
905
665
|
finally {
|
|
906
|
-
if ($
|
|
666
|
+
if ($Stream -ne $null) {
|
|
907
667
|
$Stream.Dispose()
|
|
908
668
|
}
|
|
909
669
|
}
|
|
910
670
|
}
|
|
911
671
|
|
|
912
|
-
function ValidateRemoteLocalFileSizes([string]$LocalFileOutPath, $SourceUri) {
|
|
913
|
-
try {
|
|
914
|
-
$remoteFileSize = Get-Remote-File-Size -zipUri $SourceUri
|
|
915
|
-
$fileSize = [long](Get-Item $LocalFileOutPath).Length
|
|
916
|
-
Say "Downloaded file $SourceUri size is $fileSize bytes."
|
|
917
|
-
|
|
918
|
-
if ((![string]::IsNullOrEmpty($remoteFileSize)) -and !([string]::IsNullOrEmpty($fileSize)) ) {
|
|
919
|
-
if ($remoteFileSize -ne $fileSize) {
|
|
920
|
-
Say "The remote and local file sizes are not equal. Remote file size is $remoteFileSize bytes and local size is $fileSize bytes. The local package may be corrupted."
|
|
921
|
-
}
|
|
922
|
-
else {
|
|
923
|
-
Say "The remote and local file sizes are equal."
|
|
924
|
-
}
|
|
925
|
-
}
|
|
926
|
-
else {
|
|
927
|
-
Say "Either downloaded or local package size can not be measured. One of them may be corrupted."
|
|
928
|
-
}
|
|
929
|
-
}
|
|
930
|
-
catch {
|
|
931
|
-
Say "Either downloaded or local package size can not be measured. One of them may be corrupted."
|
|
932
|
-
}
|
|
933
|
-
}
|
|
934
|
-
|
|
935
672
|
function SafeRemoveFile($Path) {
|
|
936
673
|
try {
|
|
937
674
|
if (Test-Path $Path) {
|
|
938
675
|
Remove-Item $Path
|
|
939
676
|
Say-Verbose "The temporary file `"$Path`" was removed."
|
|
940
677
|
}
|
|
941
|
-
else
|
|
678
|
+
else
|
|
679
|
+
{
|
|
942
680
|
Say-Verbose "The temporary file `"$Path`" does not exist, therefore is not removed."
|
|
943
681
|
}
|
|
944
682
|
}
|
|
945
|
-
catch
|
|
683
|
+
catch
|
|
684
|
+
{
|
|
946
685
|
Say-Warning "Failed to remove the temporary file: `"$Path`", remove it manually."
|
|
947
686
|
}
|
|
948
687
|
}
|
|
949
688
|
|
|
950
|
-
function Prepend-Sdk-InstallRoot-To-Path([string]$InstallRoot) {
|
|
951
|
-
$BinPath = Get-Absolute-Path $(Join-Path -Path $InstallRoot -ChildPath
|
|
689
|
+
function Prepend-Sdk-InstallRoot-To-Path([string]$InstallRoot, [string]$BinFolderRelativePath) {
|
|
690
|
+
$BinPath = Get-Absolute-Path $(Join-Path -Path $InstallRoot -ChildPath $BinFolderRelativePath)
|
|
952
691
|
if (-Not $NoPath) {
|
|
953
692
|
$SuffixedBinPath = "$BinPath;"
|
|
954
693
|
if (-Not $env:path.Contains($SuffixedBinPath)) {
|
|
@@ -963,12 +702,25 @@ function Prepend-Sdk-InstallRoot-To-Path([string]$InstallRoot) {
|
|
|
963
702
|
}
|
|
964
703
|
}
|
|
965
704
|
|
|
966
|
-
|
|
967
|
-
|
|
705
|
+
Say "Note that the intended use of this script is for Continuous Integration (CI) scenarios, where:"
|
|
706
|
+
Say "- The SDK needs to be installed without user interaction and without admin rights."
|
|
707
|
+
Say "- The SDK installation doesn't need to persist across multiple CI runs."
|
|
708
|
+
Say "To set up a development environment or to run apps, use installers rather than this script. Visit https://dotnet.microsoft.com/download to get the installer.`r`n"
|
|
709
|
+
|
|
710
|
+
$CLIArchitecture = Get-CLIArchitecture-From-Architecture $Architecture
|
|
711
|
+
$SpecificVersion = Get-Specific-Version-From-Version -AzureFeed $AzureFeed -Channel $Channel -Version $Version -JSonFile $JSonFile
|
|
712
|
+
$DownloadLink, $EffectiveVersion = Get-Download-Link -AzureFeed $AzureFeed -SpecificVersion $SpecificVersion -CLIArchitecture $CLIArchitecture
|
|
713
|
+
$LegacyDownloadLink = Get-LegacyDownload-Link -AzureFeed $AzureFeed -SpecificVersion $SpecificVersion -CLIArchitecture $CLIArchitecture
|
|
714
|
+
|
|
715
|
+
$InstallRoot = Resolve-Installation-Path $InstallDir
|
|
716
|
+
Say-Verbose "InstallRoot: $InstallRoot"
|
|
717
|
+
$ScriptName = $MyInvocation.MyCommand.Name
|
|
718
|
+
|
|
719
|
+
if ($DryRun) {
|
|
968
720
|
Say "Payload URLs:"
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
Say "
|
|
721
|
+
Say "Primary named payload URL: $DownloadLink"
|
|
722
|
+
if ($LegacyDownloadLink) {
|
|
723
|
+
Say "Legacy named payload URL: $LegacyDownloadLink"
|
|
972
724
|
}
|
|
973
725
|
$RepeatableCommand = ".\$ScriptName -Version `"$SpecificVersion`" -InstallDir `"$InstallRoot`" -Architecture `"$CLIArchitecture`""
|
|
974
726
|
if ($Runtime -eq "dotnet") {
|
|
@@ -977,608 +729,367 @@ function PrintDryRunOutput($Invocation, $DownloadLinks)
|
|
|
977
729
|
elseif ($Runtime -eq "aspnetcore") {
|
|
978
730
|
$RepeatableCommand+=" -Runtime `"aspnetcore`""
|
|
979
731
|
}
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
$RepeatableCommand+=" -$key `"$($Invocation.BoundParameters[$key])`""
|
|
732
|
+
foreach ($key in $MyInvocation.BoundParameters.Keys) {
|
|
733
|
+
if (-not (@("Architecture","Channel","DryRun","InstallDir","Runtime","SharedRuntime","Version") -contains $key)) {
|
|
734
|
+
$RepeatableCommand+=" -$key `"$($MyInvocation.BoundParameters[$key])`""
|
|
984
735
|
}
|
|
985
736
|
}
|
|
986
|
-
if ($Invocation.BoundParameters.Keys -contains "FeedCredential") {
|
|
987
|
-
$RepeatableCommand+=" -FeedCredential `"<feedCredential>`""
|
|
988
|
-
}
|
|
989
737
|
Say "Repeatable invocation: $RepeatableCommand"
|
|
990
738
|
if ($SpecificVersion -ne $EffectiveVersion)
|
|
991
739
|
{
|
|
992
740
|
Say "NOTE: Due to finding a version manifest with this runtime, it would actually install with version '$EffectiveVersion'"
|
|
993
741
|
}
|
|
994
|
-
}
|
|
995
|
-
|
|
996
|
-
function Get-AkaMSDownloadLink([string]$Channel, [string]$Quality, [bool]$Internal, [string]$Product, [string]$Architecture) {
|
|
997
|
-
Say-Invocation $MyInvocation
|
|
998
|
-
|
|
999
|
-
#quality is not supported for LTS or STS channel
|
|
1000
|
-
if (![string]::IsNullOrEmpty($Quality) -and (@("LTS", "STS") -contains $Channel)) {
|
|
1001
|
-
$Quality = ""
|
|
1002
|
-
Say-Warning "Specifying quality for STS or LTS channel is not supported, the quality will be ignored."
|
|
1003
|
-
}
|
|
1004
|
-
Say-Verbose "Retrieving primary payload URL from aka.ms link for channel: '$Channel', quality: '$Quality' product: '$Product', os: 'win', architecture: '$Architecture'."
|
|
1005
|
-
|
|
1006
|
-
#construct aka.ms link
|
|
1007
|
-
$akaMsLink = "https://aka.ms/dotnet"
|
|
1008
|
-
if ($Internal) {
|
|
1009
|
-
$akaMsLink += "/internal"
|
|
1010
|
-
}
|
|
1011
|
-
$akaMsLink += "/$Channel"
|
|
1012
|
-
if (-not [string]::IsNullOrEmpty($Quality)) {
|
|
1013
|
-
$akaMsLink +="/$Quality"
|
|
1014
|
-
}
|
|
1015
|
-
$akaMsLink +="/$Product-win-$Architecture.zip"
|
|
1016
|
-
Say-Verbose "Constructed aka.ms link: '$akaMsLink'."
|
|
1017
|
-
$akaMsDownloadLink=$null
|
|
1018
|
-
|
|
1019
|
-
for ($maxRedirections = 9; $maxRedirections -ge 0; $maxRedirections--)
|
|
1020
|
-
{
|
|
1021
|
-
#get HTTP response
|
|
1022
|
-
#do not pass credentials as a part of the $akaMsLink and do not apply credentials in the GetHTTPResponse function
|
|
1023
|
-
#otherwise the redirect link would have credentials as well
|
|
1024
|
-
#it would result in applying credentials twice to the resulting link and thus breaking it, and in echoing credentials to the output as a part of redirect link
|
|
1025
|
-
$Response= GetHTTPResponse -Uri $akaMsLink -HeaderOnly $true -DisableRedirect $true -DisableFeedCredential $true
|
|
1026
|
-
Say-Verbose "Received response:`n$Response"
|
|
1027
|
-
|
|
1028
|
-
if ([string]::IsNullOrEmpty($Response)) {
|
|
1029
|
-
Say-Verbose "The link '$akaMsLink' is not valid: failed to get redirect location. The resource is not available."
|
|
1030
|
-
return $null
|
|
1031
|
-
}
|
|
1032
|
-
|
|
1033
|
-
#if HTTP code is 301 (Moved Permanently), the redirect link exists
|
|
1034
|
-
if ($Response.StatusCode -eq 301)
|
|
1035
|
-
{
|
|
1036
|
-
try {
|
|
1037
|
-
$akaMsDownloadLink = $Response.Headers.GetValues("Location")[0]
|
|
1038
|
-
|
|
1039
|
-
if ([string]::IsNullOrEmpty($akaMsDownloadLink)) {
|
|
1040
|
-
Say-Verbose "The link '$akaMsLink' is not valid: server returned 301 (Moved Permanently), but the headers do not contain the redirect location."
|
|
1041
|
-
return $null
|
|
1042
|
-
}
|
|
1043
|
-
|
|
1044
|
-
Say-Verbose "The redirect location retrieved: '$akaMsDownloadLink'."
|
|
1045
|
-
# This may yet be a link to another redirection. Attempt to retrieve the page again.
|
|
1046
|
-
$akaMsLink = $akaMsDownloadLink
|
|
1047
|
-
continue
|
|
1048
|
-
}
|
|
1049
|
-
catch {
|
|
1050
|
-
Say-Verbose "The link '$akaMsLink' is not valid: failed to get redirect location."
|
|
1051
|
-
return $null
|
|
1052
|
-
}
|
|
1053
|
-
}
|
|
1054
|
-
elseif ((($Response.StatusCode -lt 300) -or ($Response.StatusCode -ge 400)) -and (-not [string]::IsNullOrEmpty($akaMsDownloadLink)))
|
|
1055
|
-
{
|
|
1056
|
-
# Redirections have ended.
|
|
1057
|
-
return $akaMsDownloadLink
|
|
1058
|
-
}
|
|
1059
|
-
|
|
1060
|
-
Say-Verbose "The link '$akaMsLink' is not valid: failed to retrieve the redirection location."
|
|
1061
|
-
return $null
|
|
1062
|
-
}
|
|
1063
|
-
|
|
1064
|
-
Say-Verbose "Aka.ms links have redirected more than the maximum allowed redirections. This may be caused by a cyclic redirection of aka.ms links."
|
|
1065
|
-
return $null
|
|
1066
742
|
|
|
743
|
+
return
|
|
1067
744
|
}
|
|
1068
745
|
|
|
1069
|
-
|
|
1070
|
-
$
|
|
1071
|
-
|
|
1072
|
-
if ([string]::IsNullOrEmpty($AkaMsDownloadLink)){
|
|
1073
|
-
if (-not [string]::IsNullOrEmpty($NormalizedQuality)) {
|
|
1074
|
-
# if quality is specified - exit with error - there is no fallback approach
|
|
1075
|
-
Say-Error "Failed to locate the latest version in the channel '$NormalizedChannel' with '$NormalizedQuality' quality for '$ProductName', os: 'win', architecture: '$Architecture'."
|
|
1076
|
-
Say-Error "Refer to: https://aka.ms/dotnet-os-lifecycle for information on .NET Core support."
|
|
1077
|
-
throw "aka.ms link resolution failure"
|
|
1078
|
-
}
|
|
1079
|
-
Say-Verbose "Falling back to latest.version file approach."
|
|
1080
|
-
return ($null, $null, $null)
|
|
1081
|
-
}
|
|
1082
|
-
else {
|
|
1083
|
-
Say-Verbose "Retrieved primary named payload URL from aka.ms link: '$AkaMsDownloadLink'."
|
|
1084
|
-
Say-Verbose "Downloading using legacy url will not be attempted."
|
|
1085
|
-
|
|
1086
|
-
#get version from the path
|
|
1087
|
-
$pathParts = $AkaMsDownloadLink.Split('/')
|
|
1088
|
-
if ($pathParts.Length -ge 2) {
|
|
1089
|
-
$SpecificVersion = $pathParts[$pathParts.Length - 2]
|
|
1090
|
-
Say-Verbose "Version: '$SpecificVersion'."
|
|
1091
|
-
}
|
|
1092
|
-
else {
|
|
1093
|
-
Say-Error "Failed to extract the version from download link '$AkaMsDownloadLink'."
|
|
1094
|
-
return ($null, $null, $null)
|
|
1095
|
-
}
|
|
1096
|
-
|
|
1097
|
-
#retrieve effective (product) version
|
|
1098
|
-
$EffectiveVersion = Get-Product-Version -SpecificVersion $SpecificVersion -PackageDownloadLink $AkaMsDownloadLink
|
|
1099
|
-
Say-Verbose "Product version: '$EffectiveVersion'."
|
|
1100
|
-
|
|
1101
|
-
return ($AkaMsDownloadLink, $SpecificVersion, $EffectiveVersion);
|
|
1102
|
-
}
|
|
746
|
+
if ($Runtime -eq "dotnet") {
|
|
747
|
+
$assetName = ".NET Core Runtime"
|
|
748
|
+
$dotnetPackageRelativePath = "shared\Microsoft.NETCore.App"
|
|
1103
749
|
}
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
$feeds = @(
|
|
1108
|
-
"https://dotnetcli.azureedge.net/dotnet",
|
|
1109
|
-
"https://dotnetbuilds.azureedge.net/public"
|
|
1110
|
-
)
|
|
1111
|
-
|
|
1112
|
-
if (-not [string]::IsNullOrEmpty($AzureFeed)) {
|
|
1113
|
-
$feeds = @($AzureFeed)
|
|
1114
|
-
}
|
|
1115
|
-
|
|
1116
|
-
if ($NoCdn) {
|
|
1117
|
-
$feeds = @(
|
|
1118
|
-
"https://dotnetcli.blob.core.windows.net/dotnet",
|
|
1119
|
-
"https://dotnetbuilds.blob.core.windows.net/public"
|
|
1120
|
-
)
|
|
1121
|
-
|
|
1122
|
-
if (-not [string]::IsNullOrEmpty($UncachedFeed)) {
|
|
1123
|
-
$feeds = @($UncachedFeed)
|
|
1124
|
-
}
|
|
1125
|
-
}
|
|
1126
|
-
|
|
1127
|
-
return $feeds
|
|
750
|
+
elseif ($Runtime -eq "aspnetcore") {
|
|
751
|
+
$assetName = "ASP.NET Core Runtime"
|
|
752
|
+
$dotnetPackageRelativePath = "shared\Microsoft.AspNetCore.App"
|
|
1128
753
|
}
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
if ($Runtime -eq "dotnet") {
|
|
1133
|
-
$assetName = ".NET Core Runtime"
|
|
1134
|
-
$dotnetPackageRelativePath = "shared\Microsoft.NETCore.App"
|
|
1135
|
-
}
|
|
1136
|
-
elseif ($Runtime -eq "aspnetcore") {
|
|
1137
|
-
$assetName = "ASP.NET Core Runtime"
|
|
1138
|
-
$dotnetPackageRelativePath = "shared\Microsoft.AspNetCore.App"
|
|
1139
|
-
}
|
|
1140
|
-
elseif ($Runtime -eq "windowsdesktop") {
|
|
1141
|
-
$assetName = ".NET Core Windows Desktop Runtime"
|
|
1142
|
-
$dotnetPackageRelativePath = "shared\Microsoft.WindowsDesktop.App"
|
|
1143
|
-
}
|
|
1144
|
-
elseif (-not $Runtime) {
|
|
1145
|
-
$assetName = ".NET Core SDK"
|
|
1146
|
-
$dotnetPackageRelativePath = "sdk"
|
|
1147
|
-
}
|
|
1148
|
-
else {
|
|
1149
|
-
throw "Invalid value for `$Runtime"
|
|
1150
|
-
}
|
|
1151
|
-
|
|
1152
|
-
return ($assetName, $dotnetPackageRelativePath)
|
|
754
|
+
elseif ($Runtime -eq "windowsdesktop") {
|
|
755
|
+
$assetName = ".NET Core Windows Desktop Runtime"
|
|
756
|
+
$dotnetPackageRelativePath = "shared\Microsoft.WindowsDesktop.App"
|
|
1153
757
|
}
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
$
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
return
|
|
1161
|
-
}
|
|
1162
|
-
|
|
1163
|
-
New-Item -ItemType Directory -Force -Path $InstallRoot | Out-Null
|
|
1164
|
-
|
|
1165
|
-
$installDrive = $((Get-Item $InstallRoot -Force).PSDrive.Name);
|
|
1166
|
-
$diskInfo = $null
|
|
1167
|
-
try {
|
|
1168
|
-
$diskInfo = Get-PSDrive -Name $installDrive
|
|
1169
|
-
}
|
|
1170
|
-
catch {
|
|
1171
|
-
Say-Warning $diskSpaceWarning
|
|
1172
|
-
}
|
|
1173
|
-
|
|
1174
|
-
# The check is relevant for PS version >= 7, the result can be irrelevant for older versions. See https://github.com/PowerShell/PowerShell/issues/12442.
|
|
1175
|
-
if ( ($null -ne $diskInfo) -and ($diskInfo.Free / 1MB -le 100)) {
|
|
1176
|
-
throw "There is not enough disk space on drive ${installDrive}:"
|
|
1177
|
-
}
|
|
758
|
+
elseif (-not $Runtime) {
|
|
759
|
+
$assetName = ".NET Core SDK"
|
|
760
|
+
$dotnetPackageRelativePath = "sdk"
|
|
761
|
+
}
|
|
762
|
+
else {
|
|
763
|
+
throw "Invalid value for `$Runtime"
|
|
1178
764
|
}
|
|
1179
765
|
|
|
1180
|
-
if ($
|
|
766
|
+
if ($SpecificVersion -ne $EffectiveVersion)
|
|
1181
767
|
{
|
|
1182
|
-
|
|
1183
|
-
|
|
768
|
+
Say "Performing installation checks for effective version: $EffectiveVersion"
|
|
769
|
+
$SpecificVersion = $EffectiveVersion
|
|
1184
770
|
}
|
|
1185
771
|
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
Say
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
$Runtime = "dotnet"
|
|
772
|
+
# Check if the SDK version is already installed.
|
|
773
|
+
$isAssetInstalled = Is-Dotnet-Package-Installed -InstallRoot $InstallRoot -RelativePathToPackage $dotnetPackageRelativePath -SpecificVersion $SpecificVersion
|
|
774
|
+
if ($isAssetInstalled) {
|
|
775
|
+
Say "$assetName version $SpecificVersion is already installed."
|
|
776
|
+
Prepend-Sdk-InstallRoot-To-Path -InstallRoot $InstallRoot -BinFolderRelativePath $BinFolderRelativePath
|
|
777
|
+
return
|
|
1193
778
|
}
|
|
1194
779
|
|
|
1195
|
-
$
|
|
780
|
+
New-Item -ItemType Directory -Force -Path $InstallRoot | Out-Null
|
|
1196
781
|
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
$script:NormalizedChannel = Get-NormalizedChannel $Channel
|
|
1202
|
-
Say-Verbose "Normalized channel: '$NormalizedChannel'"
|
|
1203
|
-
$script:NormalizedProduct = Get-NormalizedProduct $Runtime
|
|
1204
|
-
Say-Verbose "Normalized product: '$NormalizedProduct'"
|
|
1205
|
-
$script:FeedCredential = ValidateFeedCredential $FeedCredential
|
|
782
|
+
$installDrive = $((Get-Item $InstallRoot).PSDrive.Name);
|
|
783
|
+
$diskInfo = Get-PSDrive -Name $installDrive
|
|
784
|
+
if ($diskInfo.Free / 1MB -le 100) {
|
|
785
|
+
throw "There is not enough disk space on drive ${installDrive}:"
|
|
1206
786
|
}
|
|
1207
787
|
|
|
1208
|
-
$
|
|
1209
|
-
Say-Verbose "
|
|
1210
|
-
$ScriptName = $MyInvocation.MyCommand.Name
|
|
1211
|
-
($assetName, $dotnetPackageRelativePath) = Resolve-AssetName-And-RelativePath -Runtime $Runtime
|
|
788
|
+
$ZipPath = [System.IO.Path]::combine([System.IO.Path]::GetTempPath(), [System.IO.Path]::GetRandomFileName())
|
|
789
|
+
Say-Verbose "Zip path: $ZipPath"
|
|
1212
790
|
|
|
1213
|
-
$
|
|
1214
|
-
$DownloadLinks = @()
|
|
791
|
+
$DownloadFailed = $false
|
|
1215
792
|
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
}
|
|
793
|
+
$PrimaryDownloadStatusCode = 0
|
|
794
|
+
$LegacyDownloadStatusCode = 0
|
|
1219
795
|
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
($DownloadLink, $SpecificVersion, $EffectiveVersion) = Get-AkaMsLink-And-Version $NormalizedChannel $NormalizedQuality $Internal $NormalizedProduct $CLIArchitecture
|
|
1223
|
-
|
|
1224
|
-
if ($null -ne $DownloadLink) {
|
|
1225
|
-
$DownloadLinks += New-Object PSObject -Property @{downloadLink="$DownloadLink";specificVersion="$SpecificVersion";effectiveVersion="$EffectiveVersion";type='aka.ms'}
|
|
1226
|
-
Say-Verbose "Generated aka.ms link $DownloadLink with version $EffectiveVersion"
|
|
1227
|
-
|
|
1228
|
-
if (-Not $DryRun) {
|
|
1229
|
-
Say-Verbose "Checking if the version $EffectiveVersion is already installed"
|
|
1230
|
-
if (Is-Dotnet-Package-Installed -InstallRoot $InstallRoot -RelativePathToPackage $dotnetPackageRelativePath -SpecificVersion $EffectiveVersion)
|
|
1231
|
-
{
|
|
1232
|
-
Say "$assetName with version '$EffectiveVersion' is already installed."
|
|
1233
|
-
Prepend-Sdk-InstallRoot-To-Path -InstallRoot $InstallRoot
|
|
1234
|
-
return
|
|
1235
|
-
}
|
|
1236
|
-
}
|
|
1237
|
-
}
|
|
1238
|
-
}
|
|
1239
|
-
|
|
1240
|
-
# Primary and legacy links cannot be used if a quality was specified.
|
|
1241
|
-
# If we already have an aka.ms link, no need to search the blob feeds.
|
|
1242
|
-
if ([string]::IsNullOrEmpty($NormalizedQuality) -and 0 -eq $DownloadLinks.count)
|
|
1243
|
-
{
|
|
1244
|
-
foreach ($feed in $feeds) {
|
|
1245
|
-
try {
|
|
1246
|
-
$SpecificVersion = Get-Specific-Version-From-Version -AzureFeed $feed -Channel $Channel -Version $Version -JSonFile $JSonFile
|
|
1247
|
-
$DownloadLink, $EffectiveVersion = Get-Download-Link -AzureFeed $feed -SpecificVersion $SpecificVersion -CLIArchitecture $CLIArchitecture
|
|
1248
|
-
$LegacyDownloadLink = Get-LegacyDownload-Link -AzureFeed $feed -SpecificVersion $SpecificVersion -CLIArchitecture $CLIArchitecture
|
|
1249
|
-
|
|
1250
|
-
$DownloadLinks += New-Object PSObject -Property @{downloadLink="$DownloadLink";specificVersion="$SpecificVersion";effectiveVersion="$EffectiveVersion";type='primary'}
|
|
1251
|
-
Say-Verbose "Generated primary link $DownloadLink with version $EffectiveVersion"
|
|
1252
|
-
|
|
1253
|
-
if (-not [string]::IsNullOrEmpty($LegacyDownloadLink)) {
|
|
1254
|
-
$DownloadLinks += New-Object PSObject -Property @{downloadLink="$LegacyDownloadLink";specificVersion="$SpecificVersion";effectiveVersion="$EffectiveVersion";type='legacy'}
|
|
1255
|
-
Say-Verbose "Generated legacy link $LegacyDownloadLink with version $EffectiveVersion"
|
|
1256
|
-
}
|
|
1257
|
-
|
|
1258
|
-
if (-Not $DryRun) {
|
|
1259
|
-
Say-Verbose "Checking if the version $EffectiveVersion is already installed"
|
|
1260
|
-
if (Is-Dotnet-Package-Installed -InstallRoot $InstallRoot -RelativePathToPackage $dotnetPackageRelativePath -SpecificVersion $EffectiveVersion)
|
|
1261
|
-
{
|
|
1262
|
-
Say "$assetName with version '$EffectiveVersion' is already installed."
|
|
1263
|
-
Prepend-Sdk-InstallRoot-To-Path -InstallRoot $InstallRoot
|
|
1264
|
-
return
|
|
1265
|
-
}
|
|
1266
|
-
}
|
|
1267
|
-
}
|
|
1268
|
-
catch
|
|
1269
|
-
{
|
|
1270
|
-
Say-Verbose "Failed to acquire download links from feed $feed. Exception: $_"
|
|
1271
|
-
}
|
|
1272
|
-
}
|
|
1273
|
-
}
|
|
796
|
+
$PrimaryDownloadFailedMsg = ""
|
|
797
|
+
$LegacyDownloadFailedMsg = ""
|
|
1274
798
|
|
|
1275
|
-
|
|
1276
|
-
|
|
799
|
+
Say "Downloading primary link $DownloadLink"
|
|
800
|
+
try {
|
|
801
|
+
DownloadFile -Source $DownloadLink -OutPath $ZipPath
|
|
1277
802
|
}
|
|
803
|
+
catch {
|
|
804
|
+
if ($PSItem.Exception.Data.Contains("StatusCode")) {
|
|
805
|
+
$PrimaryDownloadStatusCode = $PSItem.Exception.Data["StatusCode"]
|
|
806
|
+
}
|
|
1278
807
|
|
|
1279
|
-
if ($
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
808
|
+
if ($PSItem.Exception.Data.Contains("ErrorMessage")) {
|
|
809
|
+
$PrimaryDownloadFailedMsg = $PSItem.Exception.Data["ErrorMessage"]
|
|
810
|
+
} else {
|
|
811
|
+
$PrimaryDownloadFailedMsg = $PSItem.Exception.Message
|
|
812
|
+
}
|
|
1283
813
|
|
|
1284
|
-
|
|
814
|
+
if ($PrimaryDownloadStatusCode -eq 404) {
|
|
815
|
+
Say "The resource at $DownloadLink is not available."
|
|
816
|
+
} else {
|
|
817
|
+
Say $PSItem.Exception.Message
|
|
818
|
+
}
|
|
1285
819
|
|
|
1286
|
-
|
|
820
|
+
SafeRemoveFile -Path $ZipPath
|
|
1287
821
|
|
|
1288
|
-
$
|
|
1289
|
-
$
|
|
1290
|
-
$
|
|
822
|
+
if ($LegacyDownloadLink) {
|
|
823
|
+
$DownloadLink = $LegacyDownloadLink
|
|
824
|
+
$ZipPath = [System.IO.Path]::combine([System.IO.Path]::GetTempPath(), [System.IO.Path]::GetRandomFileName())
|
|
825
|
+
Say-Verbose "Legacy zip path: $ZipPath"
|
|
826
|
+
Say "Downloading legacy link $DownloadLink"
|
|
827
|
+
try {
|
|
828
|
+
DownloadFile -Source $DownloadLink -OutPath $ZipPath
|
|
829
|
+
}
|
|
830
|
+
catch {
|
|
831
|
+
if ($PSItem.Exception.Data.Contains("StatusCode")) {
|
|
832
|
+
$LegacyDownloadStatusCode = $PSItem.Exception.Data["StatusCode"]
|
|
833
|
+
}
|
|
1291
834
|
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
835
|
+
if ($PSItem.Exception.Data.Contains("ErrorMessage")) {
|
|
836
|
+
$LegacyDownloadFailedMsg = $PSItem.Exception.Data["ErrorMessage"]
|
|
837
|
+
} else {
|
|
838
|
+
$LegacyDownloadFailedMsg = $PSItem.Exception.Message
|
|
839
|
+
}
|
|
1295
840
|
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
break
|
|
1302
|
-
}
|
|
1303
|
-
catch {
|
|
1304
|
-
$StatusCode = $null
|
|
1305
|
-
$ErrorMessage = $null
|
|
841
|
+
if ($LegacyDownloadStatusCode -eq 404) {
|
|
842
|
+
Say "The resource at $DownloadLink is not available."
|
|
843
|
+
} else {
|
|
844
|
+
Say $PSItem.Exception.Message
|
|
845
|
+
}
|
|
1306
846
|
|
|
1307
|
-
|
|
1308
|
-
$
|
|
1309
|
-
}
|
|
1310
|
-
|
|
1311
|
-
if ($PSItem.Exception.Data.Contains("ErrorMessage")) {
|
|
1312
|
-
$ErrorMessage = $PSItem.Exception.Data["ErrorMessage"]
|
|
1313
|
-
} else {
|
|
1314
|
-
$ErrorMessage = $PSItem.Exception.Message
|
|
847
|
+
SafeRemoveFile -Path $ZipPath
|
|
848
|
+
$DownloadFailed = $true
|
|
1315
849
|
}
|
|
1316
|
-
|
|
1317
|
-
Say-Verbose "Download failed with status code $StatusCode. Error message: $ErrorMessage"
|
|
1318
|
-
$ErrorMessages += "Downloading from `"$($link.type)`" link has failed with error:`nUri: $($link.downloadLink)`nStatusCode: $StatusCode`nError: $ErrorMessage"
|
|
1319
850
|
}
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
851
|
+
else {
|
|
852
|
+
$DownloadFailed = $true
|
|
853
|
+
}
|
|
1323
854
|
}
|
|
1324
855
|
|
|
1325
|
-
if (
|
|
1326
|
-
|
|
1327
|
-
|
|
856
|
+
if ($DownloadFailed) {
|
|
857
|
+
if (($PrimaryDownloadStatusCode -eq 404) -and ((-not $LegacyDownloadLink) -or ($LegacyDownloadStatusCode -eq 404))) {
|
|
858
|
+
throw "Could not find `"$assetName`" with version = $SpecificVersion`nRefer to: https://aka.ms/dotnet-os-lifecycle for information on .NET Core support"
|
|
859
|
+
} else {
|
|
860
|
+
# 404-NotFound is an expected response if it goes from only one of the links, do not show that error.
|
|
861
|
+
# If primary path is available (not 404-NotFound) then show the primary error else show the legacy error.
|
|
862
|
+
if ($PrimaryDownloadStatusCode -ne 404) {
|
|
863
|
+
throw "Could not download `"$assetName`" with version = $SpecificVersion`r`n$PrimaryDownloadFailedMsg"
|
|
864
|
+
}
|
|
865
|
+
if (($LegacyDownloadLink) -and ($LegacyDownloadStatusCode -ne 404)) {
|
|
866
|
+
throw "Could not download `"$assetName`" with version = $SpecificVersion`r`n$LegacyDownloadFailedMsg"
|
|
867
|
+
}
|
|
868
|
+
throw "Could not download `"$assetName`" with version = $SpecificVersion"
|
|
1328
869
|
}
|
|
1329
|
-
|
|
1330
|
-
throw "Could not find `"$assetName`" with version = $($DownloadLinks[0].effectiveVersion)`nRefer to: https://aka.ms/dotnet-os-lifecycle for information on .NET support"
|
|
1331
870
|
}
|
|
1332
871
|
|
|
1333
|
-
Say "Extracting
|
|
1334
|
-
|
|
872
|
+
Say "Extracting zip from $DownloadLink"
|
|
873
|
+
Extract-Dotnet-Package -ZipPath $ZipPath -OutPath $InstallRoot
|
|
1335
874
|
|
|
1336
875
|
# Check if the SDK version is installed; if not, fail the installation.
|
|
1337
876
|
$isAssetInstalled = $false
|
|
1338
877
|
|
|
1339
878
|
# if the version contains "RTM" or "servicing"; check if a 'release-type' SDK version is installed.
|
|
1340
|
-
if ($
|
|
1341
|
-
$ReleaseVersion = $
|
|
879
|
+
if ($SpecificVersion -Match "rtm" -or $SpecificVersion -Match "servicing") {
|
|
880
|
+
$ReleaseVersion = $SpecificVersion.Split("-")[0]
|
|
1342
881
|
Say-Verbose "Checking installation: version = $ReleaseVersion"
|
|
1343
882
|
$isAssetInstalled = Is-Dotnet-Package-Installed -InstallRoot $InstallRoot -RelativePathToPackage $dotnetPackageRelativePath -SpecificVersion $ReleaseVersion
|
|
1344
883
|
}
|
|
1345
884
|
|
|
1346
885
|
# Check if the SDK version is installed.
|
|
1347
886
|
if (!$isAssetInstalled) {
|
|
1348
|
-
Say-Verbose "Checking installation: version = $
|
|
1349
|
-
$isAssetInstalled = Is-Dotnet-Package-Installed -InstallRoot $InstallRoot -RelativePathToPackage $dotnetPackageRelativePath -SpecificVersion $
|
|
887
|
+
Say-Verbose "Checking installation: version = $SpecificVersion"
|
|
888
|
+
$isAssetInstalled = Is-Dotnet-Package-Installed -InstallRoot $InstallRoot -RelativePathToPackage $dotnetPackageRelativePath -SpecificVersion $SpecificVersion
|
|
1350
889
|
}
|
|
1351
890
|
|
|
1352
891
|
# Version verification failed. More likely something is wrong either with the downloaded content or with the verification algorithm.
|
|
1353
892
|
if (!$isAssetInstalled) {
|
|
1354
|
-
Say-Error "Failed to verify the version of installed `"$assetName`".`nInstallation source: $
|
|
1355
|
-
throw "`"$assetName`" with version = $
|
|
893
|
+
Say-Error "Failed to verify the version of installed `"$assetName`".`nInstallation source: $DownloadLink.`nInstallation location: $InstallRoot.`nReport the bug at https://github.com/dotnet/install-scripts/issues."
|
|
894
|
+
throw "`"$assetName`" with version = $SpecificVersion failed to install with an unknown error."
|
|
1356
895
|
}
|
|
1357
896
|
|
|
1358
|
-
|
|
1359
|
-
SafeRemoveFile -Path $ZipPath
|
|
1360
|
-
}
|
|
897
|
+
SafeRemoveFile -Path $ZipPath
|
|
1361
898
|
|
|
1362
|
-
|
|
899
|
+
Prepend-Sdk-InstallRoot-To-Path -InstallRoot $InstallRoot -BinFolderRelativePath $BinFolderRelativePath
|
|
1363
900
|
|
|
1364
901
|
Say "Note that the script does not resolve dependencies during installation."
|
|
1365
|
-
Say "To check the list of dependencies, go to https://
|
|
1366
|
-
Say "Installed version is $($DownloadedLink.effectiveVersion)"
|
|
902
|
+
Say "To check the list of dependencies, go to https://docs.microsoft.com/dotnet/core/install/windows#dependencies"
|
|
1367
903
|
Say "Installation finished"
|
|
1368
904
|
# SIG # Begin signature block
|
|
1369
|
-
#
|
|
905
|
+
# MIIjjwYJKoZIhvcNAQcCoIIjgDCCI3wCAQExDzANBglghkgBZQMEAgEFADB5Bgor
|
|
1370
906
|
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
|
|
1371
|
-
#
|
|
1372
|
-
#
|
|
1373
|
-
#
|
|
907
|
+
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCCNsnhcJvx/hXmM
|
|
908
|
+
# w8KjuvvIMDBFonhg9XJFc1QwfTyH4aCCDYEwggX/MIID56ADAgECAhMzAAABh3IX
|
|
909
|
+
# chVZQMcJAAAAAAGHMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
|
|
1374
910
|
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
|
|
1375
911
|
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
|
|
1376
|
-
#
|
|
912
|
+
# bmcgUENBIDIwMTEwHhcNMjAwMzA0MTgzOTQ3WhcNMjEwMzAzMTgzOTQ3WjB0MQsw
|
|
1377
913
|
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
|
|
1378
914
|
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
|
|
1379
915
|
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
|
|
1380
|
-
#
|
|
1381
|
-
#
|
|
1382
|
-
#
|
|
1383
|
-
#
|
|
1384
|
-
#
|
|
1385
|
-
#
|
|
1386
|
-
#
|
|
1387
|
-
#
|
|
1388
|
-
#
|
|
1389
|
-
#
|
|
1390
|
-
#
|
|
1391
|
-
#
|
|
1392
|
-
#
|
|
1393
|
-
#
|
|
1394
|
-
#
|
|
1395
|
-
#
|
|
1396
|
-
#
|
|
1397
|
-
#
|
|
1398
|
-
#
|
|
1399
|
-
#
|
|
1400
|
-
#
|
|
1401
|
-
#
|
|
1402
|
-
#
|
|
1403
|
-
#
|
|
1404
|
-
#
|
|
1405
|
-
#
|
|
1406
|
-
# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv
|
|
1407
|
-
# bjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
|
|
1408
|
-
# IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5WjB+MQswCQYDVQQG
|
|
1409
|
-
# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
|
|
1410
|
-
# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQg
|
|
1411
|
-
# Q29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC
|
|
1412
|
-
# CgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4BjgaBEm6f8MMHt03
|
|
1413
|
-
# a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe0t+bU7IKLMOv2akr
|
|
1414
|
-
# rnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato88tt8zpcoRb0Rrrg
|
|
1415
|
-
# OGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v++MrWhAfTVYoonpy
|
|
1416
|
-
# 4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDstrjNYxbc+/jLTswM9
|
|
1417
|
-
# sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN91/w0FK/jJSHvMAh
|
|
1418
|
-
# dCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4jiJV3TIUs+UsS1Vz8k
|
|
1419
|
-
# A/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmhD+kjSbwYuER8ReTB
|
|
1420
|
-
# w3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbiwZeBe+3W7UvnSSmn
|
|
1421
|
-
# Eyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8HhhUSJxAlMxdSlQy90
|
|
1422
|
-
# lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaIjAsCAwEAAaOCAe0w
|
|
1423
|
-
# ggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTlUAXTgqoXNzcitW2o
|
|
1424
|
-
# ynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYD
|
|
1425
|
-
# VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQFTuHqp8cx0SOJNDBa
|
|
1426
|
-
# BgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2Ny
|
|
1427
|
-
# bC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3JsMF4GCCsG
|
|
1428
|
-
# AQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5taWNyb3NvZnQuY29t
|
|
1429
|
-
# L3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3J0MIGfBgNV
|
|
1430
|
-
# HSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcCARYzaHR0cDovL3d3
|
|
1431
|
-
# dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnljcHMuaHRtMEAGCCsG
|
|
1432
|
-
# AQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5AF8AcwB0AGEAdABl
|
|
1433
|
-
# AG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oalmOBUeRou09h0ZyKb
|
|
1434
|
-
# C5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0epo/Np22O/IjWll11l
|
|
1435
|
-
# hJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1HXeUOeLpZMlEPXh6
|
|
1436
|
-
# I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtYSWMfCWluWpiW5IP0
|
|
1437
|
-
# wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInWH8MyGOLwxS3OW560
|
|
1438
|
-
# STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZiWhub6e3dMNABQam
|
|
1439
|
-
# ASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMdYzaXht/a8/jyFqGa
|
|
1440
|
-
# J+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7fQccOKO7eZS/sl/ah
|
|
1441
|
-
# XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKfenoi+kiVH6v7RyOA
|
|
1442
|
-
# 9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33Vt
|
|
1443
|
-
# Y5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr
|
|
1444
|
-
# /Xmfwb1tbWrJUnMTDXpQzTGCGgwwghoIAgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMw
|
|
1445
|
-
# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN
|
|
1446
|
-
# aWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNp
|
|
1447
|
-
# Z25pbmcgUENBIDIwMTECEzMAAAOvMEAOTKNNBUEAAAAAA68wDQYJYIZIAWUDBAIB
|
|
1448
|
-
# BQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO
|
|
1449
|
-
# MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEILE0f3lJHQgU2RZWXUC1oqZH
|
|
1450
|
-
# SyMVCuT1h5mXGiSSjTDHMEIGCisGAQQBgjcCAQwxNDAyoBSAEgBNAGkAYwByAG8A
|
|
1451
|
-
# cwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEB
|
|
1452
|
-
# BQAEggEANxDFgCiCDFasXK4jelzA8ed3cn/ZebTOsL/D/5LQTgwhbjtfp1Dp7awF
|
|
1453
|
-
# 8vESgjYXq22XMBz5vV12f2f14XzxG1kW17bP9OR+D2C3GUlN2xQstIhslXJRKVwi
|
|
1454
|
-
# lpFqHGFKy8o6sssvdrtsatlfrtC+ZChbQ1nyJmYWiCotVTwoi6UMA3EiXfQ/6KGo
|
|
1455
|
-
# o8MykKgtMWaolI63lITY2EWtUowSgg7IToyrZEYOH3p45F3Rb3mfVl5GE9u8BPBZ
|
|
1456
|
-
# WyZ3JZPojeJZPBwoh746RijTpga+MIPTLMT5/pyEFF37XoTfKy+pmIy2g27fGF0f
|
|
1457
|
-
# dUTMVnaeP3Gsz/QoRIYGwRZHxPIn06GCF5YwgheSBgorBgEEAYI3AwMBMYIXgjCC
|
|
1458
|
-
# F34GCSqGSIb3DQEHAqCCF28wghdrAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFRBgsq
|
|
1459
|
-
# hkiG9w0BCRABBKCCAUAEggE8MIIBOAIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFl
|
|
1460
|
-
# AwQCAQUABCDsnfXLdwRAAmajQ5qXHFhiKlkumRT841LqpvZZhWG0uwIGZbwTAVg6
|
|
1461
|
-
# GBIyMDI0MDIxNDIxMTUyNS45OVowBIACAfSggdGkgc4wgcsxCzAJBgNVBAYTAlVT
|
|
1462
|
-
# MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK
|
|
1463
|
-
# ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1pY3Jvc29mdCBBbWVy
|
|
1464
|
-
# aWNhIE9wZXJhdGlvbnMxJzAlBgNVBAsTHm5TaGllbGQgVFNTIEVTTjozNzAzLTA1
|
|
1465
|
-
# RTAtRDk0NzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZaCC
|
|
1466
|
-
# Ee0wggcgMIIFCKADAgECAhMzAAAB6pokctVZP2FjAAEAAAHqMA0GCSqGSIb3DQEB
|
|
1467
|
-
# CwUAMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH
|
|
1468
|
-
# EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNV
|
|
1469
|
-
# BAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMB4XDTIzMTIwNjE4NDUz
|
|
1470
|
-
# MFoXDTI1MDMwNTE4NDUzMFowgcsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNo
|
|
1471
|
-
# aW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y
|
|
1472
|
-
# cG9yYXRpb24xJTAjBgNVBAsTHE1pY3Jvc29mdCBBbWVyaWNhIE9wZXJhdGlvbnMx
|
|
1473
|
-
# JzAlBgNVBAsTHm5TaGllbGQgVFNTIEVTTjozNzAzLTA1RTAtRDk0NzElMCMGA1UE
|
|
1474
|
-
# AxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCCAiIwDQYJKoZIhvcNAQEB
|
|
1475
|
-
# BQADggIPADCCAgoCggIBALULX/FIPyAH1fsu52ijatZvaSypoXrlC0mRtCmaxzob
|
|
1476
|
-
# huDkw6/pY/+4nhc4m8pf9zW3R6PihYGp0YPpVuNdfhPQp/KVO6WvMq2DGfFmHurW
|
|
1477
|
-
# 4PQPL/DkbQMkM9vqjFCvPq8xXZnfL1nGN9moGcN+oaif/hUMedmF1qzbay9ILkYf
|
|
1478
|
-
# LCxDYn3Qwzsvh5xjxOcsjzmRddNURJvT23Eva0cxisH4ocLLTx2zfpqfshw4Z9Ga
|
|
1479
|
-
# EdsWg9rmib1galUpLzF5PsQDBbtZtcv+Wjmn0pFEiMCWwEEcPVN0YG5ysYLdNBdJ
|
|
1480
|
-
# On2zsOOS+80W5RrQEqzPpSIIvEkZBJmF3aI4lMR8nV/FiTadjpIIqxX5Wa1XlqI/
|
|
1481
|
-
# Nj+xagVjnjb7POsA+vh6Wu+v24HpyL8pyL/8Q4RFkRRME9cwT+Jr63yOtPbLe6DX
|
|
1482
|
-
# kxIJW6E6w2ua5kXBpEKtEQPTLPhX3CUxMYcglbnmI0zcc9UknX285K+sI/2WwRwT
|
|
1483
|
-
# BZkhDUULI86eQzV+zvzzR1qEBrlSY+oyTlYQrHMM9WnTzVflFDocZVTPpl2BDSNx
|
|
1484
|
-
# Pn0Qb4IoM9EPqbHyi/MilL+v/AQc8q3mQ6FiuPJAddz0ocpNZ9ekBWPVLKq3lfie
|
|
1485
|
-
# v4yl65u/438+NAQ+vSJgkONLMmuoguEGzmnK1vq/JHwdRUyn6YADiteM7Dja+Qd9
|
|
1486
|
-
# AgMBAAGjggFJMIIBRTAdBgNVHQ4EFgQUK4FFJaJR5ukXQFTUxMhyiwVuWV4wHwYD
|
|
1487
|
-
# VR0jBBgwFoAUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXwYDVR0fBFgwVjBUoFKgUIZO
|
|
1488
|
-
# aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIw
|
|
1489
|
-
# VGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3JsMGwGCCsGAQUFBwEBBGAwXjBc
|
|
1490
|
-
# BggrBgEFBQcwAoZQaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0
|
|
1491
|
-
# cy9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAxMCgxKS5jcnQwDAYD
|
|
1492
|
-
# VR0TAQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAOBgNVHQ8BAf8EBAMC
|
|
1493
|
-
# B4AwDQYJKoZIhvcNAQELBQADggIBACiDrVZeP37+fFVtfcbfsqC/Kg0Ce67bDceh
|
|
1494
|
-
# ZmPcfRgJ5Ddv0pJlOFVOFbiIVwesqeEUwFtclfi5AjneQ5ZJpYJpXfELOelG3dzj
|
|
1495
|
-
# +BKfd287/UY/cwmSkl+CjnoKBL3Ms6I/fWR+alR0+p6RlviK8xHoug9vkc2WrRZs
|
|
1496
|
-
# GnMVu2xOM2tPJ+qpyoDBzqv30N/ZRBOoNrS/PCkDwLGICDYqVs/IzAE49yv2ElPy
|
|
1497
|
-
# walf9mEsOHXV1lxtQDNcejVEmitJJ+1Vr2EtafPEbMQZp89TAuagROKE4YuohCUK
|
|
1498
|
-
# m+v3geJqTQarTBjqV25RCOT+XFngTMDD9wYx6TwndB2I1Ly726NiHUHs0uvq3ciC
|
|
1499
|
-
# V9JwNXdt1VZ63WK1NSgpVEsiK9EPABPt1EfXcKrfaPYkbkFi79eK1ETxx3NomYNU
|
|
1500
|
-
# HNiGU+X1Be8L7qpHwjo0g3/33XhtOr9LiDoUXh/V2LFTETiqV9Q8yLEavQW3j9LQ
|
|
1501
|
-
# /h/CaGz5YdGfrY8HiPfMIeLEokKxGf0hHcTEFApB0yLlq6KoHrFAEANR/4XuFIpl
|
|
1502
|
-
# 9sDywVIWt4tKqG+P6pRAXzg1zG5rGlslZWmw7XwgvhBu3jkLP9AxrsSYwY2ftrww
|
|
1503
|
-
# ze5NA6VDLS7pz+OrXXWLUmoyNrJNx5Bk0wEwzkQxzkOvmbdPhsOP1ZM0uA/xIV7c
|
|
1504
|
-
# SpNpZUw5MIIHcTCCBVmgAwIBAgITMwAAABXF52ueAptJmQAAAAAAFTANBgkqhkiG
|
|
1505
|
-
# 9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
|
|
1506
|
-
# BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEy
|
|
1507
|
-
# MDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIw
|
|
1508
|
-
# MTAwHhcNMjEwOTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1WjB8MQswCQYDVQQGEwJV
|
|
1509
|
-
# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE
|
|
1510
|
-
# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGlt
|
|
1511
|
-
# ZS1TdGFtcCBQQ0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
|
|
1512
|
-
# AOThpkzntHIhC3miy9ckeb0O1YLT/e6cBwfSqWxOdcjKNVf2AX9sSuDivbk+F2Az
|
|
1513
|
-
# /1xPx2b3lVNxWuJ+Slr+uDZnhUYjDLWNE893MsAQGOhgfWpSg0S3po5GawcU88V2
|
|
1514
|
-
# 9YZQ3MFEyHFcUTE3oAo4bo3t1w/YJlN8OWECesSq/XJprx2rrPY2vjUmZNqYO7oa
|
|
1515
|
-
# ezOtgFt+jBAcnVL+tuhiJdxqD89d9P6OU8/W7IVWTe/dvI2k45GPsjksUZzpcGkN
|
|
1516
|
-
# yjYtcI4xyDUoveO0hyTD4MmPfrVUj9z6BVWYbWg7mka97aSueik3rMvrg0XnRm7K
|
|
1517
|
-
# MtXAhjBcTyziYrLNueKNiOSWrAFKu75xqRdbZ2De+JKRHh09/SDPc31BmkZ1zcRf
|
|
1518
|
-
# NN0Sidb9pSB9fvzZnkXftnIv231fgLrbqn427DZM9ituqBJR6L8FA6PRc6ZNN3SU
|
|
1519
|
-
# HDSCD/AQ8rdHGO2n6Jl8P0zbr17C89XYcz1DTsEzOUyOArxCaC4Q6oRRRuLRvWoY
|
|
1520
|
-
# WmEBc8pnol7XKHYC4jMYctenIPDC+hIK12NvDMk2ZItboKaDIV1fMHSRlJTYuVD5
|
|
1521
|
-
# C4lh8zYGNRiER9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6bMURHXLvjflSxIUXk8A8
|
|
1522
|
-
# FdsaN8cIFRg/eKtFtvUeh17aj54WcmnGrnu3tz5q4i6tAgMBAAGjggHdMIIB2TAS
|
|
1523
|
-
# BgkrBgEEAYI3FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQWBBQqp1L+ZMSavoKRPEY1
|
|
1524
|
-
# Kc8Q/y8E7jAdBgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXAYDVR0gBFUw
|
|
1525
|
-
# UzBRBgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNy
|
|
1526
|
-
# b3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRtMBMGA1UdJQQMMAoG
|
|
1527
|
-
# CCsGAQUFBwMIMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB
|
|
1528
|
-
# hjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fO
|
|
1529
|
-
# mhjEMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w
|
|
1530
|
-
# a2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBaBggr
|
|
1531
|
-
# BgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNv
|
|
1532
|
-
# bS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3J0MA0GCSqGSIb3
|
|
1533
|
-
# DQEBCwUAA4ICAQCdVX38Kq3hLB9nATEkW+Geckv8qW/qXBS2Pk5HZHixBpOXPTEz
|
|
1534
|
-
# tTnXwnE2P9pkbHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6U03dmLq2HnjYNi6cqYJW
|
|
1535
|
-
# AAOwBb6J6Gngugnue99qb74py27YP0h1AdkY3m2CDPVtI1TkeFN1JFe53Z/zjj3G
|
|
1536
|
-
# 82jfZfakVqr3lbYoVSfQJL1AoL8ZthISEV09J+BAljis9/kpicO8F7BUhUKz/Aye
|
|
1537
|
-
# ixmJ5/ALaoHCgRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTpkbKpW99Jo3QMvOyRgNI9
|
|
1538
|
-
# 5ko+ZjtPu4b6MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0sHrYUP4KWN1APMdUbZ1j
|
|
1539
|
-
# dEgssU5HLcEUBHG/ZPkkvnNtyo4JvbMBV0lUZNlz138eW0QBjloZkWsNn6Qo3GcZ
|
|
1540
|
-
# KCS6OEuabvshVGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJsWkBRH58oWFsc/4Ku+xB
|
|
1541
|
-
# Zj1p/cvBQUl+fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7Fx0ViY1w/ue10CgaiQuP
|
|
1542
|
-
# Ntq6TPmb/wrpNPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0dFtq0Z4+7X6gMTN9vMvp
|
|
1543
|
-
# e784cETRkPHIqzqKOghif9lwY1NNje6CbaUFEMFxBmoQtB1VM1izoXBm8qGCA1Aw
|
|
1544
|
-
# ggI4AgEBMIH5oYHRpIHOMIHLMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu
|
|
1545
|
-
# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv
|
|
1546
|
-
# cmF0aW9uMSUwIwYDVQQLExxNaWNyb3NvZnQgQW1lcmljYSBPcGVyYXRpb25zMScw
|
|
1547
|
-
# JQYDVQQLEx5uU2hpZWxkIFRTUyBFU046MzcwMy0wNUUwLUQ5NDcxJTAjBgNVBAMT
|
|
1548
|
-
# HE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoBATAHBgUrDgMCGgMVAInb
|
|
1549
|
-
# HtxB+OlGyQnxQYhy04KSYSSPoIGDMIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNV
|
|
1550
|
-
# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv
|
|
1551
|
-
# c29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAg
|
|
1552
|
-
# UENBIDIwMTAwDQYJKoZIhvcNAQELBQACBQDpdwuXMCIYDzIwMjQwMjE0MDk1MTE5
|
|
1553
|
-
# WhgPMjAyNDAyMTUwOTUxMTlaMHcwPQYKKwYBBAGEWQoEATEvMC0wCgIFAOl3C5cC
|
|
1554
|
-
# AQAwCgIBAAICAbgCAf8wBwIBAAICFGEwCgIFAOl4XRcCAQAwNgYKKwYBBAGEWQoE
|
|
1555
|
-
# AjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEKMAgCAQACAwGGoDANBgkq
|
|
1556
|
-
# hkiG9w0BAQsFAAOCAQEAD3oj3Gr5HTA5vQkFXZE9QSfCqxmL4ez3qxPD1t/UMJ9w
|
|
1557
|
-
# 93APM6n5MjApe6tpBjo4Oe83WMnfsWNA5ZRu8B/XJhyJ8531k5XMROCaVX6eTOrO
|
|
1558
|
-
# 70mkxtszD1E2m5iFx2RYJKS2ldkFAnykkFMc4ezXHa+RAijQA3rQp2VNidnVEFkO
|
|
1559
|
-
# jkaZY2FoA2dbG7v9ZjkQsmrycREGNiakPhAgqqmTiUlDPvul5gJx24VGL0z7JZhP
|
|
1560
|
-
# KUsccmv6HF3sgD6FjhENyZtD1+NrRfVQHTrjitjpC/dX9ux2OP8pjPi3WIdPfEsI
|
|
1561
|
-
# 2PhWNWSEof4cWFv/lLlYAUVeHPDcafr+2umlLYb62zGCBA0wggQJAgEBMIGTMHwx
|
|
1562
|
-
# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
|
|
1563
|
-
# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1p
|
|
1564
|
-
# Y3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAB6pokctVZP2FjAAEAAAHq
|
|
1565
|
-
# MA0GCWCGSAFlAwQCAQUAoIIBSjAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQw
|
|
1566
|
-
# LwYJKoZIhvcNAQkEMSIEIL2oG23lx47V7tAc0IyUsnuhSrJEjOACK32L1AXSjdl/
|
|
1567
|
-
# MIH6BgsqhkiG9w0BCRACLzGB6jCB5zCB5DCBvQQgKY+h1eNkNHiLCDSW0sA1cGHk
|
|
1568
|
-
# bW4qooi+ryyMp6S4ZngwgZgwgYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMK
|
|
916
|
+
# AQDOt8kLc7P3T7MKIhouYHewMFmnq8Ayu7FOhZCQabVwBp2VS4WyB2Qe4TQBT8aB
|
|
917
|
+
# znANDEPjHKNdPT8Xz5cNali6XHefS8i/WXtF0vSsP8NEv6mBHuA2p1fw2wB/F0dH
|
|
918
|
+
# sJ3GfZ5c0sPJjklsiYqPw59xJ54kM91IOgiO2OUzjNAljPibjCWfH7UzQ1TPHc4d
|
|
919
|
+
# weils8GEIrbBRb7IWwiObL12jWT4Yh71NQgvJ9Fn6+UhD9x2uk3dLj84vwt1NuFQ
|
|
920
|
+
# itKJxIV0fVsRNR3abQVOLqpDugbr0SzNL6o8xzOHL5OXiGGwg6ekiXA1/2XXY7yV
|
|
921
|
+
# Fc39tledDtZjSjNbex1zzwSXAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE
|
|
922
|
+
# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUhov4ZyO96axkJdMjpzu2zVXOJcsw
|
|
923
|
+
# UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1
|
|
924
|
+
# ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDU4Mzg1MB8GA1UdIwQYMBaAFEhu
|
|
925
|
+
# ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu
|
|
926
|
+
# bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w
|
|
927
|
+
# Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3
|
|
928
|
+
# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx
|
|
929
|
+
# MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAixmy
|
|
930
|
+
# S6E6vprWD9KFNIB9G5zyMuIjZAOuUJ1EK/Vlg6Fb3ZHXjjUwATKIcXbFuFC6Wr4K
|
|
931
|
+
# NrU4DY/sBVqmab5AC/je3bpUpjtxpEyqUqtPc30wEg/rO9vmKmqKoLPT37svc2NV
|
|
932
|
+
# BmGNl+85qO4fV/w7Cx7J0Bbqk19KcRNdjt6eKoTnTPHBHlVHQIHZpMxacbFOAkJr
|
|
933
|
+
# qAVkYZdz7ikNXTxV+GRb36tC4ByMNxE2DF7vFdvaiZP0CVZ5ByJ2gAhXMdK9+usx
|
|
934
|
+
# zVk913qKde1OAuWdv+rndqkAIm8fUlRnr4saSCg7cIbUwCCf116wUJ7EuJDg0vHe
|
|
935
|
+
# yhnCeHnBbyH3RZkHEi2ofmfgnFISJZDdMAeVZGVOh20Jp50XBzqokpPzeZ6zc1/g
|
|
936
|
+
# yILNyiVgE+RPkjnUQshd1f1PMgn3tns2Cz7bJiVUaqEO3n9qRFgy5JuLae6UweGf
|
|
937
|
+
# AeOo3dgLZxikKzYs3hDMaEtJq8IP71cX7QXe6lnMmXU/Hdfz2p897Zd+kU+vZvKI
|
|
938
|
+
# 3cwLfuVQgK2RZ2z+Kc3K3dRPz2rXycK5XCuRZmvGab/WbrZiC7wJQapgBodltMI5
|
|
939
|
+
# GMdFrBg9IeF7/rP4EqVQXeKtevTlZXjpuNhhjuR+2DMt/dWufjXpiW91bo3aH6Ea
|
|
940
|
+
# jOALXmoxgltCp1K7hrS6gmsvj94cLRf50QQ4U8Qwggd6MIIFYqADAgECAgphDpDS
|
|
941
|
+
# AAAAAAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK
|
|
1569
942
|
# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
|
|
1570
|
-
#
|
|
1571
|
-
#
|
|
1572
|
-
#
|
|
1573
|
-
#
|
|
1574
|
-
#
|
|
1575
|
-
#
|
|
1576
|
-
#
|
|
1577
|
-
#
|
|
1578
|
-
#
|
|
1579
|
-
#
|
|
1580
|
-
#
|
|
1581
|
-
#
|
|
1582
|
-
#
|
|
1583
|
-
#
|
|
943
|
+
# IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0
|
|
944
|
+
# ZSBBdXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDla
|
|
945
|
+
# MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS
|
|
946
|
+
# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMT
|
|
947
|
+
# H01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEB
|
|
948
|
+
# AQUAA4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgG
|
|
949
|
+
# OBoESbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S
|
|
950
|
+
# 35tTsgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jz
|
|
951
|
+
# y23zOlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/7
|
|
952
|
+
# 4ytaEB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2u
|
|
953
|
+
# M1jFtz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33
|
|
954
|
+
# X/DQUr+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIl
|
|
955
|
+
# XdMhSz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP
|
|
956
|
+
# 6SNJvBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLB
|
|
957
|
+
# l4F77dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGF
|
|
958
|
+
# RInECUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiM
|
|
959
|
+
# CwIDAQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQ
|
|
960
|
+
# BdOCqhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud
|
|
961
|
+
# DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO
|
|
962
|
+
# 4eqnxzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0
|
|
963
|
+
# LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y
|
|
964
|
+
# Mi5jcmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1p
|
|
965
|
+
# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y
|
|
966
|
+
# Mi5jcnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIB
|
|
967
|
+
# FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNw
|
|
968
|
+
# cy5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkA
|
|
969
|
+
# XwBzAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY
|
|
970
|
+
# 4FR5Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj
|
|
971
|
+
# 82nbY78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUd
|
|
972
|
+
# d5Q54ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJ
|
|
973
|
+
# Yx8JaW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYf
|
|
974
|
+
# wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ
|
|
975
|
+
# aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j
|
|
976
|
+
# NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B
|
|
977
|
+
# xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96
|
|
978
|
+
# eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7
|
|
979
|
+
# r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I
|
|
980
|
+
# RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIVZDCCFWACAQEwgZUwfjELMAkG
|
|
981
|
+
# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
|
|
982
|
+
# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z
|
|
983
|
+
# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAYdyF3IVWUDHCQAAAAABhzAN
|
|
984
|
+
# BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor
|
|
985
|
+
# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgpT/bxWwe
|
|
986
|
+
# aW0EinKMWCAzDXUjwXkIHldYzR6lw4/1Pc0wQgYKKwYBBAGCNwIBDDE0MDKgFIAS
|
|
987
|
+
# AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN
|
|
988
|
+
# BgkqhkiG9w0BAQEFAASCAQCHd7sSQVq0YDg8QDx6/kLWn3s6jtvvIDCCgsO9spHM
|
|
989
|
+
# quPd4FPbG67DCsKDClekQs52qrtRO3Zo+JMnCw4j3bS+gZHzeJr2shbftOrpsFoD
|
|
990
|
+
# l7OPcUmtrqul9dkQCOp8t0MP3ls0n96/YyNy6lz4BAlTdkdDx957uAxalKaCIBzb
|
|
991
|
+
# R9QyppOKIfNFvwD4EI5KI6tpmSy/uH8SrRg7ZExAYZl6J6R18WkL7KHn649lPoAQ
|
|
992
|
+
# ujwrIXH10xOJops45ILGzKWQcHmCzLJGYapL4VHUuK+73nT+9ZROGHdk/PyvIcdw
|
|
993
|
+
# iERa+C06v305t3DA+CuHFy1tvyw7IFF6RVbLZPwxrJjToYIS7jCCEuoGCisGAQQB
|
|
994
|
+
# gjcDAwExghLaMIIS1gYJKoZIhvcNAQcCoIISxzCCEsMCAQMxDzANBglghkgBZQME
|
|
995
|
+
# AgEFADCCAVUGCyqGSIb3DQEJEAEEoIIBRASCAUAwggE8AgEBBgorBgEEAYRZCgMB
|
|
996
|
+
# MDEwDQYJYIZIAWUDBAIBBQAEIOCaTmvM1AP0WaEVqzKaaCu/R+bTlR4kCrM/ZXsb
|
|
997
|
+
# /eNOAgZgGeLsMwsYEzIwMjEwMjAzMjExNzQ5LjU5MVowBIACAfSggdSkgdEwgc4x
|
|
998
|
+
# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
|
|
999
|
+
# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKTAnBgNVBAsTIE1p
|
|
1000
|
+
# Y3Jvc29mdCBPcGVyYXRpb25zIFB1ZXJ0byBSaWNvMSYwJAYDVQQLEx1UaGFsZXMg
|
|
1001
|
+
# VFNTIEVTTjo4OTdBLUUzNTYtMTcwMTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUt
|
|
1002
|
+
# U3RhbXAgU2VydmljZaCCDkEwggT1MIID3aADAgECAhMzAAABLCKvRZd1+RvuAAAA
|
|
1003
|
+
# AAEsMA0GCSqGSIb3DQEBCwUAMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNo
|
|
1004
|
+
# aW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y
|
|
1005
|
+
# cG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEw
|
|
1006
|
+
# MB4XDTE5MTIxOTAxMTUwM1oXDTIxMDMxNzAxMTUwM1owgc4xCzAJBgNVBAYTAlVT
|
|
1007
|
+
# MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK
|
|
1008
|
+
# ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVy
|
|
1009
|
+
# YXRpb25zIFB1ZXJ0byBSaWNvMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjo4OTdB
|
|
1010
|
+
# LUUzNTYtMTcwMTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vydmlj
|
|
1011
|
+
# ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPK1zgSSq+MxAYo3qpCt
|
|
1012
|
+
# QDxSMPPJy6mm/wfEJNjNUnYtLFBwl1BUS5trEk/t41ldxITKehs+ABxYqo4Qxsg3
|
|
1013
|
+
# Gy1ugKiwHAnYiiekfC+ZhptNFgtnDZIn45zC0AlVr/6UfLtsLcHCh1XElLUHfEC0
|
|
1014
|
+
# nBuQcM/SpYo9e3l1qY5NdMgDGxCsmCKdiZfYXIu+U0UYIBhdzmSHnB3fxZOBVcr5
|
|
1015
|
+
# htFHEBBNt/rFJlm/A4yb8oBsp+Uf0p5QwmO/bCcdqB15JpylOhZmWs0sUfJKlK9E
|
|
1016
|
+
# rAhBwGki2eIRFKsQBdkXS9PWpF1w2gIJRvSkDEaCf+lbGTPdSzHSbfREWOF9wY3i
|
|
1017
|
+
# Yj8CAwEAAaOCARswggEXMB0GA1UdDgQWBBRRahZSGfrCQhCyIyGH9DkiaW7L0zAf
|
|
1018
|
+
# BgNVHSMEGDAWgBTVYzpcijGQ80N7fEYbxTNoWoVtVTBWBgNVHR8ETzBNMEugSaBH
|
|
1019
|
+
# hkVodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNU
|
|
1020
|
+
# aW1TdGFQQ0FfMjAxMC0wNy0wMS5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUF
|
|
1021
|
+
# BzAChj5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1RpbVN0
|
|
1022
|
+
# YVBDQV8yMDEwLTA3LTAxLmNydDAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsG
|
|
1023
|
+
# AQUFBwMIMA0GCSqGSIb3DQEBCwUAA4IBAQBPFxHIwi4vAH49w9Svmz6K3tM55RlW
|
|
1024
|
+
# 5pPeULXdut2Rqy6Ys0+VpZsbuaEoxs6Z1C3hMbkiqZFxxyltxJpuHTyGTg61zfNI
|
|
1025
|
+
# F5n6RsYF3s7IElDXNfZznF1/2iWc6uRPZK8rxxUJ/7emYXZCYwuUY0XjsCpP9pbR
|
|
1026
|
+
# RKeJi6r5arSyI+NfKxvgoM21JNt1BcdlXuAecdd/k8UjxCscffanoK2n6LFw1PcZ
|
|
1027
|
+
# lEO7NId7o+soM2C0QY5BYdghpn7uqopB6ixyFIIkDXFub+1E7GmAEwfU6VwEHL7y
|
|
1028
|
+
# 9rNE8bd+JrQs+yAtkkHy9FmXg/PsGq1daVzX1So7CJ6nyphpuHSN3VfTMIIGcTCC
|
|
1029
|
+
# BFmgAwIBAgIKYQmBKgAAAAAAAjANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMC
|
|
1030
|
+
# VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV
|
|
1031
|
+
# BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJv
|
|
1032
|
+
# b3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMTAwNzAxMjEzNjU1WhcN
|
|
1033
|
+
# MjUwNzAxMjE0NjU1WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3Rv
|
|
1034
|
+
# bjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0
|
|
1035
|
+
# aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCCASIw
|
|
1036
|
+
# DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKkdDbx3EYo6IOz8E5f1+n9plGt0
|
|
1037
|
+
# VBDVpQoAgoX77XxoSyxfxcPlYcJ2tz5mK1vwFVMnBDEfQRsalR3OCROOfGEwWbEw
|
|
1038
|
+
# RA/xYIiEVEMM1024OAizQt2TrNZzMFcmgqNFDdDq9UeBzb8kYDJYYEbyWEeGMoQe
|
|
1039
|
+
# dGFnkV+BVLHPk0ySwcSmXdFhE24oxhr5hoC732H8RsEnHSRnEnIaIYqvS2SJUGKx
|
|
1040
|
+
# Xf13Hz3wV3WsvYpCTUBR0Q+cBj5nf/VmwAOWRH7v0Ev9buWayrGo8noqCjHw2k4G
|
|
1041
|
+
# kbaICDXoeByw6ZnNPOcvRLqn9NxkvaQBwSAJk3jN/LzAyURdXhacAQVPIk0CAwEA
|
|
1042
|
+
# AaOCAeYwggHiMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBTVYzpcijGQ80N7
|
|
1043
|
+
# fEYbxTNoWoVtVTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMC
|
|
1044
|
+
# AYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo0T2UkFvX
|
|
1045
|
+
# zpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20v
|
|
1046
|
+
# cGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcmwwWgYI
|
|
1047
|
+
# KwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jvc29mdC5j
|
|
1048
|
+
# b20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNydDCBoAYDVR0g
|
|
1049
|
+
# AQH/BIGVMIGSMIGPBgkrBgEEAYI3LgMwgYEwPQYIKwYBBQUHAgEWMWh0dHA6Ly93
|
|
1050
|
+
# d3cubWljcm9zb2Z0LmNvbS9QS0kvZG9jcy9DUFMvZGVmYXVsdC5odG0wQAYIKwYB
|
|
1051
|
+
# BQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AUABvAGwAaQBjAHkAXwBTAHQAYQB0AGUA
|
|
1052
|
+
# bQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAAfmiFEN4sbgmD+BcQM9naOh
|
|
1053
|
+
# IW+z66bM9TG+zwXiqf76V20ZMLPCxWbJat/15/B4vceoniXj+bzta1RXCCtRgkQS
|
|
1054
|
+
# +7lTjMz0YBKKdsxAQEGb3FwX/1z5Xhc1mCRWS3TvQhDIr79/xn/yN31aPxzymXlK
|
|
1055
|
+
# kVIArzgPF/UveYFl2am1a+THzvbKegBvSzBEJCI8z+0DpZaPWSm8tv0E4XCfMkon
|
|
1056
|
+
# /VWvL/625Y4zu2JfmttXQOnxzplmkIz/amJ/3cVKC5Em4jnsGUpxY517IW3DnKOi
|
|
1057
|
+
# PPp/fZZqkHimbdLhnPkd/DjYlPTGpQqWhqS9nhquBEKDuLWAmyI4ILUl5WTs9/S/
|
|
1058
|
+
# fmNZJQ96LjlXdqJxqgaKD4kWumGnEcua2A5HmoDF0M2n0O99g/DhO3EJ3110mCII
|
|
1059
|
+
# YdqwUB5vvfHhAN/nMQekkzr3ZUd46PioSKv33nJ+YWtvd6mBy6cJrDm77MbL2IK0
|
|
1060
|
+
# cs0d9LiFAR6A+xuJKlQ5slvayA1VmXqHczsI5pgt6o3gMy4SKfXAL1QnIffIrE7a
|
|
1061
|
+
# KLixqduWsqdCosnPGUFN4Ib5KpqjEWYw07t0MkvfY3v1mYovG8chr1m1rtxEPJdQ
|
|
1062
|
+
# cdeh0sVV42neV8HR3jDA/czmTfsNv11P6Z0eGTgvvM9YBS7vDaBQNdrvCScc1bN+
|
|
1063
|
+
# NR4Iuto229Nfj950iEkSoYICzzCCAjgCAQEwgfyhgdSkgdEwgc4xCzAJBgNVBAYT
|
|
1064
|
+
# AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYD
|
|
1065
|
+
# VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKTAnBgNVBAsTIE1pY3Jvc29mdCBP
|
|
1066
|
+
# cGVyYXRpb25zIFB1ZXJ0byBSaWNvMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjo4
|
|
1067
|
+
# OTdBLUUzNTYtMTcwMTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vy
|
|
1068
|
+
# dmljZaIjCgEBMAcGBSsOAwIaAxUADE5OKSMoNx/mYxYWap1RTOohbJ2ggYMwgYCk
|
|
1069
|
+
# fjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
|
|
1070
|
+
# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD
|
|
1071
|
+
# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIF
|
|
1072
|
+
# AOPFChkwIhgPMjAyMTAyMDMxNTQwMDlaGA8yMDIxMDIwNDE1NDAwOVowdDA6Bgor
|
|
1073
|
+
# BgEEAYRZCgQBMSwwKjAKAgUA48UKGQIBADAHAgEAAgIXmDAHAgEAAgIRyTAKAgUA
|
|
1074
|
+
# 48ZbmQIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAowCAIBAAID
|
|
1075
|
+
# B6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEBBQUAA4GBAHeeznL2n6HWCjHH94Fl
|
|
1076
|
+
# hcdW6TEXzq4XNgp1Gx1W9F8gJ4x+SwoV7elJZkwgGffcpHomLvIY/VSuzsl1NgtJ
|
|
1077
|
+
# TWM2UxoqSv58BBOrl4eGhH6kkg8Ucy2tdeK5T8cHa8pMkq2j9pFd2mRG/6VMk0dl
|
|
1078
|
+
# Xz7Uy3Z6bZqkcABMyAfuAaGbMYIDDTCCAwkCAQEwgZMwfDELMAkGA1UEBhMCVVMx
|
|
1079
|
+
# EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoT
|
|
1080
|
+
# FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUt
|
|
1081
|
+
# U3RhbXAgUENBIDIwMTACEzMAAAEsIq9Fl3X5G+4AAAAAASwwDQYJYIZIAWUDBAIB
|
|
1082
|
+
# BQCgggFKMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQx
|
|
1083
|
+
# IgQg/QYv7yp+354WTjWUIsXWndTEzXjaYjqwYjcBxCJKjdUwgfoGCyqGSIb3DQEJ
|
|
1084
|
+
# EAIvMYHqMIHnMIHkMIG9BCBbn/0uFFh42hTM5XOoKdXevBaiSxmYK9Ilcn9nu5ZH
|
|
1085
|
+
# 4TCBmDCBgKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw
|
|
1086
|
+
# DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x
|
|
1087
|
+
# JjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAABLCKv
|
|
1088
|
+
# RZd1+RvuAAAAAAEsMCIEIIfIM3YbzHswb/Kj/qq1l1cHA6QBl+gEXYanUNJomrpT
|
|
1089
|
+
# MA0GCSqGSIb3DQEBCwUABIIBAAwdcXssUZGO7ho5+NHLjIxLtQk543aKGo+lrRMY
|
|
1090
|
+
# Q9abE1h/AaaNJl0iGxX4IihNWyfovSfYL3L4eODUBAu68tWSxeceRfWNsb/ZZfUi
|
|
1091
|
+
# v89hpLssI/Gf1BEgNMA4zCuIGQiC8okusVumEpAhhvCEbSiTTTtBdolTnU/CAKui
|
|
1092
|
+
# oxaU3R9XkKh1F4oAM26+dJ1J2BLQXPs5afNvvedDsZWNQUPK1sFF3JRfzxiTrwBW
|
|
1093
|
+
# EJRyflev9gyDoqCHzippgb+6+eti1WTkcA9Q49GIT11S6LOAVqkSC9N7Nqf8ksh8
|
|
1094
|
+
# ARdwT8jigpsm+mj7lrVU9upDkhVYhKeO8oiZq95Q53Zkteo=
|
|
1584
1095
|
# SIG # End signature block
|