LXCOPSTool.psd1

# ------------------------------------------------------------------
# Lenovo Copyright
#
# (C) Copyright Lenovo 2021 - 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 'LXCOPSTool'
#
# Generated by: Lenovo
#

@{

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

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

# ID used to uniquely identify this module
GUID = '630d5fd1-87ec-4b8b-a356-737530c5db0d'

# 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 Orchestrator PowerShell tool
 
The LXCOPSTool cmdlets use REST APIs that are provided for Lenovo XClarity Orchestrator to enable you to automate functions such as:
- Logging in to Lenovo XClarity Orchestrator;
 
Lenovo XClarity Orchestrator 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/lxco/
 
Lenovo XClarity Orchestrator REST APIs used in this module:
https://pubs.lenovo.com/lxco_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-LXCOPSLogHeader', 'Add-LXCOManager',
'Connect-LXCO',
'Get-LXCOManagers', 'Get-LXCODevices','Get-LXCOFirmwareCatalog', 'Get-LXCOUpdatePolicies', 'Get-LXCOAlerts','Get-LXCOEvents',
'Get-LXCOJobs', 'Get-LXCODeviceInventory', 'Get-LXCOServiceData', 'Get-LXCODeviceServiceData', 'Get-LXCODevicesConfiguration',
'Get-LXCOResourcesCompliance','Get-LXCOServerConfigPattern', 'Get-LXCODiscoveredDevices',
'Disconnect-LXCO',
'Find-LXCODevices',
'Import-LXCOUpdatePolicies','Import-LXCOFirmwarePackage','Import-LXCOServerConfigPattern',
'Invoke-LXCORestMethod','Invoke-LXCOServerPowerAction',
'Install-LXCOResourceManagerUpdates','Install-LXCODeviceFirmwareUpdates',
'Join-LXCOUpdatePolicy','Join-LXCOServerConfigPattern',
'New-LXCOUpdatePolicy','New-LXCOServerConfigPattern',
'Register-LXCODevices', 'Remove-LXCOManager', 'Remove-LXCODevices', 'Remove-LXCOJob',
'Set-LXCOPSLogLevel',
'Split-LXCOUpdatePolicy','Split-LXCOServerConfigPattern',
'Update-LXCOFirmwareCatalog',
'Use-LXCOServerConfigPattern'
)

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

# Aliases to export from this module
AliasesToExport = @('Add-LXCOResourceManager')

# 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 = @('LXCO', 'LXCOPSTool', 'XClarity')

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

        # ReleaseNotes of this module
        ReleaseNotes = 'Released v2.1.0 (July 2024)
 
This LXCOPSTool version supports the following Lenovo XClarity Orchestrator versions:
    - 2.1.0
 
New features and bug fixes:
  - New cmdlets added in this release:
      * Find-LXCODevices: discover new devices.
      * Get-LXCODiscoveredDevices: retrieve discovered devices.
      * Register-LXCODevices: manage discovered devices or manage devices by their IPs/FQDNs.
      * Remove-LXCODevices: unmanage devices.
      * Remove-LXCOJob: remove an existing job or cancel a scheduled job.
 
  - Cmdlets updated in this release:
      * Import-LXCOFirmwarePackage: add -PayloadFiles parameter
        to support single update-package files, required by ThinkSystem V3 servers.
      * Get-LXCOEvents: add new resource type: Management Hub 2.0
      * Get-LXCOAlerts: add new resource type: Management Hub 2.0
      * Install-LXCODeviceFirmwareUpdates add support for scheduling firmware updates jobs.
      * Get-LXCOJobs: add support for retrieving scheduled jobs.
  - 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/lxco_scripting/pshell-toolkit-overview'

# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix.
# DefaultCommandPrefix = ''

}

# SIG # Begin signature block
# MIIoOwYJKoZIhvcNAQcCoIIoLDCCKCgCAQExDzANBglghkgBZQMEAgIFADCBiQYK
# KwYBBAGCNwIBBKB7MHkwNAYKKwYBBAGCNwIBHjAmAgMBAAAEEB/MO2BZSwhOtyTS
# xil+81ECAQACAQACAQACAQACAQAwQTANBglghkgBZQMEAgIFAAQwzeFTgBrXb2Vh
# tMycWG8Qba0/6oevFFlPVSNw/P8AnvUp8aWREukuDF1SfRJJOcF6oIINnDCCBrAw
# 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+lB3nYxs6hlZ4TjCCBuQwggTMoAMCAQICEAfv
# xXBeZx00pwPtfOkTbpUwDQYJKoZIhvcNAQELBQAwaTELMAkGA1UEBhMCVVMxFzAV
# BgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMUEwPwYDVQQDEzhEaWdpQ2VydCBUcnVzdGVk
# IEc0IENvZGUgU2lnbmluZyBSU0E0MDk2IFNIQTM4NCAyMDIxIENBMTAeFw0yNDA4
# MjcwMDAwMDBaFw0yNTA4MjcyMzU5NTlaMGwxCzAJBgNVBAYTAlVTMRcwFQYDVQQI
# Ew5Ob3J0aCBDYXJvbGluYTEUMBIGA1UEBxMLTW9ycmlzdmlsbGUxDzANBgNVBAoT
# Bkxlbm92bzEMMAoGA1UECxMDRzA1MQ8wDQYDVQQDEwZMZW5vdm8wggGiMA0GCSqG
# SIb3DQEBAQUAA4IBjwAwggGKAoIBgQCd/1fAKl3CXqVpvZ+mDttTXr28NfkmuOFG
# 2y0gCeSIoxwXPU/6LZLY4H25nzDdUKok2IJVPntpoljPoYqc5laVyfLc7qyQW5wr
# LFcbXMN9VLnIvWQNpcZMCfjOxOfZ/9lMJTsSWojrJPNoD0FPjdokfqSpYz5dZWHj
# tgB1fzpL7XrgNKW0LMU4FFY7rEDVWis2DOJbreL+FBka13FA44+2IHhCtl94QmDw
# 6mUyieF8cv5yPFC3+g4Jijwc/7aEd7l9/Dt6LeeROnaXaKkwian79sG6Vx+pEKev
# sc2nEnGfdPwunfbczVp4/CIBWfYjc62k/eQ4LJqrxMUOVMPwm8BLiXrw6KPvXMAr
# wK1GVEp597Q3tjdfYblulNU8xTkZvq8noGvkGIVj9wsowtbRmGG7tI3931MUaG55
# fxosP8qlJEcoiqVIH6GY2lqs4+tpyn9pPFEXl+FbqgzFvvEQY3zNfExzmaFEY7p5
# JeYA86xZyv8ZrFwQembskRluZ1RXHpUCAwEAAaOCAgMwggH/MB8GA1UdIwQYMBaA
# FGg34Ou2O/hfEYb7/mF7CIhl9E5CMB0GA1UdDgQWBBRcKYCm09rcEoh9ItgmgfQ0
# g8Z2pjA+BgNVHSAENzA1MDMGBmeBDAEEATApMCcGCCsGAQUFBwIBFhtodHRwOi8v
# d3d3LmRpZ2ljZXJ0LmNvbS9DUFMwDgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQMMAoG
# CCsGAQUFBwMDMIG1BgNVHR8Ega0wgaowU6BRoE+GTWh0dHA6Ly9jcmwzLmRpZ2lj
# ZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNENvZGVTaWduaW5nUlNBNDA5NlNIQTM4
# NDIwMjFDQTEuY3JsMFOgUaBPhk1odHRwOi8vY3JsNC5kaWdpY2VydC5jb20vRGln
# aUNlcnRUcnVzdGVkRzRDb2RlU2lnbmluZ1JTQTQwOTZTSEEzODQyMDIxQ0ExLmNy
# bDCBlAYIKwYBBQUHAQEEgYcwgYQwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRp
# Z2ljZXJ0LmNvbTBcBggrBgEFBQcwAoZQaHR0cDovL2NhY2VydHMuZGlnaWNlcnQu
# Y29tL0RpZ2lDZXJ0VHJ1c3RlZEc0Q29kZVNpZ25pbmdSU0E0MDk2U0hBMzg0MjAy
# MUNBMS5jcnQwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAgEAV+ZtahJbS8vF
# OPEf0kerCG9eb6oLFFVpJLcRqFaJuAm0WK5EU7AoR6jkMddXvWqCzVPYZwCRpp15
# oAr04xcnqR//m3qnGRf8pRy8ZBMSEDhSA5dcsWvE9tIxQZD16GTapSDJKkT5CaNJ
# gBDeSjWWQRd2gFQYI1A6tq8bKDMDUjwdWdCtV5FUqtrXbar6Nv6gIAQJA10OEmMS
# iBcAlD0b8CJKYQFnvyntOQQQjU8oz6zQ4ZX99EhXmrvaG32hq3d1IPQHGiVwnC6r
# 2V7gLQYUcJ+dlb/MS0qopVjdzbQXz3NZkOkSAjgAKb5sfZpDd+az4g6RTdWeK7Iu
# IyXMOVREQrQiHdVmYJ1SBfViZ4/KHgQBxCUy9fC800+QrZI1+j07isOdvZCZOcig
# NKNoMGJxnSMkvdYRbn1DbErYCVSLBxqTX11prMetVp2BqkM9wyos4as0hQ2zJbZj
# MFDhdBMjfixvopfQzZnDXqglyIlTM232MdHt//mACeu5a56gBkfCr6JojlAe5eqR
# Ue9nCT0JSVZ21f77481YG5hPU9tlMrwGDhR7SLgVewVoZrRk9/nUhbk4jLD8pWxZ
# cf6hXJw5hyjm4envplL+0gtsZFBY10xZl93BdmJC5lQOEmko18Svp5gDZzIKlHU5
# grTaAetTEBvCRqAB/HF/A+epWU6Wwd8xghnkMIIZ4AIBATB9MGkxCzAJBgNVBAYT
# AlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjFBMD8GA1UEAxM4RGlnaUNlcnQg
# VHJ1c3RlZCBHNCBDb2RlIFNpZ25pbmcgUlNBNDA5NiBTSEEzODQgMjAyMSBDQTEC
# EAfvxXBeZx00pwPtfOkTbpUwDQYJYIZIAWUDBAICBQCggYwwEAYKKwYBBAGCNwIB
# DDECMAAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO
# MAwGCisGAQQBgjcCARUwPwYJKoZIhvcNAQkEMTIEMJQMxaK5L0IEUSyOuxVSZWGC
# umVQhUThhyJG55bioN98V543sZD+MEJl9NwyJQD77DANBgkqhkiG9w0BAQEFAASC
# AYBPquNdNAb+HgGmSO7tyO/Bs2++WNYIflOBYPJ7TJPq66e54dMeo84hBcnQJDqw
# cB5tZqCCP/A0xJJi4zvn0Co+zpgcsU6xuK4FxQgRaHxM7QH9z0KN7nLepIHRH2oJ
# nIYWldSpB1bCzEgwHK0mkGrLvv8vR5qpMhKBURghtzTqJC1GsGNfBhUIz3liMY6U
# syMDMZ1kicAADdXvXia6PB8PnxVnnRErK/M4nWL8q22bnqrfS+9x1LKBudrnwuZt
# waeYsL692H8wwE6/jV/B2qo1wyKULGDXHXlzX4ZUZb6d1J6KztJowvkn8r8rH85j
# iZEhRidKn6VNroKKPZoLqErk+ECyp3U0tdRDlXTYkKi+Kp17mZ+MAfaePrT1enVb
# 0AJYE7OIPXRQMHQVo/pW9/LbUnxa3o0CgdspfdU6+OjKFclqB2uq7qlmUH7eXhva
# Is3pU0yT+6xixH16ZSQezvcsxgDGgRiu5kfdENt7+WY5U0vDjC4VYR4UeZZZp+lm
# Re6hghcpMIIXJQYKKwYBBAGCNwMDATGCFxUwghcRBgkqhkiG9w0BBwKgghcCMIIW
# /gIBAzEPMA0GCWCGSAFlAwQCAQUAMGcGCyqGSIb3DQEJEAEEoFgEVjBUAgEBBglg
# hkgBhv1sBwEwITAJBgUrDgMCGgUABBTNt9pVWtn7mLmPB3mO8lRn0oAqmgIQPyxn
# +tfKkV3aYOhFnk/okBgPMjAyNDExMjExNDM3MjRaoIITAzCCBrwwggSkoAMCAQIC
# EAuuZrxaun+Vh8b56QTjMwQwDQYJKoZIhvcNAQELBQAwYzELMAkGA1UEBhMCVVMx
# FzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMTswOQYDVQQDEzJEaWdpQ2VydCBUcnVz
# dGVkIEc0IFJTQTQwOTYgU0hBMjU2IFRpbWVTdGFtcGluZyBDQTAeFw0yNDA5MjYw
# MDAwMDBaFw0zNTExMjUyMzU5NTlaMEIxCzAJBgNVBAYTAlVTMREwDwYDVQQKEwhE
# aWdpQ2VydDEgMB4GA1UEAxMXRGlnaUNlcnQgVGltZXN0YW1wIDIwMjQwggIiMA0G
# CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC+anOf9pUhq5Ywultt5lmjtej9kR8Y
# xIg7apnjpcH9CjAgQxK+CMR0Rne/i+utMeV5bUlYYSuuM4vQngvQepVHVzNLO9RD
# nEXvPghCaft0djvKKO+hDu6ObS7rJcXa/UKvNminKQPTv/1+kBPgHGlP28mgmoCw
# /xi6FG9+Un1h4eN6zh926SxMe6We2r1Z6VFZj75MU/HNmtsgtFjKfITLutLWUdAo
# Wle+jYZ49+wxGE1/UXjWfISDmHuI5e/6+NfQrxGFSKx+rDdNMsePW6FLrphfYtk/
# FLihp/feun0eV+pIF496OVh4R1TvjQYpAztJpVIfdNsEvxHofBf1BWkadc+Up0Th
# 8EifkEEWdX4rA/FE1Q0rqViTbLVZIqi6viEk3RIySho1XyHLIAOJfXG5PEppc3XY
# eBH7xa6VTZ3rOHNeiYnY+V4j1XbJ+Z9dI8ZhqcaDHOoj5KGg4YuiYx3eYm33aebs
# yF6eD9MF5IDbPgjvwmnAalNEeJPvIeoGJXaeBQjIK13SlnzODdLtuThALhGtycon
# cVuPI8AaiCaiJnfdzUcb3dWnqUnjXkRFwLtsVAxFvGqsxUA2Jq/WTjbnNjIUzIs3
# ITVC6VBKAOlb2u29Vwgfta8b2ypi6n2PzP0nVepsFk8nlcuWfyZLzBaZ0MucEdeB
# iXL+nUOGhCjl+QIDAQABo4IBizCCAYcwDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB
# /wQCMAAwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwgwIAYDVR0gBBkwFzAIBgZngQwB
# BAIwCwYJYIZIAYb9bAcBMB8GA1UdIwQYMBaAFLoW2W1NhS9zKXaaL3WMaiCPnshv
# MB0GA1UdDgQWBBSfVywDdw4oFZBmpWNe7k+SH3agWzBaBgNVHR8EUzBRME+gTaBL
# hklodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRSU0E0
# MDk2U0hBMjU2VGltZVN0YW1waW5nQ0EuY3JsMIGQBggrBgEFBQcBAQSBgzCBgDAk
# BggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMFgGCCsGAQUFBzAC
# hkxodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRS
# U0E0MDk2U0hBMjU2VGltZVN0YW1waW5nQ0EuY3J0MA0GCSqGSIb3DQEBCwUAA4IC
# AQA9rR4fdplb4ziEEkfZQ5H2EdubTggd0ShPz9Pce4FLJl6reNKLkZd5Y/vEIqFW
# Kt4oKcKz7wZmXa5VgW9B76k9NJxUl4JlKwyjUkKhk3aYx7D8vi2mpU1tKlY71AYX
# B8wTLrQeh83pXnWwwsxc1Mt+FWqz57yFq6laICtKjPICYYf/qgxACHTvypGHrC8k
# 1TqCeHk6u4I/VBQC9VK7iSpU5wlWjNlHlFFv/M93748YTeoXU/fFa9hWJQkuzG2+
# B7+bMDvmgF8VlJt1qQcl7YFUMYgZU1WM6nyw23vT6QSgwX5Pq2m0xQ2V6FJHu8z4
# LXe/371k5QrN9FQBhLLISZi2yemW0P8ZZfx4zvSWzVXpAb9k4Hpvpi6bUe8iK6Wo
# nUSV6yPlMwerwJZP/Gtbu3CKldMnn+LmmRTkTXpFIEB06nXZrDwhCGED+8RsWQSI
# XZpuG4WLFQOhtloDRWGoCwwc6ZpPddOFkM2LlTbMcqFSzm4cd0boGhBq7vkqI1uH
# Rz6Fq1IX7TaRQuR+0BGOzISkcqwXu7nMpFu3mgrlgbAW+BzikRVQ3K2YHcGkiKjA
# 4gi4OA/kz1YCsdhIBHXqBzR0/Zd2QwQ/l4Gxftt/8wY3grcc/nS//TVkej9nmUYu
# 83BDtccHHXKibMs/yXHhDXNkoPIdynhVAku7aRZOwqw6pDCCBq4wggSWoAMCAQIC
# EAc2N7ckVHzYR6z9KGYqXlswDQYJKoZIhvcNAQELBQAwYjELMAkGA1UEBhMCVVMx
# FTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNv
# bTEhMB8GA1UEAxMYRGlnaUNlcnQgVHJ1c3RlZCBSb290IEc0MB4XDTIyMDMyMzAw
# MDAwMFoXDTM3MDMyMjIzNTk1OVowYzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRp
# Z2lDZXJ0LCBJbmMuMTswOQYDVQQDEzJEaWdpQ2VydCBUcnVzdGVkIEc0IFJTQTQw
# OTYgU0hBMjU2IFRpbWVTdGFtcGluZyBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
# ADCCAgoCggIBAMaGNQZJs8E9cklRVcclA8TykTepl1Gh1tKD0Z5Mom2gsMyD+Vr2
# EaFEFUJfpIjzaPp985yJC3+dH54PMx9QEwsmc5Zt+FeoAn39Q7SE2hHxc7Gz7iuA
# hIoiGN/r2j3EF3+rGSs+QtxnjupRPfDWVtTnKC3r07G1decfBmWNlCnT2exp39mQ
# h0YAe9tEQYncfGpXevA3eZ9drMvohGS0UvJ2R/dhgxndX7RUCyFobjchu0CsX7Le
# Sn3O9TkSZ+8OpWNs5KbFHc02DVzV5huowWR0QKfAcsW6Th+xtVhNef7Xj3OTrCw5
# 4qVI1vCwMROpVymWJy71h6aPTnYVVSZwmCZ/oBpHIEPjQ2OAe3VuJyWQmDo4EbP2
# 9p7mO1vsgd4iFNmCKseSv6De4z6ic/rnH1pslPJSlRErWHRAKKtzQ87fSqEcazjF
# KfPKqpZzQmiftkaznTqj1QPgv/CiPMpC3BhIfxQ0z9JMq++bPf4OuGQq+nUoJEHt
# Qr8FnGZJUlD0UfM2SU2LINIsVzV5K6jzRWC8I41Y99xh3pP+OcD5sjClTNfpmEpY
# PtMDiP6zj9NeS3YSUZPJjAw7W4oiqMEmCPkUEBIDfV8ju2TjY+Cm4T72wnSyPx4J
# duyrXUZ14mCjWAkBKAAOhFTuzuldyF4wEr1GnrXTdrnSDmuZDNIztM2xAgMBAAGj
# ggFdMIIBWTASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBS6FtltTYUvcyl2
# mi91jGogj57IbzAfBgNVHSMEGDAWgBTs1+OC0nFdZEzfLmc/57qYrhwPTzAOBgNV
# HQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUHAwgwdwYIKwYBBQUHAQEEazBp
# MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQQYIKwYBBQUH
# MAKGNWh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRS
# b290RzQuY3J0MEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6Ly9jcmwzLmRpZ2ljZXJ0
# LmNvbS9EaWdpQ2VydFRydXN0ZWRSb290RzQuY3JsMCAGA1UdIAQZMBcwCAYGZ4EM
# AQQCMAsGCWCGSAGG/WwHATANBgkqhkiG9w0BAQsFAAOCAgEAfVmOwJO2b5ipRCIB
# fmbW2CFC4bAYLhBNE88wU86/GPvHUF3iSyn7cIoNqilp/GnBzx0H6T5gyNgL5Vxb
# 122H+oQgJTQxZ822EpZvxFBMYh0MCIKoFr2pVs8Vc40BIiXOlWk/R3f7cnQU1/+r
# T4osequFzUNf7WC2qk+RZp4snuCKrOX9jLxkJodskr2dfNBwCnzvqLx1T7pa96kQ
# sl3p/yhUifDVinF2ZdrM8HKjI/rAJ4JErpknG6skHibBt94q6/aesXmZgaNWhqsK
# RcnfxI2g55j7+6adcq/Ex8HBanHZxhOACcS2n82HhyS7T6NJuXdmkfFynOlLAlKn
# N36TU6w7HQhJD5TNOXrd/yVjmScsPT9rp/Fmw0HNT7ZAmyEhQNC3EyTN3B14OuSe
# reU0cZLXJmvkOHOrpgFPvT87eK1MrfvElXvtCl8zOYdBeHo46Zzh3SP9HSjTx/no
# 8Zhf+yvYfvJGnXUsHicsJttvFXseGYs2uJPU5vIXmVnKcPA3v5gA3yAWTyf7YGcW
# oWa63VXAOimGsJigK+2VQbc61RWYMbRiCQ8KvYHZE/6/pNHzV9m8BPqC3jLfBInw
# AM1dwvnQI38AC+R2AibZ8GV2QqYphwlHK+Z/GqSFD/yYlvZVVCsfgPrA8g4r5db7
# qS9EFUrnEw4d2zc4GqEr9u3WfPwwggWNMIIEdaADAgECAhAOmxiO+dAt5+/bUOII
# QBhaMA0GCSqGSIb3DQEBDAUAMGUxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdp
# Q2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xJDAiBgNVBAMTG0Rp
# Z2lDZXJ0IEFzc3VyZWQgSUQgUm9vdCBDQTAeFw0yMjA4MDEwMDAwMDBaFw0zMTEx
# MDkyMzU5NTlaMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMx
# GTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNVBAMTGERpZ2lDZXJ0IFRy
# dXN0ZWQgUm9vdCBHNDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL/m
# kHNo3rvkXUo8MCIwaTPswqclLskhPfKK2FnC4SmnPVirdprNrnsbhA3EMB/zG6Q4
# FutWxpdtHauyefLKEdLkX9YFPFIPUh/GnhWlfr6fqVcWWVVyr2iTcMKyunWZanMy
# lNEQRBAu34LzB4TmdDttceItDBvuINXJIB1jKS3O7F5OyJP4IWGbNOsFxl7sWxq8
# 68nPzaw0QF+xembud8hIqGZXV59UWI4MK7dPpzDZVu7Ke13jrclPXuU15zHL2pNe
# 3I6PgNq2kZhAkHnDeMe2scS1ahg4AxCN2NQ3pC4FfYj1gj4QkXCrVYJBMtfbBHMq
# bpEBfCFM1LyuGwN1XXhm2ToxRJozQL8I11pJpMLmqaBn3aQnvKFPObURWBf3JFxG
# j2T3wWmIdph2PVldQnaHiZdpekjw4KISG2aadMreSx7nDmOu5tTvkpI6nj3cAORF
# JYm2mkQZK37AlLTSYW3rM9nF30sEAMx9HJXDj/chsrIRt7t/8tWMcCxBYKqxYxhE
# lRp2Yn72gLD76GSmM9GJB+G9t+ZDpBi4pncB4Q+UDCEdslQpJYls5Q5SUUd0vias
# tkF13nqsX40/ybzTQRESW+UQUOsxxcpyFiIJ33xMdT9j7CFfxCBRa2+xq4aLT8LW
# RV+dIPyhHsXAj6KxfgommfXkaS+YHS312amyHeUbAgMBAAGjggE6MIIBNjAPBgNV
# HRMBAf8EBTADAQH/MB0GA1UdDgQWBBTs1+OC0nFdZEzfLmc/57qYrhwPTzAfBgNV
# HSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzAOBgNVHQ8BAf8EBAMCAYYweQYI
# KwYBBQUHAQEEbTBrMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5j
# b20wQwYIKwYBBQUHMAKGN2h0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdp
# Q2VydEFzc3VyZWRJRFJvb3RDQS5jcnQwRQYDVR0fBD4wPDA6oDigNoY0aHR0cDov
# L2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0QXNzdXJlZElEUm9vdENBLmNybDAR
# BgNVHSAECjAIMAYGBFUdIAAwDQYJKoZIhvcNAQEMBQADggEBAHCgv0NcVec4X6Cj
# dBs9thbX979XB72arKGHLOyFXqkauyL4hxppVCLtpIh3bb0aFPQTSnovLbc47/T/
# gLn4offyct4kvFIDyE7QKt76LVbP+fT3rDB6mouyXtTP0UNEm0Mh65ZyoUi0mcud
# T6cGAxN3J0TU53/oWajwvy8LpunyNDzs9wPHh6jSTEAZNUZqaVSwuKFWjuyk1T3o
# sdz9HNj0d1pcVIxv76FQPfx2CWiEn2/K2yCNNWAcAgPLILCsWKAOQGPFmCLBsln1
# VWvPJ6tsds5vIy30fnFqI2si/xK4VC0nftg62fC2h5b9W9FcrBjDTZ9ztwGpn1eq
# XijiuZQxggN2MIIDcgIBATB3MGMxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdp
# Q2VydCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNlcnQgVHJ1c3RlZCBHNCBSU0E0MDk2
# IFNIQTI1NiBUaW1lU3RhbXBpbmcgQ0ECEAuuZrxaun+Vh8b56QTjMwQwDQYJYIZI
# AWUDBAIBBQCggdEwGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMBwGCSqGSIb3
# DQEJBTEPFw0yNDExMjExNDM3MjRaMCsGCyqGSIb3DQEJEAIMMRwwGjAYMBYEFNvT
# he5i29I+e+T2cUhQhyTVhltFMC8GCSqGSIb3DQEJBDEiBCDgUU1TXlyhmwaQc2dd
# AAxpv09N0TkejxtMiH2krl0HTTA3BgsqhkiG9w0BCRACLzEoMCYwJDAiBCB2dp+o
# 8mMvH0MLOiMwrtZWdf7Xc9sF1mW5BZOYQ4+a2zANBgkqhkiG9w0BAQEFAASCAgAf
# 9amgrS/6S/T1/+mtOL1vspTkhsSFVey3nDqY8ZuhxQ9CRYEVuEtJjk2aHcsHrvDm
# /rRv21G6gOsV82EEcAyX1Ed7atHjZSWzA4uPR/9wgQoXbBrDfZxG6I7mWnig5u+T
# +sN3QG5cwCet/3GiTyldEf323l/IWwwLS1Q2ExOwk2iugAKmCDm47dVQLhvn2to3
# bzjQGcmFZxUvbsVD/TaxdAPqZFPfwAzVPrnxq2zM+9p2LxPpIvQnb732n41ldrw9
# k9D6R7tHjJwsnHQuCtwS6Z4Nlq0jSWsgBgz0PNzDmWWksWcT6GLLwxBZHyrOCIId
# /GTqeKtkJEahP2ZvkGkahrwaPRj5YZRGsPuCyZocIPJORTa2pHOMRXIhT/1dVjP9
# LWnYGlWhp0kvxCjuNN362VNYWyqjtPE8XVPa9QTNfxmJ82x1KftUl20XYdn9T/MJ
# szNxnFCLD4t87B6j6PId0uzSFgSeZSiMvHnlYfZz9709x8YVB6uEI+h1SOEqnvqO
# 6WsmEjJjrB9TIFqV8eCzi5LVDCFdW+GuZZupEYbDPuMyTpMGS4VQPeCtmnE6hLXd
# gZk7EVc3XYptsdsNZtoFxQaz/joU+gW7UKZBwmk3crYvhZtZUIFlIUsbkaFEOteU
# x2EeTEGmASIuT5GBTxCpyJIiBepzVAfzxuiuW8VCuQ==
# SIG # End signature block