Model/PasswordPolicyConditions.ps1

#
# Okta Management
# Allows customers to easily access the Okta Management APIs
# Version: 3.0.0
# Contact: devex-public@okta.com
# Generated by OpenAPI Generator: https://openapi-generator.tech
#

<#
.SYNOPSIS
 
No summary available.
 
.DESCRIPTION
 
No description available.
 
.PARAMETER App
No description available.
.PARAMETER Apps
No description available.
.PARAMETER AuthContext
No description available.
.PARAMETER AuthProvider
No description available.
.PARAMETER BeforeScheduledAction
No description available.
.PARAMETER Clients
No description available.
.PARAMETER Context
No description available.
.PARAMETER Device
No description available.
.PARAMETER GrantTypes
No description available.
.PARAMETER Groups
No description available.
.PARAMETER IdentityProvider
No description available.
.PARAMETER MdmEnrollment
No description available.
.PARAMETER Network
No description available.
.PARAMETER People
No description available.
.PARAMETER Platform
No description available.
.PARAMETER Risk
No description available.
.PARAMETER RiskScore
No description available.
.PARAMETER Scopes
No description available.
.PARAMETER UserIdentifier
No description available.
.PARAMETER Users
No description available.
.PARAMETER UserStatus
No description available.
.OUTPUTS
 
PasswordPolicyConditions<PSCustomObject>
#>


function Initialize-OktaPasswordPolicyConditions {
    [CmdletBinding()]
    Param (
        [Parameter(Position = 0, ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${App},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${Apps},
        [Parameter(Position = 2, ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${AuthContext},
        [Parameter(Position = 3, ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${AuthProvider},
        [Parameter(Position = 4, ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${BeforeScheduledAction},
        [Parameter(Position = 5, ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${Clients},
        [Parameter(Position = 6, ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${Context},
        [Parameter(Position = 7, ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${Device},
        [Parameter(Position = 8, ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${GrantTypes},
        [Parameter(Position = 9, ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${Groups},
        [Parameter(Position = 10, ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${IdentityProvider},
        [Parameter(Position = 11, ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${MdmEnrollment},
        [Parameter(Position = 12, ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${Network},
        [Parameter(Position = 13, ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${People},
        [Parameter(Position = 14, ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${Platform},
        [Parameter(Position = 15, ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${Risk},
        [Parameter(Position = 16, ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${RiskScore},
        [Parameter(Position = 17, ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${Scopes},
        [Parameter(Position = 18, ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${UserIdentifier},
        [Parameter(Position = 19, ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${Users},
        [Parameter(Position = 20, ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject]
        ${UserStatus}
    )

    Process {
        'Creating PSCustomObject: Okta.PowerShell => OktaPasswordPolicyConditions' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug


        $PSO = [PSCustomObject]@{
            "app" = ${App}
            "apps" = ${Apps}
            "authContext" = ${AuthContext}
            "authProvider" = ${AuthProvider}
            "beforeScheduledAction" = ${BeforeScheduledAction}
            "clients" = ${Clients}
            "context" = ${Context}
            "device" = ${Device}
            "grantTypes" = ${GrantTypes}
            "groups" = ${Groups}
            "identityProvider" = ${IdentityProvider}
            "mdmEnrollment" = ${MdmEnrollment}
            "network" = ${Network}
            "people" = ${People}
            "platform" = ${Platform}
            "risk" = ${Risk}
            "riskScore" = ${RiskScore}
            "scopes" = ${Scopes}
            "userIdentifier" = ${UserIdentifier}
            "users" = ${Users}
            "userStatus" = ${UserStatus}
        }


        return $PSO
    }
}

<#
.SYNOPSIS
 
Convert from JSON to PasswordPolicyConditions<PSCustomObject>
 
.DESCRIPTION
 
Convert from JSON to PasswordPolicyConditions<PSCustomObject>
 
.PARAMETER Json
 
Json object
 
.OUTPUTS
 
PasswordPolicyConditions<PSCustomObject>
#>

function ConvertFrom-OktaJsonToPasswordPolicyConditions {
    Param(
        [AllowEmptyString()]
        [string]$Json
    )

    Process {
        'Converting JSON to PSCustomObject: Okta.PowerShell => OktaPasswordPolicyConditions' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $JsonParameters = ConvertFrom-Json -InputObject $Json

        # check if Json contains properties not defined in OktaPasswordPolicyConditions
        $AllProperties = ("app", "apps", "authContext", "authProvider", "beforeScheduledAction", "clients", "context", "device", "grantTypes", "groups", "identityProvider", "mdmEnrollment", "network", "people", "platform", "risk", "riskScore", "scopes", "userIdentifier", "users", "userStatus")
        foreach ($name in $JsonParameters.PsObject.Properties.Name) {
            if (!($AllProperties.Contains($name))) {
                throw "Error! JSON key '$name' not found in the properties: $($AllProperties)"
            }
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "app"))) { #optional property not found
            $App = $null
        } else {
            $App = $JsonParameters.PSobject.Properties["app"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "apps"))) { #optional property not found
            $Apps = $null
        } else {
            $Apps = $JsonParameters.PSobject.Properties["apps"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "authContext"))) { #optional property not found
            $AuthContext = $null
        } else {
            $AuthContext = $JsonParameters.PSobject.Properties["authContext"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "authProvider"))) { #optional property not found
            $AuthProvider = $null
        } else {
            $AuthProvider = $JsonParameters.PSobject.Properties["authProvider"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "beforeScheduledAction"))) { #optional property not found
            $BeforeScheduledAction = $null
        } else {
            $BeforeScheduledAction = $JsonParameters.PSobject.Properties["beforeScheduledAction"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "clients"))) { #optional property not found
            $Clients = $null
        } else {
            $Clients = $JsonParameters.PSobject.Properties["clients"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "context"))) { #optional property not found
            $Context = $null
        } else {
            $Context = $JsonParameters.PSobject.Properties["context"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "device"))) { #optional property not found
            $Device = $null
        } else {
            $Device = $JsonParameters.PSobject.Properties["device"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "grantTypes"))) { #optional property not found
            $GrantTypes = $null
        } else {
            $GrantTypes = $JsonParameters.PSobject.Properties["grantTypes"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "groups"))) { #optional property not found
            $Groups = $null
        } else {
            $Groups = $JsonParameters.PSobject.Properties["groups"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "identityProvider"))) { #optional property not found
            $IdentityProvider = $null
        } else {
            $IdentityProvider = $JsonParameters.PSobject.Properties["identityProvider"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "mdmEnrollment"))) { #optional property not found
            $MdmEnrollment = $null
        } else {
            $MdmEnrollment = $JsonParameters.PSobject.Properties["mdmEnrollment"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "network"))) { #optional property not found
            $Network = $null
        } else {
            $Network = $JsonParameters.PSobject.Properties["network"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "people"))) { #optional property not found
            $People = $null
        } else {
            $People = $JsonParameters.PSobject.Properties["people"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "platform"))) { #optional property not found
            $Platform = $null
        } else {
            $Platform = $JsonParameters.PSobject.Properties["platform"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "risk"))) { #optional property not found
            $Risk = $null
        } else {
            $Risk = $JsonParameters.PSobject.Properties["risk"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "riskScore"))) { #optional property not found
            $RiskScore = $null
        } else {
            $RiskScore = $JsonParameters.PSobject.Properties["riskScore"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "scopes"))) { #optional property not found
            $Scopes = $null
        } else {
            $Scopes = $JsonParameters.PSobject.Properties["scopes"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "userIdentifier"))) { #optional property not found
            $UserIdentifier = $null
        } else {
            $UserIdentifier = $JsonParameters.PSobject.Properties["userIdentifier"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "users"))) { #optional property not found
            $Users = $null
        } else {
            $Users = $JsonParameters.PSobject.Properties["users"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "userStatus"))) { #optional property not found
            $UserStatus = $null
        } else {
            $UserStatus = $JsonParameters.PSobject.Properties["userStatus"].value
        }

        $PSO = [PSCustomObject]@{
            "app" = ${App}
            "apps" = ${Apps}
            "authContext" = ${AuthContext}
            "authProvider" = ${AuthProvider}
            "beforeScheduledAction" = ${BeforeScheduledAction}
            "clients" = ${Clients}
            "context" = ${Context}
            "device" = ${Device}
            "grantTypes" = ${GrantTypes}
            "groups" = ${Groups}
            "identityProvider" = ${IdentityProvider}
            "mdmEnrollment" = ${MdmEnrollment}
            "network" = ${Network}
            "people" = ${People}
            "platform" = ${Platform}
            "risk" = ${Risk}
            "riskScore" = ${RiskScore}
            "scopes" = ${Scopes}
            "userIdentifier" = ${UserIdentifier}
            "users" = ${Users}
            "userStatus" = ${UserStatus}
        }

        return $PSO
    }

}


# SIG # Begin signature block
# MIIpXwYJKoZIhvcNAQcCoIIpUDCCKUwCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAThKRkAKhyw87F
# 7aqVhVVOEnK25nOKoiXFLCydtN/4faCCDhQwggawMIIEmKADAgECAhAIrUCyYNKc
# TJ9ezam9k67ZMA0GCSqGSIb3DQEBDAUAMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQK
# EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNV
# BAMTGERpZ2lDZXJ0IFRydXN0ZWQgUm9vdCBHNDAeFw0yMTA0MjkwMDAwMDBaFw0z
# NjA0MjgyMzU5NTlaMGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwg
# SW5jLjFBMD8GA1UEAxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBDb2RlIFNpZ25pbmcg
# UlNBNDA5NiBTSEEzODQgMjAyMSBDQTEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
# ggIKAoICAQDVtC9C0CiteLdd1TlZG7GIQvUzjOs9gZdwxbvEhSYwn6SOaNhc9es0
# JAfhS0/TeEP0F9ce2vnS1WcaUk8OoVf8iJnBkcyBAz5NcCRks43iCH00fUyAVxJr
# Q5qZ8sU7H/Lvy0daE6ZMswEgJfMQ04uy+wjwiuCdCcBlp/qYgEk1hz1RGeiQIXhF
# LqGfLOEYwhrMxe6TSXBCMo/7xuoc82VokaJNTIIRSFJo3hC9FFdd6BgTZcV/sk+F
# LEikVoQ11vkunKoAFdE3/hoGlMJ8yOobMubKwvSnowMOdKWvObarYBLj6Na59zHh
# 3K3kGKDYwSNHR7OhD26jq22YBoMbt2pnLdK9RBqSEIGPsDsJ18ebMlrC/2pgVItJ
# wZPt4bRc4G/rJvmM1bL5OBDm6s6R9b7T+2+TYTRcvJNFKIM2KmYoX7BzzosmJQay
# g9Rc9hUZTO1i4F4z8ujo7AqnsAMrkbI2eb73rQgedaZlzLvjSFDzd5Ea/ttQokbI
# YViY9XwCFjyDKK05huzUtw1T0PhH5nUwjewwk3YUpltLXXRhTT8SkXbev1jLchAp
# QfDVxW0mdmgRQRNYmtwmKwH0iU1Z23jPgUo+QEdfyYFQc4UQIyFZYIpkVMHMIRro
# OBl8ZhzNeDhFMJlP/2NPTLuqDQhTQXxYPUez+rbsjDIJAsxsPAxWEQIDAQABo4IB
# WTCCAVUwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUaDfg67Y7+F8Rhvv+
# YXsIiGX0TkIwHwYDVR0jBBgwFoAU7NfjgtJxXWRM3y5nP+e6mK4cD08wDgYDVR0P
# AQH/BAQDAgGGMBMGA1UdJQQMMAoGCCsGAQUFBwMDMHcGCCsGAQUFBwEBBGswaTAk
# BggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEEGCCsGAQUFBzAC
# hjVodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkUm9v
# dEc0LmNydDBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3JsMy5kaWdpY2VydC5j
# b20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNybDAcBgNVHSAEFTATMAcGBWeBDAED
# MAgGBmeBDAEEATANBgkqhkiG9w0BAQwFAAOCAgEAOiNEPY0Idu6PvDqZ01bgAhql
# +Eg08yy25nRm95RysQDKr2wwJxMSnpBEn0v9nqN8JtU3vDpdSG2V1T9J9Ce7FoFF
# UP2cvbaF4HZ+N3HLIvdaqpDP9ZNq4+sg0dVQeYiaiorBtr2hSBh+3NiAGhEZGM1h
# mYFW9snjdufE5BtfQ/g+lP92OT2e1JnPSt0o618moZVYSNUa/tcnP/2Q0XaG3Ryw
# YFzzDaju4ImhvTnhOE7abrs2nfvlIVNaw8rpavGiPttDuDPITzgUkpn13c5Ubdld
# AhQfQDN8A+KVssIhdXNSy0bYxDQcoqVLjc1vdjcshT8azibpGL6QB7BDf5WIIIJw
# 8MzK7/0pNVwfiThV9zeKiwmhywvpMRr/LhlcOXHhvpynCgbWJme3kuZOX956rEnP
# LqR0kq3bPKSchh/jwVYbKyP/j7XqiHtwa+aguv06P0WmxOgWkVKLQcBIhEuWTatE
# QOON8BUozu3xGFYHKi8QxAwIZDwzj64ojDzLj4gLDb879M4ee47vtevLt/B3E+bn
# KD+sEq6lLyJsQfmCXBVmzGwOysWGw/YmMwwHS6DTBwJqakAwSEs0qFEgu60bhQji
# WQ1tygVQK+pKHJ6l/aCnHwZ05/LWUpD9r4VIIflXO7ScA+2GRfS0YW6/aOImYIbq
# yK+p/pQd52MbOoZWeE4wggdcMIIFRKADAgECAhACP1cmtZtlRDWH3eiTftLBMA0G
# CSqGSIb3DQEBDAUAMGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwg
# SW5jLjFBMD8GA1UEAxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBDb2RlIFNpZ25pbmcg
# UlNBNDA5NiBTSEEzODQgMjAyMSBDQTEwHhcNMjUwMjIwMDAwMDAwWhcNMjgwMjIy
# MjM1OTU5WjBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQG
# A1UEBxMNU2FuIEZyYW5jaXNjbzETMBEGA1UEChMKT2t0YSwgSW5jLjETMBEGA1UE
# AxMKT2t0YSwgSW5jLjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJ9P
# b7uj3G4UtQ0umeoRvRN/nlIwuvvu1PXLOctuHG+jp4jVeYYxdP0cWrVQv8mwHxsm
# q/pjqf6NDu+B0OAw1kztoxE1Oi2sfM17Dz+uIe6QucCesi9z9vi9yDHZq57jOMix
# jQfB6hiUc7lgy+2HzpuAg/LuG8NrbH/qOmlaBs0jL57h+Gv9nya9KzcGfCSsnXCD
# fgkq3Q9khQKg24X64giu2JDj5aMCDQBdsVDYxW91/9MfAovWWgzIVBoRB5/3IovD
# lfZy34EFjQa/AOj6E57j0CUc545YpvCrQr7VWu6bMQ76xr83mvWgJHIxm95/XScO
# 9lGWzK9/moHrh8DJmQD0ccYrGREsxwnYcvWWJhPRQ3Xgb/tB/5fqV3lmYFnL8RTX
# hytZ5MK+wmo8+vXlq9OHWtFT4fn4tXWGC12z5p5h8Btv2OeC0r/bprxcYS1qoS1f
# w5E+SZdi4MDvlSP5c7cgQAC7GQAbNPAw6GFE2fVgQzJwzKQJ1JpowCV4GbJg+6by
# EiNUTLJaADEcOHHGr6GDSr91uwmdWWemcv9qoSlxruhkwGZt0LRSIHseSxdA5G8V
# A1mKSxeQCalP7uv4iYGXKQyyIClGRdwSdTXidrGNlX8dZHM0JABTDwXt80yusynb
# ZO6h+ZG4qUFn9xToZk9wGXQxERIb0aTXxhxJ6WPpAgMBAAGjggIDMIIB/zAfBgNV
# HSMEGDAWgBRoN+Drtjv4XxGG+/5hewiIZfROQjAdBgNVHQ4EFgQUyLcwRInZP45n
# 3+np/jKsE+fzoP0wPgYDVR0gBDcwNTAzBgZngQwBBAEwKTAnBggrBgEFBQcCARYb
# aHR0cDovL3d3dy5kaWdpY2VydC5jb20vQ1BTMA4GA1UdDwEB/wQEAwIHgDATBgNV
# HSUEDDAKBggrBgEFBQcDAzCBtQYDVR0fBIGtMIGqMFOgUaBPhk1odHRwOi8vY3Js
# My5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRDb2RlU2lnbmluZ1JTQTQw
# OTZTSEEzODQyMDIxQ0ExLmNybDBToFGgT4ZNaHR0cDovL2NybDQuZGlnaWNlcnQu
# Y29tL0RpZ2lDZXJ0VHJ1c3RlZEc0Q29kZVNpZ25pbmdSU0E0MDk2U0hBMzg0MjAy
# MUNBMS5jcmwwgZQGCCsGAQUFBwEBBIGHMIGEMCQGCCsGAQUFBzABhhhodHRwOi8v
# b2NzcC5kaWdpY2VydC5jb20wXAYIKwYBBQUHMAKGUGh0dHA6Ly9jYWNlcnRzLmRp
# Z2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNENvZGVTaWduaW5nUlNBNDA5NlNI
# QTM4NDIwMjFDQTEuY3J0MAkGA1UdEwQCMAAwDQYJKoZIhvcNAQEMBQADggIBAGGF
# Wpd4Z+7ePAYMdSF+JTHghYB+SHRQJ5QH/vTNBtTty0qJgymG1rR2DLb2VDCEWW2Q
# /bbOMm/Ucwei75ZkwgHYDtc3l+2dPzQwFYIJe9rQOGctfq4xaKbR9jXCR4AimJqU
# nB08zMWoY+Qn/OKu10zI/dGEQdjXPxL9Y6psu+Ppr+GLpg1oazvD9Gq1Mf/o3cxh
# c2bdRpD8vxBBJCO1zK6P2W73enUTpbrE5er0L6pC58gJwDXQoZIKwf9pblLKDiW3
# CK+7hLldG5fPkGJHkP7/mFRqSI8Uo2JlcUsFh+FB9e8Dvba+mwJKBA4nh0HZWKZr
# Ee7lcYf37YOaAW8NJ2F+xZLfF2bmccgsoG01cuLSYlRZVTTbhuPaFN9M85lLErcQ
# eku1/q8I8cZi74NIPpDOSKAyAefscQGp875s7O1yh/7fstcCViDzgJANNkiOsror
# CBTnsOF534ElP8nlUHNDVvTNzthuwzA11IcZ3UQy/8SMe0IgJsW6laAYb8+VLFyV
# n0Rj6aZPCXg2FY8GOt9A/Ev1OIcK01jyr3f5TiW7XMfpdkRFhJWykup0g7z+qyQ5
# QajXde+PX8bEL49zVtyoPFo49qKare17hGM98Z10wZW1IhISlQhqZdjmvaKsg7fG
# QLHfcY1fjbD5pFvSKOJfQm8t6a/vwKtmpeWRtDv7MYIaoTCCGp0CAQEwfTBpMQsw
# CQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xQTA/BgNVBAMTOERp
# Z2lDZXJ0IFRydXN0ZWQgRzQgQ29kZSBTaWduaW5nIFJTQTQwOTYgU0hBMzg0IDIw
# MjEgQ0ExAhACP1cmtZtlRDWH3eiTftLBMA0GCWCGSAFlAwQCAQUAoHwwEAYKKwYB
# BAGCNwIBDDECMAAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGC
# NwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEINjdw+r7D7Gi28wl
# uI8Di1Fz/TcJfkFc7XTpIuvAOoknMA0GCSqGSIb3DQEBAQUABIICAFqModytcCdh
# eLmkOgAiPkZHijBuaYrmo65GxbPaPGg3IHapS7HepH80rnm9cgCimHDEKJvX4YA6
# 7AHCmZYYyQwk5TFwDuOnOO/ZfvtRPomRLZYV/BGz+9EYIQEPt8xld6bNFU6Zbgcd
# H0XkXEcj2tBYuoYBkIPNC6zYt07+Z/BePaUh+wW7i9g5RdCVdi0JO4+5+yc3eHFm
# kZKvp0ZVHOzAHpr4cDDmi3J2Sx04dwjBXEDnw7glfXQiQ2GJM0youBqi/L9ZZCLP
# 3lrv9pEZpAu3Vcv2V88PQhPSUs7eiUT0x+NnpBPzHuKp7UXdrRLZ3pcz086zCxjB
# LtIuI2riD3dQ5TBiXxPO8/IHvLivs+xgIwm8peASLgibm+2a54j/ZMJP3i+iy9CD
# NImOxfVZZeo/+sDTVNQ5JMw/jr6scWsXlcKn7RnIKbGeGVTNfti6YQXASSO2zcUw
# 2M4QXUvizyUJ+4GbUPAKPZX2neH0FyN+LePcfxNC8lTLaYfQTAjeIwQrGmw1hXlU
# cHUA1gtfQqibW4jOzyRLkcfldmECgQN+klqMaD7nhsLKie+pJBt51A9+B47Oa+aW
# r59eIYiDaD+hwRRs9YLNnevSANXA1xD8zhVzxKPHSHLymK7qpnogFdkHme7/EbkK
# 3pQX71IoDydd++sgozAF3mmjAZCjaxWNoYIXdzCCF3MGCisGAQQBgjcDAwExghdj
# MIIXXwYJKoZIhvcNAQcCoIIXUDCCF0wCAQMxDzANBglghkgBZQMEAgEFADB4Bgsq
# hkiG9w0BCRABBKBpBGcwZQIBAQYJYIZIAYb9bAcBMDEwDQYJYIZIAWUDBAIBBQAE
# IAWCfgptrZUTv3rPU8DrIUG+oKcsSSw7NDoX15Qls9f3AhEAnt1doOBaVxGezUDn
# Y2jnqBgPMjAyNTExMTQwNzAxNTlaoIITOjCCBu0wggTVoAMCAQICEAqA7xhLjfEF
# gtHEdqeVdGgwDQYJKoZIhvcNAQELBQAwaTELMAkGA1UEBhMCVVMxFzAVBgNVBAoT
# DkRpZ2lDZXJ0LCBJbmMuMUEwPwYDVQQDEzhEaWdpQ2VydCBUcnVzdGVkIEc0IFRp
# bWVTdGFtcGluZyBSU0E0MDk2IFNIQTI1NiAyMDI1IENBMTAeFw0yNTA2MDQwMDAw
# MDBaFw0zNjA5MDMyMzU5NTlaMGMxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdp
# Q2VydCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNlcnQgU0hBMjU2IFJTQTQwOTYgVGlt
# ZXN0YW1wIFJlc3BvbmRlciAyMDI1IDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
# ggIKAoICAQDQRqwtEsae0OquYFazK1e6b1H/hnAKAd/KN8wZQjBjMqiZ3xTWcfsL
# wOvRxUwXcGx8AUjni6bz52fGTfr6PHRNv6T7zsf1Y/E3IU8kgNkeECqVQ+3bzWYe
# sFtkepErvUSbf+EIYLkrLKd6qJnuzK8Vcn0DvbDMemQFoxQ2Dsw4vEjoT1FpS54d
# NApZfKY61HAldytxNM89PZXUP/5wWWURK+IfxiOg8W9lKMqzdIo7VA1R0V3Zp3Dj
# jANwqAf4lEkTlCDQ0/fKJLKLkzGBTpx6EYevvOi7XOc4zyh1uSqgr6UnbksIcFJq
# LbkIXIPbcNmA98Oskkkrvt6lPAw/p4oDSRZreiwB7x9ykrjS6GS3NR39iTTFS+EN
# TqW8m6THuOmHHjQNC3zbJ6nJ6SXiLSvw4Smz8U07hqF+8CTXaETkVWz0dVVZw7kn
# h1WZXOLHgDvundrAtuvz0D3T+dYaNcwafsVCGZKUhQPL1naFKBy1p6llN3QgshRt
# a6Eq4B40h5avMcpi54wm0i2ePZD5pPIssoszQyF4//3DoK2O65Uck5Wggn8O2klE
# TsJ7u8xEehGifgJYi+6I03UuT1j7FnrqVrOzaQoVJOeeStPeldYRNMmSF3voIgMF
# tNGh86w3ISHNm0IaadCKCkUe2LnwJKa8TIlwCUNVwppwn4D3/Pt5pwIDAQABo4IB
# lTCCAZEwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU5Dv88jHt/f3X85FxYxlQQ89h
# jOgwHwYDVR0jBBgwFoAU729TSunkBnx6yuKQVvYv1Ensy04wDgYDVR0PAQH/BAQD
# AgeAMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMIMIGVBggrBgEFBQcBAQSBiDCBhTAk
# BggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMF0GCCsGAQUFBzAC
# hlFodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRU
# aW1lU3RhbXBpbmdSU0E0MDk2U0hBMjU2MjAyNUNBMS5jcnQwXwYDVR0fBFgwVjBU
# oFKgUIZOaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZEc0
# VGltZVN0YW1waW5nUlNBNDA5NlNIQTI1NjIwMjVDQTEuY3JsMCAGA1UdIAQZMBcw
# CAYGZ4EMAQQCMAsGCWCGSAGG/WwHATANBgkqhkiG9w0BAQsFAAOCAgEAZSqt8Rwn
# BLmuYEHs0QhEnmNAciH45PYiT9s1i6UKtW+FERp8FgXRGQ/YAavXzWjZhY+hIfP2
# JkQ38U+wtJPBVBajYfrbIYG+Dui4I4PCvHpQuPqFgqp1PzC/ZRX4pvP/ciZmUnth
# fAEP1HShTrY+2DE5qjzvZs7JIIgt0GCFD9ktx0LxxtRQ7vllKluHWiKk6FxRPyUP
# xAAYH2Vy1lNM4kzekd8oEARzFAWgeW3az2xejEWLNN4eKGxDJ8WDl/FQUSntbjZ8
# 0FU3i54tpx5F/0Kr15zW/mJAxZMVBrTE2oi0fcI8VMbtoRAmaaslNXdCG1+lqvP4
# FbrQ6IwSBXkZagHLhFU9HCrG/syTRLLhAezu/3Lr00GrJzPQFnCEH1Y58678Igmf
# ORBPC1JKkYaEt2OdDh4GmO0/5cHelAK2/gTlQJINqDr6JfwyYHXSd+V08X1JUPvB
# 4ILfJdmL+66Gp3CSBXG6IwXMZUXBhtCyIaehr0XkBoDIGMUG1dUtwq1qmcwbdUfc
# SYCn+OwncVUXf53VJUNOaMWMts0VlRYxe5nK+At+DI96HAlXHAL5SlfYxJ7La54i
# 71McVWRP66bW+yERNpbJCjyCYG2j+bdpxo/1Cy4uPcU3AWVPGrbn5PhDBf3Frogu
# zzhk++ami+r3Qrx5bIbY3TVzgiFI7Gq3zWcwgga0MIIEnKADAgECAhANx6xXBf8h
# mS5AQyIMOkmGMA0GCSqGSIb3DQEBCwUAMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQK
# EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNV
# BAMTGERpZ2lDZXJ0IFRydXN0ZWQgUm9vdCBHNDAeFw0yNTA1MDcwMDAwMDBaFw0z
# ODAxMTQyMzU5NTlaMGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwg
# SW5jLjFBMD8GA1UEAxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBUaW1lU3RhbXBpbmcg
# UlNBNDA5NiBTSEEyNTYgMjAyNSBDQTEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
# ggIKAoICAQC0eDHTCphBcr48RsAcrHXbo0ZodLRRF51NrY0NlLWZloMsVO1DahGP
# NRcybEKq+RuwOnPhof6pvF4uGjwjqNjfEvUi6wuim5bap+0lgloM2zX4kftn5B1I
# pYzTqpyFQ/4Bt0mAxAHeHYNnQxqXmRinvuNgxVBdJkf77S2uPoCj7GH8BLuxBG5A
# vftBdsOECS1UkxBvMgEdgkFiDNYiOTx4OtiFcMSkqTtF2hfQz3zQSku2Ws3IfDRe
# b6e3mmdglTcaarps0wjUjsZvkgFkriK9tUKJm/s80FiocSk1VYLZlDwFt+cVFBUR
# Jg6zMUjZa/zbCclF83bRVFLeGkuAhHiGPMvSGmhgaTzVyhYn4p0+8y9oHRaQT/ao
# fEnS5xLrfxnGpTXiUOeSLsJygoLPp66bkDX1ZlAeSpQl92QOMeRxykvq6gbylsXQ
# skBBBnGy3tW/AMOMCZIVNSaz7BX8VtYGqLt9MmeOreGPRdtBx3yGOP+rx3rKWDEJ
# lIqLXvJWnY0v5ydPpOjL6s36czwzsucuoKs7Yk/ehb//Wx+5kMqIMRvUBDx6z1ev
# +7psNOdgJMoiwOrUG2ZdSoQbU2rMkpLiQ6bGRinZbI4OLu9BMIFm1UUl9VnePs6B
# aaeEWvjJSjNm2qA+sdFUeEY0qVjPKOWug/G6X5uAiynM7Bu2ayBjUwIDAQABo4IB
# XTCCAVkwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU729TSunkBnx6yuKQ
# VvYv1Ensy04wHwYDVR0jBBgwFoAU7NfjgtJxXWRM3y5nP+e6mK4cD08wDgYDVR0P
# AQH/BAQDAgGGMBMGA1UdJQQMMAoGCCsGAQUFBwMIMHcGCCsGAQUFBwEBBGswaTAk
# BggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEEGCCsGAQUFBzAC
# hjVodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkUm9v
# dEc0LmNydDBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3JsMy5kaWdpY2VydC5j
# b20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNybDAgBgNVHSAEGTAXMAgGBmeBDAEE
# AjALBglghkgBhv1sBwEwDQYJKoZIhvcNAQELBQADggIBABfO+xaAHP4HPRF2cTC9
# vgvItTSmf83Qh8WIGjB/T8ObXAZz8OjuhUxjaaFdleMM0lBryPTQM2qEJPe36zwb
# SI/mS83afsl3YTj+IQhQE7jU/kXjjytJgnn0hvrV6hqWGd3rLAUt6vJy9lMDPjTL
# xLgXf9r5nWMQwr8Myb9rEVKChHyfpzee5kH0F8HABBgr0UdqirZ7bowe9Vj2AIMD
# 8liyrukZ2iA/wdG2th9y1IsA0QF8dTXqvcnTmpfeQh35k5zOCPmSNq1UH410ANVk
# o43+Cdmu4y81hjajV/gxdEkMx1NKU4uHQcKfZxAvBAKqMVuqte69M9J6A47OvgRa
# Ps+2ykgcGV00TYr2Lr3ty9qIijanrUR3anzEwlvzZiiyfTPjLbnFRsjsYg39OlV8
# cipDoq7+qNNjqFzeGxcytL5TTLL4ZaoBdqbhOhZ3ZRDUphPvSRmMThi0vw9vODRz
# W6AxnJll38F0cuJG7uEBYTptMSbhdhGQDpOXgpIUsWTjd6xpR6oaQf/DJbg3s6KC
# LPAlZ66RzIg9sC+NJpud/v4+7RWsWCiKi9EOLLHfMR2ZyJ/+xhCx9yHbxtl5TPau
# 1j/1MIDpMPx0LckTetiSuEtQvLsNz3Qbp7wGWqbIiOWCnb5WqxL3/BAPvIXKUjPS
# xyZsq8WhbaM2tszWkPZPubdcMIIFjTCCBHWgAwIBAgIQDpsYjvnQLefv21DiCEAY
# WjANBgkqhkiG9w0BAQwFADBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNl
# cnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdp
# Q2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMjIwODAxMDAwMDAwWhcNMzExMTA5
# MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkw
# FwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVz
# dGVkIFJvb3QgRzQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBz
# aN675F1KPDAiMGkz7MKnJS7JIT3yithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbr
# VsaXbR2rsnnyyhHS5F/WBTxSD1Ifxp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTR
# EEQQLt+C8weE5nQ7bXHiLQwb7iDVySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJ
# z82sNEBfsXpm7nfISKhmV1efVFiODCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyO
# j4DatpGYQJB5w3jHtrHEtWoYOAMQjdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6R
# AXwhTNS8rhsDdV14Ztk6MUSaM0C/CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k
# 98FpiHaYdj1ZXUJ2h4mXaXpI8OCiEhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJ
# tppEGSt+wJS00mFt6zPZxd9LBADMfRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUa
# dmJ+9oCw++hkpjPRiQfhvbfmQ6QYuKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZB
# dd56rF+NP8m800ERElvlEFDrMcXKchYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVf
# nSD8oR7FwI+isX4KJpn15GkvmB0t9dmpsh3lGwIDAQABo4IBOjCCATYwDwYDVR0T
# AQH/BAUwAwEB/zAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wHwYDVR0j
# BBgwFoAUReuir/SSy4IxLVGLp6chnfNtyA8wDgYDVR0PAQH/BAQDAgGGMHkGCCsG
# AQUFBwEBBG0wazAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29t
# MEMGCCsGAQUFBzAChjdodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNl
# cnRBc3N1cmVkSURSb290Q0EuY3J0MEUGA1UdHwQ+MDwwOqA4oDaGNGh0dHA6Ly9j
# cmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmwwEQYD
# VR0gBAowCDAGBgRVHSAAMA0GCSqGSIb3DQEBDAUAA4IBAQBwoL9DXFXnOF+go3Qb
# PbYW1/e/Vwe9mqyhhyzshV6pGrsi+IcaaVQi7aSId229GhT0E0p6Ly23OO/0/4C5
# +KH38nLeJLxSA8hO0Cre+i1Wz/n096wwepqLsl7Uz9FDRJtDIeuWcqFItJnLnU+n
# BgMTdydE1Od/6Fmo8L8vC6bp8jQ87PcDx4eo0kxAGTVGamlUsLihVo7spNU96LHc
# /RzY9HdaXFSMb++hUD38dglohJ9vytsgjTVgHAIDyyCwrFigDkBjxZgiwbJZ9VVr
# zyerbHbObyMt9H5xaiNrIv8SuFQtJ37YOtnwtoeW/VvRXKwYw02fc7cBqZ9Xql4o
# 4rmUMYIDfDCCA3gCAQEwfTBpMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNl
# cnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0IFRydXN0ZWQgRzQgVGltZVN0YW1w
# aW5nIFJTQTQwOTYgU0hBMjU2IDIwMjUgQ0ExAhAKgO8YS43xBYLRxHanlXRoMA0G
# CWCGSAFlAwQCAQUAoIHRMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkq
# hkiG9w0BCQUxDxcNMjUxMTE0MDcwMTU5WjArBgsqhkiG9w0BCRACDDEcMBowGDAW
# BBTdYjCshgotMGvaOLFoeVIwB/tBfjAvBgkqhkiG9w0BCQQxIgQgonEedJWkbdBW
# PjxldT1IDatV8Ih4ynClwDLnZhC2TaswNwYLKoZIhvcNAQkQAi8xKDAmMCQwIgQg
# SqA/oizXXITFXJOPgo5na5yuyrM/420mmqM08UYRCjMwDQYJKoZIhvcNAQEBBQAE
# ggIAOqhZCVtw3twAgTKAUQPZVF2f6lPZttE4gnvBv1zPeXpyYH8SDL32EV0guXF3
# vyhUXWxtLQNsxrNU9S7t1b9tvdoGxud0GnGXTepSpy9/fZPNTexng1PHlLPcvi8k
# cp4Fh0n0m3ai0u7b/ffsuj8tUfh0Z9DZzaLup74iboIdsrKCbVa2qF+UBqHbZ1e1
# 2RGWbfvwJ7jJNJXu7m5d1YxBaQ5qmlehrZjLtZP2EWLWKpt8ACpevx81iEnbZzIa
# +Xl/CbHz3qqXTamO5G4wPbW+PCf225tiZ7N8fk45en2vGM2nwa91BR8QB3zWLApB
# jl/V6HSTtqZa8Km1jHVRdkav50rFN+sUSIFvWESHYkltER3WMY3QrPkOlJ1jO9B7
# JSU031e568PHCrc0q7d8Idm8ZdTFEWswJQfQt8sgtnsN+DXcz+da6zz4W8FBz14J
# cmGTCItXndBIWzqwa8wZhlccsFdsUT6bgWxqyZrkmxrCtSrkjxUPm0rHrFRkhm3I
# gwXtOKk0JanYv2QPgRu26UAvdnFvOo1x/Sezdrl/VD2kZXLglK+rXa60S6ZfPHCC
# fc46LD4y/HMQlw5stpkZ0OQbJwheSyyfz1S618ZYCTXGEP9mXb+aIdIZypiBPCNu
# GRdjnGW9AHGfuFUSL3nbLQoueZ+eTHFdPlXLs6JaZ+X6hJk=
# SIG # End signature block