AzStackHciStandaloneObservability/package/scripts/Enable-StandaloneObservability.ps1

##------------------------------------------------------------------
## <copyright file="Enable-StandaloneObservability.ps1" company="Microsoft">
## Copyright (C) Microsoft. All rights reserved.
## </copyright>
##------------------------------------------------------------------

Param (
    [Parameter(Mandatory=$false)]
    [Switch] $ParseOnce
)

$ErrorActionPreference = "Stop"
$functionName = $MyInvocation.MyCommand.Name

Import-Module "$PSScriptRoot\ExtensionHelper.psm1" -Force
Import-Module "$PSScriptRoot\StandaloneObservabilityHelper.psm1" -Force
Import-Module "$PSScriptRoot\StandaloneObservabilityConstants.psm1" -Force

$gmaPackageContentPath = Get-GmaPackageContentPath
Import-Module "$gmaPackageContentPath\GMATenantJsonHelper.psm1" -Force

$workloadName = "Enable-StandaloneObservability"

try {
    $logFile = Get-HandlerLogFile
    $transcriptFileName = "{0}.{1:yyyy-MM-dd-hh-mm-ss}.log" -f $functionName, $(Get-Date)
    $transcriptFilePath = Join-Path -Path $(Get-LogFolderPath) -ChildPath $transcriptFileName
    Start-Transcript -Path $transcriptFilePath -Append
    
    Write-Log -LogFile $logFile -Message "$functionName : Enabling observability pipeline components."
    
    & "$PSScriptRoot\Enable-Extension.ps1"

    if(-not $ParseOnce)
    {    
        # Parser ScheduledTask
        Import-Module "$gmaPackageContentPath\GMATenantJsonHelper.psm1"
        Enable-ScheduledTask -TaskPath $PipelineConstants.ParserScheduledTaskPath `
                            -TaskName $PipelineConstants.ParserScheduledTaskName `
                            -ErrorAction Stop

        Write-Log -LogFile $logFile -Message "$functionName : Successfully enabled scheduled task with name $($PipelineConstants.ParserScheduledTaskName) at path ($($PipelineConstants.ParserScheduledTaskPath))."
    }

    Set-Status -Name $workloadName `
                -Operation "Enabling succeeded" `
                -Message "$functionName : Successfully enabled Standalone Observability pipeline components." `
                -Status "success" `
                -Code 0

    Write-Host "Standalone Observability pipeline enable complete."
    Stop-Transcript
}
catch {
    if ($null -eq (Get-Command -Verb Get -Noun ExceptionDetails) -and (-not [System.String]::IsNullOrEmpty($gmaPackageContentPath))) {
        Import-Module "$gmaPackageContentPath\GMATenantJsonHelper.psm1" -Force
        $exceptionDetails = Get-ExceptionDetails -ErrorObject $_

        $errorMessage = "$functionName : Failed to enable Standalone Observability pipeline components. Exception is as follows: $exceptionDetails."
        Set-Status -Name $workloadName `
                    -Operation "Enabling failed" `
                    -Message $errorMessage `
                    -Status "error" `
                    -Code 1
        Stop-Transcript
    }
    else {
        Write-Error $_
    }
}

# SIG # Begin signature block
# MIInlAYJKoZIhvcNAQcCoIInhTCCJ4ECAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAuG6dqcqZI3ai9
# zLeCPFRFz5v7rBy0CvbZcr8uqmer7qCCDXYwggX0MIID3KADAgECAhMzAAADTrU8
# esGEb+srAAAAAANOMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
# bmcgUENBIDIwMTEwHhcNMjMwMzE2MTg0MzI5WhcNMjQwMzE0MTg0MzI5WjB0MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
# AQDdCKiNI6IBFWuvJUmf6WdOJqZmIwYs5G7AJD5UbcL6tsC+EBPDbr36pFGo1bsU
# p53nRyFYnncoMg8FK0d8jLlw0lgexDDr7gicf2zOBFWqfv/nSLwzJFNP5W03DF/1
# 1oZ12rSFqGlm+O46cRjTDFBpMRCZZGddZlRBjivby0eI1VgTD1TvAdfBYQe82fhm
# WQkYR/lWmAK+vW/1+bO7jHaxXTNCxLIBW07F8PBjUcwFxxyfbe2mHB4h1L4U0Ofa
# +HX/aREQ7SqYZz59sXM2ySOfvYyIjnqSO80NGBaz5DvzIG88J0+BNhOu2jl6Dfcq
# jYQs1H/PMSQIK6E7lXDXSpXzAgMBAAGjggFzMIIBbzAfBgNVHSUEGDAWBgorBgEE
# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUnMc7Zn/ukKBsBiWkwdNfsN5pdwAw
# RQYDVR0RBD4wPKQ6MDgxHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEW
# MBQGA1UEBRMNMjMwMDEyKzUwMDUxNjAfBgNVHSMEGDAWgBRIbmTlUAXTgqoXNzci
# tW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3Lm1pY3Jvc29mdC5j
# b20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3JsMGEG
# CCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3dy5taWNyb3NvZnQu
# Y29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3J0
# MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAD21v9pHoLdBSNlFAjmk
# mx4XxOZAPsVxxXbDyQv1+kGDe9XpgBnT1lXnx7JDpFMKBwAyIwdInmvhK9pGBa31
# TyeL3p7R2s0L8SABPPRJHAEk4NHpBXxHjm4TKjezAbSqqbgsy10Y7KApy+9UrKa2
# kGmsuASsk95PVm5vem7OmTs42vm0BJUU+JPQLg8Y/sdj3TtSfLYYZAaJwTAIgi7d
# hzn5hatLo7Dhz+4T+MrFd+6LUa2U3zr97QwzDthx+RP9/RZnur4inzSQsG5DCVIM
# pA1l2NWEA3KAca0tI2l6hQNYsaKL1kefdfHCrPxEry8onJjyGGv9YKoLv6AOO7Oh
# JEmbQlz/xksYG2N/JSOJ+QqYpGTEuYFYVWain7He6jgb41JbpOGKDdE/b+V2q/gX
# UgFe2gdwTpCDsvh8SMRoq1/BNXcr7iTAU38Vgr83iVtPYmFhZOVM0ULp/kKTVoir
# IpP2KCxT4OekOctt8grYnhJ16QMjmMv5o53hjNFXOxigkQWYzUO+6w50g0FAeFa8
# 5ugCCB6lXEk21FFB1FdIHpjSQf+LP/W2OV/HfhC3uTPgKbRtXo83TZYEudooyZ/A
# Vu08sibZ3MkGOJORLERNwKm2G7oqdOv4Qj8Z0JrGgMzj46NFKAxkLSpE5oHQYP1H
# tPx1lPfD7iNSbJsP6LiUHXH1MIIHejCCBWKgAwIBAgIKYQ6Q0gAAAAAAAzANBgkq
# hkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x
# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv
# bjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
# IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5WjB+MQswCQYDVQQG
# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQg
# Q29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC
# CgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4BjgaBEm6f8MMHt03
# a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe0t+bU7IKLMOv2akr
# rnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato88tt8zpcoRb0Rrrg
# OGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v++MrWhAfTVYoonpy
# 4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDstrjNYxbc+/jLTswM9
# sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN91/w0FK/jJSHvMAh
# dCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4jiJV3TIUs+UsS1Vz8k
# A/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmhD+kjSbwYuER8ReTB
# w3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbiwZeBe+3W7UvnSSmn
# Eyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8HhhUSJxAlMxdSlQy90
# lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaIjAsCAwEAAaOCAe0w
# ggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTlUAXTgqoXNzcitW2o
# ynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYD
# VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQFTuHqp8cx0SOJNDBa
# BgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2Ny
# bC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3JsMF4GCCsG
# AQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5taWNyb3NvZnQuY29t
# L3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3J0MIGfBgNV
# HSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcCARYzaHR0cDovL3d3
# dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnljcHMuaHRtMEAGCCsG
# AQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5AF8AcwB0AGEAdABl
# AG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oalmOBUeRou09h0ZyKb
# C5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0epo/Np22O/IjWll11l
# hJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1HXeUOeLpZMlEPXh6
# I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtYSWMfCWluWpiW5IP0
# wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInWH8MyGOLwxS3OW560
# STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZiWhub6e3dMNABQam
# ASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMdYzaXht/a8/jyFqGa
# J+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7fQccOKO7eZS/sl/ah
# XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKfenoi+kiVH6v7RyOA
# 9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33Vt
# Y5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr
# /Xmfwb1tbWrJUnMTDXpQzTGCGXQwghlwAgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMw
# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN
# aWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNp
# Z25pbmcgUENBIDIwMTECEzMAAANOtTx6wYRv6ysAAAAAA04wDQYJYIZIAWUDBAIB
# BQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO
# MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIJhG7wbl+qeAuz9L7rXn/2aW
# Kn2VBaUQOhrfsEntwCefMEIGCisGAQQBgjcCAQwxNDAyoBSAEgBNAGkAYwByAG8A
# cwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEB
# BQAEggEAhWhuqHpiNh3lai15/kcrzdhfOPtY+48xBTnoxgxPKMpVPNzOhMCRiJg0
# z6DxQClruesENwDzizjTEj3I60IGQPQtQ6gk0hGoTbxZgYs6s4kIbyQFMisFxaR+
# P4TyGNTqL/zkpEDR5jD+xNqOl5dzbNzZ/aSgtNtOe5trsD3/ImWOoWiuD7Omssvu
# EK3WgLeHx6Dy78aeLXuqis/C1+FwAPDRJpHpn2nsxVSDc49VBjVvA1U+8fJYc0cu
# WeGbjatp2fJ2iLpvwHF4fq3F81nsexM887pni6v43MZ6PB0GYfJZUwpO20TGGr/N
# WADfNfGfKMAUjtx8Xh4BeOxXxfCyaqGCFv4wghb6BgorBgEEAYI3AwMBMYIW6jCC
# FuYGCSqGSIb3DQEHAqCCFtcwghbTAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFPBgsq
# hkiG9w0BCRABBKCCAT4EggE6MIIBNgIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFl
# AwQCAQUABCDIqWsXbbmcMX5BhmFunNh6+KxUe798ZmQUrUAKo2vJ6wIGZIs0qrtH
# GBEyMDIzMDcwMTA3MDk1Ny40WjAEgAIB9KCB0KSBzTCByjELMAkGA1UEBhMCVVMx
# EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoT
# FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjElMCMGA1UECxMcTWljcm9zb2Z0IEFtZXJp
# Y2EgT3BlcmF0aW9uczEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046MTJCQy1FM0FF
# LTc0RUIxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WgghFX
# MIIHDDCCBPSgAwIBAgITMwAAAcpPwrPtAw0YbAABAAAByjANBgkqhkiG9w0BAQsF
# ADB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD
# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDAeFw0yMjExMDQxOTAxNDBa
# Fw0yNDAyMDIxOTAxNDBaMIHKMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu
# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv
# cmF0aW9uMSUwIwYDVQQLExxNaWNyb3NvZnQgQW1lcmljYSBPcGVyYXRpb25zMSYw
# JAYDVQQLEx1UaGFsZXMgVFNTIEVTTjoxMkJDLUUzQUUtNzRFQjElMCMGA1UEAxMc
# TWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCCAiIwDQYJKoZIhvcNAQEBBQAD
# ggIPADCCAgoCggIBAMMBnKvY+dK1hJHC0pRmS8HlFX8V0WlI4j7MmjVcT3TEbNwl
# XufLIrvxJGlbe7ezzUz5KP7PJTbbrAHixJ85IuOMsZNnPXpJvBNUkNmFfW/PyzsX
# ymqWfLVZT8scOg5hczRUI4n1ZvBIme5RUaGOOPL6XGwQ9fKo2DRf9md0kHIXLHVd
# TfWOldlhpeeVZi6hUV+fnabXY63gV84t1lvU7KAhFnGAgSucGIEvbU9kkkk82nt4
# 5ncONIPiziMq1Txdg6M5Erb+iQQz78GoV1qShqTu6x6yhfqOxAjf1YkBTGcqf78X
# j4lAAQzasxFCPLO5JWJnh1743kDqvwjNwv2PG493yTm52R+3gF70Q58U/Eelv7g9
# ZhlCb7/TPQTLt54SqSpksc8zuS7XDBIdrTF8YTBhjTFD9wzhCt1/tvyw9WdN7rCU
# 5OaRzaB/4AyL26e/OwsONLbAKYgL7ax2MLm9E6iL/GcutpfJ/LPzL/z++uAk6q8X
# F82pQR4fl8uFz45mnZz5GScnKdynM25IPUG7yadB/9BbMB0vnnxaH6QzScC4dYbP
# 2jItSv6MxL+/1iyD7A4Cten1P2scm6jCpNDTsYHpVIwGCpeMFNGOkOKvTf/T8AEt
# HLIn0IWNaKEHwCNIgwgkhAE7JQ/G0ztLUbanXCHWrzkXqs6D3bwL9w69V10PAgMB
# AAGjggE2MIIBMjAdBgNVHQ4EFgQU+sf+pUuBEkPCmYXdEYFO0WFzPH8wHwYDVR0j
# BBgwFoAUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXwYDVR0fBFgwVjBUoFKgUIZOaHR0
# cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwVGlt
# ZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3JsMGwGCCsGAQUFBwEBBGAwXjBcBggr
# BgEFBQcwAoZQaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9N
# aWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAxMCgxKS5jcnQwDAYDVR0T
# AQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcDCDANBgkqhkiG9w0BAQsFAAOCAgEA
# 2NB5KgktyrinnxV/P65v3bQ/dOunShJXjaq4sGarDOGJvBMOEIqjqju5lqGGGOCu
# cvHl0jhyjVzn6TukW2mI/IwjnCQAebai5eYYjIGjGwFS65dYZYsfbJaDuOSzjdCa
# YSr2tw+gFSgOz+/JgPYkR2WFFa0Ysn70I1sZlJ8YYrPH6Jvdvv0R3BGdQ4efqeIM
# 3ni/OGJdNFsqvRHIASin4KtJQo1jUqtQFBtbBC5YFzkrymeP5V1x/jH4XB3vdViy
# GmZEvx7vcHU0+iNeAQve8oQ7GVlwJdCCfNNSOlLRBaQrE3jsmQSewhdK3+ZcSfLR
# PaIzbMqlySrsFZ9HsAjJGas/3BML/RRMfEJrGdGTaHU7bJflfXWZvnlKzCmZOjyr
# CgK7UPox5H1bB4Cjg5aHpaTph6oF+1GztDVZyJaT+eYEE6le+r1O8EV6VH8+yoRN
# wWVzYMBtOXUZwlw8K4YWM/iLW87NStUfCOGDAyY1vdAEgoPSX/scoESmRih46Ngb
# Nl8mirjdT+hRQiFVzeyoB5f22YmpBqu5OU0ODlyucZIQh4Y3YB7sY94SuQGjsvhl
# 8Tv428qhkanksX/k0z7loQ1rqyKN90TAxnuQ2yJo3G3I+nVYUHr6hwpUdTh0n6/v
# JtYVkSRpQtWrXDlimowK8DlEaiUlZU4cFYCMsxjZo84wggdxMIIFWaADAgECAhMz
# AAAAFcXna54Cm0mZAAAAAAAVMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJV
# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE
# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9v
# dCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAxMDAeFw0yMTA5MzAxODIyMjVaFw0z
# MDA5MzAxODMyMjVaMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9u
# MRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp
# b24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMIICIjAN
# BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA5OGmTOe0ciELeaLL1yR5vQ7VgtP9
# 7pwHB9KpbE51yMo1V/YBf2xK4OK9uT4XYDP/XE/HZveVU3Fa4n5KWv64NmeFRiMM
# tY0Tz3cywBAY6GB9alKDRLemjkZrBxTzxXb1hlDcwUTIcVxRMTegCjhuje3XD9gm
# U3w5YQJ6xKr9cmmvHaus9ja+NSZk2pg7uhp7M62AW36MEBydUv626GIl3GoPz130
# /o5Tz9bshVZN7928jaTjkY+yOSxRnOlwaQ3KNi1wjjHINSi947SHJMPgyY9+tVSP
# 3PoFVZhtaDuaRr3tpK56KTesy+uDRedGbsoy1cCGMFxPLOJiss254o2I5JasAUq7
# vnGpF1tnYN74kpEeHT39IM9zfUGaRnXNxF803RKJ1v2lIH1+/NmeRd+2ci/bfV+A
# utuqfjbsNkz2K26oElHovwUDo9Fzpk03dJQcNIIP8BDyt0cY7afomXw/TNuvXsLz
# 1dhzPUNOwTM5TI4CvEJoLhDqhFFG4tG9ahhaYQFzymeiXtcodgLiMxhy16cg8ML6
# EgrXY28MyTZki1ugpoMhXV8wdJGUlNi5UPkLiWHzNgY1GIRH29wb0f2y1BzFa/Zc
# UlFdEtsluq9QBXpsxREdcu+N+VLEhReTwDwV2xo3xwgVGD94q0W29R6HXtqPnhZy
# acaue7e3PmriLq0CAwEAAaOCAd0wggHZMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJ
# KwYBBAGCNxUCBBYEFCqnUv5kxJq+gpE8RjUpzxD/LwTuMB0GA1UdDgQWBBSfpxVd
# AF5iXYP05dJlpxtTNRnpcjBcBgNVHSAEVTBTMFEGDCsGAQQBgjdMg30BATBBMD8G
# CCsGAQUFBwIBFjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL0RvY3Mv
# UmVwb3NpdG9yeS5odG0wEwYDVR0lBAwwCgYIKwYBBQUHAwgwGQYJKwYBBAGCNxQC
# BAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHwYD
# VR0jBBgwFoAU1fZWy4/oolxiaNE9lJBb186aGMQwVgYDVR0fBE8wTTBLoEmgR4ZF
# aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljUm9v
# Q2VyQXV0XzIwMTAtMDYtMjMuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggrBgEFBQcw
# AoY+aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJB
# dXRfMjAxMC0wNi0yMy5jcnQwDQYJKoZIhvcNAQELBQADggIBAJ1VffwqreEsH2cB
# MSRb4Z5yS/ypb+pcFLY+TkdkeLEGk5c9MTO1OdfCcTY/2mRsfNB1OW27DzHkwo/7
# bNGhlBgi7ulmZzpTTd2YurYeeNg2LpypglYAA7AFvonoaeC6Ce5732pvvinLbtg/
# SHUB2RjebYIM9W0jVOR4U3UkV7ndn/OOPcbzaN9l9qRWqveVtihVJ9AkvUCgvxm2
# EhIRXT0n4ECWOKz3+SmJw7wXsFSFQrP8DJ6LGYnn8AtqgcKBGUIZUnWKNsIdw2Fz
# Lixre24/LAl4FOmRsqlb30mjdAy87JGA0j3mSj5mO0+7hvoyGtmW9I/2kQH2zsZ0
# /fZMcm8Qq3UwxTSwethQ/gpY3UA8x1RtnWN0SCyxTkctwRQEcb9k+SS+c23Kjgm9
# swFXSVRk2XPXfx5bRAGOWhmRaw2fpCjcZxkoJLo4S5pu+yFUa2pFEUep8beuyOiJ
# Xk+d0tBMdrVXVAmxaQFEfnyhYWxz/gq77EFmPWn9y8FBSX5+k77L+DvktxW/tM4+
# pTFRhLy/AsGConsXHRWJjXD+57XQKBqJC4822rpM+Zv/Cuk0+CQ1ZyvgDbjmjJnW
# 4SLq8CdCPSWU5nR0W2rRnj7tfqAxM328y+l7vzhwRNGQ8cirOoo6CGJ/2XBjU02N
# 7oJtpQUQwXEGahC0HVUzWLOhcGbyoYICzjCCAjcCAQEwgfihgdCkgc0wgcoxCzAJ
# BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k
# MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1pY3Jv
# c29mdCBBbWVyaWNhIE9wZXJhdGlvbnMxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNO
# OjEyQkMtRTNBRS03NEVCMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBT
# ZXJ2aWNloiMKAQEwBwYFKw4DAhoDFQCjjueXDE+LMjz+pwpYNiFn2ozKpKCBgzCB
# gKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH
# EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNV
# BAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMA0GCSqGSIb3DQEBBQUA
# AgUA6Eoh7jAiGA8yMDIzMDcwMTExNTQyMloYDzIwMjMwNzAyMTE1NDIyWjB3MD0G
# CisGAQQBhFkKBAExLzAtMAoCBQDoSiHuAgEAMAoCAQACAglOAgH/MAcCAQACAhI6
# MAoCBQDoS3NuAgEAMDYGCisGAQQBhFkKBAIxKDAmMAwGCisGAQQBhFkKAwKgCjAI
# AgEAAgMHoSChCjAIAgEAAgMBhqAwDQYJKoZIhvcNAQEFBQADgYEAqvqR7gHgSzgY
# PTbavkVcUeNW8N7tCqNikoF0uAppazvhjCKT01bM1hWo7nJgf4M8RstOK93KmD2I
# b9HV2PBEz72zUMBs/Sh9K9T/zOTYvx38VEpx15TjULzbQV8w03cpZe5dfP/X/rF6
# ph4mLLpFvB5mpeQQt8Lp40yrrajnv40xggQNMIIECQIBATCBkzB8MQswCQYDVQQG
# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQg
# VGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAcpPwrPtAw0YbAABAAAByjANBglghkgB
# ZQMEAgEFAKCCAUowGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMC8GCSqGSIb3
# DQEJBDEiBCBnkS9qRVksaKZGi8ILBxYX89bOzUF0UtgBN1IDuYEtqzCB+gYLKoZI
# hvcNAQkQAi8xgeowgecwgeQwgb0EIBM9G/Ob61VNrJWQJOI7dUgxJOiM2QMFQqFs
# Bdys3BrgMIGYMIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0
# b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh
# dGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMA
# AAHKT8Kz7QMNGGwAAQAAAcowIgQgAbD/eHkujneeuKO0yAVvsmfbtwB6J/LYPAWQ
# /qnYnYMwDQYJKoZIhvcNAQELBQAEggIAuZpRa5FCjeG/GCoyI55XsKDP958cSNFZ
# pwkF8ZnMuVZPNWZ6YikhSh1Y5RxdFvIzoC7gDo18zothLwRVCnmiZ5SfCpNwWbtt
# g1pjtHgYhaQ1HryiUgJsUfZd4Ifvt5MjYpH92y0iDb2wZhPLtal9fLe6mt0buNnk
# 2VZkTwY8Gv0P8Iw+5DqYCDjiuaVA6G4WOih/31QAgsyKZijcXHItyNLgPkcbDJZH
# 8lkntE5HTDp7C2gGSu6I3E1cO6zDgeDMMJ8M4a09YQmCzfSxYZt+Sm8snpxuymE9
# 3jOT+P0xd289DPrJzi+AVQe7/OJjLUNZoOMqjsJMq3m+XNXMxFmQ7QQMhx8yBqOh
# 9AO2/FlN4zGdtuEFpjp6+mtWKzESIZ+NZ1iH4QETcjnMia7evuQj2C75fkEEZpXd
# HvyrI3ZwfUq7YGLauJOmLOTVgw7PhAOvkFctlf/mE18unFgzapKvYyBioOO/laOL
# t7dtYsfuqQSvgZFD5euSZhtaonUhtQO0+0L7TQKlDAsWXkQAertEvn2AE5p2ORSa
# wbM+pZL9UBT32hx8loMOclQ23RMHzdWK5Kye8RspFrxsf2m+pE8h4i1A60/yFRvf
# dosjp93PU+HtQSONmOw6tUH1XWoVCYmCfKEfTmHDGajKjHhtv+g3QUs7xhzdbWJE
# VBxl0BAm0A4=
# SIG # End signature block