# Copyright (c) Mondoo, Inc. # SPDX-License-Identifier: BUSL-1.1 #Requires -Version 5 <# .SYNOPSIS # Automatic Mondoo downloader to be used with # [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex (new-object net.webclient).downloadstring('https://mondoo.com/download.ps1') .PARAMETER Product Set 'cnspec' (default) to download and extract the 'zip', possible values: 'cnquery', 'cnspec', 'mondoo' .PARAMETER Version If provided, tries to download the specific version instead of the latest .EXAMPLE download.ps1 -Product cnspec download.ps1 -Version 6.14.0 download.ps1 -Path 'C:\Users\Administrator\mondoo' #> Param( [string] $Product = 'cnspec', [string] $Path = '', [string] $Version = '' ) function fail($msg) { Write-Error -ErrorAction Stop -Message $msg } function info($msg) { $host.ui.RawUI.ForegroundColor = "white" Write-Output $msg } function success($msg) { $host.ui.RawUI.ForegroundColor = "darkgreen" Write-Output $msg } function purple($msg) { $host.ui.RawUI.ForegroundColor = "magenta" Write-Output $msg } function Get-UserAgent() { return "MondooDownloadScript/1.0 (+https://mondoo.com/) PowerShell/$($PSVersionTable.PSVersion.Major).$($PSVersionTable.PSVersion.Minor) (Windows NT $([System.Environment]::OSVersion.Version.Major).$([System.Environment]::OSVersion.Version.Minor);$PSEdition)" } function download($url,$to) { $wc = New-Object Net.Webclient $wc.Headers.Add('User-Agent', (Get-UserAgent)) $wc.downloadFile($url,$to) } function getenv($name,$global) { $target = 'User'; if($global) {$target = 'Machine'} [System.Environment]::GetEnvironmentVariable($name,$target) } function setenv($name,$value,$global) { $target = 'User'; if($global) {$target = 'Machine'} [System.Environment]::SetEnvironmentVariable($name,$value,$target) } purple "$Product Binary Download Script" purple " .-. : : ,-.,-.,-. .--. ,-.,-. .-`' : .--. .--. : ,. ,. :`' .; :: ,. :`' .; :`' .; :`' .; : :_;:_;:_;``.__.`':_;:_;``.__.`'``.__.`'``.__. " info "Welcome to the $Product Binary Download Script. It downloads the $Product binary for Windows into $ENV:UserProfile\$Product and adds the path to the user's environment PATH. If you are experiencing any issues, please do not hesitate to reach out: * Mondoo Community GitHub Discussions https://github.com/orgs/mondoohq/discussions This script source is available at: https://github.com/mondoohq/installer " # Any subsequent commands which fails will stop the execution of the shell script $previous_erroractionpreference = $erroractionpreference $erroractionpreference = 'stop' # verify powershell pre-conditions If (($PSVersionTable.PSVersion.Major) -lt 5) { fail " The install script requires PowerShell 5 or later. To upgrade PowerShell, visit https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows " } # show notification to change execution policy: If ((Get-ExecutionPolicy) -gt 'RemoteSigned' -or (Get-ExecutionPolicy) -eq 'ByPass') { fail " PowerShell requires an execution policy of 'RemoteSigned'. Please change the policy by running: Set-ExecutionPolicy RemoteSigned -scope CurrentUser " } # check if we are on either a 64-bit intel or 64-bit arm system: If ($env:PROCESSOR_ARCHITECTURE -ne 'AMD64' -and $env:PROCESSOR_ARCHITECTURE -ne 'ARM64') { fail " Your processor architecture $env:PROCESSOR_ARCHITECTURE is not supported yet. Please come join us in our Mondoo Community GitHub Discussions https://github.com/orgs/mondoohq/discussions or email us at hello@mondoo.com " } info "Arguments:" info (" Product: {0}" -f $Product) info (" Path: {0}" -f $Path) info (" Version: {0}" -f $Version) info "" # set download location If ([string]::IsNullOrEmpty($Path)) { $path = Get-Location } Else { # Check if Path exists $path = $Path.trim('\') If (!(Test-Path $path)) {New-Item -Path $path -ItemType Directory} } $filetype = 'zip' $arch = $($env:PROCESSOR_ARCHITECTURE).ToLower() $releaseurl = '' If ([string]::IsNullOrEmpty($version)) { # latest release $releaseurl = "https://install.mondoo.com/package/${product}/windows/${arch}/${filetype}/latest/download" } Else { # specific version $releaseurl = "https://install.mondoo.com/package/${product}/windows/${arch}/${filetype}/${Version}/download" } # download windows binary zip $downloadlocation = "$path\$Product.$filetype" info " * Downloading $Product from $releaseurl to $downloadlocation" download $releaseurl $downloadlocation # build checksum URL $checksumurl = $releaseurl -replace "download$", "sha256" $checksumfile = "$downloadlocation.sha256" info " * Downloading checksum from $checksumurl to $checksumfile" download $checksumurl $checksumfile # read expected hash from file (it's usually in the format: " ") $expectedHash = (Get-Content $checksumfile).Split(" ")[0].Trim() # compute actual file hash $actualHash = (Get-FileHash -Algorithm SHA256 -Path $downloadlocation).Hash.ToLower() info " * Validating checksum..." if ($expectedHash.ToLower() -ne $actualHash) { Write-Error " x SHA256 checksum mismatch! Expected: $expectedHash, Got: $actualHash" exit 1 } info ' + Checksum validated successfully!' info ' * Extracting zip...' # remove older version if it is still there Remove-Item "$path\$Product.exe" -Force -ErrorAction Ignore Add-Type -Assembly "System.IO.Compression.FileSystem" [IO.Compression.ZipFile]::ExtractToDirectory($downloadlocation,$path) Remove-Item $downloadlocation -Force Remove-Item $checksumfile -Force success " * $Product was downloaded successfully!" # Display final message info "Thank you for downloading $Product!" info " If you have any questions, please come join us in our Mondoo Community on GitHub Discussions: * https://github.com/orgs/mondoohq/discussions " # reset erroractionpreference $erroractionpreference = $previous_erroractionpreference # SIG # Begin signature block # MII9/wYJKoZIhvcNAQcCoII98DCCPewCAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCD/dTyzbHEFj2kH # ZAEUCCZH86yH/LeXIbYaEktFJLb29aCCIqQwggXMMIIDtKADAgECAhBUmNLR1FsZ # lUgTecgRwIeZMA0GCSqGSIb3DQEBDAUAMHcxCzAJBgNVBAYTAlVTMR4wHAYDVQQK # ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xSDBGBgNVBAMTP01pY3Jvc29mdCBJZGVu # dGl0eSBWZXJpZmljYXRpb24gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAy # MDAeFw0yMDA0MTYxODM2MTZaFw00NTA0MTYxODQ0NDBaMHcxCzAJBgNVBAYTAlVT # MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xSDBGBgNVBAMTP01pY3Jv # c29mdCBJZGVudGl0eSBWZXJpZmljYXRpb24gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRo # b3JpdHkgMjAyMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALORKgeD # Bmf9np3gx8C3pOZCBH8Ppttf+9Va10Wg+3cL8IDzpm1aTXlT2KCGhFdFIMeiVPvH # or+Kx24186IVxC9O40qFlkkN/76Z2BT2vCcH7kKbK/ULkgbk/WkTZaiRcvKYhOuD # PQ7k13ESSCHLDe32R0m3m/nJxxe2hE//uKya13NnSYXjhr03QNAlhtTetcJtYmrV # qXi8LW9J+eVsFBT9FMfTZRY33stuvF4pjf1imxUs1gXmuYkyM6Nix9fWUmcIxC70 # ViueC4fM7Ke0pqrrBc0ZV6U6CwQnHJFnni1iLS8evtrAIMsEGcoz+4m+mOJyoHI1 # vnnhnINv5G0Xb5DzPQCGdTiO0OBJmrvb0/gwytVXiGhNctO/bX9x2P29Da6SZEi3 # W295JrXNm5UhhNHvDzI9e1eM80UHTHzgXhgONXaLbZ7LNnSrBfjgc10yVpRnlyUK # xjU9lJfnwUSLgP3B+PR0GeUw9gb7IVc+BhyLaxWGJ0l7gpPKWeh1R+g/OPTHU3mg # trTiXFHvvV84wRPmeAyVWi7FQFkozA8kwOy6CXcjmTimthzax7ogttc32H83rwjj # O3HbbnMbfZlysOSGM1l0tRYAe1BtxoYT2v3EOYI9JACaYNq6lMAFUSw0rFCZE4e7 # swWAsk0wAly4JoNdtGNz764jlU9gKL431VulAgMBAAGjVDBSMA4GA1UdDwEB/wQE # AwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTIftJqhSobyhmYBAcnz1AQ # T2ioojAQBgkrBgEEAYI3FQEEAwIBADANBgkqhkiG9w0BAQwFAAOCAgEAr2rd5hnn # LZRDGU7L6VCVZKUDkQKL4jaAOxWiUsIWGbZqWl10QzD0m/9gdAmxIR6QFm3FJI9c # Zohj9E/MffISTEAQiwGf2qnIrvKVG8+dBetJPnSgaFvlVixlHIJ+U9pW2UYXeZJF # xBA2CFIpF8svpvJ+1Gkkih6PsHMNzBxKq7Kq7aeRYwFkIqgyuH4yKLNncy2RtNwx # AQv3Rwqm8ddK7VZgxCwIo3tAsLx0J1KH1r6I3TeKiW5niB31yV2g/rarOoDXGpc8 # FzYiQR6sTdWD5jw4vU8w6VSp07YEwzJ2YbuwGMUrGLPAgNW3lbBeUU0i/OxYqujY # lLSlLu2S3ucYfCFX3VVj979tzR/SpncocMfiWzpbCNJbTsgAlrPhgzavhgplXHT2 # 6ux6anSg8Evu75SjrFDyh+3XOjCDyft9V77l4/hByuVkrrOj7FjshZrM77nq81YY # uVxzmq/FdxeDWds3GhhyVKVB0rYjdaNDmuV3fJZ5t0GNv+zcgKCf0Xd1WF81E+Al # GmcLfc4l+gcK5GEh2NQc5QfGNpn0ltDGFf5Ozdeui53bFv0ExpK91IjmqaOqu/dk # ODtfzAzQNb50GQOmxapMomE2gj4d8yu8l13bS3g7LfU772Aj6PXsCyM2la+YZr9T # 03u4aUoqlmZpxJTG9F9urJh4iIAGXKKy7aIwggbmMIIEzqADAgECAhMzAAeb324s # szkfQAfJAAAAB5vfMA0GCSqGSIb3DQEBDAUAMFoxCzAJBgNVBAYTAlVTMR4wHAYD # VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKzApBgNVBAMTIk1pY3Jvc29mdCBJ # RCBWZXJpZmllZCBDUyBBT0MgQ0EgMDEwHhcNMjYwMjA5MDQyMzAwWhcNMjYwMjEy # MDQyMzAwWjBjMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmEx # DTALBgNVBAcTBENhcnkxFTATBgNVBAoTDE1vbmRvbywgSW5jLjEVMBMGA1UEAxMM # TW9uZG9vLCBJbmMuMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAkmiQ # fNaJaVZNjthDcKV38YNGwudhmmrEa9VuMm67MzCtmKMc8nyvF0VqobrWKeuXRBbQ # hLe9Qv27p69fWHuDiYK6sXsk4gqXZzTPOka8spDt99jJjrnc+DI9ny+uV+CVNxQr # Q8SsB9h9ovL9FHuOT3mf504DBcThWXgx5fBhzIYzpQI3yDNvfLTpCsiw4fDB6FGH # cR3Of5g4wpYYYFnP1McCxbnetJVGz92QGTDyHRWnat2vpZj+wWTQuTUPLYIHJmla # +0hzkeVfum/UqiE8Cqsi2ccEcwgq/tWYxJv7uGxU0KCCTBFBupD4xyhPa9v+IK7G # 8it6UXVp51rTmm1j63iB6dparnh9owEzfH8OCxdjhS4WEa4u3CBuOmzbuWd/kk5n # 91CTnSLbuZVkpNW+4PHMPMobiqGkQAn+Bti4yX/arEG32i9gTTw4CkD6PaBplxC+ # MLuqwyOzLw81bnoqsUETzrNm+mtmbMPTd2wOQhmkCDhdpybT73pzvidCpIeDAgMB # AAGjggIaMIICFjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDA9BgNVHSUE # NjA0BgorBgEEAYI3YQEABggrBgEFBQcDAwYcKwYBBAGCN2GCqd2RVoKnluRSgZGY # /W+D3NurKjAdBgNVHQ4EFgQUUgBjZZHyIxOyGGD3raUf4OTeHIMwHwYDVR0jBBgw # FoAU6IPEM9fcnwycdpoKptTfh6ZeWO4wZwYDVR0fBGAwXjBcoFqgWIZWaHR0cDov # L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwSUQlMjBW # ZXJpZmllZCUyMENTJTIwQU9DJTIwQ0ElMjAwMS5jcmwwgaUGCCsGAQUFBwEBBIGY # MIGVMGQGCCsGAQUFBzAChlhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3Bz # L2NlcnRzL01pY3Jvc29mdCUyMElEJTIwVmVyaWZpZWQlMjBDUyUyMEFPQyUyMENB # JTIwMDEuY3J0MC0GCCsGAQUFBzABhiFodHRwOi8vb25lb2NzcC5taWNyb3NvZnQu # Y29tL29jc3AwZgYDVR0gBF8wXTBRBgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcC # ARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRv # cnkuaHRtMAgGBmeBDAEEATANBgkqhkiG9w0BAQwFAAOCAgEAiMSxnslVEOe7hWj8 # xw+gdDjWnSvTIYLH1DCWq0SZX4dJTuGvbszwOajbE3OAMV/d0MLwwOQv3OZVkABz # h+N92/kZueDaOzouRFGVBa04+J1DeVRdTl6f8q1JWfnhokrIgXynLp8OCvpR6oXG # uU6ta7cdmVXhYQzFX+4lF02nq/mTkY5ycfwQdDCcV980S3CaTVWV6tH2UI56dztj # BbQdl6snzjpd7XDkQH+SYxG6ylI9Dx3eeMXFlsplMjfl/DRy/JhXlqkYiGhPOz8T # L65/DsmAEvAs9n/1rkMDsn9GUxbgYOWAdHxYaa5HztKOsaKX/GXQPh0hTSdNxyhW # gHdHOwjAvMZT5CEOKwnfO6hFl6KCfieXPaweIHhaiLSn7BCcST+rpWbW9/4b+t5q # EG8bptgniLePfdHEr3NBfaj600xDOCGoxvEJwnMgIv+hSFmkdkLlennv6c/wRx3x # SQi7KVgZ99ixA0mKm7yXsYxqRjTr//cHWnclSIsnoOXDLLg0L0U9+/NLGNoPhVrg # aYzehtAwGaKct4N4DRNotzrQvfPxcEfRqObMB9Na1zARVT8j8xCF/dAqRcdJIRKo # D9CQHS3PsYR8049c925S271dxcru9imgomW5OoUduwLEA6jmdzzozCWVL45lBdWT # vsRQaNcVVyqhF6T85ohzxfYnCX8wggbmMIIEzqADAgECAhMzAAeb324sszkfQAfJ # AAAAB5vfMA0GCSqGSIb3DQEBDAUAMFoxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVN # aWNyb3NvZnQgQ29ycG9yYXRpb24xKzApBgNVBAMTIk1pY3Jvc29mdCBJRCBWZXJp # ZmllZCBDUyBBT0MgQ0EgMDEwHhcNMjYwMjA5MDQyMzAwWhcNMjYwMjEyMDQyMzAw # WjBjMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExDTALBgNV # BAcTBENhcnkxFTATBgNVBAoTDE1vbmRvbywgSW5jLjEVMBMGA1UEAxMMTW9uZG9v # LCBJbmMuMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAkmiQfNaJaVZN # jthDcKV38YNGwudhmmrEa9VuMm67MzCtmKMc8nyvF0VqobrWKeuXRBbQhLe9Qv27 # p69fWHuDiYK6sXsk4gqXZzTPOka8spDt99jJjrnc+DI9ny+uV+CVNxQrQ8SsB9h9 # ovL9FHuOT3mf504DBcThWXgx5fBhzIYzpQI3yDNvfLTpCsiw4fDB6FGHcR3Of5g4 # wpYYYFnP1McCxbnetJVGz92QGTDyHRWnat2vpZj+wWTQuTUPLYIHJmla+0hzkeVf # um/UqiE8Cqsi2ccEcwgq/tWYxJv7uGxU0KCCTBFBupD4xyhPa9v+IK7G8it6UXVp # 51rTmm1j63iB6dparnh9owEzfH8OCxdjhS4WEa4u3CBuOmzbuWd/kk5n91CTnSLb # uZVkpNW+4PHMPMobiqGkQAn+Bti4yX/arEG32i9gTTw4CkD6PaBplxC+MLuqwyOz # Lw81bnoqsUETzrNm+mtmbMPTd2wOQhmkCDhdpybT73pzvidCpIeDAgMBAAGjggIa # MIICFjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDA9BgNVHSUENjA0Bgor # BgEEAYI3YQEABggrBgEFBQcDAwYcKwYBBAGCN2GCqd2RVoKnluRSgZGY/W+D3Nur # KjAdBgNVHQ4EFgQUUgBjZZHyIxOyGGD3raUf4OTeHIMwHwYDVR0jBBgwFoAU6IPE # M9fcnwycdpoKptTfh6ZeWO4wZwYDVR0fBGAwXjBcoFqgWIZWaHR0cDovL3d3dy5t # aWNyb3NvZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwSUQlMjBWZXJpZmll # ZCUyMENTJTIwQU9DJTIwQ0ElMjAwMS5jcmwwgaUGCCsGAQUFBwEBBIGYMIGVMGQG # CCsGAQUFBzAChlhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRz # L01pY3Jvc29mdCUyMElEJTIwVmVyaWZpZWQlMjBDUyUyMEFPQyUyMENBJTIwMDEu # Y3J0MC0GCCsGAQUFBzABhiFodHRwOi8vb25lb2NzcC5taWNyb3NvZnQuY29tL29j # c3AwZgYDVR0gBF8wXTBRBgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYzaHR0 # cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRt # MAgGBmeBDAEEATANBgkqhkiG9w0BAQwFAAOCAgEAiMSxnslVEOe7hWj8xw+gdDjW # nSvTIYLH1DCWq0SZX4dJTuGvbszwOajbE3OAMV/d0MLwwOQv3OZVkABzh+N92/kZ # ueDaOzouRFGVBa04+J1DeVRdTl6f8q1JWfnhokrIgXynLp8OCvpR6oXGuU6ta7cd # mVXhYQzFX+4lF02nq/mTkY5ycfwQdDCcV980S3CaTVWV6tH2UI56dztjBbQdl6sn # zjpd7XDkQH+SYxG6ylI9Dx3eeMXFlsplMjfl/DRy/JhXlqkYiGhPOz8TL65/DsmA # EvAs9n/1rkMDsn9GUxbgYOWAdHxYaa5HztKOsaKX/GXQPh0hTSdNxyhWgHdHOwjA # vMZT5CEOKwnfO6hFl6KCfieXPaweIHhaiLSn7BCcST+rpWbW9/4b+t5qEG8bptgn # iLePfdHEr3NBfaj600xDOCGoxvEJwnMgIv+hSFmkdkLlennv6c/wRx3xSQi7KVgZ # 99ixA0mKm7yXsYxqRjTr//cHWnclSIsnoOXDLLg0L0U9+/NLGNoPhVrgaYzehtAw # GaKct4N4DRNotzrQvfPxcEfRqObMB9Na1zARVT8j8xCF/dAqRcdJIRKoD9CQHS3P # sYR8049c925S271dxcru9imgomW5OoUduwLEA6jmdzzozCWVL45lBdWTvsRQaNcV # VyqhF6T85ohzxfYnCX8wggdaMIIFQqADAgECAhMzAAAABzeMW6HZW4zUAAAAAAAH # MA0GCSqGSIb3DQEBDAUAMGMxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3Nv # ZnQgQ29ycG9yYXRpb24xNDAyBgNVBAMTK01pY3Jvc29mdCBJRCBWZXJpZmllZCBD # b2RlIFNpZ25pbmcgUENBIDIwMjEwHhcNMjEwNDEzMTczMTU0WhcNMjYwNDEzMTcz # MTU0WjBaMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0 # aW9uMSswKQYDVQQDEyJNaWNyb3NvZnQgSUQgVmVyaWZpZWQgQ1MgQU9DIENBIDAx # MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAt/fAAygHxbo+jxA04hNI # 8bz+EqbWvSu9dRgAawjCZau1Y54IQal5ArpJWi8cIj0WA+mpwix8iTRguq9JELZv # TMo2Z1U6AtE1Tn3mvq3mywZ9SexVd+rPOTr+uda6GVgwLA80LhRf82AvrSwxmZpC # H/laT08dn7+Gt0cXYVNKJORm1hSrAjjDQiZ1Jiq/SqiDoHN6PGmT5hXKs22E79Me # FWYB4y0UlNqW0Z2LPNua8k0rbERdiNS+nTP/xsESZUnrbmyXZaHvcyEKYK85WBz3 # Sr6Et8Vlbdid/pjBpcHI+HytoaUAGE6rSWqmh7/aEZeDDUkz9uMKOGasIgYnenUk # 5E0b2U//bQqDv3qdhj9UJYWADNYC/3i3ixcW1VELaU+wTqXTxLAFelCi/lRHSjaW # ipDeE/TbBb0zTCiLnc9nmOjZPKlutMNho91wxo4itcJoIk2bPot9t+AV+UwNaDRI # bcEaQaBycl9pcYwWmf0bJ4IFn/CmYMVG1ekCBxByyRNkFkHmuMXLX6PMXcveE46j # Mr9syC3M8JHRddR4zVjd/FxBnS5HOro3pg6StuEPshrp7I/Kk1cTG8yOWl8aqf6O # JeAVyG4lyJ9V+ZxClYmaU5yvtKYKk1FLBnEBfDWw+UAzQV0vcLp6AVx2Fc8n0vpo # yudr3SwZmckJuz7R+S79BzMCAwEAAaOCAg4wggIKMA4GA1UdDwEB/wQEAwIBhjAQ # BgkrBgEEAYI3FQEEAwIBADAdBgNVHQ4EFgQU6IPEM9fcnwycdpoKptTfh6ZeWO4w # VAYDVR0gBE0wSzBJBgRVHSAAMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93d3cubWlj # cm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTAZBgkrBgEEAYI3 # FAIEDB4KAFMAdQBiAEMAQTASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaA # FNlBKbAPD2Ns72nX9c0pnqRIajDmMHAGA1UdHwRpMGcwZaBjoGGGX2h0dHA6Ly93 # d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29mdCUyMElEJTIwVmVy # aWZpZWQlMjBDb2RlJTIwU2lnbmluZyUyMFBDQSUyMDIwMjEuY3JsMIGuBggrBgEF # BQcBAQSBoTCBnjBtBggrBgEFBQcwAoZhaHR0cDovL3d3dy5taWNyb3NvZnQuY29t # L3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBJRCUyMFZlcmlmaWVkJTIwQ29kZSUy # MFNpZ25pbmclMjBQQ0ElMjAyMDIxLmNydDAtBggrBgEFBQcwAYYhaHR0cDovL29u # ZW9jc3AubWljcm9zb2Z0LmNvbS9vY3NwMA0GCSqGSIb3DQEBDAUAA4ICAQB3/utL # ItkwLTp4Nfh99vrbpSsL8NwPIj2+TBnZGL3C8etTGYs+HZUxNG+rNeZa+Rzu9oEc # AZJDiGjEWytzMavD6Bih3nEWFsIW4aGh4gB4n/pRPeeVrK4i1LG7jJ3kPLRhNOHZ # iLUQtmrF4V6IxtUFjvBnijaZ9oIxsSSQP8iHMjP92pjQrHBFWHGDbkmx+yO6Ian3 # QN3YmbdfewzSvnQmKbkiTibJgcJ1L0TZ7BwmsDvm+0XRsPOfFgnzhLVqZdEyWww1 # 0bflOeBKqkb3SaCNQTz8nshaUZhrxVU5qNgYjaaDQQm+P2SEpBF7RolEC3lllfuL # 4AOGCtoNdPOWrx9vBZTXAVdTE2r0IDk8+5y1kLGTLKzmNFn6kVCc5BddM7xoDWQ4 # aUoCRXcsBeRhsclk7kVXP+zJGPOXwjUJbnz2Kt9iF/8B6FDO4blGuGrogMpyXkuw # CC2Z4XcfyMjPDhqZYAPGGTUINMtFbau5RtGG1DOWE9edCahtuPMDgByfPixvhy3s # n7zUHgIC/YsOTMxVuMQi/bgamemo/VNKZrsZaS0nzmOxKpg9qDefj5fJ9gIHXcp2 # F0OHcVwe3KnEXa8kqzMDfrRl/wwKrNSFn3p7g0b44Ad1ONDmWt61MLQvF54LG62i # 6ffhTCeoFT9Z9pbUo2gxlyTFg7Bm0fgOlnRfGDCCB54wggWGoAMCAQICEzMAAAAH # h6M0o3uljhwAAAAAAAcwDQYJKoZIhvcNAQEMBQAwdzELMAkGA1UEBhMCVVMxHjAc # BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjFIMEYGA1UEAxM/TWljcm9zb2Z0 # IElkZW50aXR5IFZlcmlmaWNhdGlvbiBSb290IENlcnRpZmljYXRlIEF1dGhvcml0 # eSAyMDIwMB4XDTIxMDQwMTIwMDUyMFoXDTM2MDQwMTIwMTUyMFowYzELMAkGA1UE # BhMCVVMxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjE0MDIGA1UEAxMr # TWljcm9zb2Z0IElEIFZlcmlmaWVkIENvZGUgU2lnbmluZyBQQ0EgMjAyMTCCAiIw # DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALLwwK8ZiCji3VR6TElsaQhVCbRS # /3pK+MHrJSj3Zxd3KU3rlfL3qrZilYKJNqztA9OQacr1AwoNcHbKBLbsQAhBnIB3 # 4zxf52bDpIO3NJlfIaTE/xrweLoQ71lzCHkD7A4As1Bs076Iu+mA6cQzsYYH/Cbl # 1icwQ6C65rU4V9NQhNUwgrx9rGQ//h890Q8JdjLLw0nV+ayQ2Fbkd242o9kH82RZ # sH3HEyqjAB5a8+Ae2nPIPc8sZU6ZE7iRrRZywRmrKDp5+TcmJX9MRff241UaOBs4 # NmHOyke8oU1TYrkxh+YeHgfWo5tTgkoSMoayqoDpHOLJs+qG8Tvh8SnifW2Jj3+i # i11TS8/FGngEaNAWrbyfNrC69oKpRQXY9bGH6jn9NEJv9weFxhTwyvx9OJLXmRGb # AUXN1U9nf4lXezky6Uh/cgjkVd6CGUAf0K+Jw+GE/5VpIVbcNr9rNE50Sbmy/4RT # CEGvOq3GhjITbCa4crCzTTHgYYjHs1NbOc6brH+eKpWLtr+bGecy9CrwQyx7S/Bf # YJ+ozst7+yZtG2wR461uckFu0t+gCwLdN0A6cFtSRtR8bvxVFyWwTtgMMFRuBa3v # mUOTnfKLsLefRaQcVTgRnzeLzdpt32cdYKp+dhr2ogc+qM6K4CBI5/j4VFyC4QFe # UP2YAidLtvpXRRo3AgMBAAGjggI1MIICMTAOBgNVHQ8BAf8EBAMCAYYwEAYJKwYB # BAGCNxUBBAMCAQAwHQYDVR0OBBYEFNlBKbAPD2Ns72nX9c0pnqRIajDmMFQGA1Ud # IARNMEswSQYEVR0gADBBMD8GCCsGAQUFBwIBFjNodHRwOi8vd3d3Lm1pY3Jvc29m # dC5jb20vcGtpb3BzL0RvY3MvUmVwb3NpdG9yeS5odG0wGQYJKwYBBAGCNxQCBAwe # CgBTAHUAYgBDAEEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTIftJqhSob # yhmYBAcnz1AQT2ioojCBhAYDVR0fBH0wezB5oHegdYZzaHR0cDovL3d3dy5taWNy # b3NvZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwSWRlbnRpdHklMjBWZXJp # ZmljYXRpb24lMjBSb290JTIwQ2VydGlmaWNhdGUlMjBBdXRob3JpdHklMjAyMDIw # LmNybDCBwwYIKwYBBQUHAQEEgbYwgbMwgYEGCCsGAQUFBzAChnVodHRwOi8vd3d3 # Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMElkZW50aXR5 # JTIwVmVyaWZpY2F0aW9uJTIwUm9vdCUyMENlcnRpZmljYXRlJTIwQXV0aG9yaXR5 # JTIwMjAyMC5jcnQwLQYIKwYBBQUHMAGGIWh0dHA6Ly9vbmVvY3NwLm1pY3Jvc29m # dC5jb20vb2NzcDANBgkqhkiG9w0BAQwFAAOCAgEAfyUqnv7Uq+rdZgrbVyNMul5s # kONbhls5fccPlmIbzi+OwVdPQ4H55v7VOInnmezQEeW4LqK0wja+fBznANbXLB0K # rdMCbHQpbLvG6UA/Xv2pfpVIE1CRFfNF4XKO8XYEa3oW8oVH+KZHgIQRIwAbyFKQ # 9iyj4aOWeAzwk+f9E5StNp5T8FG7/VEURIVWArbAzPt9ThVN3w1fAZkF7+YU9kbq # 1bCR2YD+MtunSQ1Rft6XG7b4e0ejRA7mB2IoX5hNh3UEauY0byxNRG+fT2MCEhQl # 9g2i2fs6VOG19CNep7SquKaBjhWmirYyANb0RJSLWjinMLXNOAga10n8i9jqeprz # SMU5ODmrMCJE12xS/NWShg/tuLjAsKP6SzYZ+1Ry358ZTFcx0FS/mx2vSoU8s8HR # vy+rnXqyUJ9HBqS0DErVLjQwK8VtsBdekBmdTbQVoCgPCqr+PDPB3xajYnzevs7e # idBsM71PINK2BoE2UfMwxCCX3mccFgx6UsQeRSdVVVNSyALQe6PT12418xon2iDG # E81OGCreLzDcMAZnrUAx4XQLUz6ZTl65yPUiOh3k7Yww94lDf+8oG2oZmDh5O1Qe # 38E+M3vhKwmzIeoB1dVLlz4i3IpaDcR+iuGjH2TdaC1ZOmBXiCRKJLj4DT2uhJ04 # ji+tHD6n58vhavFIrmcxghqxMIIarQIBATBxMFoxCzAJBgNVBAYTAlVTMR4wHAYD # VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKzApBgNVBAMTIk1pY3Jvc29mdCBJ # RCBWZXJpZmllZCBDUyBBT0MgQ0EgMDECEzMAB5vfbiyzOR9AB8kAAAAHm98wDQYJ # YIZIAWUDBAIBBQCgXjAQBgorBgEEAYI3AgEMMQIwADAZBgkqhkiG9w0BCQMxDAYK # KwYBBAGCNwIBBDAvBgkqhkiG9w0BCQQxIgQgOwyAiw5qh9SxDl+9iOljK02252H8 # 5yQEI0GnF54aoFswDQYJKoZIhvcNAQEBBQAEggGAJ4KafYqqO+64fj7RnnI7o+3I # 0kBVz8iT8XPt5i7YUOTPsA9NkztYz1Oy3P2qdoHWdEBfbFPUNccsxUVCfEXy9pls # Bl/g+HT8hSEveeo7RQPIy0Zs51dupZkVqc/gMQ2j/H4lI/aAxzFlREqDScpdsJge # xb6hGqBpc+63lwbRTiUZKPRJEg5+beHWuQimEJxsKny0I8seziYVF2IhI4aE1+pl # SqTPNnAuGzcw18msh7t5HPLth3RX7nG62WW0ZYbl5+uFjrpP5btHVjbvUYk59c0a # CuUsJLQBl0cLHwhAEUNHDm/+d2Zm7VWtlRtRP3S6WFfli87OcTKxqFAGrddb5E61 # 04qzIzotMxjqQtPXPCtxLLDFlyfNIs9/8yUUDBSa4yMkAh2EoLoBuwIvzrlevPV2 # BHdlApV7YU8LOiUqKM3jNtg3AAlD/0xY6kYuXPBTB7WPHfxbtfOBpNVk5pnRLHA6 # tckivgh5ieFNur+KfKo2jKkRFJQTm78gLJsa3sJioYIYMTCCGC0GCisGAQQBgjcD # AwExghgdMIIYGQYJKoZIhvcNAQcCoIIYCjCCGAYCAQMxDzANBglghkgBZQMEAgIF # ADCCAXIGCyqGSIb3DQEJEAEEoIIBYQSCAV0wggFZAgEBBgorBgEEAYRZCgMBMEEw # DQYJYIZIAWUDBAICBQAEMB6/r0rqHkiIazB7c7qwHJP2FoVTry5yhvJl9XrzAqSI # 1KXGfCfju/RevcTfPydXXgIGaW+A5n29GBMyMDI2MDIwOTE1MjkxOS4wMzNaMASA # AgH0oIHhpIHeMIHbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ # MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u # MSUwIwYDVQQLExxNaWNyb3NvZnQgQW1lcmljYSBPcGVyYXRpb25zMScwJQYDVQQL # Ex5uU2hpZWxkIFRTUyBFU046N0QwMC0wNUUwLUQ5NDcxNTAzBgNVBAMTLE1pY3Jv # c29mdCBQdWJsaWMgUlNBIFRpbWUgU3RhbXBpbmcgQXV0aG9yaXR5oIIPITCCB4Iw # ggVqoAMCAQICEzMAAAAF5c8P/2YuyYcAAAAAAAUwDQYJKoZIhvcNAQEMBQAwdzEL # MAkGA1UEBhMCVVMxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjFIMEYG # A1UEAxM/TWljcm9zb2Z0IElkZW50aXR5IFZlcmlmaWNhdGlvbiBSb290IENlcnRp # ZmljYXRlIEF1dGhvcml0eSAyMDIwMB4XDTIwMTExOTIwMzIzMVoXDTM1MTExOTIw # NDIzMVowYTELMAkGA1UEBhMCVVMxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh # dGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFB1YmxpYyBSU0EgVGltZXN0YW1waW5n # IENBIDIwMjAwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCefOdSY/3g # xZ8FfWO1BiKjHB7X55cz0RMFvWVGR3eRwV1wb3+yq0OXDEqhUhxqoNv6iYWKjkMc # LhEFxvJAeNcLAyT+XdM5i2CgGPGcb95WJLiw7HzLiBKrxmDj1EQB/mG5eEiRBEp7 # dDGzxKCnTYocDOcRr9KxqHydajmEkzXHOeRGwU+7qt8Md5l4bVZrXAhK+WSk5Cih # NQsWbzT1nRliVDwunuLkX1hyIWXIArCfrKM3+RHh+Sq5RZ8aYyik2r8HxT+l2hmR # llBvE2Wok6IEaAJanHr24qoqFM9WLeBUSudz+qL51HwDYyIDPSQ3SeHtKog0ZubD # k4hELQSxnfVYXdTGncaBnB60QrEuazvcob9n4yR65pUNBCF5qeA4QwYnilBkfnme # AjRN3LVuLr0g0FXkqfYdUmj1fFFhH8k8YBozrEaXnsSL3kdTD01X+4LfIWOuFzTz # uoslBrBILfHNj8RfOxPgjuwNvE6YzauXi4orp4Sm6tF245DaFOSYbWFK5ZgG6cUY # 2/bUq3g3bQAqZt65KcaewEJ3ZyNEobv35Nf6xN6FrA6jF9447+NHvCjeWLCQZ3M8 # lgeCcnnhTFtyQX3XgCoc6IRXvFOcPVrr3D9RPHCMS6Ckg8wggTrtIVnY8yjbvGOU # sAdZbeXUIQAWMs0d3cRDv09SvwVRd61evQIDAQABo4ICGzCCAhcwDgYDVR0PAQH/ # BAQDAgGGMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRraSg6NS9IY0DPe9iv # Sek+2T3bITBUBgNVHSAETTBLMEkGBFUdIAAwQTA/BggrBgEFBQcCARYzaHR0cDov # L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRtMBMG # A1UdJQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMA8G # A1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUyH7SaoUqG8oZmAQHJ89QEE9oqKIw # gYQGA1UdHwR9MHsweaB3oHWGc2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lv # cHMvY3JsL01pY3Jvc29mdCUyMElkZW50aXR5JTIwVmVyaWZpY2F0aW9uJTIwUm9v # dCUyMENlcnRpZmljYXRlJTIwQXV0aG9yaXR5JTIwMjAyMC5jcmwwgZQGCCsGAQUF # BwEBBIGHMIGEMIGBBggrBgEFBQcwAoZ1aHR0cDovL3d3dy5taWNyb3NvZnQuY29t # L3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBJZGVudGl0eSUyMFZlcmlmaWNhdGlv # biUyMFJvb3QlMjBDZXJ0aWZpY2F0ZSUyMEF1dGhvcml0eSUyMDIwMjAuY3J0MA0G # CSqGSIb3DQEBDAUAA4ICAQBfiHbHfm21WhV150x4aPpO4dhEmSUVpbixNDmv6Tvu # IHv1xIs174bNGO/ilWMm+Jx5boAXrJxagRhHQtiFprSjMktTliL4sKZyt2i+SXnc # M23gRezzsoOiBhv14YSd1Klnlkzvgs29XNjT+c8hIfPRe9rvVCMPiH7zPZcw5nNj # thDQ+zD563I1nUJ6y59TbXWsuyUsqw7wXZoGzZwijWT5oc6GvD3HDokJY401uhnj # 3ubBhbkR83RbfMvmzdp3he2bvIUztSOuFzRqrLfEvsPkVHYnvH1wtYyrt5vShiKh # eGpXa2AWpsod4OJyT4/y0dggWi8g/tgbhmQlZqDUf3UqUQsZaLdIu/XSjgoZqDja # mzCPJtOLi2hBwL+KsCh0Nbwc21f5xvPSwym0Ukr4o5sCcMUcSy6TEP7uMV8RX0eH # /4JLEpGyae6Ki8JYg5v4fsNGif1OXHJ2IWG+7zyjTDfkmQ1snFOTgyEX8qBpefQb # F0fx6URrYiarjmBprwP6ZObwtZXJ23jK3Fg/9uqM3j0P01nzVygTppBabzxPAh/h # Hhhls6kwo3QLJ6No803jUsZcd4JQxiYHHc+Q/wAMcPUnYKv/q2O444LO1+n6j01z # 5mggCSlRwD9faBIySAcA9S8h22hIAcRQqIGEjolCK9F6nK9ZyX4lhthsGHumaABd # WzCCB5cwggV/oAMCAQICEzMAAABV2d1pJij5+OIAAAAAAFUwDQYJKoZIhvcNAQEM # BQAwYTELMAkGA1UEBhMCVVMxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv # bjEyMDAGA1UEAxMpTWljcm9zb2Z0IFB1YmxpYyBSU0EgVGltZXN0YW1waW5nIENB # IDIwMjAwHhcNMjUxMDIzMjA0NjQ5WhcNMjYxMDIyMjA0NjQ5WjCB2zELMAkGA1UE # BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAc # BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjElMCMGA1UECxMcTWljcm9zb2Z0 # IEFtZXJpY2EgT3BlcmF0aW9uczEnMCUGA1UECxMeblNoaWVsZCBUU1MgRVNOOjdE # MDAtMDVFMC1EOTQ3MTUwMwYDVQQDEyxNaWNyb3NvZnQgUHVibGljIFJTQSBUaW1l # IFN0YW1waW5nIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC # ggIBAL25H5IeWUiz9DAlFmn2sPymaFWbvYkMfK+ScIWb3a1IvOlIwghUDjY0Gp6y # MRhfYURiGS0GedIB6ywvuH6VBCX3+bdOFcAclgtv21jrpOjZmk4fSaT2Q3BszUfe # UJa8o3xI7ZfoMY9dszTxHQAz6ZVX87fHGEVhQcfxW33IdPJOj/ae419qtYxT21MV # mCfsTshgtWioQxmOW/vMC9/b+qgtBxSMf798vm3qfmhF6KCvFaHlivrM32hY16PG # E3L0PFC+LM7vRxU7mTb+r76CeybvqOWk4+dbKYftPhV1t/E5S/6wwXeYmu/Y7JC7 # Tnh2w45G5Y4pcM3oHMb/YuPRdOWa0v+RC2QgmNVWqjuxDiylWscXQDuaMtb29Acd # GUVV9ZsRY2M2sthAtOdZOshiR5ufMtaHtiCkWv0jNfgUxrHurxzYuUNneWZ6EfQD # gFAw8CSCKkSOK2c9jEop4ddVq10xvbqxdrqMneVXvvIcXrPQAXj9j2ECpV2EwMb3 # Wnmpw00P78JpzPsk3Fs61ZvOGd/F1RcOBu6f2TWdp7HL7+rq7tgHr13MldbfIWu4 # lpoYYE1gTQa1Yrg5XN4j7zs9klT2z3qocmPzV8DWQgIHNh+aTs7bujMEMQyI7Xt1 # zPxZCgcR6H0tmmzU/9BxvsWbRalCQ2sYGyWupTdc4e7KY7kPAgMBAAGjggHLMIIB # xzAdBgNVHQ4EFgQUVgRfEG3cCAPwyL+pyRbKwdesZbYwHwYDVR0jBBgwFoAUa2ko # OjUvSGNAz3vYr0npPtk92yEwbAYDVR0fBGUwYzBhoF+gXYZbaHR0cDovL3d3dy5t # aWNyb3NvZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwUHVibGljJTIwUlNB # JTIwVGltZXN0YW1waW5nJTIwQ0ElMjAyMDIwLmNybDB5BggrBgEFBQcBAQRtMGsw # aQYIKwYBBQUHMAKGXWh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY2Vy # dHMvTWljcm9zb2Z0JTIwUHVibGljJTIwUlNBJTIwVGltZXN0YW1waW5nJTIwQ0El # MjAyMDIwLmNydDAMBgNVHRMBAf8EAjAAMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMI # MA4GA1UdDwEB/wQEAwIHgDBmBgNVHSAEXzBdMFEGDCsGAQQBgjdMg30BATBBMD8G # CCsGAQUFBwIBFjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL0RvY3Mv # UmVwb3NpdG9yeS5odG0wCAYGZ4EMAQQCMA0GCSqGSIb3DQEBDAUAA4ICAQBSHuGS # VHvalCnFnlsqXIQefH1xP2SFr9g+Vz+f5P7QeywjfQb5jUlSmd1XnJUDPe/MHxL7 # r3TEElL+mNtG6CDPAytStSFPXD9tTBtBMYh8Wqo64pH9qm361yIqeBH979mzWCkM # QsTd0nM6dUl9B+7qiti+ToXwxIl39eYqLuYYfhD2mqqePXMzUKSQzkf73yYIVHP6 # nLJQz4aAmaWcfG9jg78sBkDV8KpW7JgktuLhphJEN1B+SVHjenPdcmrFXIUu/K4j # K5ukfWaQIjuaXzSjBlNjC5tQN6adPfA3GxUwHPeR4ekL5If/9vBf13tmzBW+gy+0 # sNGTveb9IL9GU8iX8UvywsX62nhCCPRUhTigDBKdczRUrNrntBhowbfchBDFML8a # vRMRc9Gmc2JvIryX336SFQ51//q1UU2HMSJEMhWLJSIWJVhfUowsOa+PampIzETY # fFvTu2mqKJUlWZXkGYxrdCvCczJcqeoadpW1ul6kcdnDh228SQ8ZhDc6IRlM4iNd # 5SNoNgX+aom3wuGyjUaSaPZWxPB1G2NKiYhPLt0lPHg0Gskj1zhISY8UQkMMDr3o # 2JgRuT+wnJEDQUp55ddvhSkSoD6I9DL/s+TjIY/c9jLaW5xywJHqdKHUApRMsghv # 7kebSua1upmR+TquelFktDSOjVdSRkuya4uoxTGCB1MwggdPAgEBMHgwYTELMAkG # A1UEBhMCVVMxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UE # AxMpTWljcm9zb2Z0IFB1YmxpYyBSU0EgVGltZXN0YW1waW5nIENBIDIwMjACEzMA # AABV2d1pJij5+OIAAAAAAFUwDQYJYIZIAWUDBAICBQCgggSsMBEGCyqGSIb3DQEJ # EAIPMQIFADAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkF # MQ8XDTI2MDIwOTE1MjkxOVowPwYJKoZIhvcNAQkEMTIEMJHE/Dcheh4+i8rFEskH # lzlMj4FVnNnHhpSmR3oJD882ENf8klml3Jc2Ay8C49tDiDCBuQYLKoZIhvcNAQkQ # Ai8xgakwgaYwgaMwgaAEINi5PJdkhmK7v33+/g9qqyZ5LMHGHSuqRiruxhhq+P7N # MHwwZaRjMGExCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y # YXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBQdWJsaWMgUlNBIFRpbWVzdGFtcGlu # ZyBDQSAyMDIwAhMzAAAAVdndaSYo+fjiAAAAAABVMIIDXgYLKoZIhvcNAQkQAhIx # ggNNMIIDSaGCA0UwggNBMIICKQIBATCCAQmhgeGkgd4wgdsxCzAJBgNVBAYTAlVT # MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK # ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1pY3Jvc29mdCBBbWVy # aWNhIE9wZXJhdGlvbnMxJzAlBgNVBAsTHm5TaGllbGQgVFNTIEVTTjo3RDAwLTA1 # RTAtRDk0NzE1MDMGA1UEAxMsTWljcm9zb2Z0IFB1YmxpYyBSU0EgVGltZSBTdGFt # cGluZyBBdXRob3JpdHmiIwoBATAHBgUrDgMCGgMVAB07VAGCZb+24FlXkQaOF+xX # hw3qoGcwZaRjMGExCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y # cG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBQdWJsaWMgUlNBIFRpbWVzdGFt # cGluZyBDQSAyMDIwMA0GCSqGSIb3DQEBCwUAAgUA7TRdPzAiGA8yMDI2MDIwOTEz # MTg1NVoYDzIwMjYwMjEwMTMxODU1WjB0MDoGCisGAQQBhFkKBAExLDAqMAoCBQDt # NF0/AgEAMAcCAQACAgpXMAcCAQACAhKpMAoCBQDtNa6/AgEAMDYGCisGAQQBhFkK # BAIxKDAmMAwGCisGAQQBhFkKAwKgCjAIAgEAAgMHoSChCjAIAgEAAgMBhqAwDQYJ # KoZIhvcNAQELBQADggEBAGIvVkaOPinycyBoLE5pcRZOIxIrMXiujYwk/dDRBGLy # UhX8nUcwcphyHwK81xak+qodALi3VwIJq+TPU7MzPakgpztPi0w3ltK+EwLZw7Ue # sDfPy/sa2XrAPW5GsBrFB7whFZ1IQDPEsVnuM1wF7eDhghbxhyUFUQB24uU/jXh1 # 0I/BjuHcuR0X0oLaiaJ9ESae1PyYjD3HZuoczn4lmVkh5/Of1lcid9cMsVbWvKHH # EkFj1WaACaF+ccctECuwcyXCmAQeNTVSiYOtNSnGrFzdHRCtCIGQVX+3N6viGzZc # 5HwfL8Ha6nXr/rLoSiwL+XoYud7YTbXtoyrochSHiKMwDQYJKoZIhvcNAQEBBQAE # ggIAY9tCg9wYvvXZ1wlO/GHcSvQ5THe06OCEaov+4Gg84Q4a96k73JIZv0WaTyjR # Jua98uLa7217/lOYum121FM05fmWmT/PKHDD+ZXOmbjKVIibNWQGItAQpg7bruNm # yjEAQt2ubn6M7H87EOx9esmMgKhCViDJQa3X1mbAlxu1hr0bBCCCeUgY1C/f+q8Y # eYu7zoN6IuW4nZGauOzyHPNMMZNHjSKD+NSgpx9m9WiJzGmPkzvUfgLRb4frTLeL # XY8brMeRkULVcegeYaqcgsBF2tuUN4cKyuemajcj/IHhBp2cRPki8bcYMQcQOsxP # M1N7m43ZcB7v7jKjM7NvuAvACuulgDxER0Qzy70bWDtYJZqSr3t6OVE1YX89ap30 # +IfiY0VZJO1kglKMMRBT45oSGfoF47rfO/rh540G1ewURTaA04AUNXOgDNd+hm0o # /IpipVs5eDWK/PY70LrLk7hG0pAth0QRd/zOPbzAWuA2DaGG+zxBLpkVPX+Wf3Pv # dphVHHzkWiONaXdgXDlRM8CJSHFNdBSebsOro+v+mvwZl7JKoGbZEJfywdrH3qD5 # 9JOBtWCuSY7dVXy7asCMarTy+ul0t9T0n2j/exkUlo85Kd8U8g+u4FbP/2wblBoa # SiLVWnc7BeYyMEJCU7sgxVau4dVho5lGQemS8m/gjnJVJWA= # SIG # End signature block