internal/Invoke-Onboarding.ps1


# ----------------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.9.5, generator: @autorest/powershell@3.0.504)
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# ----------------------------------------------------------------------------------

<#
.Synopsis

.Description

.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Office.MDEP.Onboarding.Models.IOfficeMdepOnboardingApiIdentity
.Inputs
Microsoft.Office.MDEP.Onboarding.Models.IOnboardingScenario[]
.Outputs
Microsoft.Office.MDEP.Onboarding.Models.IOnboardingRecord
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODY <IOnboardingScenario[]>: Array of OnboardingScenario
  [KeyScenario <KeyScenario?>]:
  [ScenarioDetails <IScenarioDetails[]>]:
    [KeyName <String>]:
    [SubscriptionId <String>]:
    [VaultName <String>]:
 
INPUTOBJECT <IOfficeMdepOnboardingApiIdentity>: Identity Parameter
  [OrgId <String>]:
  [ReqId <String>]:
.Link
https://learn.microsoft.com/powershell/module/m365customerkeyonboarding/invoke-onboarding
#>

function Invoke-Onboarding {
[OutputType([Microsoft.Office.MDEP.Onboarding.Models.IOnboardingRecord])]
[CmdletBinding(DefaultParameterSetName='Onboarding1', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Onboarding', Mandatory)]
    [Parameter(ParameterSetName='Onboarding1', Mandatory)]
    [Parameter(ParameterSetName='Onboarding2', Mandatory)]
    [Microsoft.Office.MDEP.Onboarding.Category('Path')]
    [System.String]
    # .
    ${OrgId},

    [Parameter(ParameterSetName='Onboarding', Mandatory)]
    [Microsoft.Office.MDEP.Onboarding.Category('Path')]
    [System.String]
    # .
    ${ReqId},

    [Parameter(ParameterSetName='OnboardingViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='OnboardingViaIdentity1', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='OnboardingViaIdentity2', Mandatory, ValueFromPipeline)]
    [Microsoft.Office.MDEP.Onboarding.Category('Path')]
    [Microsoft.Office.MDEP.Onboarding.Models.IOfficeMdepOnboardingApiIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Onboarding2')]
    [Parameter(ParameterSetName='OnboardingViaIdentity2')]
    [ArgumentCompleter([Microsoft.Office.MDEP.Onboarding.Support.OnboardingMode])]
    [Microsoft.Office.MDEP.Onboarding.Category('Query')]
    [Microsoft.Office.MDEP.Onboarding.Support.OnboardingMode]
    # .
    ${OnboardingMode},

    [Parameter(ParameterSetName='Onboarding2', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='OnboardingViaIdentity2', Mandatory, ValueFromPipeline)]
    [AllowEmptyCollection()]
    [Microsoft.Office.MDEP.Onboarding.Category('Body')]
    [Microsoft.Office.MDEP.Onboarding.Models.IOnboardingScenario[]]
    # Array of OnboardingScenario
    # To construct, see NOTES section for BODY properties and create a hash table.
    ${Body},

    [Parameter(DontShow)]
    [Microsoft.Office.MDEP.Onboarding.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Office.MDEP.Onboarding.Category('Runtime')]
    [Microsoft.Office.MDEP.Onboarding.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Office.MDEP.Onboarding.Category('Runtime')]
    [Microsoft.Office.MDEP.Onboarding.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(ParameterSetName='Onboarding')]
    [Parameter(ParameterSetName='OnboardingViaIdentity')]
    [Microsoft.Office.MDEP.Onboarding.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Office.MDEP.Onboarding.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Office.MDEP.Onboarding.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Office.MDEP.Onboarding.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Onboarding = 'M365CustomerKeyOnboarding.private\Invoke-Onboarding_Onboarding';
            Onboarding1 = 'M365CustomerKeyOnboarding.private\Invoke-Onboarding_Onboarding1';
            Onboarding2 = 'M365CustomerKeyOnboarding.private\Invoke-Onboarding_Onboarding2';
            OnboardingViaIdentity = 'M365CustomerKeyOnboarding.private\Invoke-Onboarding_OnboardingViaIdentity';
            OnboardingViaIdentity1 = 'M365CustomerKeyOnboarding.private\Invoke-Onboarding_OnboardingViaIdentity1';
            OnboardingViaIdentity2 = 'M365CustomerKeyOnboarding.private\Invoke-Onboarding_OnboardingViaIdentity2';
        }

        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

# SIG # Begin signature block
# MIIoQgYJKoZIhvcNAQcCoIIoMzCCKC8CAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCCloCgktpUNySwg
# IgswqF0jGa75iyTb6vmL5xqWgp5oM6CCDYUwggYDMIID66ADAgECAhMzAAADri01
# UchTj1UdAAAAAAOuMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwODU5WhcNMjQxMTE0MTkwODU5WjB0MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
# AQD0IPymNjfDEKg+YyE6SjDvJwKW1+pieqTjAY0CnOHZ1Nj5irGjNZPMlQ4HfxXG
# yAVCZcEWE4x2sZgam872R1s0+TAelOtbqFmoW4suJHAYoTHhkznNVKpscm5fZ899
# QnReZv5WtWwbD8HAFXbPPStW2JKCqPcZ54Y6wbuWV9bKtKPImqbkMcTejTgEAj82
# 6GQc6/Th66Koka8cUIvz59e/IP04DGrh9wkq2jIFvQ8EDegw1B4KyJTIs76+hmpV
# M5SwBZjRs3liOQrierkNVo11WuujB3kBf2CbPoP9MlOyyezqkMIbTRj4OHeKlamd
# WaSFhwHLJRIQpfc8sLwOSIBBAgMBAAGjggGCMIIBfjAfBgNVHSUEGDAWBgorBgEE
# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUhx/vdKmXhwc4WiWXbsf0I53h8T8w
# VAYDVR0RBE0wS6RJMEcxLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh
# dGlvbnMgTGltaXRlZDEWMBQGA1UEBRMNMjMwMDEyKzUwMTgzNjAfBgNVHSMEGDAW
# gBRIbmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8v
# d3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIw
# MTEtMDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDov
# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDEx
# XzIwMTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIB
# AGrJYDUS7s8o0yNprGXRXuAnRcHKxSjFmW4wclcUTYsQZkhnbMwthWM6cAYb/h2W
# 5GNKtlmj/y/CThe3y/o0EH2h+jwfU/9eJ0fK1ZO/2WD0xi777qU+a7l8KjMPdwjY
# 0tk9bYEGEZfYPRHy1AGPQVuZlG4i5ymJDsMrcIcqV8pxzsw/yk/O4y/nlOjHz4oV
# APU0br5t9tgD8E08GSDi3I6H57Ftod9w26h0MlQiOr10Xqhr5iPLS7SlQwj8HW37
# ybqsmjQpKhmWul6xiXSNGGm36GarHy4Q1egYlxhlUnk3ZKSr3QtWIo1GGL03hT57
# xzjL25fKiZQX/q+II8nuG5M0Qmjvl6Egltr4hZ3e3FQRzRHfLoNPq3ELpxbWdH8t
# Nuj0j/x9Crnfwbki8n57mJKI5JVWRWTSLmbTcDDLkTZlJLg9V1BIJwXGY3i2kR9i
# 5HsADL8YlW0gMWVSlKB1eiSlK6LmFi0rVH16dde+j5T/EaQtFz6qngN7d1lvO7uk
# 6rtX+MLKG4LDRsQgBTi6sIYiKntMjoYFHMPvI/OMUip5ljtLitVbkFGfagSqmbxK
# 7rJMhC8wiTzHanBg1Rrbff1niBbnFbbV4UDmYumjs1FIpFCazk6AADXxoKCo5TsO
# zSHqr9gHgGYQC2hMyX9MGLIpowYCURx3L7kUiGbOiMwaMIIHejCCBWKgAwIBAgIK
# YQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNV
# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv
# c29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlm
# aWNhdGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEw
# OTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE
# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYD
# VQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG
# 9w0BAQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+la
# UKq4BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc
# 6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4D
# dato88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+
# lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nk
# kDstrjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6
# A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmd
# X4jiJV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL
# 5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zd
# sGbiwZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3
# T8HhhUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS
# 4NaIjAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRI
# bmTlUAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAL
# BgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBD
# uRQFTuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jv
# c29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf
# MDNfMjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3
# dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf
# MDNfMjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEF
# BQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1h
# cnljcHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkA
# YwB5AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn
# 8oalmOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7
# v0epo/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0b
# pdS1HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/
# KmtYSWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvy
# CInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBp
# mLJZiWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJi
# hsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYb
# BL7fQccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbS
# oqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sL
# gOppO6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtX
# cVZOSEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCGhMwghoPAgEBMIGVMH4x
# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01p
# Y3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAAOuLTVRyFOPVR0AAAAA
# A64wDQYJYIZIAWUDBAIBBQCggbYwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw
# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIBBl
# dJyJdPIYE00G+FPi7ZuD/rMVCXOamyQbHcpHegbyMEoGCisGAQQBgjcCAQwxPDA6
# oByAGgBBAFAASQBDAGwAaQBlAG4AdAAuAGQAbABsoRqAGGh0dHA6Ly93d3cubWlj
# cm9zb2Z0LmNvbTANBgkqhkiG9w0BAQEFAASCAQDD/GxstxJ9gih7FiM+XFSwL1gx
# av9LUPh53hyOvpzDZZYdLnYNs6voPlIKL6agpsvmNbN8TdY9CSuOvws9jxJm0VdK
# zYSPqscHLrgDPA9RghctV0KoB+8CxXvhkTxbWZUlQ1CKQ1NzPOjAuU/peQBohImT
# zXWM59tJHUOAtW2xUmYlA/RIE9uKRIfQTa+WKTDQgL9RqObgpiV1xWhN3pJtsHmI
# mF1sq7g6mzSYjU7xWx95n9pbKztnQYJy71uogCgMeUEjmFNGFTzCo+Lcpf+NBMa0
# JaAKDA/88OCprLM9LXAUvM5n21y8vM/K1i9b72eJk1e1Pq+P6XQaaDRnlqzyoYIX
# lTCCF5EGCisGAQQBgjcDAwExgheBMIIXfQYJKoZIhvcNAQcCoIIXbjCCF2oCAQMx
# DzANBglghkgBZQMEAgEFADCCAVEGCyqGSIb3DQEJEAEEoIIBQASCATwwggE4AgEB
# BgorBgEEAYRZCgMBMDEwDQYJYIZIAWUDBAIBBQAEIIjVIExPdl0Ynn+NZmP67Jd/
# Jz0QJUjhs2ACF5QWUMFlAgZnCBYG+ZsYEjIwMjQxMDEwMjIxNzIyLjA1WjAEgAIB
# 9KCB0aSBzjCByzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
# BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEl
# MCMGA1UECxMcTWljcm9zb2Z0IEFtZXJpY2EgT3BlcmF0aW9uczEnMCUGA1UECxMe
# blNoaWVsZCBUU1MgRVNOOjMzMDMtMDVFMC1EOTQ3MSUwIwYDVQQDExxNaWNyb3Nv
# ZnQgVGltZS1TdGFtcCBTZXJ2aWNloIIR7DCCByAwggUIoAMCAQICEzMAAAHm2UKe
# 6gD4feEAAQAAAeYwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNV
# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv
# c29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAg
# UENBIDIwMTAwHhcNMjMxMjA2MTg0NTE1WhcNMjUwMzA1MTg0NTE1WjCByzELMAkG
# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjElMCMGA1UECxMcTWljcm9z
# b2Z0IEFtZXJpY2EgT3BlcmF0aW9uczEnMCUGA1UECxMeblNoaWVsZCBUU1MgRVNO
# OjMzMDMtMDVFMC1EOTQ3MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBT
# ZXJ2aWNlMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvb6YfOLYJbhM
# 5v8KTSpQI3BJRs35bygA2dQ/tnf4nmGBLRdhyjKyhhQzi6S1lhuQxMoim5WCqxNp
# 7eeNDhrt+WcdIFyQRNM1mp2RAIwo7eHhgYvrmpGbJO9Mx00Bx8nz/gd5tgUkjRT4
# YLFSD6er6P/bejnjXsyMF+ROflcBBt+52YBHsUBdn0GWG8UNQGrqg70XV7EqStXY
# dVAbfRGjLM7rnGkeZzMEDerA4xvfRc3SvQLc25+EppbKC1LUQIf++vLCndGNYTJi
# lR8CF/P+CblEVAUWdCVrtDWEAafJIZLtfEPAgEOdNLRQe1R96Q/M6AOJXAOyZMUx
# qDyq7n5vpUWQAOIjIG3C2dj/8UnZyhcVPLy99UaDZWSYhi+TKk1778gS8/jET+BJ
# /TcntTfMf5SQ9bLXTaOcCRvpoF7BP8384NhmlakHMxR4NDZfG6SKpzRVEXkEatwt
# Y1WDAknHoDcx3mLcOTpmf+3lZ0Zo15QrC73bMTs3NWFZ+p2S5EA+ct9R2KwfYiB7
# rMIWjL9oSTTY1Z3ZKVsvd+DyGblkzJN+tJI1zxcJdlr9U85vbTqwqvPpeNPCiC+i
# fnn6BjZEfGAdzPrtbWHlQzv03Dmxh8WhhQekGcQFKZ3weTfzJgTcTDqsxtTfEIsF
# vILY4zCYhQX+omGKwo7UcBeyD3UCxbUCAwEAAaOCAUkwggFFMB0GA1UdDgQWBBTl
# BDF57TeePtdWTPkLu0Oa4NxXPTAfBgNVHSMEGDAWgBSfpxVdAF5iXYP05dJlpxtT
# NRnpcjBfBgNVHR8EWDBWMFSgUqBQhk5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20v
# cGtpb3BzL2NybC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAxMCgx
# KS5jcmwwbAYIKwYBBQUHAQEEYDBeMFwGCCsGAQUFBzAChlBodHRwOi8vd3d3Lm1p
# Y3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFRpbWUtU3RhbXAl
# MjBQQ0ElMjAyMDEwKDEpLmNydDAMBgNVHRMBAf8EAjAAMBYGA1UdJQEB/wQMMAoG
# CCsGAQUFBwMIMA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOCAgEAYW7q
# IE2qUbLsEpGhTEOncrvGQmFKVkPIiK24uNLVNoSuqR4LtIY9M//cxUUceQ34bpI7
# 24wP3UuVWH8c9RCGz5bfPezCdrARjtmC2MGHpXyaQ8GwdF0vWZK6qc6ul/5Zg0A5
# 9xub3GKWEAieeSy78hZSdfeQFaOFsvFF+ae4PVtzIDR0DKTPhFeuPnLM4+B6OWkJ
# nihrSsu8O9nkWP71g7qba7867hTZigiLddlHAOQTrF6dT7ZI8dskbAo++w0ppdM1
# WI6lvyElpKxo8nlSfpIc3LcWi5JJVcAsYoKJA+n5Fm8tIQhCkzkzzM4boDyAHMXB
# 7EdrMdNWEWvaR9s73XbLgRH0hRugo9EErxGfzPZifoeJomkEkewBG1Rg28kSpGJ/
# NEvtwJkZYd2TnvgRaieezl3XiA0h27x8ye6E6hvPepd3lIT7GYOvXzYMU8Zb0TZk
# RP/utWI+2dbgdF2ED+tK7DC3U5VWBMmVJeTC0y+S76haM2ZUtl6I4uARD+nXVU85
# hyeKHTmTFk03kNCMJ1hvfL1r/66D3oAq9RutRVa3VyxNwFyH7eGTeGZA056AIT8O
# w2TT0ZUluE21Y/y8NF75y2DcDFAPaLmP8MfbXk2ifL05G4GMmjmChc+qzUV2eGn+
# ntyF8DAn3wmrKSlFwu9mDLuVvC/88k8bDVBIAW0wggdxMIIFWaADAgECAhMzAAAA
# FcXna54Cm0mZAAAAAAAVMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzET
# MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMV
# TWljcm9zb2Z0IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBD
# ZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAxMDAeFw0yMTA5MzAxODIyMjVaFw0zMDA5
# MzAxODMyMjVaMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw
# DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x
# JjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMIICIjANBgkq
# hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA5OGmTOe0ciELeaLL1yR5vQ7VgtP97pwH
# B9KpbE51yMo1V/YBf2xK4OK9uT4XYDP/XE/HZveVU3Fa4n5KWv64NmeFRiMMtY0T
# z3cywBAY6GB9alKDRLemjkZrBxTzxXb1hlDcwUTIcVxRMTegCjhuje3XD9gmU3w5
# YQJ6xKr9cmmvHaus9ja+NSZk2pg7uhp7M62AW36MEBydUv626GIl3GoPz130/o5T
# z9bshVZN7928jaTjkY+yOSxRnOlwaQ3KNi1wjjHINSi947SHJMPgyY9+tVSP3PoF
# VZhtaDuaRr3tpK56KTesy+uDRedGbsoy1cCGMFxPLOJiss254o2I5JasAUq7vnGp
# F1tnYN74kpEeHT39IM9zfUGaRnXNxF803RKJ1v2lIH1+/NmeRd+2ci/bfV+Autuq
# fjbsNkz2K26oElHovwUDo9Fzpk03dJQcNIIP8BDyt0cY7afomXw/TNuvXsLz1dhz
# PUNOwTM5TI4CvEJoLhDqhFFG4tG9ahhaYQFzymeiXtcodgLiMxhy16cg8ML6EgrX
# Y28MyTZki1ugpoMhXV8wdJGUlNi5UPkLiWHzNgY1GIRH29wb0f2y1BzFa/ZcUlFd
# Etsluq9QBXpsxREdcu+N+VLEhReTwDwV2xo3xwgVGD94q0W29R6HXtqPnhZyacau
# e7e3PmriLq0CAwEAAaOCAd0wggHZMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYB
# BAGCNxUCBBYEFCqnUv5kxJq+gpE8RjUpzxD/LwTuMB0GA1UdDgQWBBSfpxVdAF5i
# XYP05dJlpxtTNRnpcjBcBgNVHSAEVTBTMFEGDCsGAQQBgjdMg30BATBBMD8GCCsG
# AQUFBwIBFjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL0RvY3MvUmVw
# b3NpdG9yeS5odG0wEwYDVR0lBAwwCgYIKwYBBQUHAwgwGQYJKwYBBAGCNxQCBAwe
# CgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j
# BBgwFoAU1fZWy4/oolxiaNE9lJBb186aGMQwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0
# cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljUm9vQ2Vy
# QXV0XzIwMTAtMDYtMjMuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggrBgEFBQcwAoY+
# aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXRf
# MjAxMC0wNi0yMy5jcnQwDQYJKoZIhvcNAQELBQADggIBAJ1VffwqreEsH2cBMSRb
# 4Z5yS/ypb+pcFLY+TkdkeLEGk5c9MTO1OdfCcTY/2mRsfNB1OW27DzHkwo/7bNGh
# lBgi7ulmZzpTTd2YurYeeNg2LpypglYAA7AFvonoaeC6Ce5732pvvinLbtg/SHUB
# 2RjebYIM9W0jVOR4U3UkV7ndn/OOPcbzaN9l9qRWqveVtihVJ9AkvUCgvxm2EhIR
# XT0n4ECWOKz3+SmJw7wXsFSFQrP8DJ6LGYnn8AtqgcKBGUIZUnWKNsIdw2FzLixr
# e24/LAl4FOmRsqlb30mjdAy87JGA0j3mSj5mO0+7hvoyGtmW9I/2kQH2zsZ0/fZM
# cm8Qq3UwxTSwethQ/gpY3UA8x1RtnWN0SCyxTkctwRQEcb9k+SS+c23Kjgm9swFX
# SVRk2XPXfx5bRAGOWhmRaw2fpCjcZxkoJLo4S5pu+yFUa2pFEUep8beuyOiJXk+d
# 0tBMdrVXVAmxaQFEfnyhYWxz/gq77EFmPWn9y8FBSX5+k77L+DvktxW/tM4+pTFR
# hLy/AsGConsXHRWJjXD+57XQKBqJC4822rpM+Zv/Cuk0+CQ1ZyvgDbjmjJnW4SLq
# 8CdCPSWU5nR0W2rRnj7tfqAxM328y+l7vzhwRNGQ8cirOoo6CGJ/2XBjU02N7oJt
# pQUQwXEGahC0HVUzWLOhcGbyoYIDTzCCAjcCAQEwgfmhgdGkgc4wgcsxCzAJBgNV
# BAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w
# HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1pY3Jvc29m
# dCBBbWVyaWNhIE9wZXJhdGlvbnMxJzAlBgNVBAsTHm5TaGllbGQgVFNTIEVTTjoz
# MzAzLTA1RTAtRDk0NzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vy
# dmljZaIjCgEBMAcGBSsOAwIaAxUA4ljQXhSfY72hKzeuA9RvOni9JruggYMwgYCk
# fjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD
# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQsFAAIF
# AOqylIMwIhgPMjAyNDEwMTAxNzU5MzFaGA8yMDI0MTAxMTE3NTkzMVowdjA8Bgor
# BgEEAYRZCgQBMS4wLDAKAgUA6rKUgwIBADAJAgEAAgFwAgH/MAcCAQACAhJIMAoC
# BQDqs+YDAgEAMDYGCisGAQQBhFkKBAIxKDAmMAwGCisGAQQBhFkKAwKgCjAIAgEA
# AgMHoSChCjAIAgEAAgMBhqAwDQYJKoZIhvcNAQELBQADggEBAIcpibE7TY2kXzzN
# XSD0nKm0nl5kav4/e56ggALhBBfvgsas9HDtYe+ZvOiHouQ8sN0zDG1u6o7V5B95
# L2TiRsTFQGFymp662OEyYHOmsJkJC/oCq57TabaSXxou0IgEzm+YLwIycD+4GVXv
# 5IjmIFAOm55gNzPcB0F8Z1FU9MuXRY8ID1AXXJdTaKXuLO+65MSxTC9MiBEHKnFa
# b0a15onSN2AQeBDdqkRMTh2fX+Bsa/e27NdDpxZJXXs1TctFmS5N19QfIhH6GEBq
# mgR2UDOXYHsCPPkCBmexuFQCEmTzrOOX1f/Hn/PFdJtCDin+QMJapvg8CZGqaBq9
# dFdDl8cxggQNMIIECQIBATCBkzB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2Fz
# aGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENv
# cnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAx
# MAITMwAAAebZQp7qAPh94QABAAAB5jANBglghkgBZQMEAgEFAKCCAUowGgYJKoZI
# hvcNAQkDMQ0GCyqGSIb3DQEJEAEEMC8GCSqGSIb3DQEJBDEiBCBhBxe+d8pNI57R
# 5Dj4bCLvQpGtQkqHrQlRR7cId2hBDTCB+gYLKoZIhvcNAQkQAi8xgeowgecwgeQw
# gb0EIM+7o4aoHrMJaG8gnLO1q16hIYcRnoy6FnOCbnSD0sZZMIGYMIGApH4wfDEL
# MAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v
# bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWlj
# cm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMAAAHm2UKe6gD4feEAAQAAAeYw
# IgQgDiGPnKb7UMNoLWvjSI8gfUgArBHMz2BMD9NPhDlfRtswDQYJKoZIhvcNAQEL
# BQAEggIAjFBpaNvE+mSfwCcviq5ha/ZoMclP8r1FYy84Jx0BbLRwU9z5mUso64N1
# yU3BQ3uF8AgnCD98+2vlufNMl0EOPnC4AkiMbTALzsloiWfqY7EYfqRqnLuTtLI0
# kwP47DTe+vcL7oRNdCWzdGXoXPEIhnqbFqQa5dxW1d4GhGmt/4GrVSWvEvYWUcqN
# 9Qvy8B/S1/7stocwHz25x3V8L0BgovW5E0YalBZHtvQWw0c1qtUtm7MGFdclZ2lm
# QaESJGcsCxF7pKqBhehgCz4aysl3igucbavLMU7Ox9KFqZLhlJY3BCvku4+T7rT0
# 3UMp2dGpAo+Mrw6S70oRIhNptvI2qmR9PbDibN6jSxiCvcQpcJTOppPU72Evc5XV
# PEvp6uVYuJGPcxvWoVyZOn/Fuv1JTpvwoeuvilpP4DkO+Z6VlVukaWJYTSv/Ril5
# nxZotVxOQ6HxsZ4VgUDAJev2sLHmoxOuDHCq0FE8ZfKwdn9xPZCo9I48lnT6UPoz
# r9iwRPu3iTdytW9IyziVyPcQKa6Ac0KCdviSCR2qFPPVYYqw7IUKsQDGgD8wa8p9
# t8BuUBmCYmcWTave8Y+GVVSvbQHfU/3B7qLjg7SfZrp/XGj3yu24TsQSzZKtTiYe
# Q79LsN00D1QITTScWt2+1PGiegSYjS1DmDin/qamx12SUMAg7y8=
# SIG # End signature block