Utilities/IRMValidationUtility.ps1


using module "..\CAMP.psm1"
<#
 This function returns list of parent labels and sublabels
#>


Function Get-IRMConfigurationPolicy {
    Param(
        $Config,
        $Templates,
        $LogFile
    )
    $ConfigObjectList = @()
    try {
        $AnyPolicyEnabled = $false
        $IRMPolicy = @()
        foreach($Template in $templates)
        {
            $IRMPolicy += $Config["GetInsiderRiskPolicy"] | Where-Object { $_.InsiderRiskScenario -eq $Template }

        }

        foreach ($Policy in $IRMPolicy) {
            if ($($Policy.Mode) -eq "Enable") {
                if ($AnyPolicyEnabled -eq $false) {
                    $AnyPolicyEnabled = $true
                }
                
                $ConfigObject = [CAMPCheckConfig]::new()
                $ConfigObject.Object = "Policy"
                $ConfigObject.ConfigItem = "$($Policy.Name)"

                $UsergroupsEnabled = ""
                $ExchangeLocation = $Policy.ExchangeLocation
                foreach ($Location in $ExchangeLocation) {
                    if ($UsergroupsEnabled -eq "") {
                        $UsergroupsEnabled += "$Location"
                    }
                    else {
                        $UsergroupsEnabled += ", $Location"
                    }
                }
                if ($($Policy.InsiderRiskScenario) -eq "HighValueEmployeeDataLeak") {
                    $PolicyGroups = $Policy.CustomTags
                    foreach ($PolicyGroup in $PolicyGroups) {
                        $Group = $PolicyGroup.Split("""")#The policy group details come as string hence parsing to get group name
                        if ($UsergroupsEnabled -eq "") {
                            $UsergroupsEnabled += "$($Group[3])"
                        }
                        else {
                            $UsergroupsEnabled += ", $($Group[3])"
                        }
                    }
                }
                $ConfigObject.ConfigData = "$UsergroupsEnabled"

                $ConfigObject.SetResult([CAMPConfigLevel]::Ok, "Pass")            
                $ConfigObjectList += $ConfigObject
            }
        }

        if ($AnyPolicyEnabled -eq $false) {
            $ConfigObject = [CAMPCheckConfig]::new()
            $ConfigObject.Object = "Policy"
            $ConfigObject.ConfigItem = "<B>No active policy defined<B>"
            $ConfigObject.ConfigData = ""
            $ConfigObject.SetResult([CAMPConfigLevel]::OK, "Fail")            
            $ConfigObjectList += $ConfigObject
        }
        
    }
    catch {
        Write-Host "Error:$(Get-Date) There was an issue while running CAMP. Please try running the tool again after some time." -ForegroundColor:Red
        $ErrorMessage = $_.ToString()
        $StackTraceInfo = $_.ScriptStackTrace
        Write-Log -IsError -ErrorMessage $ErrorMessage -StackTraceInfo $StackTraceInfo -LogFile $LogFile -ErrorAction:SilentlyContinue
    }
    return $ConfigObjectList
}


# SIG # Begin signature block
# MIIlygYJKoZIhvcNAQcCoIIluzCCJbcCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDleiHsAMfEhFwV
# p8ltdG2ExL1VvRnNgggz5du1b0iMnKCCC5YwggT7MIID46ADAgECAhMzAAAE4qOH
# mdFtQCqWAAEAAATiMA0GCSqGSIb3DQEBCwUAMHkxCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xIzAhBgNVBAMTGk1pY3Jvc29mdCBUZXN0aW5nIFBD
# QSAyMDEwMB4XDTIxMDkwMjE5MjYyN1oXDTIyMDkwMTE5MjYyN1owfDELMAkGA1UE
# BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAc
# BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdQ29kZSBTaWdu
# IFRlc3QgKERPIE5PVCBUUlVTVCkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
# AoIBAQC08O5FqM6i91zE1YIK4epCwArU+0xTEScHJ0Vfy32sK+Xf3dM/vHm1iLfc
# 7hhDNwVxfHvaHgjNYC2Qr2cff4F40aShGrc6xyIdmcSiygICYGQrF7FWKQ4thEdX
# HuAMiuVYZQ9Jo+vxOXRJTSa3zsFFrbkCOgun7Vu9UeFxOQT1ByNomsxky0gCRu+P
# YdaqnbOyxNsnCDaGUUHp+D1EpBv4Cdrgy9o359Z4nFUyUm4MVMjpG6jC2n8dPonw
# hAcbjIvyJzA1v88jVCMfDrHt0AkIHN69J4wahtOrJeERgXjklilV0hMRwkVkfpnJ
# 18aw7NqWsDi4ekmBd2EL6d+HljzNAgMBAAGjggF3MIIBczATBgNVHSUEDDAKBggr
# BgEFBQcDAzAdBgNVHQ4EFgQUCekP9tRzR3NLSbCNG+oPPWd/nuYwRQYDVR0RBD4w
# PKQ6MDgxHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEWMBQGA1UEBRMN
# MjMwMDcyKzQ2NzYwNTAfBgNVHSMEGDAWgBS/ZaKrb3WjTkWWVwXPOYf0wBUcHDBc
# BgNVHR8EVTBTMFGgT6BNhktodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3Bz
# L2NybC9NaWNyb3NvZnQlMjBUZXN0aW5nJTIwUENBJTIwMjAxMCgxKS5jcmwwaQYI
# KwYBBQUHAQEEXTBbMFkGCCsGAQUFBzAChk1odHRwOi8vd3d3Lm1pY3Jvc29mdC5j
# b20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFRlc3RpbmclMjBQQ0ElMjAyMDEw
# KDEpLmNydDAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQCTxe9mJYSi
# GUIIw4imC+gePdQLAeeMTTa8Uwa406/66Su7fVZTGNFMpLwofA1WfxvAX4+5+U+J
# aFJod4KyAdUngWtPlyPmkR0kXQ6mTxvqMFEih/s0mRyW6dHMHrCezmY//89C5zau
# E3LBcI4gqAQ2ZabPxj2+j6+Er8StKv07PigCuM4M16DIQUAY6kNgnate4WoiiQSu
# mXhMiwtUh6jgSnTpOqpNfXk+YJxNoqHH8qqyW7FcQ88jyoxM4LYdAQVN3eYD7eJn
# xfW2nWIbDRaZpBkv9N1t8yObWcyC/YrRLuq3QLqpll20Y1eFsm+gypEoiERqpPUT
# 3p7K5897ABKoMIIGkzCCBHugAwIBAgITMwAAAC01ekaIyQdx2AAAAAAALTANBgkq
# hkiG9w0BAQsFADCBkDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x
# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv
# bjE6MDgGA1UEAxMxTWljcm9zb2Z0IFRlc3RpbmcgUm9vdCBDZXJ0aWZpY2F0ZSBB
# dXRob3JpdHkgMjAxMDAeFw0yMDEyMTAyMDQzMjBaFw0zNTA2MTcyMTA0MTFaMHkx
# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xIzAhBgNVBAMTGk1p
# Y3Jvc29mdCBUZXN0aW5nIFBDQSAyMDEwMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
# MIIBCgKCAQEAvzxggau+7P/XF2PypkLRE2KcsBfOukYaeyIuVXOaVLnG1NHKmP53
# Rw2OnfBezPhU7/LPKtRi8ak0CgTXxQWG8hD1TdOWCGaF2wJ9GNzieiOnmildrnkY
# zwxj8Br/gampQz+pC7lR8bNIOvxELl8RxVY6/8oOzYgIwf3H1fU+7+pOG3KLI71F
# N54fcMGnybggc+3zbD2LIQXPdxL+odwH6Q1beAlsMlUQR9A3yMf3+nP+RjTkVhao
# N2RT1jX7w4C2jraGkaEQ1sFK9uN61BEKst4unhCX4IGuEl2IAV3MpMQoUpxg8Arm
# iK9L6VeK7KMPNx4p9l0h09faXQ7JTtuNbQIDAQABo4IB+jCCAfYwDgYDVR0PAQH/
# BAQDAgGGMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFOqfXzO2
# 0F+erestpsECu0A4y+e1MB0GA1UdDgQWBBS/ZaKrb3WjTkWWVwXPOYf0wBUcHDBU
# BgNVHSAETTBLMEkGBFUdIAAwQTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNy
# b3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRtMBkGCSsGAQQBgjcU
# AgQMHgoAUwB1AGIAQwBBMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUowEE
# fjCIM+u5MZzK64V2Z/xltNEwWQYDVR0fBFIwUDBOoEygSoZIaHR0cDovL2NybC5t
# aWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljVGVzUm9vQ2VyQXV0XzIw
# MTAtMDYtMTcuY3JsMIGNBggrBgEFBQcBAQSBgDB+ME0GCCsGAQUFBzAChkFodHRw
# Oi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Rlc1Jvb0NlckF1dF8y
# MDEwLTA2LTE3LmNydDAtBggrBgEFBQcwAYYhaHR0cDovL29uZW9jc3AubWljcm9z
# b2Z0LmNvbS9vY3NwMA0GCSqGSIb3DQEBCwUAA4ICAQAntNCFsp7MD6QqU3PVbdrX
# MQDI9v9jyPYBEbUYktrctPmvJuj8Snm9wWewiAN5Zc81NQVYjuKDBpb1un4SWVCb
# 4PDVPZ0J87tGzYe9dOJ30EYGeiIaaStkLLmLOYAM6oInIqIwVyIk2SE/q2lGt8Ov
# wcZevNmPkVYjk6nyJi5EdvS6ciPRmW9bRWRT4pWU8bZIQL938LE4lHOQAixrAQiW
# es5Szp2U85E0nLdaDr5w/I28J/Z1+4zW1Nao1prVCOqrosnoNUfVf1kvswfW3FY2
# l1PiAYp8sGyO57GaztXdBoEOBcDLedfcPra9+NLdEF36NkE0g+9dbokFY7KxhUJ8
# WpMiCmN4yj9LKFLvQbctGMJJY9EwHFifm2pgaiaafKF1Gyz+NruJzEEgpysMo/f9
# AVBQ/qCdPQQGEWp3QDIaef4ts9QTx+RmDKCBDMTFLgFmmhbtUY0JWjLkKn7soz/L
# IcDUle/p5TiFD4VhfZnAcvYQHXfuslnyp+yuhWzASnAQNnOIO6fc1JFIwkDkcM+k
# /TspfAajzHooSAwXkrOWrjRDV6wI0YzMVHrEyQ0hZ5NnIXbL3lrTkOPjf3NBu1na
# SNEaySduStDbFVjV3TXoENEnZiugJKYSwmhzoYHM1ngipN5rNdqJiK5ukp6E8LDz
# i3l5/7XctJQY3+ZgHDJosjGCGYowghmGAgEBMIGQMHkxCzAJBgNVBAYTAlVTMRMw
# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN
# aWNyb3NvZnQgQ29ycG9yYXRpb24xIzAhBgNVBAMTGk1pY3Jvc29mdCBUZXN0aW5n
# IFBDQSAyMDEwAhMzAAAE4qOHmdFtQCqWAAEAAATiMA0GCWCGSAFlAwQCAQUAoIGu
# MBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgor
# BgEEAYI3AgEVMC8GCSqGSIb3DQEJBDEiBCBHOdBFaxOMqztMucEV3/k1UjNPEs+D
# ajJrr4AiZpclAjBCBgorBgEEAYI3AgEMMTQwMqAUgBIATQBpAGMAcgBvAHMAbwBm
# AHShGoAYaHR0cDovL3d3dy5taWNyb3NvZnQuY29tMA0GCSqGSIb3DQEBAQUABIIB
# AIjeDhrbpPyiL05OSdmJ3DvC7RejZB5LdknBylWKre602U1rMQq1PLbgqwWSreUv
# QSitGmCSGRj3GdQyIBqMP9Kf3igxu5dGpdoxCxBROm74d6NLeeAO0FYfDli4Btcy
# TiCKF9PdVdfCoHKFcyVUb9rDF5eFMTP46mWPJwRuseGOhq6FSirv8dd241JpDqz3
# ZBjcy6d7MG0ArzBaciVwcBBqopfz3PVsCOvIgJGZCCAbynFNCFbOwQhWYQS3BFbh
# hDvmUsK+yQgBF33Uq387kvEXV6vh77daGOM0ndCkpd8B8iXxZ9Hmc5ulX8RYsd7J
# fHzDbNtn4ulL7dgPNkKIi6KhghcZMIIXFQYKKwYBBAGCNwMDATGCFwUwghcBBgkq
# hkiG9w0BBwKgghbyMIIW7gIBAzEPMA0GCWCGSAFlAwQCAQUAMIIBWQYLKoZIhvcN
# AQkQAQSgggFIBIIBRDCCAUACAQEGCisGAQQBhFkKAwEwMTANBglghkgBZQMEAgEF
# AAQglQGR1t+KYAVBMZg//Q6JJ8gR4b2qb66nCUVI4uoGsiECBmKGYDui7hgTMjAy
# MjA2MTAwNDExMzYuOTA3WjAEgAIB9KCB2KSB1TCB0jELMAkGA1UEBhMCVVMxEzAR
# BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1p
# Y3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQg
# T3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjoxNzlF
# LTRCQjAtODI0NjElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vydmlj
# ZaCCEWgwggcUMIIE/KADAgECAhMzAAABij44jdIOAvroAAEAAAGKMA0GCSqGSIb3
# DQEBCwUAMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD
# VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAk
# BgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMB4XDTIxMTAyODE5
# Mjc0MloXDTIzMDEyNjE5Mjc0MlowgdIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpX
# YXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQg
# Q29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJhdGlv
# bnMgTGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046MTc5RS00QkIwLTgy
# NDYxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2UwggIiMA0G
# CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC3/663oYMDIBm96AGFqBZ3QaipPyUU
# cx6mhY04s88QSgu7Jrhfef4rXgW+VnAWYrCpqnoH7oSQhNKOR5xNIHpBEDiSK90n
# J2Uu8quDy520G7rssrKNCrBHMNBNGEQLGlTfS10ET8B7I/3mTuqd2Ei786lPhAbI
# YlSIwOWZkCIM9jkUmSK1SAa/AwEfCiAnPwVUQEWdWIBRFMniQEOJTqmlu/g8j3v6
# 9CGmykMr7zeBrJqJELeA1MbLeI6J7o+yXTdy9giIVwAlE/g7RGR4WW/9JCiibPcm
# 2wx32ihL9c7S9I32HYNUo40yNoU6Cc3lGTmIKrCafqqyZ76FqhH9OsIFLTNeNexZ
# OCSWNQG23XtQFtbxEv70s3DdyM8nwRhGCUw1cJgszobMINcS8T1P/+wC/6TVzzi2
# aiJkNkGoGCv9K8v6BWw7PcSgNlDbqpNrVsSf+enEyZdy2hlJ7xJEOqArQlRaGMpe
# CfJo4AMQH4W18iL6N1xQluk+0AviRa9VJEqKlW/wwS5hEt7FcQMQGL5Xi18oClmE
# TiBrSn5AKJrAcsFk2iPdRA3MzlBWYZqLcydAVtmSGptQPKmj29pYR5V47fkl90ta
# PBGC8xfdUpkvnt3uOZGOJWWW5eNkUvH6uEkvslhWm04+0XUwC0xiWno66Cc6kb7h
# bgwYeqPthh8/RQIDAQABo4IBNjCCATIwHQYDVR0OBBYEFCPaQ9j9bBnUl66nSUeE
# PjGQaSQDMB8GA1UdIwQYMBaAFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMF8GA1UdHwRY
# MFYwVKBSoFCGTmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01p
# Y3Jvc29mdCUyMFRpbWUtU3RhbXAlMjBQQ0ElMjAyMDEwKDEpLmNybDBsBggrBgEF
# BQcBAQRgMF4wXAYIKwYBBQUHMAKGUGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9w
# a2lvcHMvY2VydHMvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAo
# MSkuY3J0MAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwgwDQYJKoZI
# hvcNAQELBQADggIBAMX0wRKw9cN5G18WjV/nvmI98X0BFZt66418znzch9PF/Nl/
# Z2/+Z7cM2L8pw00SdHVMptm0bsuyDRzL+kogRA4kbZ9hpbAggpjC7IMkjZDiRWLm
# bNtX/QLn69BCxBwK9+wzwrlfZ9+J8mLu2p4bSvnwKODB7vEFi+C4+aNQ3HBNa8SN
# kg9+mNVSho8KXqqqzR4VRvttwuHNMQRgGcCPwwQ2GI/kgl3g+nmUWodO2l5zrtgW
# Ya47+4gD9OM8F9y0zmRQj67N/KH/Ih20M22QjP57/GZdIWGJARHS4GNGhtBlXpz7
# RM229E0trJTi7sR6R3s5oNfNBHRG5YZpKLC03pdz8+g0/St7Mbo69zKjDWoyhSRQ
# RDuqoPRCrxAXArQMoJ1lIm3IEowGmNRgKc1Rlti9NNabgNcrlFiB/bdtUElbhejn
# Dj3QcejhONY2rPXs+o/IwJOczwdwCpOc94wTR09i9t3DMMyBu6bJ1slqr/ToUiaQ
# nspez2PGoOITY9N5idqPzafpD/8+pse7HEmbBA7h/N06BWoASQbVcOamlUpb+snE
# E3cjHJWvpA/1yFjYxhVrRtsAIjZ29T5HZAmUTkCOgwrLrxYjWmYVPckoGutpynLo
# dSMau1X7/VTnZuusSUKVXLkVvz5RlZkunzZy4LO0kwxKpb6Q/nPJUFK8sz7gMIIH
# cTCCBVmgAwIBAgITMwAAABXF52ueAptJmQAAAAAAFTANBgkqhkiG9w0BAQsFADCB
# iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl
# ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMp
# TWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMjEw
# OTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1WjB8MQswCQYDVQQGEwJVUzETMBEGA1UE
# CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9z
# b2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQ
# Q0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAOThpkzntHIh
# C3miy9ckeb0O1YLT/e6cBwfSqWxOdcjKNVf2AX9sSuDivbk+F2Az/1xPx2b3lVNx
# WuJ+Slr+uDZnhUYjDLWNE893MsAQGOhgfWpSg0S3po5GawcU88V29YZQ3MFEyHFc
# UTE3oAo4bo3t1w/YJlN8OWECesSq/XJprx2rrPY2vjUmZNqYO7oaezOtgFt+jBAc
# nVL+tuhiJdxqD89d9P6OU8/W7IVWTe/dvI2k45GPsjksUZzpcGkNyjYtcI4xyDUo
# veO0hyTD4MmPfrVUj9z6BVWYbWg7mka97aSueik3rMvrg0XnRm7KMtXAhjBcTyzi
# YrLNueKNiOSWrAFKu75xqRdbZ2De+JKRHh09/SDPc31BmkZ1zcRfNN0Sidb9pSB9
# fvzZnkXftnIv231fgLrbqn427DZM9ituqBJR6L8FA6PRc6ZNN3SUHDSCD/AQ8rdH
# GO2n6Jl8P0zbr17C89XYcz1DTsEzOUyOArxCaC4Q6oRRRuLRvWoYWmEBc8pnol7X
# KHYC4jMYctenIPDC+hIK12NvDMk2ZItboKaDIV1fMHSRlJTYuVD5C4lh8zYGNRiE
# R9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6bMURHXLvjflSxIUXk8A8FdsaN8cIFRg/
# eKtFtvUeh17aj54WcmnGrnu3tz5q4i6tAgMBAAGjggHdMIIB2TASBgkrBgEEAYI3
# FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQWBBQqp1L+ZMSavoKRPEY1Kc8Q/y8E7jAd
# BgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXAYDVR0gBFUwUzBRBgwrBgEE
# AYI3TIN9AQEwQTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29t
# L3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRtMBMGA1UdJQQMMAoGCCsGAQUFBwMI
# MBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMB
# Af8EBTADAQH/MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1Ud
# HwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3By
# b2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBaBggrBgEFBQcBAQRO
# MEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2Vy
# dHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3J0MA0GCSqGSIb3DQEBCwUAA4IC
# AQCdVX38Kq3hLB9nATEkW+Geckv8qW/qXBS2Pk5HZHixBpOXPTEztTnXwnE2P9pk
# bHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6U03dmLq2HnjYNi6cqYJWAAOwBb6J6Gng
# ugnue99qb74py27YP0h1AdkY3m2CDPVtI1TkeFN1JFe53Z/zjj3G82jfZfakVqr3
# lbYoVSfQJL1AoL8ZthISEV09J+BAljis9/kpicO8F7BUhUKz/AyeixmJ5/ALaoHC
# gRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTpkbKpW99Jo3QMvOyRgNI95ko+ZjtPu4b6
# MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0sHrYUP4KWN1APMdUbZ1jdEgssU5HLcEU
# BHG/ZPkkvnNtyo4JvbMBV0lUZNlz138eW0QBjloZkWsNn6Qo3GcZKCS6OEuabvsh
# VGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJsWkBRH58oWFsc/4Ku+xBZj1p/cvBQUl+
# fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7Fx0ViY1w/ue10CgaiQuPNtq6TPmb/wrp
# NPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0dFtq0Z4+7X6gMTN9vMvpe784cETRkPHI
# qzqKOghif9lwY1NNje6CbaUFEMFxBmoQtB1VM1izoXBm8qGCAtcwggJAAgEBMIIB
# AKGB2KSB1TCB0jELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
# BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEt
# MCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYw
# JAYDVQQLEx1UaGFsZXMgVFNTIEVTTjoxNzlFLTRCQjAtODI0NjElMCMGA1UEAxMc
# TWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZaIjCgEBMAcGBSsOAwIaAxUAgPDz
# Y68bUwUEHaf/jB5WqnNXxKGggYMwgYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UE
# CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9z
# b2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQ
# Q0EgMjAxMDANBgkqhkiG9w0BAQUFAAIFAOZNNeIwIhgPMjAyMjA2MTAxMTE1NDZa
# GA8yMDIyMDYxMTExMTU0NlowdzA9BgorBgEEAYRZCgQBMS8wLTAKAgUA5k014gIB
# ADAKAgEAAgIKVAIB/zAHAgEAAgIRSDAKAgUA5k6HYgIBADA2BgorBgEEAYRZCgQC
# MSgwJjAMBgorBgEEAYRZCgMCoAowCAIBAAIDB6EgoQowCAIBAAIDAYagMA0GCSqG
# SIb3DQEBBQUAA4GBABteNLkOZY/ZunVWVAm/TEDYQSpI1iptUgggAShO3gvCxVmc
# 47TRAzWQliIHD16hr/zKEilpzn6PMFTbD3SY+j4vaOLHLBoH69VqApN2jk/BXYhg
# 3xcrQO4Pxr5OC3J9zgC1f4LFFlBhNGbskH2OkCvgF8lHTXS7uw1p7u/9v5jsMYIE
# DTCCBAkCAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x
# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv
# bjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMAAAGK
# PjiN0g4C+ugAAQAAAYowDQYJYIZIAWUDBAIBBQCgggFKMBoGCSqGSIb3DQEJAzEN
# BgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgMJG4ErD0ZDQorUd5bK4Ifk+o
# 3R8E+K42s5ewGjXbgCUwgfoGCyqGSIb3DQEJEAIvMYHqMIHnMIHkMIG9BCD0veCr
# dd9Kvn7zv38w+DG1kIUGhO0R5Dh+gJI5TVQpvTCBmDCBgKR+MHwxCzAJBgNVBAYT
# AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYD
# VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBU
# aW1lLVN0YW1wIFBDQSAyMDEwAhMzAAABij44jdIOAvroAAEAAAGKMCIEIAZSXCd1
# FYsPyEST1dGxv/1iH16tW2VdxOVXfalgYsLZMA0GCSqGSIb3DQEBCwUABIICAIUP
# 5LFzlneU+JQ1hcu9WBy1VI9tcso34Gn2O73teN252L1aAjgvqHHncadZ5URaCx3f
# TxrbodKFYhnYrjSj0U/q0Sygh5fxXhPyOzwMcFWB2iPLaxnUMIWDPxLFhS0IClAx
# ANBYKV21+GZ1R5hXwRCQdTcic8rq3GMprGP/YGnEHq7HmMY5MQwgi8Xny9CcCini
# 7gNGrUrtRYlbFH7tt9b5xu922caMBLAk1zzMo/Ekh2tAFQ4HFYDjpDqcv64/B5vZ
# MbsILKVTER/xXTbTXCmhp/MAoSkQJpb8NzN3XUpNIH2Mjj1/wbZfsZ1EWXI2KRIr
# OlUjdFTYpK6qX2U0EscVjfMEK+fPlx7hGTuRiDl5epho+86uagcXvOoxlfSVLwL9
# lkHHnl17UYxDoR9DXLgf0PX3qlmFpRr54uzoJgfw55ahBBJ60wZx7d1jh2Gw6Fs/
# 5E5hG0vKshawNq6NTm5IUN+LtBWYW9oIxra17sNE0scCguDXgUSBC2OewlqdQncs
# 2L++uVaAleEE4G3VyWIqXwf/W7n11qQ/mG52cm0hEAQdQLU69S/Swk1+MHGgr63d
# J+e0vG5tpEDu0UcjXky7aftaYkFXDjFlKjFfJXl4RxeC9LGthMLzTyH4XoIzrUiL
# bLzQcSzYSyf5PX7Cl9NveKs3VOAQY2HQhaQcdJg7
# SIG # End signature block