LXCAPSTool.psd1

# ------------------------------------------------------------------
# Lenovo Copyright
#
# (C) Copyright Lenovo 2020 - present.
#
# LIMITED AND RESTRICTED RIGHTS NOTICE:
# If data or software is delivered pursuant a General Services
# Administration (GSA) contract, use, reproduction, or disclosure
# is subject to restrictions set forth in Contract No. GS-35F-05925.
# ------------------------------------------------------------------

#
# Module manifest for module 'LXCAPSTool'
#
# Generated by: "Lenovo"
#

@{

# Script module or binary module file associated with this manifest
RootModule = 'LXCAPSTool.psm1'

# Version number of this module.
ModuleVersion = '4.1.0.18'

# ID used to uniquely identify this module
GUID = 'a0b0eede-6d1c-409c-b8a4-122b862fe857'

# Author of this module
Author = 'Lenovo Corporation'

# Company or vendor of this module
CompanyName = 'Lenovo Corporation'

# Copyright statement for this module
Copyright = 'Copyright (c) Lenovo. All rights reserved.'

# Description of the functionality provided by this module
Description = 'Lenovo XClarity Administrator PowerShell tool
 
The LXCAPSTool cmdlets use REST APIs that are provided for Lenovo XClarity Administrator to enable you to automate functions such as:
- Logging in to Lenovo XClarity Administrator;
- Collecting inventory data to support the management of chassis and servers (endpoints);
- Deploying an operating system image to one or more endpoints;
- Configuring endpoints through the use of Configuration Patterns;
- Applying firmware update to endpoint;
- Managing user accounts;
- Monitoring events;
 
Lenovo XClarity Administrator is a centralized, resource-management solution that is aimed at reducing complexity, speeding response, and enhancing the availability of Lenovo server systems and solutions. It runs as a virtual appliance that you can use to manage Flex System chassis and System x rack servers in a secure environment.
Get more detail information from:
https://pubs.lenovo.com/lxca/
 
Lenovo XClarity Administrator REST APIs used in this module:
https://pubs.lenovo.com/lxca_scripting/rest_apis
'


# Modules that must be imported into the global environment prior to importing this module
RequiredModules = @()

# Functions to export from this module
FunctionsToExport = @()

# Cmdlets to export from this module
CmdletsToExport = @(
'Add-LXCAEventExclusionFilter','Add-LXCAJobNote','Add-LXCAManagedDevice','Add-LXCAPSLogHeader','Add-LXCARack','Add-LXCARackItem','Add-LXCAResourceGroupMembers','Add-LXCARoleGroup',
'Add-LXCAStoredCredential','Add-LXCAUserAccount',
'Backup-LXCA','Backup-LXCAEventLog','Backup-LXCASwitchConfig',
'Connect-LXCA','Disconnect-LXCA',
'Copy-LXCABackup',
'Get-LXCAActiveAlert','Get-LXCAActiveSession','Get-LXCAActiveStatus','Get-LXCAAuditLog','Get-LXCAAvailableMachineType','Get-LXCAChassis','Get-LXCAChassisInventory','Get-LXCAChassisMember',
'Get-LXCAComputeNode','Get-LXCAConfigPattern','Get-LXCAConfigPatternDeployableServer','Get-LXCAConfigProfile','Get-LXCAConnection','Get-LXCADeployableServer','Get-LXCADeployGlobalSetting',
'Get-LXCADeviceMaintenance','Get-LXCADevicesWarranty','Get-LXCAEncapsulation','Get-LXCAEvent','Get-LXCAEventExclusionFilter','Get-LXCAFFDCFile','Get-LXCAInformation','Get-LXCAIOModule',
'Get-LXCAJobNotes','Get-LXCALicensableDeviceCount','Get-LXCALicenseCompliance','Get-LXCALicenseWarningPeriod','Get-LXCAManagementServerPackage','Get-LXCAOSImage','Get-LXCAQuantityLicense',
'Get-LXCARack','Get-LXCARackServer','Get-LXCARackSwitch','Get-LXCAResourceGroups','Get-LXCARole','Get-LXCARoleGroup','Get-LXCAScalableComplexSystem','Get-LXCASchedule','Get-LXCAScheduleAction',
'Get-LXCAServer','Get-LXCAServiceFile','Get-LXCAServiceTickets','Get-LXCAStorage','Get-LXCAStorageNode','Get-LXCAStoredCredential','Get-LXCASwitchConfigData','Get-LXCASwitchConfigFile',
'Get-LXCASystemCompliance','Get-LXCATask','Get-LXCAThinkServer','Get-LXCAUpdateCompliancePolicy','Get-LXCAUpdatePackage','Get-LXCAUserAccount','Get-LXCABackups','Get-LXCASingleSignOn',
'Get-LXCAIdentityManagementSystems','Get-LXCABulletins','Get-LXCAServersGlobalSettings',
'Import-LXCAConfigPattern','Import-LXCAOSImage','Import-LXCASwitchConfig','Import-LXCAUpdatePackage','Import-LXCABackup',
'Install-LXCAConfigPattern','Install-LXCAConfigProfile','Install-LXCAOSImage','Install-LXCAQuantityLicense','Install-LXCAStoredCredential','Install-LXCATrustedCertificate',
'Install-LXCAUpdateManagementServer','Install-LXCAUpdatePackage',
'Invoke-LXCARestMethod','Invoke-LXCASystemAction',
'Join-LXCAUpdateCompliancePolicy',
'New-LXCADeployTask','New-LXCAScheduleObj','New-LXCAScheduleRule',
'Remove-LXCAConfigProfileFromSystem','Remove-LXCAEventExclusionFilter','Remove-LXCAJobNotes','Remove-LXCAManagedDevice','Remove-LXCAOSImage','Remove-LXCAQuantityLicense','Remove-LXCARack',
'Remove-LXCARackItem','Remove-LXCARoleGroup','Remove-LXCASchedule','Remove-LXCAStoredCredential','Remove-LXCASwitchConfigFile','Remove-LXCATask','Remove-LXCAUserAccount','Remove-LXCABackup'
'Restore-LXCASwitchConfig','Restore-LXCABackup',
'Set-LXCADeployGlobalSetting','Set-LXCADeviceMaintenance','Set-LXCAEncapsulation','Set-LXCALicenseWarningPeriod','Set-LXCAPSLogLevel','Set-LXCARack','Set-LXCARackItem','Set-LXCAResourceAccessControl',
'Set-LXCAResourceView','Set-LXCARoleGroup','Set-LXCAStoredCredential','Set-LXCASwitchPort','Set-LXCASystemIPInterface','Set-LXCASystemProperty','Set-LXCAUserAccount','Set-LXCAUserAccountPassword',
'Set-LXCASingleSignOn','Set-LXCABulletinService','Set-LXCAServersGlobalSettings',
'Start-LXCAEventMonitor',
'Stop-LXCATask',
'Update-LXCAFirmwareRepository'
)

# Variables to export from this module
VariablesToExport = '*'

# Aliases to export from this module
AliasesToExport = @('Get-LXCAJob','Remove-LXCAJob','Stop-LXCAJob')

# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell.
PrivateData = @{

    PSData = @{

        # Tags applied to this module. These help with module discovery in online galleries.
        Tags = @('LXCA', 'LXCAPSTool', 'XClarity')

        # A URL to the license for this module.
        LicenseUri = 'https://datacentersupport.lenovo.com/docs/UM920681'

        # A URL to the main website for this project.
        # ProjectUri = ''

        # A URL to an icon representing this module.
        # IconUri = ''

        # ReleaseNotes of this module
    ReleaseNotes = 'Released v4.1.0 (June 2024)
 
This LXCAPSTool version supports the following Lenovo XClarity Administrator versions:
    - 4.0.0, 4.1.0
 
New features and bug fixes:
  - Updated cmdlets:
      * add edge server support for:
        - Get-LXCAServer,
        - Get-LXCAUpdateCompliancePolicy,
        - Join-LXCAUpdateCompliancePolicy,
        - Get-LXCASystemCompliance,
        - Install-LXCAUpdatePackage.
  - Fixes:
      * add logging support on linux and macOS hosts.
'


    } # End of PSData hashtable

} # End of PrivateData hashtable

# HelpInfo URI of this module
HelpInfoURI = 'https://pubs.lenovo.com/lxca_scripting/pshell_overview'

}

# SIG # Begin signature block
# MIIoNAYJKoZIhvcNAQcCoIIoJTCCKCECAQExDzANBglghkgBZQMEAgIFADCBiQYK
# KwYBBAGCNwIBBKB7MHkwNAYKKwYBBAGCNwIBHjAmAgMBAAAEEB/MO2BZSwhOtyTS
# xil+81ECAQACAQACAQACAQACAQAwQTANBglghkgBZQMEAgIFAAQwENNTc6Tm8RvN
# AAv3xSlF25UQk+9hmySlnWz1aDx+kQ1u2GyhWqLfBAi2lIa5lEUyoIINjjCCBrAw
# ggSYoAMCAQICEAitQLJg0pxMn17Nqb2TrtkwDQYJKoZIhvcNAQEMBQAwYjELMAkG
# A1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRp
# Z2ljZXJ0LmNvbTEhMB8GA1UEAxMYRGlnaUNlcnQgVHJ1c3RlZCBSb290IEc0MB4X
# DTIxMDQyOTAwMDAwMFoXDTM2MDQyODIzNTk1OVowaTELMAkGA1UEBhMCVVMxFzAV
# BgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMUEwPwYDVQQDEzhEaWdpQ2VydCBUcnVzdGVk
# IEc0IENvZGUgU2lnbmluZyBSU0E0MDk2IFNIQTM4NCAyMDIxIENBMTCCAiIwDQYJ
# KoZIhvcNAQEBBQADggIPADCCAgoCggIBANW0L0LQKK14t13VOVkbsYhC9TOM6z2B
# l3DFu8SFJjCfpI5o2Fz16zQkB+FLT9N4Q/QX1x7a+dLVZxpSTw6hV/yImcGRzIED
# Pk1wJGSzjeIIfTR9TIBXEmtDmpnyxTsf8u/LR1oTpkyzASAl8xDTi7L7CPCK4J0J
# wGWn+piASTWHPVEZ6JAheEUuoZ8s4RjCGszF7pNJcEIyj/vG6hzzZWiRok1MghFI
# UmjeEL0UV13oGBNlxX+yT4UsSKRWhDXW+S6cqgAV0Tf+GgaUwnzI6hsy5srC9Kej
# Aw50pa85tqtgEuPo1rn3MeHcreQYoNjBI0dHs6EPbqOrbZgGgxu3amct0r1EGpIQ
# gY+wOwnXx5syWsL/amBUi0nBk+3htFzgb+sm+YzVsvk4EObqzpH1vtP7b5NhNFy8
# k0UogzYqZihfsHPOiyYlBrKD1Fz2FRlM7WLgXjPy6OjsCqewAyuRsjZ5vvetCB51
# pmXMu+NIUPN3kRr+21CiRshhWJj1fAIWPIMorTmG7NS3DVPQ+EfmdTCN7DCTdhSm
# W0tddGFNPxKRdt6/WMtyEClB8NXFbSZ2aBFBE1ia3CYrAfSJTVnbeM+BSj5AR1/J
# gVBzhRAjIVlgimRUwcwhGug4GXxmHM14OEUwmU//Y09Mu6oNCFNBfFg9R7P6tuyM
# MgkCzGw8DFYRAgMBAAGjggFZMIIBVTASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1Ud
# DgQWBBRoN+Drtjv4XxGG+/5hewiIZfROQjAfBgNVHSMEGDAWgBTs1+OC0nFdZEzf
# Lmc/57qYrhwPTzAOBgNVHQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUHAwMw
# dwYIKwYBBQUHAQEEazBpMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2Vy
# dC5jb20wQQYIKwYBBQUHMAKGNWh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9E
# aWdpQ2VydFRydXN0ZWRSb290RzQuY3J0MEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6
# Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRSb290RzQuY3JsMBwG
# A1UdIAQVMBMwBwYFZ4EMAQMwCAYGZ4EMAQQBMA0GCSqGSIb3DQEBDAUAA4ICAQA6
# I0Q9jQh27o+8OpnTVuACGqX4SDTzLLbmdGb3lHKxAMqvbDAnExKekESfS/2eo3wm
# 1Te8Ol1IbZXVP0n0J7sWgUVQ/Zy9toXgdn43ccsi91qqkM/1k2rj6yDR1VB5iJqK
# isG2vaFIGH7c2IAaERkYzWGZgVb2yeN258TkG19D+D6U/3Y5PZ7Umc9K3SjrXyah
# lVhI1Rr+1yc//ZDRdobdHLBgXPMNqO7giaG9OeE4Ttpuuzad++UhU1rDyulq8aI+
# 20O4M8hPOBSSmfXdzlRt2V0CFB9AM3wD4pWywiF1c1LLRtjENByipUuNzW92NyyF
# PxrOJukYvpAHsEN/lYgggnDwzMrv/Sk1XB+JOFX3N4qLCaHLC+kxGv8uGVw5ceG+
# nKcKBtYmZ7eS5k5f3nqsSc8upHSSrds8pJyGH+PBVhsrI/+PteqIe3Br5qC6/To/
# RabE6BaRUotBwEiES5ZNq0RA443wFSjO7fEYVgcqLxDEDAhkPDOPriiMPMuPiAsN
# vzv0zh57ju+168u38HcT5ucoP6wSrqUvImxB+YJcFWbMbA7KxYbD9iYzDAdLoNMH
# AmpqQDBISzSoUSC7rRuFCOJZDW3KBVAr6kocnqX9oKcfBnTn8tZSkP2vhUgh+Vc7
# tJwD7YZF9LRhbr9o4iZghurIr6n+lB3nYxs6hlZ4TjCCBtYwggS+oAMCAQICEAWP
# M5NSBF10y1DTMJwYKG8wDQYJKoZIhvcNAQELBQAwaTELMAkGA1UEBhMCVVMxFzAV
# BgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMUEwPwYDVQQDEzhEaWdpQ2VydCBUcnVzdGVk
# IEc0IENvZGUgU2lnbmluZyBSU0E0MDk2IFNIQTM4NCAyMDIxIENBMTAeFw0yMzA4
# MjgwMDAwMDBaFw0yNDA4MzAyMzU5NTlaMF4xCzAJBgNVBAYTAlVTMRcwFQYDVQQI
# Ew5Ob3J0aCBDYXJvbGluYTEUMBIGA1UEBxMLTW9ycmlzdmlsbGUxDzANBgNVBAoT
# Bkxlbm92bzEPMA0GA1UEAxMGTGVub3ZvMIIBojANBgkqhkiG9w0BAQEFAAOCAY8A
# MIIBigKCAYEAyoU1yIzHxl8PuKrnxATJNM+4/fqPe4TXpMy0k4v/OXl+psV9vEx3
# M1ZbMHVyaQJTdupKYePY45GBjik4dAlrzkfRFrnxi+3AojdyXoY+M/FhNdZsoVf8
# DXInwsiTkcTaH0GhxnC74u3ptoBmHV/OPR86bQ/iaiHIDwG9Yrj4KC7kg+2uYFj8
# 9hrdqdS+BjmhHY8pMhE5MF5Iz/+MqT0a+F2LZw0qbagVoiPuVpqMmZz/q2A5PMLl
# Somjv7PZT4j6tm6kEBM+C27sU04fxaYwFh2nUxzovKFx/BH2EIoSFOv0DJl/DOit
# qKqQMXbCyoAvwtYUhnHjeHB346Dk90B5BzWJ38bSEynNhKyF/41IIprOBYwT3sKe
# sLVteam2AKq6CthjcB1y8ioQ017EWYCQu6DF5iWwIxOdTact2bBFFQXJ4TYR+L46
# 9w49+ShXD+pF2OX6bLS4Z0Eq8hsz0Wt70x2edcI4AiRa6MdJj1+wnR9nI/wG7G04
# p6ZgjJG4H727AgMBAAGjggIDMIIB/zAfBgNVHSMEGDAWgBRoN+Drtjv4XxGG+/5h
# ewiIZfROQjAdBgNVHQ4EFgQUwI6EAV70c4LSugLN+tMScnNGcuEwDgYDVR0PAQH/
# BAQDAgeAMBMGA1UdJQQMMAoGCCsGAQUFBwMDMIG1BgNVHR8Ega0wgaowU6BRoE+G
# TWh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNENvZGVT
# aWduaW5nUlNBNDA5NlNIQTM4NDIwMjFDQTEuY3JsMFOgUaBPhk1odHRwOi8vY3Js
# NC5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRDb2RlU2lnbmluZ1JTQTQw
# OTZTSEEzODQyMDIxQ0ExLmNybDA+BgNVHSAENzA1MDMGBmeBDAEEATApMCcGCCsG
# AQUFBwIBFhtodHRwOi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwgZQGCCsGAQUFBwEB
# BIGHMIGEMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wXAYI
# KwYBBQUHMAKGUGh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRy
# dXN0ZWRHNENvZGVTaWduaW5nUlNBNDA5NlNIQTM4NDIwMjFDQTEuY3J0MAkGA1Ud
# EwQCMAAwDQYJKoZIhvcNAQELBQADggIBAMHLDBc56PqmnnregGgpoNRz5N+HrEHH
# 8ExcU+b+r9k//bM3I8Xz9wfhJCwjEZwCs9uFd4TeQo7KRznItWws6NeuZd3hDraT
# YhXFt7U1WcvysxsO6CodTTgJROXX+GELcpKzjDC0II/1jgtgMVOBTMmUoq9qwlHt
# dgNb2NRqisK3Vi5ALodqWjZaFMqEkjIJrM87Agw7dLzySyT9L+QnF0EoVW3mj8Fd
# FzGrUAqGQrijawNI1NjuZQ3WqL3C9DwW7JcDz9BJvbB3413NrSY28r+rqsVQ5W9J
# IRfZDW+GzEsyPAfXAz648gqr/UKXOPifMRq18K0TJ+Nv9LfmYsXDxxOR0T/Uh8PT
# EfXvFPdq57LfZJJuhm5VeWVe/9Zl0qAz7Ka4Y9AKNUlnG4ICxbUdCsav/j3EFEAT
# U4vw4hKL9M7FD8U7tgFG1LaeP6Cj+ouA9oTFliV0OqPbIqmLlHUN8Gf+tiwctwUH
# aFF79GKvA+GBvDbbQC0Xp4h06jJV1VnuWw/Q1ow0x5xGwRFXMvUujgvvUXWFVHyr
# jFU83Dq5PONVMQKINkzrEC7dFKfKaTrZhfXP8S2DV5C5h1V1fuy4nACm5zWNApEP
# DfklFi2+qKh3j2O2FdFuTbXUSqESOOq4NrCJ8a2k09CPKGFX1W5K/DR0Etjjelkg
# 6OZotNbNibWaMYIZ6zCCGecCAQEwfTBpMQswCQYDVQQGEwJVUzEXMBUGA1UEChMO
# RGlnaUNlcnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0IFRydXN0ZWQgRzQgQ29k
# ZSBTaWduaW5nIFJTQTQwOTYgU0hBMzg0IDIwMjEgQ0ExAhAFjzOTUgRddMtQ0zCc
# GChvMA0GCWCGSAFlAwQCAgUAoIGMMBAGCisGAQQBgjcCAQwxAjAAMBkGCSqGSIb3
# DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgorBgEEAYI3AgEV
# MD8GCSqGSIb3DQEJBDEyBDCCzpmOVoSkiLWUa/bN6rDS7VOYic0q6IeywoQwYyt2
# uBUEw0JS3LYTQRAMN/kIqcswDQYJKoZIhvcNAQEBBQAEggGAr/e8dyhgn1CC9zFR
# lJQLSgw+8FNC6IZ8CE+/jrVNNxr2LHrRRWxxWmwbHx2JlYf9PK/4EpehI47Na1f8
# qekQsSkFAN7zV3VXJ+1Lr9E+BQgLE4VKBodEaUU2bo1XF6hBw2iEHZ/R2xRIODo5
# eLKkAbk7sO9MMgR57pDK6UfLcO5S/LUkvH/q7/8USr15DfOxUyDxvWu3uGVJkQob
# tdVufSmvVX2CAyIyjbGm7AMP+gJEfn0zBb5Pt67UYqU88Bl4O09ekxMhT7xyD6Pf
# SP97wIvjSD0npBvZ9L3Jnn4P8PdYaPZT8uDiFckC1/xMl9+h6+RuwmymcFriG85+
# iLPrizG2mJsHlw20o7t/eQn87AryvbNUxo3tN457NHk5BCbq/9SLkswo2AMFm1a+
# 1Q4mNamm2mf5MiuNH6EJ0Ekv3Ob091hiPCsszbZ2FuLSrnL/xyYlRtA/zGPUD7jP
# c1+S5oM956bczwPAAa0hXulmUv2Bfy834FAAG1DvteuEM3CkoYIXMDCCFywGCisG
# AQQBgjcDAwExghccMIIXGAYJKoZIhvcNAQcCoIIXCTCCFwUCAQMxDzANBglghkgB
# ZQMEAgEFADBoBgsqhkiG9w0BCRABBKBZBFcwVQIBAQYJYIZIAYb9bAcBMCEwCQYF
# Kw4DAhoFAAQUxLIIkm6Dvwfi0IV14i6nzoNPb5gCEQCuY4sC0TjmRTTjM2eUqP3P
# GA8yMDI0MDcxNTEyMzcwMlqgghMJMIIGwjCCBKqgAwIBAgIQBUSv85SdCDmmv9s/
# X+VhFjANBgkqhkiG9w0BAQsFADBjMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGln
# aUNlcnQsIEluYy4xOzA5BgNVBAMTMkRpZ2lDZXJ0IFRydXN0ZWQgRzQgUlNBNDA5
# NiBTSEEyNTYgVGltZVN0YW1waW5nIENBMB4XDTIzMDcxNDAwMDAwMFoXDTM0MTAx
# MzIzNTk1OVowSDELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMu
# MSAwHgYDVQQDExdEaWdpQ2VydCBUaW1lc3RhbXAgMjAyMzCCAiIwDQYJKoZIhvcN
# AQEBBQADggIPADCCAgoCggIBAKNTRYcdg45brD5UsyPgz5/X5dLnXaEOCdwvSKOX
# ejsqnGfcYhVYwamTEafNqrJq3RApih5iY2nTWJw1cb86l+uUUI8cIOrHmjsvlmbj
# aedp/lvD1isgHMGXlLSlUIHyz8sHpjBoyoNC2vx/CSSUpIIa2mq62DvKXd4ZGIX7
# ReoNYWyd/nFexAaaPPDFLnkPG2ZS48jWPl/aQ9OE9dDH9kgtXkV1lnX+3RChG4PB
# uOZSlbVH13gpOWvgeFmX40QrStWVzu8IF+qCZE3/I+PKhu60pCFkcOvV5aDaY7Mu
# 6QXuqvYk9R28mxyyt1/f8O52fTGZZUdVnUokL6wrl76f5P17cz4y7lI0+9S769Sg
# LDSb495uZBkHNwGRDxy1Uc2qTGaDiGhiu7xBG3gZbeTZD+BYQfvYsSzhUa+0rRUG
# FOpiCBPTaR58ZE2dD9/O0V6MqqtQFcmzyrzXxDtoRKOlO0L9c33u3Qr/eTQQfqZc
# ClhMAD6FaXXHg2TWdc2PEnZWpST618RrIbroHzSYLzrqawGw9/sqhux7UjipmAmh
# cbJsca8+uG+W1eEQE/5hRwqM/vC2x9XH3mwk8L9CgsqgcT2ckpMEtGlwJw1Pt7U2
# 0clfCKRwo+wK8REuZODLIivK8SgTIUlRfgZm0zu++uuRONhRB8qUt+JQofM604qD
# y0B7AgMBAAGjggGLMIIBhzAOBgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIwADAW
# BgNVHSUBAf8EDDAKBggrBgEFBQcDCDAgBgNVHSAEGTAXMAgGBmeBDAEEAjALBglg
# hkgBhv1sBwEwHwYDVR0jBBgwFoAUuhbZbU2FL3MpdpovdYxqII+eyG8wHQYDVR0O
# BBYEFKW27xPn783QZKHVVqllMaPe1eNJMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6
# Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNFJTQTQwOTZTSEEy
# NTZUaW1lU3RhbXBpbmdDQS5jcmwwgZAGCCsGAQUFBwEBBIGDMIGAMCQGCCsGAQUF
# BzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wWAYIKwYBBQUHMAKGTGh0dHA6
# Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNFJTQTQwOTZT
# SEEyNTZUaW1lU3RhbXBpbmdDQS5jcnQwDQYJKoZIhvcNAQELBQADggIBAIEa1t6g
# qbWYF7xwjU+KPGic2CX/yyzkzepdIpLsjCICqbjPgKjZ5+PF7SaCinEvGN1Ott5s
# 1+FgnCvt7T1IjrhrunxdvcJhN2hJd6PrkKoS1yeF844ektrCQDifXcigLiV4JZ0q
# BXqEKZi2V3mP2yZWK7Dzp703DNiYdk9WuVLCtp04qYHnbUFcjGnRuSvExnvPnPp4
# 4pMadqJpddNQ5EQSviANnqlE0PjlSXcIWiHFtM+YlRpUurm8wWkZus8W8oM3NG6w
# QSbd3lqXTzON1I13fXVFoaVYJmoDRd7ZULVQjK9WvUzF4UbFKNOt50MAcN7MmJ4Z
# iQPq1JE3701S88lgIcRWR+3aEUuMMsOI5ljitts++V+wQtaP4xeR0arAVeOGv6wn
# LEHQmjNKqDbUuXKWfpd5OEhfysLcPTLfddY2Z1qJ+Panx+VPNTwAvb6cKmx5Adza
# ROY63jg7B145WPR8czFVoIARyxQMfq68/qTreWWqaNYiyjvrmoI1VygWy2nyMpqy
# 0tg6uLFGhmu6F/3Ed2wVbK6rr3M66ElGt9V/zLY4wNjsHPW2obhDLN9OTH0eaHDA
# dwrUAuBcYLso/zjlUlrWrBciI0707NMX+1Br/wd3H3GXREHJuEbTbDJ8WC9nR2Xl
# G3O2mflrLAZG70Ee8PBf4NvZrZCARK+AEEGKMIIGrjCCBJagAwIBAgIQBzY3tyRU
# fNhHrP0oZipeWzANBgkqhkiG9w0BAQsFADBiMQswCQYDVQQGEwJVUzEVMBMGA1UE
# ChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEwHwYD
# VQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwHhcNMjIwMzIzMDAwMDAwWhcN
# MzcwMzIyMjM1OTU5WjBjMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQs
# IEluYy4xOzA5BgNVBAMTMkRpZ2lDZXJ0IFRydXN0ZWQgRzQgUlNBNDA5NiBTSEEy
# NTYgVGltZVN0YW1waW5nIENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKC
# AgEAxoY1BkmzwT1ySVFVxyUDxPKRN6mXUaHW0oPRnkyibaCwzIP5WvYRoUQVQl+k
# iPNo+n3znIkLf50fng8zH1ATCyZzlm34V6gCff1DtITaEfFzsbPuK4CEiiIY3+va
# PcQXf6sZKz5C3GeO6lE98NZW1OcoLevTsbV15x8GZY2UKdPZ7Gnf2ZCHRgB720RB
# idx8ald68Dd5n12sy+iEZLRS8nZH92GDGd1ftFQLIWhuNyG7QKxfst5Kfc71ORJn
# 7w6lY2zkpsUdzTYNXNXmG6jBZHRAp8ByxbpOH7G1WE15/tePc5OsLDnipUjW8LAx
# E6lXKZYnLvWHpo9OdhVVJnCYJn+gGkcgQ+NDY4B7dW4nJZCYOjgRs/b2nuY7W+yB
# 3iIU2YIqx5K/oN7jPqJz+ucfWmyU8lKVEStYdEAoq3NDzt9KoRxrOMUp88qqlnNC
# aJ+2RrOdOqPVA+C/8KI8ykLcGEh/FDTP0kyr75s9/g64ZCr6dSgkQe1CvwWcZklS
# UPRR8zZJTYsg0ixXNXkrqPNFYLwjjVj33GHek/45wPmyMKVM1+mYSlg+0wOI/rOP
# 015LdhJRk8mMDDtbiiKowSYI+RQQEgN9XyO7ZONj4KbhPvbCdLI/Hgl27KtdRnXi
# YKNYCQEoAA6EVO7O6V3IXjASvUaetdN2udIOa5kM0jO0zbECAwEAAaOCAV0wggFZ
# MBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFLoW2W1NhS9zKXaaL3WMaiCP
# nshvMB8GA1UdIwQYMBaAFOzX44LScV1kTN8uZz/nupiuHA9PMA4GA1UdDwEB/wQE
# AwIBhjATBgNVHSUEDDAKBggrBgEFBQcDCDB3BggrBgEFBQcBAQRrMGkwJAYIKwYB
# BQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBBBggrBgEFBQcwAoY1aHR0
# cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZFJvb3RHNC5j
# cnQwQwYDVR0fBDwwOjA4oDagNIYyaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0Rp
# Z2lDZXJ0VHJ1c3RlZFJvb3RHNC5jcmwwIAYDVR0gBBkwFzAIBgZngQwBBAIwCwYJ
# YIZIAYb9bAcBMA0GCSqGSIb3DQEBCwUAA4ICAQB9WY7Ak7ZvmKlEIgF+ZtbYIULh
# sBguEE0TzzBTzr8Y+8dQXeJLKftwig2qKWn8acHPHQfpPmDI2AvlXFvXbYf6hCAl
# NDFnzbYSlm/EUExiHQwIgqgWvalWzxVzjQEiJc6VaT9Hd/tydBTX/6tPiix6q4XN
# Q1/tYLaqT5Fmniye4Iqs5f2MvGQmh2ySvZ180HAKfO+ovHVPulr3qRCyXen/KFSJ
# 8NWKcXZl2szwcqMj+sAngkSumScbqyQeJsG33irr9p6xeZmBo1aGqwpFyd/EjaDn
# mPv7pp1yr8THwcFqcdnGE4AJxLafzYeHJLtPo0m5d2aR8XKc6UsCUqc3fpNTrDsd
# CEkPlM05et3/JWOZJyw9P2un8WbDQc1PtkCbISFA0LcTJM3cHXg65J6t5TRxktcm
# a+Q4c6umAU+9Pzt4rUyt+8SVe+0KXzM5h0F4ejjpnOHdI/0dKNPH+ejxmF/7K9h+
# 8kaddSweJywm228Vex4Ziza4k9Tm8heZWcpw8De/mADfIBZPJ/tgZxahZrrdVcA6
# KYawmKAr7ZVBtzrVFZgxtGIJDwq9gdkT/r+k0fNX2bwE+oLeMt8EifAAzV3C+dAj
# fwAL5HYCJtnwZXZCpimHCUcr5n8apIUP/JiW9lVUKx+A+sDyDivl1vupL0QVSucT
# Dh3bNzgaoSv27dZ8/DCCBY0wggR1oAMCAQICEA6bGI750C3n79tQ4ghAGFowDQYJ
# KoZIhvcNAQEMBQAwZTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IElu
# YzEZMBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTEkMCIGA1UEAxMbRGlnaUNlcnQg
# QXNzdXJlZCBJRCBSb290IENBMB4XDTIyMDgwMTAwMDAwMFoXDTMxMTEwOTIzNTk1
# OVowYjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UE
# CxMQd3d3LmRpZ2ljZXJ0LmNvbTEhMB8GA1UEAxMYRGlnaUNlcnQgVHJ1c3RlZCBS
# b290IEc0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAv+aQc2jeu+Rd
# SjwwIjBpM+zCpyUuySE98orYWcLhKac9WKt2ms2uexuEDcQwH/MbpDgW61bGl20d
# q7J58soR0uRf1gU8Ug9SH8aeFaV+vp+pVxZZVXKvaJNwwrK6dZlqczKU0RBEEC7f
# gvMHhOZ0O21x4i0MG+4g1ckgHWMpLc7sXk7Ik/ghYZs06wXGXuxbGrzryc/NrDRA
# X7F6Zu53yEioZldXn1RYjgwrt0+nMNlW7sp7XeOtyU9e5TXnMcvak17cjo+A2raR
# mECQecN4x7axxLVqGDgDEI3Y1DekLgV9iPWCPhCRcKtVgkEy19sEcypukQF8IUzU
# vK4bA3VdeGbZOjFEmjNAvwjXWkmkwuapoGfdpCe8oU85tRFYF/ckXEaPZPfBaYh2
# mHY9WV1CdoeJl2l6SPDgohIbZpp0yt5LHucOY67m1O+SkjqePdwA5EUlibaaRBkr
# fsCUtNJhbesz2cXfSwQAzH0clcOP9yGyshG3u3/y1YxwLEFgqrFjGESVGnZifvaA
# sPvoZKYz0YkH4b235kOkGLimdwHhD5QMIR2yVCkliWzlDlJRR3S+Jqy2QXXeeqxf
# jT/JvNNBERJb5RBQ6zHFynIWIgnffEx1P2PsIV/EIFFrb7GrhotPwtZFX50g/KEe
# xcCPorF+CiaZ9eRpL5gdLfXZqbId5RsCAwEAAaOCATowggE2MA8GA1UdEwEB/wQF
# MAMBAf8wHQYDVR0OBBYEFOzX44LScV1kTN8uZz/nupiuHA9PMB8GA1UdIwQYMBaA
# FEXroq/0ksuCMS1Ri6enIZ3zbcgPMA4GA1UdDwEB/wQEAwIBhjB5BggrBgEFBQcB
# AQRtMGswJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBDBggr
# BgEFBQcwAoY3aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0QXNz
# dXJlZElEUm9vdENBLmNydDBFBgNVHR8EPjA8MDqgOKA2hjRodHRwOi8vY3JsMy5k
# aWdpY2VydC5jb20vRGlnaUNlcnRBc3N1cmVkSURSb290Q0EuY3JsMBEGA1UdIAQK
# MAgwBgYEVR0gADANBgkqhkiG9w0BAQwFAAOCAQEAcKC/Q1xV5zhfoKN0Gz22Ftf3
# v1cHvZqsoYcs7IVeqRq7IviHGmlUIu2kiHdtvRoU9BNKei8ttzjv9P+Aufih9/Jy
# 3iS8UgPITtAq3votVs/59PesMHqai7Je1M/RQ0SbQyHrlnKhSLSZy51PpwYDE3cn
# RNTnf+hZqPC/Lwum6fI0POz3A8eHqNJMQBk1RmppVLC4oVaO7KTVPeix3P0c2PR3
# WlxUjG/voVA9/HYJaISfb8rbII01YBwCA8sgsKxYoA5AY8WYIsGyWfVVa88nq2x2
# zm8jLfR+cWojayL/ErhULSd+2DrZ8LaHlv1b0VysGMNNn3O3AamfV6peKOK5lDGC
# A3YwggNyAgEBMHcwYzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJ
# bmMuMTswOQYDVQQDEzJEaWdpQ2VydCBUcnVzdGVkIEc0IFJTQTQwOTYgU0hBMjU2
# IFRpbWVTdGFtcGluZyBDQQIQBUSv85SdCDmmv9s/X+VhFjANBglghkgBZQMEAgEF
# AKCB0TAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8X
# DTI0MDcxNTEyMzcwMlowKwYLKoZIhvcNAQkQAgwxHDAaMBgwFgQUZvArMsLCyQ+C
# Xc6qisnGTxmcz0AwLwYJKoZIhvcNAQkEMSIEIBL95490Rwp/1xvl8nAP6Rr3O0ga
# Yb3SGFycDojlre8EMDcGCyqGSIb3DQEJEAIvMSgwJjAkMCIEINL25G3tdCLM0dRA
# V2hBNm+CitpVmq4zFq9NGprUDHgoMA0GCSqGSIb3DQEBAQUABIICAAGFS1aPTPES
# zxFsGqJp8AcH1PrINmfH+ox/I0xgeCVzSCrxbNuoFOGBRn3sUEwrFwcr7iv/0ieq
# Xh1v0pIcu/8parbfm6y0Hw3p3vN7C5cCom2Myb1BxfwyakKaaZ9KocJXPO1Mx36o
# bEjFrqeOcGJw0/n2a2N/gqVKLgFgSWfWsGrGGM8GBZXpLoHVJPLbvvDFpPTyywHc
# Silr5l8IrmaKoa7VsIABOJWO41bDX1cq1VwiBvSEFqy4dd73XIaGbeNK32KVDlHv
# 9234bIefd8dS7e5BX4FpXQuS+F9UNtDSO+bOqIJo0cu4DCCJWSdCfykzEq3Uq7Wi
# GFWcvu5gP/S667c6eoeEceE/sxSwBlR3YcnfD0Scn+sPVhzOmDM7vH2uLasyMLlT
# lKhv00UmsoOCP3N2G8Xf61w33erspzsFdwjTrz8Hr0QH0zSNbqpVYclzIAxf2C4R
# JrK6Ox0SQz/V28CQTDCvSoLJRCmz8FS3i4ZLkLaSqxnjIL3vUFn583tgWi0BAy8g
# SS0KOU6XusNpb32ild3GKBLEIV4aPQJo0KhDgPoCW7zSacpHFBuO1EMmLQD8mNJR
# 9mTDfNhH46+i8kOXVFBxRz6bjw5qerDo/Bf3gMQc7vGTbTQ35BJw1coVBG76b+NA
# bg7uUS4wc9Su/1nWoATXTUGcDUy9L2cE
# SIG # End signature block