最近在研究包管理器的工作原理,便想着安一个chocolatey下来,安装程序也方便一些。结果在csdn一找,人差点没给我气死。转载,以讹传讹,胡诌,过时的一大堆,都不咋靠谱。写这篇文章的目的就是让大家知道,Chocolatey到底是怎么安装的,让大家有一个舒适的开发体验。

以下是正文:

方法一,用管理员权限打开一个你喜欢的shell,输入以下命令:

powershell -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))"

管理员权限打开shell方法:在搜索中找到程序,右键-以管理员身份运行。或者在windows terminal里按住ctrl并点击要打开的shell。

如果报错说powershell不是已安装的程序,函数......就把powershell的安装地址加入path变量。在搜索里搜索“编辑系统环境变量”,或打开控制面板-系统-高级系统设置,在里面找到“编辑系统环境变量”,有两个栏目,一个是用户变量,一个是系统变量,双击系统变量里的Path,选择浏览,找到 %SystemRoot%\System32\WindowsPowerShell\v1.0\ ,或者按新建,将 %SystemRoot%\System32\WindowsPowerShell\v1.0\ 复制到框中。然后点击确定,再次打开cmd。

如果你已经从github下载了powershell7,在安装时应该已经加入了,如果没有,再次打开powershell安装程序,勾选“add to PATH”,然后好好反思一下你当初为什么没有勾选。

接下来,安装程序就会自动执行安装了。在2023年4月14日,chocolatey的默认安装路径是 C:\ProgramData\chocolatey\bin ,且安装程序会自动将此路径加入环境变量,所以不存在什么执行完安装程序后还要手动 SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin" 的问题。

第二种方法,如果你家刚通网,网速慢的只能上csdn,或者链接不上他们的服务器,将以下文本保存为install.ps1:

<#Chocolatey install script copied by jasonmo in 2023/4/14,it can install choco 1.3.1 .No changes in the scripts..SYNOPSISDownloads and installs Chocolatey on the local machine..DESCRIPTIONRetrieves the Chocolatey nupkg for the latest or a specified version, anddownloads and installs the application to the local machine..NOTES=====================================================================Copyright 2017 - 2020 Chocolatey Software, Inc, and theoriginal authors/contributors from ChocolateyGalleryCopyright 2011 - 2017 RealDimensions Software, LLC, and theoriginal authors/contributors from ChocolateyGalleryat https://github.com/chocolatey/chocolatey.orgLicensed under the Apache License, Version 2.0 (the "License");you may not use this file except in compliance with the License.You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.=====================================================================Environment Variables, specified as $env:NAME in PowerShell.exe and %NAME% in cmd.exe.For explicit proxy, please set $env:chocolateyProxyLocation and optionally $env:chocolateyProxyUser and $env:chocolateyProxyPasswordFor an explicit version of Chocolatey, please set $env:chocolateyVersion = 'versionnumber'To target a different url for chocolatey.nupkg, please set $env:chocolateyDownloadUrl = 'full url to nupkg file'NOTE: $env:chocolateyDownloadUrl does not work with $env:chocolateyVersion.To use built-in compression instead of 7zip (requires additional download), please set $env:chocolateyUseWindowsCompression = 'true'To bypass the use of any proxy, please set $env:chocolateyIgnoreProxy = 'true'.LINKFor organizational deployments of Chocolatey, please see https://docs.chocolatey.org/en-us/guides/organizations/organizational-deployment-guide#>
[CmdletBinding(DefaultParameterSetName = 'Default')]
param(# The URL to download Chocolatey from. This defaults to the value of# $env:chocolateyDownloadUrl, if it is set, and otherwise falls back to the# official Chocolatey community repository to download the Chocolatey package.# Can be used for offline installation by providing a path to a Chocolatey.nupkg.[Parameter(Mandatory = $false)][string]$ChocolateyDownloadUrl = $env:chocolateyDownloadUrl,# Specifies a target version of Chocolatey to install. By default, the latest# stable version is installed. This will use the value in# $env:chocolateyVersion by default, if that environment variable is present.# This parameter is ignored if -ChocolateyDownloadUrl is set.[Parameter(Mandatory = $false)][string]$ChocolateyVersion = $env:chocolateyVersion,# If set, uses built-in Windows decompression tools instead of 7zip when# unpacking the downloaded nupkg. This will be set by default if# $env:chocolateyUseWindowsCompression is set to a value other than 'false' or '0'.## This parameter will be ignored in PS 5+ in favour of using the# Expand-Archive built in PowerShell cmdlet directly.[Parameter(Mandatory = $false)][switch]$UseNativeUnzip = $($envVar = "$env:chocolateyUseWindowsCompression".Trim()$value = $nullif ([bool]::TryParse($envVar, [ref] $value)) {$value} elseif ([int]::TryParse($envVar, [ref] $value)) {[bool]$value} else {[bool]$envVar}),# If set, ignores any configured proxy. This will override any proxy# environment variables or parameters. This will be set by default if# $env:chocolateyIgnoreProxy is set to a value other than 'false' or '0'.[Parameter(Mandatory = $false)][switch]$IgnoreProxy = $($envVar = "$env:chocolateyIgnoreProxy".Trim()$value = $nullif ([bool]::TryParse($envVar, [ref] $value)) {$value}elseif ([int]::TryParse($envVar, [ref] $value)) {[bool]$value}else {[bool]$envVar}),# Specifies the proxy URL to use during the download. This will default to# the value of $env:chocolateyProxyLocation, if any is set.[Parameter(ParameterSetName = 'Proxy', Mandatory = $false)][string]$ProxyUrl = $env:chocolateyProxyLocation,# Specifies the credential to use for an authenticated proxy. By default, a# proxy credential will be constructed from the $env:chocolateyProxyUser and# $env:chocolateyProxyPassword environment variables, if both are set.[Parameter(ParameterSetName = 'Proxy', Mandatory = $false)][System.Management.Automation.PSCredential]$ProxyCredential
)#region Functionsfunction Get-Downloader {<#.SYNOPSISGets a System.Net.WebClient that respects relevant proxies to be used fordownloading data..DESCRIPTIONRetrieves a WebClient object that is pre-configured according to specifiedenvironment variables for any proxy and authentication for the proxy.Proxy information may be omitted if the target URL is considered to bebypassed by the proxy (originates from the local network.).PARAMETER UrlTarget URL that the WebClient will be querying. This URL is not queried bythe function, it is only a reference to determine if a proxy is needed..EXAMPLEGet-Downloader -Url $fileUrlVerifies whether any proxy configuration is needed, and/or whether $fileUrlis a URL that would need to bypass the proxy, and then outputs thealready-configured WebClient object.#>[CmdletBinding()]param([Parameter(Mandatory = $false)][string]$Url,[Parameter(Mandatory = $false)][string]$ProxyUrl,[Parameter(Mandatory = $false)][System.Management.Automation.PSCredential]$ProxyCredential)$downloader = New-Object System.Net.WebClient$defaultCreds = [System.Net.CredentialCache]::DefaultCredentialsif ($defaultCreds) {$downloader.Credentials = $defaultCreds}if ($ProxyUrl) {# Use explicitly set proxy.Write-Host "Using explicit proxy server '$ProxyUrl'."$proxy = New-Object System.Net.WebProxy -ArgumentList $ProxyUrl, <# bypassOnLocal: #> $true$proxy.Credentials = if ($ProxyCredential) {$ProxyCredential.GetNetworkCredential()} elseif ($defaultCreds) {$defaultCreds} else {Write-Warning "Default credentials were null, and no explicitly set proxy credentials were found. Attempting backup method."(Get-Credential).GetNetworkCredential()}if (-not $proxy.IsBypassed($Url)) {$downloader.Proxy = $proxy}} else {Write-Host "Not using proxy."}$downloader
}function Request-String {<#.SYNOPSISDownloads content from a remote server as a string..DESCRIPTIONDownloads target string content from a URL and outputs the resulting string.Any existing proxy that may be in use will be utilised..PARAMETER UrlURL to download string data from..PARAMETER ProxyConfigurationA hashtable containing proxy parameters (ProxyUrl and ProxyCredential).EXAMPLERequest-String https://community.chocolatey.org/install.ps1Retrieves the contents of the string data at the targeted URL and outputsit to the pipeline.#>[CmdletBinding()]param([Parameter(Mandatory = $true)][string]$Url,[Parameter(Mandatory = $false)][hashtable]$ProxyConfiguration)(Get-Downloader $url @ProxyConfiguration).DownloadString($url)
}function Request-File {<#.SYNOPSISDownloads a file from a given URL..DESCRIPTIONDownloads a target file from a URL to the specified local path.Any existing proxy that may be in use will be utilised..PARAMETER UrlURL of the file to download from the remote host..PARAMETER FileLocal path for the file to be downloaded to..PARAMETER ProxyConfigurationA hashtable containing proxy parameters (ProxyUrl and ProxyCredential).EXAMPLERequest-File -Url https://community.chocolatey.org/install.ps1 -File $targetFileDownloads the install.ps1 script to the path specified in $targetFile.#>[CmdletBinding()]param([Parameter(Mandatory = $false)][string]$Url,[Parameter(Mandatory = $false)][string]$File,[Parameter(Mandatory = $false)][hashtable]$ProxyConfiguration)Write-Host "Downloading $url to $file"(Get-Downloader $url @ProxyConfiguration).DownloadFile($url, $file)
}function Set-PSConsoleWriter {<#.SYNOPSISWorkaround for a bug in output stream handling PS v2 or v3..DESCRIPTIONPowerShell v2/3 caches the output stream. Then it throws errors due to theFileStream not being what is expected. Fixes "The OS handle's position isnot what FileStream expected. Do not use a handle simultaneously in oneFileStream and in Win32 code or another FileStream." error..EXAMPLESet-PSConsoleWriter.NOTESGeneral notes#>[CmdletBinding()]param()if ($PSVersionTable.PSVersion.Major -gt 3) {return}try {# http://www.leeholmes.com/blog/2008/07/30/workaround-the-os-handles-position-is-not-what-filestream-expected/ plus comments$bindingFlags = [Reflection.BindingFlags] "Instance,NonPublic,GetField"$objectRef = $host.GetType().GetField("externalHostRef", $bindingFlags).GetValue($host)$bindingFlags = [Reflection.BindingFlags] "Instance,NonPublic,GetProperty"$consoleHost = $objectRef.GetType().GetProperty("Value", $bindingFlags).GetValue($objectRef, @())[void] $consoleHost.GetType().GetProperty("IsStandardOutputRedirected", $bindingFlags).GetValue($consoleHost, @())$bindingFlags = [Reflection.BindingFlags] "Instance,NonPublic,GetField"$field = $consoleHost.GetType().GetField("standardOutputWriter", $bindingFlags)$field.SetValue($consoleHost, [Console]::Out)[void] $consoleHost.GetType().GetProperty("IsStandardErrorRedirected", $bindingFlags).GetValue($consoleHost, @())$field2 = $consoleHost.GetType().GetField("standardErrorWriter", $bindingFlags)$field2.SetValue($consoleHost, [Console]::Error)} catch {Write-Warning "Unable to apply redirection fix."}
}function Test-ChocolateyInstalled {[CmdletBinding()]param()$checkPath = if ($env:ChocolateyInstall) { $env:ChocolateyInstall } else { "$env:PROGRAMDATA\chocolatey" }if ($Command = Get-Command choco -CommandType Application -ErrorAction Ignore) {# choco is on the PATH, assume it's installedWrite-Warning "'choco' was found at '$($Command.Path)'."$true}elseif (-not (Test-Path $checkPath)) {# Install folder doesn't exist$false}elseif (-not (Get-ChildItem -Path $checkPath)) {# Install folder exists but is empty$false}else {# Install folder exists and is not emptyWrite-Warning "Files from a previous installation of Chocolatey were found at '$($CheckPath)'."$true}
}function Install-7zip {[CmdletBinding()]param([Parameter(Mandatory = $true)][string]$Path,[Parameter(Mandatory = $false)][hashtable]$ProxyConfiguration)if (-not (Test-Path ($Path))) {Write-Host "Downloading 7-Zip commandline tool prior to extraction."Request-File -Url 'https://community.chocolatey.org/7za.exe' -File $Path -ProxyConfiguration $ProxyConfiguration}else {Write-Host "7zip already present, skipping installation."}
}#endregion Functions#region Pre-check# Ensure we have all our streams setup correctly, needed for older PSVersions.
Set-PSConsoleWriterif (Test-ChocolateyInstalled) {$message = @("An existing Chocolatey installation was detected. Installation will not continue.""For security reasons, this script will not overwrite existing installations.""""Please use `choco upgrade chocolatey` to handle upgrades of Chocolatey itself.""If the existing installation is not functional or a prior installation did not complete, follow these steps:"" - Backup the files at the path listed above so you can restore your previous installation if needed"" - Remove the existing installation manually"" - Rerun this installation script"" - Reinstall any packages previously installed, if needed (refer to the `lib` folder in the backup)""""Once installation is completed, the backup folder is no longer needed and can be deleted.") -join [Environment]::NewLineWrite-Warning $messagereturn
}#endregion Pre-check#region Setup$proxyConfig = if ($IgnoreProxy -or -not $ProxyUrl) {@{}
} else {$config = @{ProxyUrl = $ProxyUrl}if ($ProxyCredential) {$config['ProxyCredential'] = $ProxyCredential} elseif ($env:chocolateyProxyUser -and $env:chocolateyProxyPassword) {$securePass = ConvertTo-SecureString $env:chocolateyProxyPassword -AsPlainText -Force$config['ProxyCredential'] = [System.Management.Automation.PSCredential]::new($env:chocolateyProxyUser, $securePass)}$config
}# Attempt to set highest encryption available for SecurityProtocol.
# PowerShell will not set this by default (until maybe .NET 4.6.x). This
# will typically produce a message for PowerShell v2 (just an info
# message though)
try {# Set TLS 1.2 (3072) as that is the minimum required by Chocolatey.org.# Use integers because the enumeration value for TLS 1.2 won't exist# in .NET 4.0, even though they are addressable if .NET 4.5+ is# installed (.NET 4.5 is an in-place upgrade).Write-Host "Forcing web requests to allow TLS v1.2 (Required for requests to Chocolatey.org)"[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
}
catch {$errorMessage = @('Unable to set PowerShell to use TLS 1.2. This is required for contacting Chocolatey as of 03 FEB 2020.''https://blog.chocolatey.org/2020/01/remove-support-for-old-tls-versions/.''If you see underlying connection closed or trust errors, you may need to do one or more of the following:''(1) upgrade to .NET Framework 4.5+ and PowerShell v3+,''(2) Call [System.Net.ServicePointManager]::SecurityProtocol = 3072; in PowerShell prior to attempting installation,''(3) specify internal Chocolatey package location (set $env:chocolateyDownloadUrl prior to install or host the package internally),''(4) use the Download + PowerShell method of install.''See https://docs.chocolatey.org/en-us/choco/setup for all install options.') -join [Environment]::NewLineWrite-Warning $errorMessage
}if ($ChocolateyDownloadUrl) {if ($ChocolateyVersion) {Write-Warning "Ignoring -ChocolateyVersion parameter ($ChocolateyVersion) because -ChocolateyDownloadUrl is set."}Write-Host "Downloading Chocolatey from: $ChocolateyDownloadUrl"
} elseif ($ChocolateyVersion) {Write-Host "Downloading specific version of Chocolatey: $ChocolateyVersion"$ChocolateyDownloadUrl = "https://community.chocolatey.org/api/v2/package/chocolatey/$ChocolateyVersion"
} else {Write-Host "Getting latest version of the Chocolatey package for download."$queryString = [uri]::EscapeUriString("((Id eq 'chocolatey') and (not IsPrerelease)) and IsLatestVersion")$queryUrl = 'https://community.chocolatey.org/api/v2/Packages()?$filter={0}' -f $queryString[xml]$result = Request-String -Url $queryUrl -ProxyConfiguration $proxyConfig$ChocolateyDownloadUrl = $result.feed.entry.content.src
}if (-not $env:TEMP) {$env:TEMP = Join-Path $env:SystemDrive -ChildPath 'temp'
}$chocoTempDir = Join-Path $env:TEMP -ChildPath "chocolatey"
$tempDir = Join-Path $chocoTempDir -ChildPath "chocoInstall"if (-not (Test-Path $tempDir -PathType Container)) {$null = New-Item -Path $tempDir -ItemType Directory
}#endregion Setup#region Download & Extract Chocolatey# If we are passed a valid local path, we do not need to download it.
if (Test-Path $ChocolateyDownloadUrl) {$file = $ChocolateyDownloadUrlWrite-Host "Using Chocolatey from $ChocolateyDownloadUrl."
} else {$file = Join-Path $tempDir "chocolatey.zip"Write-Host "Getting Chocolatey from $ChocolateyDownloadUrl."Request-File -Url $ChocolateyDownloadUrl -File $file -ProxyConfiguration $proxyConfig
}Write-Host "Extracting $file to $tempDir"
if ($PSVersionTable.PSVersion.Major -lt 5) {# Determine unzipping method# 7zip is the most compatible pre-PSv5.1 so use it unless asked to use builtinif ($UseNativeUnzip) {Write-Host 'Using built-in compression to unzip'try {$shellApplication = New-Object -ComObject Shell.Application$zipPackage = $shellApplication.NameSpace($file)$destinationFolder = $shellApplication.NameSpace($tempDir)$destinationFolder.CopyHere($zipPackage.Items(), 0x10)} catch {Write-Warning "Unable to unzip package using built-in compression. Set `$env:chocolateyUseWindowsCompression = ''` or omit -UseNativeUnzip and retry to use 7zip to unzip."throw $_}} else {$7zaExe = Join-Path $tempDir -ChildPath '7za.exe'Install-7zip -Path $7zaExe -ProxyConfiguration $proxyConfig$params = 'x -o"{0}" -bd -y "{1}"' -f $tempDir, $file# use more robust Process as compared to Start-Process -Wait (which doesn't# wait for the process to finish in PowerShell v3)$process = New-Object System.Diagnostics.Processtry {$process.StartInfo = New-Object System.Diagnostics.ProcessStartInfo -ArgumentList $7zaExe, $params$process.StartInfo.RedirectStandardOutput = $true$process.StartInfo.UseShellExecute = $false$process.StartInfo.WindowStyle = [System.Diagnostics.ProcessWindowStyle]::Hidden$null = $process.Start()$process.BeginOutputReadLine()$process.WaitForExit()$exitCode = $process.ExitCode}finally {$process.Dispose()}$errorMessage = "Unable to unzip package using 7zip. Perhaps try setting `$env:chocolateyUseWindowsCompression = 'true' and call install again. Error:"if ($exitCode -ne 0) {$errorDetails = switch ($exitCode) {1 { "Some files could not be extracted" }2 { "7-Zip encountered a fatal error while extracting the files" }7 { "7-Zip command line error" }8 { "7-Zip out of memory" }255 { "Extraction cancelled by the user" }default { "7-Zip signalled an unknown error (code $exitCode)" }}throw ($errorMessage, $errorDetails -join [Environment]::NewLine)}}
} else {Microsoft.PowerShell.Archive\Expand-Archive -Path $file -DestinationPath $tempDir -Force
}#endregion Download & Extract Chocolatey#region Install ChocolateyWrite-Host "Installing Chocolatey on the local machine"
$toolsFolder = Join-Path $tempDir -ChildPath "tools"
$chocoInstallPS1 = Join-Path $toolsFolder -ChildPath "chocolateyInstall.ps1"& $chocoInstallPS1Write-Host 'Ensuring Chocolatey commands are on the path'
$chocoInstallVariableName = "ChocolateyInstall"
$chocoPath = [Environment]::GetEnvironmentVariable($chocoInstallVariableName)if (-not $chocoPath) {$chocoPath = "$env:ALLUSERSPROFILE\Chocolatey"
}if (-not (Test-Path ($chocoPath))) {$chocoPath = "$env:PROGRAMDATA\chocolatey"
}$chocoExePath = Join-Path $chocoPath -ChildPath 'bin'# Update current process PATH environment variable if it needs updating.
if ($env:Path -notlike "*$chocoExePath*") {$env:Path = [Environment]::GetEnvironmentVariable('Path', [System.EnvironmentVariableTarget]::Machine);
}Write-Host 'Ensuring chocolatey.nupkg is in the lib folder'
$chocoPkgDir = Join-Path $chocoPath -ChildPath 'lib\chocolatey'
$nupkg = Join-Path $chocoPkgDir -ChildPath 'chocolatey.nupkg'if (-not (Test-Path $chocoPkgDir -PathType Container)) {$null = New-Item -ItemType Directory -Path $chocoPkgDir
}Copy-Item -Path $file -Destination $nupkg -Force -ErrorAction SilentlyContinue#endregion Install Chocolatey# SIG # Begin signature block
# MIIjfwYJKoZIhvcNAQcCoIIjcDCCI2wCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCB++wEkbSzISpJ+
# 3mJW3ammMg2X/KHKSP6vZ78M9d3HNaCCHXgwggUwMIIEGKADAgECAhAECRgbX9W7
# ZnVTQ7VvlVAIMA0GCSqGSIb3DQEBCwUAMGUxCzAJBgNVBAYTAlVTMRUwEwYDVQQK
# EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xJDAiBgNV
# BAMTG0RpZ2lDZXJ0IEFzc3VyZWQgSUQgUm9vdCBDQTAeFw0xMzEwMjIxMjAwMDBa
# Fw0yODEwMjIxMjAwMDBaMHIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2Vy
# dCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xMTAvBgNVBAMTKERpZ2lD
# ZXJ0IFNIQTIgQXNzdXJlZCBJRCBDb2RlIFNpZ25pbmcgQ0EwggEiMA0GCSqGSIb3
# DQEBAQUAA4IBDwAwggEKAoIBAQD407Mcfw4Rr2d3B9MLMUkZz9D7RZmxOttE9X/l
# qJ3bMtdx6nadBS63j/qSQ8Cl+YnUNxnXtqrwnIal2CWsDnkoOn7p0WfTxvspJ8fT
# eyOU5JEjlpB3gvmhhCNmElQzUHSxKCa7JGnCwlLyFGeKiUXULaGj6YgsIJWuHEqH
# CN8M9eJNYBi+qsSyrnAxZjNxPqxwoqvOf+l8y5Kh5TsxHM/q8grkV7tKtel05iv+
# bMt+dDk2DZDv5LVOpKnqagqrhPOsZ061xPeM0SAlI+sIZD5SlsHyDxL0xY4PwaLo
# LFH3c7y9hbFig3NBggfkOItqcyDQD2RzPJ6fpjOp/RnfJZPRAgMBAAGjggHNMIIB
# yTASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjATBgNVHSUEDDAK
# BggrBgEFBQcDAzB5BggrBgEFBQcBAQRtMGswJAYIKwYBBQUHMAGGGGh0dHA6Ly9v
# Y3NwLmRpZ2ljZXJ0LmNvbTBDBggrBgEFBQcwAoY3aHR0cDovL2NhY2VydHMuZGln
# aWNlcnQuY29tL0RpZ2lDZXJ0QXNzdXJlZElEUm9vdENBLmNydDCBgQYDVR0fBHow
# eDA6oDigNoY0aHR0cDovL2NybDQuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0QXNzdXJl
# ZElEUm9vdENBLmNybDA6oDigNoY0aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0Rp
# Z2lDZXJ0QXNzdXJlZElEUm9vdENBLmNybDBPBgNVHSAESDBGMDgGCmCGSAGG/WwA
# AgQwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQUzAK
# BghghkgBhv1sAzAdBgNVHQ4EFgQUWsS5eyoKo6XqcQPAYPkt9mV1DlgwHwYDVR0j
# BBgwFoAUReuir/SSy4IxLVGLp6chnfNtyA8wDQYJKoZIhvcNAQELBQADggEBAD7s
# DVoks/Mi0RXILHwlKXaoHV0cLToaxO8wYdd+C2D9wz0PxK+L/e8q3yBVN7Dh9tGS
# dQ9RtG6ljlriXiSBThCk7j9xjmMOE0ut119EefM2FAaK95xGTlz/kLEbBw6RFfu6
# r7VRwo0kriTGxycqoSkoGjpxKAI8LpGjwCUR4pwUR6F6aGivm6dcIFzZcbEMj7uo
# +MUSaJ/PQMtARKUT8OZkDCUIQjKyNookAv4vcn4c10lFluhZHen6dGRrsutmQ9qz
# sIzV6Q3d9gEgzpkxYz0IGhizgZtPxpMQBvwHgfqL2vmCSfdibqFT+hKUGIUukpHq
# aGxEMrJmoecYpJpkUe8wggU5MIIEIaADAgECAhAKudMQ+yEr6IyBs9LC6M5RMA0G
# CSqGSIb3DQEBCwUAMHIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJ
# bmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xMTAvBgNVBAMTKERpZ2lDZXJ0
# IFNIQTIgQXNzdXJlZCBJRCBDb2RlIFNpZ25pbmcgQ0EwHhcNMjEwNDI3MDAwMDAw
# WhcNMjQwNDMwMjM1OTU5WjB3MQswCQYDVQQGEwJVUzEPMA0GA1UECBMGS2Fuc2Fz
# MQ8wDQYDVQQHEwZUb3Bla2ExIjAgBgNVBAoTGUNob2NvbGF0ZXkgU29mdHdhcmUs
# IEluYy4xIjAgBgNVBAMTGUNob2NvbGF0ZXkgU29mdHdhcmUsIEluYy4wggEiMA0G
# CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQChcaeNqeO3O3hzbDYYMcxvv/QNSPE4
# fpI+NGECR+FYdDO2utX9/SPxRCzWBrsgntPs/7IPk/uFZk/yTIiNoXO+cqJE45L9
# 2Ldfn6gAcwjGna/j2f/bbSFSeXW9z9lM3DJecFwXQleWR/8OKCnD+d1ZmHB0BA5v
# 0bQCfU8ZT7S0u9+KAKqyqgZrJyQiPfBVqXes9RSua7+0SVXmaBrJf9njHAf5KNFY
# /TEgm1r1zYwxfcsuE5eYdr2/suytUJpN18m9DmAdYm72va0KMxoKIBGuQy9DnaDI
# +nMiegsdhkL9sIysIin7Pcwjkwx9lRmtIqJA27Hfgb1MaL0OnkpwRY+VAgMBAAGj
# ggHEMIIBwDAfBgNVHSMEGDAWgBRaxLl7KgqjpepxA8Bg+S32ZXUOWDAdBgNVHQ4E
# FgQUTvMFGF2V6ylQalFt+afRXjSaBIMwDgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQM
# MAoGCCsGAQUFBwMDMHcGA1UdHwRwMG4wNaAzoDGGL2h0dHA6Ly9jcmwzLmRpZ2lj
# ZXJ0LmNvbS9zaGEyLWFzc3VyZWQtY3MtZzEuY3JsMDWgM6Axhi9odHRwOi8vY3Js
# NC5kaWdpY2VydC5jb20vc2hhMi1hc3N1cmVkLWNzLWcxLmNybDBLBgNVHSAERDBC
# MDYGCWCGSAGG/WwDATApMCcGCCsGAQUFBwIBFhtodHRwOi8vd3d3LmRpZ2ljZXJ0
# LmNvbS9DUFMwCAYGZ4EMAQQBMIGEBggrBgEFBQcBAQR4MHYwJAYIKwYBBQUHMAGG
# GGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBOBggrBgEFBQcwAoZCaHR0cDovL2Nh
# Y2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0U0hBMkFzc3VyZWRJRENvZGVTaWdu
# aW5nQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggEBAKFxncHA
# zDFesUJXaM21qMRk5+nIZcDuISfGgJcDjMHsRLw7na5Yn7IhiNY+OsKnPVkfPhL/
# MNXSHG6on+IpxiB2/Bry9thqKvpQdPBe8mFN0ctJDgrSceyRC5SA9EiO22J3YNe0
# yVEKAG+Yk2A/WhKBzCCpRskMlRr7KeLm6DvAgvDsMfkKtePMl2PraON+tFNpc2b1
# LTKT4okiU5uAWpjYAt9sYBsKTeZb5NJt0ZQ3akEEIAQs63/mSDAZlzMOJMWNK/yv
# 4NU5CiPVcohJ0WjUJUIrAMmAVlZ2h8NhCXJOv28cHWEgPks/zqdDdIhJfDF+ALd1
# 0JTBrwCNcYQG68AwggWNMIIEdaADAgECAhAOmxiO+dAt5+/bUOIIQBhaMA0GCSqG
# SIb3DQEBDAUAMGUxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMx
# GTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xJDAiBgNVBAMTG0RpZ2lDZXJ0IEFz
# c3VyZWQgSUQgUm9vdCBDQTAeFw0yMjA4MDEwMDAwMDBaFw0zMTExMDkyMzU5NTla
# MGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsT
# EHd3dy5kaWdpY2VydC5jb20xITAfBgNVBAMTGERpZ2lDZXJ0IFRydXN0ZWQgUm9v
# dCBHNDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL/mkHNo3rvkXUo8
# MCIwaTPswqclLskhPfKK2FnC4SmnPVirdprNrnsbhA3EMB/zG6Q4FutWxpdtHauy
# efLKEdLkX9YFPFIPUh/GnhWlfr6fqVcWWVVyr2iTcMKyunWZanMylNEQRBAu34Lz
# B4TmdDttceItDBvuINXJIB1jKS3O7F5OyJP4IWGbNOsFxl7sWxq868nPzaw0QF+x
# embud8hIqGZXV59UWI4MK7dPpzDZVu7Ke13jrclPXuU15zHL2pNe3I6PgNq2kZhA
# kHnDeMe2scS1ahg4AxCN2NQ3pC4FfYj1gj4QkXCrVYJBMtfbBHMqbpEBfCFM1Lyu
# GwN1XXhm2ToxRJozQL8I11pJpMLmqaBn3aQnvKFPObURWBf3JFxGj2T3wWmIdph2
# PVldQnaHiZdpekjw4KISG2aadMreSx7nDmOu5tTvkpI6nj3cAORFJYm2mkQZK37A
# lLTSYW3rM9nF30sEAMx9HJXDj/chsrIRt7t/8tWMcCxBYKqxYxhElRp2Yn72gLD7
# 6GSmM9GJB+G9t+ZDpBi4pncB4Q+UDCEdslQpJYls5Q5SUUd0viastkF13nqsX40/
# ybzTQRESW+UQUOsxxcpyFiIJ33xMdT9j7CFfxCBRa2+xq4aLT8LWRV+dIPyhHsXA
# j6KxfgommfXkaS+YHS312amyHeUbAgMBAAGjggE6MIIBNjAPBgNVHRMBAf8EBTAD
# AQH/MB0GA1UdDgQWBBTs1+OC0nFdZEzfLmc/57qYrhwPTzAfBgNVHSMEGDAWgBRF
# 66Kv9JLLgjEtUYunpyGd823IDzAOBgNVHQ8BAf8EBAMCAYYweQYIKwYBBQUHAQEE
# bTBrMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQwYIKwYB
# BQUHMAKGN2h0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3Vy
# ZWRJRFJvb3RDQS5jcnQwRQYDVR0fBD4wPDA6oDigNoY0aHR0cDovL2NybDMuZGln
# aWNlcnQuY29tL0RpZ2lDZXJ0QXNzdXJlZElEUm9vdENBLmNybDARBgNVHSAECjAI
# MAYGBFUdIAAwDQYJKoZIhvcNAQEMBQADggEBAHCgv0NcVec4X6CjdBs9thbX979X
# B72arKGHLOyFXqkauyL4hxppVCLtpIh3bb0aFPQTSnovLbc47/T/gLn4offyct4k
# vFIDyE7QKt76LVbP+fT3rDB6mouyXtTP0UNEm0Mh65ZyoUi0mcudT6cGAxN3J0TU
# 53/oWajwvy8LpunyNDzs9wPHh6jSTEAZNUZqaVSwuKFWjuyk1T3osdz9HNj0d1pc
# VIxv76FQPfx2CWiEn2/K2yCNNWAcAgPLILCsWKAOQGPFmCLBsln1VWvPJ6tsds5v
# Iy30fnFqI2si/xK4VC0nftg62fC2h5b9W9FcrBjDTZ9ztwGpn1eqXijiuZQwggau
# MIIElqADAgECAhAHNje3JFR82Ees/ShmKl5bMA0GCSqGSIb3DQEBCwUAMGIxCzAJ
# BgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5k
# aWdpY2VydC5jb20xITAfBgNVBAMTGERpZ2lDZXJ0IFRydXN0ZWQgUm9vdCBHNDAe
# Fw0yMjAzMjMwMDAwMDBaFw0zNzAzMjIyMzU5NTlaMGMxCzAJBgNVBAYTAlVTMRcw
# FQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNlcnQgVHJ1c3Rl
# ZCBHNCBSU0E0MDk2IFNIQTI1NiBUaW1lU3RhbXBpbmcgQ0EwggIiMA0GCSqGSIb3
# DQEBAQUAA4ICDwAwggIKAoICAQDGhjUGSbPBPXJJUVXHJQPE8pE3qZdRodbSg9Ge
# TKJtoLDMg/la9hGhRBVCX6SI82j6ffOciQt/nR+eDzMfUBMLJnOWbfhXqAJ9/UO0
# hNoR8XOxs+4rgISKIhjf69o9xBd/qxkrPkLcZ47qUT3w1lbU5ygt69OxtXXnHwZl
# jZQp09nsad/ZkIdGAHvbREGJ3HxqV3rwN3mfXazL6IRktFLydkf3YYMZ3V+0VAsh
# aG43IbtArF+y3kp9zvU5EmfvDqVjbOSmxR3NNg1c1eYbqMFkdECnwHLFuk4fsbVY
# TXn+149zk6wsOeKlSNbwsDETqVcplicu9Yemj052FVUmcJgmf6AaRyBD40NjgHt1
# biclkJg6OBGz9vae5jtb7IHeIhTZgirHkr+g3uM+onP65x9abJTyUpURK1h0QCir
# c0PO30qhHGs4xSnzyqqWc0Jon7ZGs506o9UD4L/wojzKQtwYSH8UNM/STKvvmz3+
# DrhkKvp1KCRB7UK/BZxmSVJQ9FHzNklNiyDSLFc1eSuo80VgvCONWPfcYd6T/jnA
# +bIwpUzX6ZhKWD7TA4j+s4/TXkt2ElGTyYwMO1uKIqjBJgj5FBASA31fI7tk42Pg
# puE+9sJ0sj8eCXbsq11GdeJgo1gJASgADoRU7s7pXcheMBK9Rp6103a50g5rmQzS
# M7TNsQIDAQABo4IBXTCCAVkwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU
# uhbZbU2FL3MpdpovdYxqII+eyG8wHwYDVR0jBBgwFoAU7NfjgtJxXWRM3y5nP+e6
# mK4cD08wDgYDVR0PAQH/BAQDAgGGMBMGA1UdJQQMMAoGCCsGAQUFBwMIMHcGCCsG
# AQUFBwEBBGswaTAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29t
# MEEGCCsGAQUFBzAChjVodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNl
# cnRUcnVzdGVkUm9vdEc0LmNydDBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3Js
# My5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNybDAgBgNVHSAE
# GTAXMAgGBmeBDAEEAjALBglghkgBhv1sBwEwDQYJKoZIhvcNAQELBQADggIBAH1Z
# jsCTtm+YqUQiAX5m1tghQuGwGC4QTRPPMFPOvxj7x1Bd4ksp+3CKDaopafxpwc8d
# B+k+YMjYC+VcW9dth/qEICU0MWfNthKWb8RQTGIdDAiCqBa9qVbPFXONASIlzpVp
# P0d3+3J0FNf/q0+KLHqrhc1DX+1gtqpPkWaeLJ7giqzl/Yy8ZCaHbJK9nXzQcAp8
# 76i8dU+6WvepELJd6f8oVInw1YpxdmXazPByoyP6wCeCRK6ZJxurJB4mwbfeKuv2
# nrF5mYGjVoarCkXJ38SNoOeY+/umnXKvxMfBwWpx2cYTgAnEtp/Nh4cku0+jSbl3
# ZpHxcpzpSwJSpzd+k1OsOx0ISQ+UzTl63f8lY5knLD0/a6fxZsNBzU+2QJshIUDQ
# txMkzdwdeDrknq3lNHGS1yZr5Dhzq6YBT70/O3itTK37xJV77QpfMzmHQXh6OOmc
# 4d0j/R0o08f56PGYX/sr2H7yRp11LB4nLCbbbxV7HhmLNriT1ObyF5lZynDwN7+Y
# AN8gFk8n+2BnFqFmut1VwDophrCYoCvtlUG3OtUVmDG0YgkPCr2B2RP+v6TR81fZ
# vAT6gt4y3wSJ8ADNXcL50CN/AAvkdgIm2fBldkKmKYcJRyvmfxqkhQ/8mJb2VVQr
# H4D6wPIOK+XW+6kvRBVK5xMOHds3OBqhK/bt1nz8MIIGwDCCBKigAwIBAgIQA8s0
# /T3/EhEzn/B8SyFXxzANBgkqhkiG9w0BAQsFADBjMQswCQYDVQQGEwJVUzEXMBUG
# A1UEChMORGlnaUNlcnQsIEluYy4xOzA5BgNVBAMTMkRpZ2lDZXJ0IFRydXN0ZWQg
# RzQgUlNBNDA5NiBTSEEyNTYgVGltZVN0YW1waW5nIENBMB4XDTIyMDgzMDAwMDAw
# MFoXDTIzMDgyOTIzNTk1OVowRjELMAkGA1UEBhMCVVMxETAPBgNVBAoTCERpZ2lD
# ZXJ0MSQwIgYDVQQDExtEaWdpQ2VydCBUaW1lc3RhbXAgMjAyMiAtIDIwggIiMA0G
# CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDP7KUmOsap8mu7jcENmtuh6BSFdDMa
# JqzQHFUeHjZtvJJVDGH0nQl3PRWWCC9rZKT9BoMW15GSOBwxApb7crGXOlWvM+xh
# iummKNuQY1y9iVPgOi2Mh0KuJqTku3h4uXoW4VbGwLpkU7sqFudQSLuIaQyIxvG+
# 4C99O7HKU41Agx7ny3JJKB5MgB6FVueF7fJhvKo6B332q27lZt3iXPUv7Y3UTZWE
# aOOAy2p50dIQkUYp6z4m8rSMzUy5Zsi7qlA4DeWMlF0ZWr/1e0BubxaompyVR4aF
# eT4MXmaMGgokvpyq0py2909ueMQoP6McD1AGN7oI2TWmtR7aeFgdOej4TJEQln5N
# 4d3CraV++C0bH+wrRhijGfY59/XBT3EuiQMRoku7mL/6T+R7Nu8GRORV/zbq5Xwx
# 5/PCUsTmFntafqUlc9vAapkhLWPlWfVNL5AfJ7fSqxTlOGaHUQhr+1NDOdBk+lbP
# 4PQK5hRtZHi7mP2Uw3Mh8y/CLiDXgazT8QfU4b3ZXUtuMZQpi+ZBpGWUwFjl5S4p
# kKa3YWT62SBsGFFguqaBDwklU/G/O+mrBw5qBzliGcnWhX8T2Y15z2LF7OF7ucxn
# EweawXjtxojIsG4yeccLWYONxu71LHx7jstkifGxxLjnU15fVdJ9GSlZA076XepF
# cxyEftfO4tQ6dwIDAQABo4IBizCCAYcwDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB
# /wQCMAAwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwgwIAYDVR0gBBkwFzAIBgZngQwB
# BAIwCwYJYIZIAYb9bAcBMB8GA1UdIwQYMBaAFLoW2W1NhS9zKXaaL3WMaiCPnshv
# MB0GA1UdDgQWBBRiit7QYfyPMRTtlwvNPSqUFN9SnDBaBgNVHR8EUzBRME+gTaBL
# hklodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRSU0E0
# MDk2U0hBMjU2VGltZVN0YW1waW5nQ0EuY3JsMIGQBggrBgEFBQcBAQSBgzCBgDAk
# BggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMFgGCCsGAQUFBzAC
# hkxodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRS
# U0E0MDk2U0hBMjU2VGltZVN0YW1waW5nQ0EuY3J0MA0GCSqGSIb3DQEBCwUAA4IC
# AQAtFMmhBkkt3YpsWh4F46zJ2J43irCmISI/RMoxPcsMDN98U+WUanYl9yLJO5xC
# BJT1gkTebuKE6O5ORBhpLcd2bKx6c39LIhBJhHQ38oLTQZV2MS75WWm/B1a7JVn3
# sTPuul0QhStfT4Ep7nbtIAt12sVmwungHlpoAUy0ZLQ0aam2PX49XekRLbl8X+ET
# azdDA0/pFQ3bdQVUxw05Xxg2wOhwF0dVXPpIRfHL+ETCfL7z96es9OahbbT3t0TF
# jwgvnfISrSSPtgt4QcHSgocyYs5H6utFa6qo/nRHgZ61GIVHGCCM+lnlWJO9q/99
# WvUqMGD7k8zQpLVOfSxemNv2zDyKR3h4bAQL4NkTMQ8x+E384CpBjPBfFQ6UwClF
# 3vL5c87DYyeJvqHhou9io+on/zNO4ok+JDBEFeRYPAaLSnSKse2tQn/mqqWaufgw
# HBYT8KOLqCrUiwFmNGiAAsUSkhaiB54IrnNrfZ/rwf6DP67ZUDZ55bfBNobwt8kJ
# efjP+7Ks1+LyNwQb+gEpjrA2mDhq2/dAQO+5KcXHIGryrHG/1HZifshmYzMrrlM4
# z6SqRsTBveUvQE4ng1bgxYuvLWkmPNTyVZsQQ/zKwW302fSQS0uRdbNHnChK+jjm
# NT7yyK8vvE64JxVD+Sk9NfRo4kVdhlQjgcfWgQfTPqE5YjGCBV0wggVZAgEBMIGG
# MHIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsT
# EHd3dy5kaWdpY2VydC5jb20xMTAvBgNVBAMTKERpZ2lDZXJ0IFNIQTIgQXNzdXJl
# ZCBJRCBDb2RlIFNpZ25pbmcgQ0ECEAq50xD7ISvojIGz0sLozlEwDQYJYIZIAWUD
# BAIBBQCggYQwGAYKKwYBBAGCNwIBDDEKMAigAoAAoQKAADAZBgkqhkiG9w0BCQMx
# DAYKKwYBBAGCNwIBBDAcBgorBgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkq
# hkiG9w0BCQQxIgQgsC24y91s9rdBJBX/HGsh3TDk9/tTPz/wqwpHd/BG95wwDQYJ
# KoZIhvcNAQEBBQAEggEABRnA4ts6tOodNQtByuJqbRHd8Zk6trruT3riH6w/d8dD
# ioL9o9R61cYA7X/qiXlg9LIv4QOqOfr5eNg187AZcIr071kbvwJcDNKx+UWbRlqf
# Z7sgv4s2YGBomu5AOjfbuI3o1i11GxnsISItv0nCWUEL+cYyUjLztG3KjRS5i7n8
# ZWPtWd6KZnOTRHOff89Qamfs/IHuYLGZmRtB599KtaJa8zV8azp8HTb94RgG7vaR
# /NVBEn5t03Zr8h7isrREb/VZCfCbbtFDCmFjW3Y16QQcWoUymqeVDppXjPI6ZTaw
# IIIV1isgidOxn7jH6AaTos5rWuGszXrs9Qz5e1NfoqGCAyAwggMcBgkqhkiG9w0B
# CQYxggMNMIIDCQIBATB3MGMxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2Vy
# dCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNlcnQgVHJ1c3RlZCBHNCBSU0E0MDk2IFNI
# QTI1NiBUaW1lU3RhbXBpbmcgQ0ECEAPLNP09/xIRM5/wfEshV8cwDQYJYIZIAWUD
# BAIBBQCgaTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEP
# Fw0yMjA5MjIxMjEzNDFaMC8GCSqGSIb3DQEJBDEiBCA00WubYx84jHy6kJsF2tNh
# m38VP7Rdz7xpR2y4q94z0zANBgkqhkiG9w0BAQEFAASCAgCujAa0Utyj6X1n1GDv
# eJ1ewfv99MmRCfIkFzsuquwmfjMhyl50t1i74glF697S5pDAZt8jfjLqCDQFX859
# ME9ERXQvc2k1E7Qtr7LDYdZI5ISNy1Wd1Vyoqyiol/IDXkqpHehWyxB+W1cpRAnf
# nDTMgBI6Zu7J8en6pGdNCl+LB5dt67qMUx0y4APvixWu6Bli2eq2vnmUljcMYiIs
# c1dHVJeLpCjzw47jVNsfKvNz4x9vi4fvfPmK/LgsxJAONGYtIxhn5YMG0+x1+2bc
# PoyY/QxT8baVlrICODLi28tcdXexYsSOpthepOZeWEqeu6ABf3MblTGh62bt/GR8
# aCxO9tbtKluBhriyS+12G2V/ZvTaSMLWyP6UObyQeSqUkKgUNQd/zgalf0EgaX5i
# N936OPOaKpgR5ArMJiY8IvV4Ioe2n6Bn1Z58w/2hevqNh625ieDcJQCLoz8jEPkQ
# StWziWzYpCa8pqt30AMI1O/9MlIxahAYCvxbDFoExwld3JxK+cxVf3RoaOusBari
# w3ltK4mUhUWJBddZMowZlzNHFmwWSSWin8lZe7CYNN8GYZ8r05fODSDYQ4fjmnIu
# rgrQsr7rOTIHcVpT1GV0PeruQy23c3CJzKPRdWWzZ7DujFwp+RonBe2tj9UsXl0W
# MjjuLLcpsNjlG/YPEO+BlqpCvg==
# SIG # End signature block

然后用管理员权限打开一个powershell,设置脚本执行策略:

set-executionpolicy remotesigned

cd到install.ps1所在的目录下,执行install.ps1:

.\install.ps1

然后就会自动安装Chocolatey了。

如何安装Chocolatey相关推荐

  1. windows安装 Chocolatey

    前言 win7 win7 自带 powershell v2,需要升级 powershell 才能安装成功. Chocolatey Chocolatey是一个Windows上的包管理器,类似于linux ...

  2. win10安装chocolatey及使用

    win10上编译GO程序时候提示 Error running 'build': Cannot run program "\usr\bin\make" (in directory x ...

  3. windows 下安装Chocolatey(强大的软件包管理工具)

    在 Linux 下,大家喜欢用 apt-get 来安装应用程序,如今在 windows 下,大家可以使用 Chocolatey 来快速下载搭建一个开发环境. Chocolatey 的哲学就是完全用命令 ...

  4. 安装chocolatey和meteor

    安装chocolatey 这个现在比较难安装,官网上的仓库地址也不可用,最后用官网的指导手册安装,在本地自己搭建nuget仓库解决.指导地址:https://chocolatey.org/instal ...

  5. windows 安装Chocolatey

    Chocolatey是什么?很简单,Chocolatey就是Windows系统的yum或apt-get. 一.Chocolatey介绍 Chocolatey是一款专为Windows系统开发的.基于Nu ...

  6. cmd安装Chocolatey

    表白:黑白圣堂血天使,天剑鬼刀阿修罗.  讲解对象:/cmd安装Chocolatey/choco 作者:融水公子 rsgz chocolatey教程 chocolatey教程 http://www.r ...

  7. win10安装Chocolatey

    前言 win10系统上安装包管理工具Chocolatey 安装流程 在window2路径C:\Windows\system32下增加文件install.ps1,内容如下 # ============= ...

  8. win11安装chocolatey软件包管理工具(win版)

    以管理员身份打开powershell,运行如下安装脚本: Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePo ...

  9. Windows11 安装 chocolatey 包管理器

    众所周知每个Linux发行版都有一个包管理器,比如Ubuntu的 apt-get.Centos的 yum.Arch Linux的 pacman,那么问题来了 Windows有包管理器吗? Window ...

最新文章

  1. 实战:使用 PyTorch 和 OpenCV 实现实时目标检测系统
  2. 如何实现一个线程安全的 ConcurrentHashSet ?
  3. avlib java_fatal error: libavutil/avconfig.h: No such file...
  4. gitlab hook触发jenkins自动构建
  5. 运维工程师必备之负载均衡集群及LVS详解
  6. 车标知识学习网页开发,与Flask通过base64展示二进制图片 #华为云·寻找黑马程序员#
  7. AtomicBoolean介绍与使用
  8. scjp考试准备 - 11 - 类型转换2
  9. 海思3519A上运行yolov3(总览)
  10. 面向对象特性、使用面向对象编程的场合
  11. 各版本Sql Server下载地址全
  12. 伪随机数生成算法-梅森旋转(Mersenne Twister/MT)
  13. java中jsp table标签属性_JSP自定义标签-属性
  14. JavaScript面向对象学习小结
  15. Android stdio安装
  16. VS2013添加反编译工具-ILDasm
  17. c#获取文件的MD5值
  18. 身份证男女识别---非线性问题01
  19. 小程序商城和社区团购小程序,商家应该选哪个?
  20. 微信视频压缩画质怎么办?微信发视频怎么不压缩画质

热门文章

  1. 民间房产抵押借贷 房子说收就收你信吗?
  2. 达梦物化视图概念及简单示例
  3. 菜狗的reverse学习——攻防世界xxxorrr
  4. js的数据类型和强制类型转换
  5. 正态分布累积函数及其反函数 C/C++
  6. vbs可以调用python脚本吗?
  7. Win10注销在哪?怎么注销电脑
  8. 湖北省钟祥一中2021高考成绩查询,钟祥2021中考分数线查询
  9. python--pyecharts地图、地图标记可视化实现《四》--地图可视化[视觉盛宴]
  10. VBA 字典数组运用查询系统