internal/classes/Exceptions.ps1

class EnvironmentException : System.Exception {
    EnvironmentException([string]$Message):
        base ($Message) {}
}
class ConfigurationFileException : System.Exception {
    ConfigurationFileException([string]$Message):
        base ($Message) {}
}

class ConfigurationFileNotFoundException : ConfigurationFileException {
    ConfigurationFileNotFoundException([string]$Message):
        base ($Message) {}

}

# SIG # Begin signature block
# MIIuewYJKoZIhvcNAQcCoIIubDCCLmgCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAoup2h0dhRxCIe
# jiCL9M8dTgxH5olY8AWzZxUAUSTjiKCCE/8wggVyMIIDWqADAgECAhB2U/6sdUZI
# k/Xl10pIOk74MA0GCSqGSIb3DQEBDAUAMFMxCzAJBgNVBAYTAkJFMRkwFwYDVQQK
# ExBHbG9iYWxTaWduIG52LXNhMSkwJwYDVQQDEyBHbG9iYWxTaWduIENvZGUgU2ln
# bmluZyBSb290IFI0NTAeFw0yMDAzMTgwMDAwMDBaFw00NTAzMTgwMDAwMDBaMFMx
# CzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMSkwJwYDVQQD
# EyBHbG9iYWxTaWduIENvZGUgU2lnbmluZyBSb290IFI0NTCCAiIwDQYJKoZIhvcN
# AQEBBQADggIPADCCAgoCggIBALYtxTDdeuirkD0DcrA6S5kWYbLl/6VnHTcc5X7s
# k4OqhPWjQ5uYRYq4Y1ddmwCIBCXp+GiSS4LYS8lKA/Oof2qPimEnvaFE0P31PyLC
# o0+RjbMFsiiCkV37WYgFC5cGwpj4LKczJO5QOkHM8KCwex1N0qhYOJbp3/kbkbuL
# ECzSx0Mdogl0oYCve+YzCgxZa4689Ktal3t/rlX7hPCA/oRM1+K6vcR1oW+9YRB0
# RLKYB+J0q/9o3GwmPukf5eAEh60w0wyNA3xVuBZwXCR4ICXrZ2eIq7pONJhrcBHe
# OMrUvqHAnOHfHgIB2DvhZ0OEts/8dLcvhKO/ugk3PWdssUVcGWGrQYP1rB3rdw1G
# R3POv72Vle2dK4gQ/vpY6KdX4bPPqFrpByWbEsSegHI9k9yMlN87ROYmgPzSwwPw
# jAzSRdYu54+YnuYE7kJuZ35CFnFi5wT5YMZkobacgSFOK8ZtaJSGxpl0c2cxepHy
# 1Ix5bnymu35Gb03FhRIrz5oiRAiohTfOB2FXBhcSJMDEMXOhmDVXR34QOkXZLaRR
# kJipoAc3xGUaqhxrFnf3p5fsPxkwmW8x++pAsufSxPrJ0PBQdnRZ+o1tFzK++Ol+
# A/Tnh3Wa1EqRLIUDEwIrQoDyiWo2z8hMoM6e+MuNrRan097VmxinxpI68YJj8S4O
# JGTfAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0G
# A1UdDgQWBBQfAL9GgAr8eDm3pbRD2VZQu86WOzANBgkqhkiG9w0BAQwFAAOCAgEA
# Xiu6dJc0RF92SChAhJPuAW7pobPWgCXme+S8CZE9D/x2rdfUMCC7j2DQkdYc8pzv
# eBorlDICwSSWUlIC0PPR/PKbOW6Z4R+OQ0F9mh5byV2ahPwm5ofzdHImraQb2T07
# alKgPAkeLx57szO0Rcf3rLGvk2Ctdq64shV464Nq6//bRqsk5e4C+pAfWcAvXda3
# XaRcELdyU/hBTsz6eBolSsr+hWJDYcO0N6qB0vTWOg+9jVl+MEfeK2vnIVAzX9Rn
# m9S4Z588J5kD/4VDjnMSyiDN6GHVsWbcF9Y5bQ/bzyM3oYKJThxrP9agzaoHnT5C
# JqrXDO76R78aUn7RdYHTyYpiF21PiKAhoCY+r23ZYjAf6Zgorm6N1Y5McmaTgI0q
# 41XHYGeQQlZcIlEPs9xOOe5N3dkdeBBUO27Ql28DtR6yI3PGErKaZND8lYUkqP/f
# obDckUCu3wkzq7ndkrfxzJF0O2nrZ5cbkL/nx6BvcbtXv7ePWu16QGoWzYCELS/h
# AtQklEOzFfwMKxv9cW/8y7x1Fzpeg9LJsy8b1ZyNf1T+fn7kVqOHp53hWVKUQY9t
# W76GlZr/GnbdQNJRSnC0HzNjI3c/7CceWeQIh+00gkoPP/6gHcH1Z3NFhnj0qinp
# J4fGGdvGExTDOUmHTaCX4GUT9Z13Vunas1jHOvLAzYIwggboMIIE0KADAgECAhB3
# vQ4Ft1kLth1HYVMeP3XtMA0GCSqGSIb3DQEBCwUAMFMxCzAJBgNVBAYTAkJFMRkw
# FwYDVQQKExBHbG9iYWxTaWduIG52LXNhMSkwJwYDVQQDEyBHbG9iYWxTaWduIENv
# ZGUgU2lnbmluZyBSb290IFI0NTAeFw0yMDA3MjgwMDAwMDBaFw0zMDA3MjgwMDAw
# MDBaMFwxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTIw
# MAYDVQQDEylHbG9iYWxTaWduIEdDQyBSNDUgRVYgQ29kZVNpZ25pbmcgQ0EgMjAy
# MDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMsg75ceuQEyQ6BbqYoj
# /SBerjgSi8os1P9B2BpV1BlTt/2jF+d6OVzA984Ro/ml7QH6tbqT76+T3PjisxlM
# g7BKRFAEeIQQaqTWlpCOgfh8qy+1o1cz0lh7lA5tD6WRJiqzg09ysYp7ZJLQ8LRV
# X5YLEeWatSyyEc8lG31RK5gfSaNf+BOeNbgDAtqkEy+FSu/EL3AOwdTMMxLsvUCV
# 0xHK5s2zBZzIU+tS13hMUQGSgt4T8weOdLqEgJ/SpBUO6K/r94n233Hw0b6nskEz
# IHXMsdXtHQcZxOsmd/KrbReTSam35sOQnMa47MzJe5pexcUkk2NvfhCLYc+YVaMk
# oog28vmfvpMusgafJsAMAVYS4bKKnw4e3JiLLs/a4ok0ph8moKiueG3soYgVPMLq
# 7rfYrWGlr3A2onmO3A1zwPHkLKuU7FgGOTZI1jta6CLOdA6vLPEV2tG0leis1Ult
# 5a/dm2tjIF2OfjuyQ9hiOpTlzbSYszcZJBJyc6sEsAnchebUIgTvQCodLm3HadNu
# twFsDeCXpxbmJouI9wNEhl9iZ0y1pzeoVdwDNoxuz202JvEOj7A9ccDhMqeC5LYy
# AjIwfLWTyCH9PIjmaWP47nXJi8Kr77o6/elev7YR8b7wPcoyPm593g9+m5XEEofn
# GrhO7izB36Fl6CSDySrC/blTAgMBAAGjggGtMIIBqTAOBgNVHQ8BAf8EBAMCAYYw
# EwYDVR0lBAwwCgYIKwYBBQUHAwMwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4E
# FgQUJZ3Q/FkJhmPF7POxEztXHAOSNhEwHwYDVR0jBBgwFoAUHwC/RoAK/Hg5t6W0
# Q9lWULvOljswgZMGCCsGAQUFBwEBBIGGMIGDMDkGCCsGAQUFBzABhi1odHRwOi8v
# b2NzcC5nbG9iYWxzaWduLmNvbS9jb2Rlc2lnbmluZ3Jvb3RyNDUwRgYIKwYBBQUH
# MAKGOmh0dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5jb20vY2FjZXJ0L2NvZGVzaWdu
# aW5ncm9vdHI0NS5jcnQwQQYDVR0fBDowODA2oDSgMoYwaHR0cDovL2NybC5nbG9i
# YWxzaWduLmNvbS9jb2Rlc2lnbmluZ3Jvb3RyNDUuY3JsMFUGA1UdIAROMEwwQQYJ
# KwYBBAGgMgECMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24u
# Y29tL3JlcG9zaXRvcnkvMAcGBWeBDAEDMA0GCSqGSIb3DQEBCwUAA4ICAQAldaAJ
# yTm6t6E5iS8Yn6vW6x1L6JR8DQdomxyd73G2F2prAk+zP4ZFh8xlm0zjWAYCImbV
# YQLFY4/UovG2XiULd5bpzXFAM4gp7O7zom28TbU+BkvJczPKCBQtPUzosLp1pnQt
# pFg6bBNJ+KUVChSWhbFqaDQlQq+WVvQQ+iR98StywRbha+vmqZjHPlr00Bid/XSX
# hndGKj0jfShziq7vKxuav2xTpxSePIdxwF6OyPvTKpIz6ldNXgdeysEYrIEtGiH6
# bs+XYXvfcXo6ymP31TBENzL+u0OF3Lr8psozGSt3bdvLBfB+X3Uuora/Nao2Y8nO
# ZNm9/Lws80lWAMgSK8YnuzevV+/Ezx4pxPTiLc4qYc9X7fUKQOL1GNYe6ZAvytOH
# X5OKSBoRHeU3hZ8uZmKaXoFOlaxVV0PcU4slfjxhD4oLuvU/pteO9wRWXiG7n9dq
# cYC/lt5yA9jYIivzJxZPOOhRQAyuku++PX33gMZMNleElaeEFUgwDlInCI2Oor0i
# xxnJpsoOqHo222q6YV8RJJWk4o5o7hmpSZle0LQ0vdb5QMcQlzFSOTUpEYck08T7
# qWPLd0jV+mL8JOAEek7Q5G7ezp44UCb0IXFl1wkl1MkHAHq4x/N36MXU4lXQ0x72
# f1LiSY25EXIMiEQmM2YBRN/kMw4h3mKJSAfa9TCCB5kwggWBoAMCAQICDH+jGUtp
# n7qIskPg4DANBgkqhkiG9w0BAQsFADBcMQswCQYDVQQGEwJCRTEZMBcGA1UEChMQ
# R2xvYmFsU2lnbiBudi1zYTEyMDAGA1UEAxMpR2xvYmFsU2lnbiBHQ0MgUjQ1IEVW
# IENvZGVTaWduaW5nIENBIDIwMjAwHhcNMjMwODIzMDg0MjIzWhcNMjQwODIzMDg0
# MjIzWjCB/jEdMBsGA1UEDwwUUHJpdmF0ZSBPcmdhbml6YXRpb24xFTATBgNVBAUT
# DDA0MjkuMDM3LjIzNTETMBEGCysGAQQBgjc8AgEDEwJCRTELMAkGA1UEBhMCQkUx
# FzAVBgNVBAgTDlZsYWFtcy1CcmFiYW50MRAwDgYDVQQHEwdCZWVyc2VsMRswGQYD
# VQQJExJBLiBWYXVjYW1wc2xhYW4gNDIxJTAjBgNVBAoTHEluZXR1bSBSZWFsZG9s
# bWVuIEJlbGdpdW0gTlYxDjAMBgNVBAsTBVdQQUFTMSUwIwYDVQQDExxJbmV0dW0g
# UmVhbGRvbG1lbiBCZWxnaXVtIE5WMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC
# CgKCAgEAz9zO2ny9NoHSdEnF2zFfkTHtLB/oDq80CHB7+7FKCK5aOGYO0Nv/Bg9k
# Qc6tHyf/03nK4y4vwxWPIaGcqWe1k1MwvSru5bPbXjS6CnPLnm0OKpHjXCryvvdt
# fcyFSZrRPF8wSG6UmYewSEOP8xOUXx2kFcsjrWxHkjvwfrPIKBaCLn/Gldl9MlUc
# K8PmPlz0jKMkN6/16Q3R3MqnCfKPIEBkHbEJ3f8F9lRnHq9o2exmfE2GhN7UtBDZ
# uN/jzMkPBW7h1AEOZXpzJlUTSMvGJqYGkHX8JxCWwgJWvtZF03dnKWEaJt+3wAOg
# DZUj0Yxzz7vsk2Auc+EMwkdlfCSoMDjCv6UmKF7CsLtr6UgDuRR8KK+K7Is+KVbP
# a3GEAAuKnXAEdOyGfNmsdyewELrMAlh4fvxcVcLzM9cGgoHo8RU6dczImANeqzm9
# /+LwX3rqem95gkRe8JuJUkBniQVFiQ+6ZvyXzm0L3qCtp0JAsd+n6hCGTR8VzeRY
# UDxzmVbnpjBctIEPNT8PqZlFv9zoJxS22X9aZOhBpsuAVtwM5cVt7qR0eCXXPZJk
# 9LFUcDCYn/nqi1Qc/IptSjE1ETo9h0GD97Ri4fm2D4ahjsngricSl5oMYbC2PHcn
# jOjdd7Ab+UturGdjUvQR/7Z4qjymHJqFA41DPadfBJ6BU+b0IMkCAwEAAaOCAbYw
# ggGyMA4GA1UdDwEB/wQEAwIHgDCBnwYIKwYBBQUHAQEEgZIwgY8wTAYIKwYBBQUH
# MAKGQGh0dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5jb20vY2FjZXJ0L2dzZ2NjcjQ1
# ZXZjb2Rlc2lnbmNhMjAyMC5jcnQwPwYIKwYBBQUHMAGGM2h0dHA6Ly9vY3NwLmds
# b2JhbHNpZ24uY29tL2dzZ2NjcjQ1ZXZjb2Rlc2lnbmNhMjAyMDBVBgNVHSAETjBM
# MEEGCSsGAQQBoDIBAjA0MDIGCCsGAQUFBwIBFiZodHRwczovL3d3dy5nbG9iYWxz
# aWduLmNvbS9yZXBvc2l0b3J5LzAHBgVngQwBAzAJBgNVHRMEAjAAMEcGA1UdHwRA
# MD4wPKA6oDiGNmh0dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20vZ3NnY2NyNDVldmNv
# ZGVzaWduY2EyMDIwLmNybDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAW
# gBQlndD8WQmGY8Xs87ETO1ccA5I2ETAdBgNVHQ4EFgQUL5AOgixh/ZL7PiP/4x2P
# 10jJK7cwDQYJKoZIhvcNAQELBQADggIBAL41K2LQmY2+hWstzMugRhfgZwX+V1PN
# jMNef/pd8fyAobNpwnK3kQz8E7QBSPA1c3oWqTSoC5o+vODkxpelyi+whicBKxEn
# hY97+T1JOZ5nEJbo2QsHPtFEpKsbW3uPcB29iLcBomNjrEQoomcgsyTiHj+6z2OU
# 79uDqJfkUUg7w73fg756VLIpGUo1rWRF6bZh/I6Zjrk+pbL8Su11U1a8H40Xlg8H
# cThHQenIGN7AvmbEkZihQQn2jkdDlkk17f+vNw0GpdvNl6Ufu+RiY/ojEljmr6Vg
# QmQ6B7FNodDCE6u3xj3iYFV9hyHIkST17QMQj2mV3KQ0tAl4QZZHkjvO1AGvjd3b
# VicdJ1EmYMmrP7ovUrujwLZqz3Iux+dWJNShggXzm2NBkD5bgrZPKDvTi9Dd3b0U
# IMO88vOo5eMtuolhgozu6Q9EHsuXV+lt/VWO+I0Qgwx/HkFAM99HgVdpXiTkJmZg
# vx5C958jaHWk83ybattp7BVrbrzf3FugZhqe0z78n9kACxHW5FhZhDh1vXPUW1yL
# HIayt+i0xT7F7lUbuooxyeiOIQYNNXyfbONsDwZDZLbgr2YAxn7y0ZE/9mQ969qE
# GDu6XBehyy6p/SKIwVE5ue92rnWhxtQLIezQVGjMOXBIZv/sy+u5HOFQsy5jGjHM
# pwzCqJ/r3IiYMYIZ0jCCGc4CAQEwbDBcMQswCQYDVQQGEwJCRTEZMBcGA1UEChMQ
# R2xvYmFsU2lnbiBudi1zYTEyMDAGA1UEAxMpR2xvYmFsU2lnbiBHQ0MgUjQ1IEVW
# IENvZGVTaWduaW5nIENBIDIwMjACDH+jGUtpn7qIskPg4DANBglghkgBZQMEAgEF
# AKCBhDAYBgorBgEEAYI3AgEMMQowCKACgAChAoAAMBkGCSqGSIb3DQEJAzEMBgor
# BgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgorBgEEAYI3AgEVMC8GCSqGSIb3
# DQEJBDEiBCArfAajS1hQjId0DGgWqEK46WOYVdCxzKdBkq1nFys9BDANBgkqhkiG
# 9w0BAQEFAASCAgA8o+yJDq14shoQFkoRS5WE8PhN1e0TfzIA1XQL1Jkb96fKEY/r
# pdvpK1BGoJlXoeVcOTgE0jtirkLiukKsLEJi1yZ6HGDm51DPw27O6UQf5ma2XgVk
# BAHb+aSQVD6SupM7tYWvDnheCyL6siIM/L/3MQrt+hNXksjVT+kOL3bQ6Zmm8WXH
# TyusaHmfLILW+NktezVs3j3rq4Zl9L9atINF4znMPolBR/VVD5cWvYskO0LDH7u2
# 19g5/83mUtgk7ulT1Q6x4HxQUIECskmD/vsyD6x5xDg1pTv3FQsU14K8/Iv/tztf
# o98BEThObGU4iyYWDr/H84iphbw6f5jf3C1I42m5+lcufZ1QLQ69cMMWyrfqTRz3
# vduvdznTGT56tJpE6wOi0Je0ta+A0/GlIuulEKCWhAiW2liacFbGfM1iWpUESFd9
# L8Acl5c986ymKr/wkjglFbE43X6N8vrwHdihf0jhAyhl9ZSl1uCJNR3U+Lm9BemQ
# jV5Eny7vUuCojZdLyIf3PxloF4MWEIy5jhTL3wKYBio9t8a+NXF2tmwvjeFUJQMk
# OP65EtbBOcB+wx2yC2AKOYSCOe8qmcKAIc0LvGL1XZAJLwcxqjPPQgmYBTAMLGiN
# DRfNw+J5WHndPq/eI1+hUQq4WctYpk7il4yUWf+mHwrJHugSej8FKuzRwKGCFrAw
# ghasBgorBgEEAYI3AwMBMYIWnDCCFpgGCSqGSIb3DQEHAqCCFokwghaFAgEDMQ0w
# CwYJYIZIAWUDBAIBMIHeBgsqhkiG9w0BCRABBKCBzgSByzCByAIBAQYLKwYBBAGg
# MgIDAQIwMTANBglghkgBZQMEAgEFAAQgAU8AnDlpZDS2E+5148vjyjBuJqbvvMTM
# CnLoNtCe/PECE399v3mI5v5IH8kI4hllxapVZukYDzIwMjMwOTIwMTc0NDExWjAD
# AgEBoFikVjBUMQswCQYDVQQGEwJCRTEZMBcGA1UECgwQR2xvYmFsU2lnbiBudi1z
# YTEqMCgGA1UEAwwhR2xvYmFsc2lnbiBUU0EgZm9yIENvZGVTaWduMSAtIFI2oIIS
# QTCCBlkwggRBoAMCAQICEAGyi9TP7u4NvtCzDZv4Q2owDQYJKoZIhvcNAQELBQAw
# WzELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExMTAvBgNV
# BAMTKEdsb2JhbFNpZ24gVGltZXN0YW1waW5nIENBIC0gU0hBMzg0IC0gRzQwHhcN
# MjIwNDA2MDc0NTM4WhcNMzMwNTA4MDc0NTM4WjBUMQswCQYDVQQGEwJCRTEZMBcG
# A1UECgwQR2xvYmFsU2lnbiBudi1zYTEqMCgGA1UEAwwhR2xvYmFsc2lnbiBUU0Eg
# Zm9yIENvZGVTaWduMSAtIFI2MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKC
# AYEAsK1I4FnlaRESM460X7sHhULgyUmlZPAGmP3M8Mj6ipwZfWaqMyDXun5po1/i
# f0qUUc/Fy9eqN6SBAQr615DqGXYdWtzWIkK8qT/eDxtIq3hmWrGh9ECPx6ShX6HC
# /OJ8j3tXpYF6kCuL66Qo3D4tcmUrMLRoPOQKmJ0rHbZxUZuAt6B6oN2JTl2aFikT
# GH0uh2tL+vRklELrPZTCqwSbZdhMcc82I/gumSDZX3el6o0XxU8gl2wzJEicM4xM
# nQiO5Si2wloojKHVvgqTYWKW4XVx+pAcCV1grR0I8ujCssMAIpL73NC5GUFCvYrL
# vWzG7ShqSo80tGmaG1qHXjg4vFIsOg68uhBP0gCzHLrSgRU+r69csOXYX6Bqfoz8
# g0O5d2GKR3M/ozLROqsnVZvyG1FdhOMk0lY4ntxKb5lfUSEyxL1Y8PEhaBnvGDUy
# P4x0DS1s8iL5uCEBn5qwKTf0Okna6GpXndkCofAcuV22Gf0BlXpDhwv9xUvjarYF
# 54XzAgMBAAGjggGeMIIBmjAOBgNVHQ8BAf8EBAMCB4AwFgYDVR0lAQH/BAwwCgYI
# KwYBBQUHAwgwHQYDVR0OBBYEFO7wg8rWsQnLsA4mHcaeG571ZX35MEwGA1UdIARF
# MEMwQQYJKwYBBAGgMgEeMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2Jh
# bHNpZ24uY29tL3JlcG9zaXRvcnkvMAwGA1UdEwEB/wQCMAAwgZAGCCsGAQUFBwEB
# BIGDMIGAMDkGCCsGAQUFBzABhi1odHRwOi8vb2NzcC5nbG9iYWxzaWduLmNvbS9j
# YS9nc3RzYWNhc2hhMzg0ZzQwQwYIKwYBBQUHMAKGN2h0dHA6Ly9zZWN1cmUuZ2xv
# YmFsc2lnbi5jb20vY2FjZXJ0L2dzdHNhY2FzaGEzODRnNC5jcnQwHwYDVR0jBBgw
# FoAU6hbGaefjy1dFOTOk8EC+0MO9ZZYwQQYDVR0fBDowODA2oDSgMoYwaHR0cDov
# L2NybC5nbG9iYWxzaWduLmNvbS9jYS9nc3RzYWNhc2hhMzg0ZzQuY3JsMA0GCSqG
# SIb3DQEBCwUAA4ICAQA79Fw7/zUk/j6qsucax4BsSla4uWR1dtzOi2/AHmy8rRmL
# J2xqbg2wsS9TndlX4fFZZ8Ii1cGRjkksRTAYeU5qCI7QGVhdgmj7vCa5jEzlN822
# xhY6win158yySoCCQCEd9oTGbrC+3wrc2MC76CZyl7fHzVBKaQOvje+3ig39dxy2
# vqav2hecDrGTnAUeRXOzzuizs/7Fl7DJcuzuywmwyx+9r92XOKYu8TWZPvRjqhOe
# Ga8wP1KnfG3/9wzwNQkvEbF90YOIPGJm2LlvyEmYuG/CbBKoWLnZiYi8ErPvz/Ky
# aRlQk3gfzwJOANZYqyl+CTTfeOwGxK3CDJDglkToEOhiJGFw+1VOMNs4/UEAGKVo
# B4N3evcwj7O73hzxLNzXlY/iICd2L2kfKX4cZxa9AWVwQDG3jvsUjNNP8t0rAhl6
# 2LxfjHm65+zqGmtsdPjSZALE5in4mDnZreXUMk6Dri0EkINq+T9866kAF5XZKrJg
# wBIzQiOR6bJrHnNnQ6MJEy94arOzjQk70zuIzJRLY0CycxMQ6mw0Xj7bkVhXVFuW
# E8qZ34RmUE2oDMpiatGLw5Hv6g3dlfTqKjCSimSsSt9XnE/EU730Jga/hzQkrXGq
# TKK1u2G+SXvp8g4MbgmCGTFCBJVBXk4ImRBxxB/OWoRySNuy+xJ4IhdH1kI1SjCC
# BlkwggRBoAMCAQICDQHsHJJA3v0uQF18R3QwDQYJKoZIhvcNAQEMBQAwTDEgMB4G
# A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2JhbFNp
# Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTgwNjIwMDAwMDAwWhcNMzQxMjEw
# MDAwMDAwWjBbMQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1z
# YTExMC8GA1UEAxMoR2xvYmFsU2lnbiBUaW1lc3RhbXBpbmcgQ0EgLSBTSEEzODQg
# LSBHNDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAPAC4jAj+uAb4Zp0
# s691g1+pR1LHYTpjfDkjeW10/DHkdBIZlvrOJ2JbrgeKJ+5Xo8Q17bM0x6zDDOuA
# Zm3RKErBLLu5cPJyroz3mVpddq6/RKh8QSSOj7rFT/82QaunLf14TkOI/pMZF9nu
# Mc+8ijtuasSI8O6X9tzzGKBLmRwOh6cm4YjJoOWZ4p70nEw/XVvstu/SZc9FC1Q9
# sVRTB4uZbrhUmYqoMZI78np9/A5Y34Fq4bBsHmWCKtQhx5T+QpY78Quxf39GmA6H
# PXpl69FWqS69+1g9tYX6U5lNW3TtckuiDYI3GQzQq+pawe8P1Zm5P/RPNfGcD9M3
# E1LZJTTtlu/4Z+oIvo9Jev+QsdT3KRXX+Q1d1odDHnTEcCi0gHu9Kpu7hOEOrG8N
# ubX2bVb+ih0JPiQOZybH/LINoJSwspTMe+Zn/qZYstTYQRLBVf1ukcW7sUwIS57U
# QgZvGxjVNupkrs799QXm4mbQDgUhrLERBiMZ5PsFNETqCK6dSWcRi4LlrVqGp2b9
# MwMB3pkl+XFu6ZxdAkxgPM8CjwH9cu6S8acS3kISTeypJuV3AqwOVwwJ0WGeJoj8
# yLJN22TwRZ+6wT9Uo9h2ApVsao3KIlz2DATjKfpLsBzTN3SE2R1mqzRzjx59fF6W
# 1j0ZsJfqjFCRba9Xhn4QNx1rGhTfAgMBAAGjggEpMIIBJTAOBgNVHQ8BAf8EBAMC
# AYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU6hbGaefjy1dFOTOk8EC+
# 0MO9ZZYwHwYDVR0jBBgwFoAUrmwFo5MT4qLn4tcc1sfwf8hnU6AwPgYIKwYBBQUH
# AQEEMjAwMC4GCCsGAQUFBzABhiJodHRwOi8vb2NzcDIuZ2xvYmFsc2lnbi5jb20v
# cm9vdHI2MDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwuZ2xvYmFsc2lnbi5j
# b20vcm9vdC1yNi5jcmwwRwYDVR0gBEAwPjA8BgRVHSAAMDQwMgYIKwYBBQUHAgEW
# Jmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMA0GCSqGSIb3
# DQEBDAUAA4ICAQB/4ojZV2crQl+BpwkLusS7KBhW1ky/2xsHcMb7CwmtADpgMx85
# xhZrGUBJJQge5Jv31qQNjx6W8oaiF95Bv0/hvKvN7sAjjMaF/ksVJPkYROwfwqSs
# 0LLP7MJWZR29f/begsi3n2HTtUZImJcCZ3oWlUrbYsbQswLMNEhFVd3s6UqfXhTt
# chBxdnDSD5bz6jdXlJEYr9yNmTgZWMKpoX6ibhUm6rT5fyrn50hkaS/SmqFy9vck
# S3RafXKGNbMCVx+LnPy7rEze+t5TTIP9ErG2SVVPdZ2sb0rILmq5yojDEjBOsghz
# n16h1pnO6X1LlizMFmsYzeRZN4YJLOJF1rLNboJ1pdqNHrdbL4guPX3x8pEwBZzO
# e3ygxayvUQbwEccdMMVRVmDofJU9IuPVCiRTJ5eA+kiJJyx54jzlmx7jqoSCiT7A
# SvUh/mIQ7R0w/PbM6kgnfIt1Qn9ry/Ola5UfBFg0ContglDk0Xuoyea+SKorVdmN
# tyUgDhtRoNRjqoPqbHJhSsn6Q8TGV8Wdtjywi7C5HDHvve8U2BRAbCAdwi3oC8aN
# bYy2ce1SIf4+9p+fORqurNIveiCx9KyqHeItFJ36lmodxjzK89kcv1NNpEdZfJXE
# Q0H5JeIsEH6B+Q2Up33ytQn12GByQFCVINRDRL76oJXnIFm2eMakaqoimzCCBYMw
# ggNroAMCAQICDkXmuwODM8OFZUjm/0VRMA0GCSqGSIb3DQEBDAUAMEwxIDAeBgNV
# BAsTF0dsb2JhbFNpZ24gUm9vdCBDQSAtIFI2MRMwEQYDVQQKEwpHbG9iYWxTaWdu
# MRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTE0MTIxMDAwMDAwMFoXDTM0MTIxMDAw
# MDAwMFowTDEgMB4GA1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNV
# BAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wggIiMA0GCSqGSIb3
# DQEBAQUAA4ICDwAwggIKAoICAQCVB+hzymb57BTKezz3DQjxtEULLIK0SMbrWzyu
# g7hBkjMUpG9/6SrMxrCIa8W2idHGsv8UzlEUIexK3RtaxtaH7k06FQbtZGYLkoDK
# RN5zlE7zp4l/T3hjCMgSUG1CZi9NuXkoTVIaihqAtxmBDn7EirxkTCEcQ2jXPTyK
# xbJm1ZCatzEGxb7ibTIGph75ueuqo7i/voJjUNDwGInf5A959eqiHyrScC5757yT
# u21T4kh8jBAHOP9msndhfuDqjDyqtKT285VKEgdt/Yyyic/QoGF3yFh0sNQjOvdd
# Osqi250J3l1ELZDxgc1Xkvp+vFAEYzTfa5MYvms2sjnkrCQ2t/DvthwTV5O23rL4
# 4oW3c6K4NapF8uCdNqFvVIrxclZuLojFUUJEFZTuo8U4lptOTloLR/MGNkl3MLxx
# N+Wm7CEIdfzmYRY/d9XZkZeECmzUAk10wBTt/Tn7g/JeFKEEsAvp/u6P4W4Lsgiz
# YWYJarEGOmWWWcDwNf3J2iiNGhGHcIEKqJp1HZ46hgUAntuA1iX53AWeJ1lMdjlb
# 6vmlodiDD9H/3zAR+YXPM0j1ym1kFCx6WE/TSwhJxZVkGmMOeT31s4zKWK2cQkV5
# bg6HGVxUsWW2v4yb3BPpDW+4LtxnbsmLEbWEFIoAGXCDeZGXkdQaJ783HjIH2BRj
# PChMrwIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAd
# BgNVHQ4EFgQUrmwFo5MT4qLn4tcc1sfwf8hnU6AwHwYDVR0jBBgwFoAUrmwFo5MT
# 4qLn4tcc1sfwf8hnU6AwDQYJKoZIhvcNAQEMBQADggIBAIMl7ejR/ZVSzZ7ABKCR
# aeZc0ITe3K2iT+hHeNZlmKlbqDyHfAKK0W63FnPmX8BUmNV0vsHN4hGRrSMYPd3h
# ckSWtJVewHuOmXgWQxNWV7Oiszu1d9xAcqyj65s1PrEIIaHnxEM3eTK+teecLEy8
# QymZjjDTrCHg4x362AczdlQAIiq5TSAucGja5VP8g1zTnfL/RAxEZvLS471GABpt
# ArolXY2hMVHdVEYcTduZlu8aHARcphXveOB5/l3bPqpMVf2aFalv4ab733Aw6cPu
# QkbtwpMFifp9Y3s/0HGBfADomK4OeDTDJfuvCp8ga907E48SjOJBGkh6c6B3ace2
# XH+CyB7+WBsoK6hsrV5twAXSe7frgP4lN/4Cm2isQl3D7vXM3PBQddI2aZzmewTf
# bgZptt4KCUhZh+t7FGB6ZKppQ++Rx0zsGN1s71MtjJnhXvJyPs9UyL1n7KQPTEX/
# 07kwIwdMjxC/hpbZmVq0mVccpMy7FYlTuiwFD+TEnhmxGDTVTJ267fcfrySVBHio
# A7vugeXaX3yLSqGQdCWnsz5LyCxWvcfI7zjiXJLwefechLp0LWEBIH5+0fJPB1lf
# iy1DUutGDJTh9WZHeXfVVFsfrSQ3y0VaTqBESMjYsJnFFYQJ9tZJScBluOYacW6g
# qPGC6EU+bNYC1wpngwVayaQQMYIDSTCCA0UCAQEwbzBbMQswCQYDVQQGEwJCRTEZ
# MBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTExMC8GA1UEAxMoR2xvYmFsU2lnbiBU
# aW1lc3RhbXBpbmcgQ0EgLSBTSEEzODQgLSBHNAIQAbKL1M/u7g2+0LMNm/hDajAL
# BglghkgBZQMEAgGgggEtMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDArBgkq
# hkiG9w0BCTQxHjAcMAsGCWCGSAFlAwQCAaENBgkqhkiG9w0BAQsFADAvBgkqhkiG
# 9w0BCQQxIgQggPtbMFygMQNatVhhRN1J5J20mG6Umyme0ZcddrS7AjEwgbAGCyqG
# SIb3DQEJEAIvMYGgMIGdMIGaMIGXBCD/IBmgpHPo6ZKHZbvUZgHGWFmNqhMYCGk2
# A5p88CHKmTBzMF+kXTBbMQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2ln
# biBudi1zYTExMC8GA1UEAxMoR2xvYmFsU2lnbiBUaW1lc3RhbXBpbmcgQ0EgLSBT
# SEEzODQgLSBHNAIQAbKL1M/u7g2+0LMNm/hDajANBgkqhkiG9w0BAQsFAASCAYA6
# RC/yezBEhlhjv5QzfAGQmc4/30WSgLPAeKSsHCdZ3DRR4TUjwrCaN/JndQ1jZfwz
# irOB/NWqTW4rzHnWhPQ7sbbjER3Vp30KKzCj8yBQd4y7nNW1081p52t3tOp2fdTF
# gLsEYaKGQ9kMTjknND/aUR9fxBv1GwC0LyN0buD8pHLxtIgXHpGevIQdUu/i4d0L
# wDEGrt1s61KAIx2rSc23UF5O+UWfJ8cE5FMtisPN2tfi8R0ysZYehiBIWhI2gokz
# FCLNVnuVcBPnzkcTmlGWQpfgBNTR/M4Jos+56LKTR8Kp5JdKfCXDL7ccOvby1UYt
# 0WbWkSJCFUStFQjxqT5LO0bnixdImHWd0DqjCGbLAllB4J4dMtiBegNzRPmj57E1
# V9AY5PMzCGFhQPlowxVUBhP6cooO9vl7CHUL2IGjiIujrmRZHSzD+uKXG1Ocsm/J
# zMiRfJqJirj5u5W1PpDSngsje/O9sBM1ijeNi0mYDx/6NfEeZuTUt1nRcib6xB8=
# SIG # End signature block