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.0.0.10'

# 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://sysmgt.lenovofiles.com/help/topic/com.lenovo.systems.management.common.nav.doc/ic-homepage.html
 
Lenovo XClarity Administrator REST APIs used in this module:
https://sysmgt.lenovofiles.com/help/topic/com.lenovo.lxca_restapis.doc/rest_apis.html
'


# 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',
'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.0.0 (February 2023)
 
This LXCAPSTool version supports the following Lenovo XClarity Administrator versions:
    - 3.6.0, 4.0.0
 
New features and bug fixes:
  - Updated cmdlets:
      * Connect-LXCA
        - add the capability to change an expired password, at login.
      * Invoke-LXCASystemAction
        - add the possibility to schedule a power job.
        - ban recurring schedule when FirmwareUpdate flag is used.
      * New-LXCAScheduleRule
        - allow a wider range of schedule types
      * New-LXCAScheduleObj
        - accept a defined schedule rule;
      * Import-LXCAUpdatePackage
        - accept only one-time schedule.
      * Install-LXCAUpdateManagementServer
        - accept only one-time schedule.
'


    } # End of PSData hashtable

} # End of PrivateData hashtable

# HelpInfo URI of this module
HelpInfoURI = 'https://sysmgt.lenovofiles.com/help/topic/com.lenovo.lxca_restapis.doc/pshell_overview.html'

}

# SIG # Begin signature block
# MIIoQgYJKoZIhvcNAQcCoIIoMzCCKC8CAQExDzANBglghkgBZQMEAgIFADCBiQYK
# KwYBBAGCNwIBBKB7MHkwNAYKKwYBBAGCNwIBHjAmAgMBAAAEEB/MO2BZSwhOtyTS
# xil+81ECAQACAQACAQACAQACAQAwQTANBglghkgBZQMEAgIFAAQwJTu8bbrWOi1F
# qc/UFKY/udZRAtggujtvKudkMcWbDPKQUgzHRXKLfPjfLL4c8f6voIINnzCCBrAw
# 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+lB3nYxs6hlZ4TjCCBucwggTPoAMCAQICEAqd
# ztByaM55Qa++lN46j+MwDQYJKoZIhvcNAQELBQAwaTELMAkGA1UEBhMCVVMxFzAV
# BgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMUEwPwYDVQQDEzhEaWdpQ2VydCBUcnVzdGVk
# IEc0IENvZGUgU2lnbmluZyBSU0E0MDk2IFNIQTM4NCAyMDIxIENBMTAeFw0yMjA4
# MzEwMDAwMDBaFw0yMzA4MzEyMzU5NTlaMGwxCzAJBgNVBAYTAlVTMRcwFQYDVQQI
# Ew5Ob3J0aCBDYXJvbGluYTEUMBIGA1UEBxMLTW9ycmlzdmlsbGUxDzANBgNVBAoT
# Bkxlbm92bzEMMAoGA1UECxMDRzA1MQ8wDQYDVQQDEwZMZW5vdm8wggGiMA0GCSqG
# SIb3DQEBAQUAA4IBjwAwggGKAoIBgQCwpnwAewPJS9G05MMDa9b0fsGdW/ODV6zd
# J1rpIVf7Bcp8rmH6c3V0qffV5Kl5bKt9pVbiGhRd0wydwVCRzgfjeGEenjvqQCtW
# VjuC0vFESkne1RknMl4lNAiGgofDP8tV+z0h7CJ1J2ZEXrssbo6EVoQVyrZd/ieN
# 43u2tvvZwZlbx/ApVFQPPOPxvY1tMQdcc88DKh0ptaAayVJbvgeSvhp31MWvKW4/
# +rI8m8RQ5MvFO9xlvqAJCCqP1Y0s/KDTU2kSPr6XFqF897KvX9pH8PRqtRVp5C14
# D6E161mOKV/4YaJYcDjfCv3EkPc+wav7ZJwycBzQvRcu563qUY6GdpGlMRF6/rk7
# NpllAwBx7M9OiSDaDkN3nrvQGBasert5/A4vv9jpfSU/RTzPnUrKdH1vYAmD4ncf
# KVP+q1bmsvQqnJD53TR9hK0snpcZ5x/4nvnQ2mihJMIMeKiYFV1+u5zgSw/zVVoC
# JriNH2uO4fCtuXzQpZWMZdt6T7E/rCECAwEAAaOCAgYwggICMB8GA1UdIwQYMBaA
# FGg34Ou2O/hfEYb7/mF7CIhl9E5CMB0GA1UdDgQWBBRz4f5LLlPf+yhfccl3L0tx
# US7HhjAOBgNVHQ8BAf8EBAMCB4AwEwYDVR0lBAwwCgYIKwYBBQUHAwMwgbUGA1Ud
# HwSBrTCBqjBToFGgT4ZNaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0
# VHJ1c3RlZEc0Q29kZVNpZ25pbmdSU0E0MDk2U0hBMzg0MjAyMUNBMS5jcmwwU6BR
# oE+GTWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNENv
# ZGVTaWduaW5nUlNBNDA5NlNIQTM4NDIwMjFDQTEuY3JsMD4GA1UdIAQ3MDUwMwYG
# Z4EMAQQBMCkwJwYIKwYBBQUHAgEWG2h0dHA6Ly93d3cuZGlnaWNlcnQuY29tL0NQ
# UzCBlAYIKwYBBQUHAQEEgYcwgYQwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRp
# Z2ljZXJ0LmNvbTBcBggrBgEFBQcwAoZQaHR0cDovL2NhY2VydHMuZGlnaWNlcnQu
# Y29tL0RpZ2lDZXJ0VHJ1c3RlZEc0Q29kZVNpZ25pbmdSU0E0MDk2U0hBMzg0MjAy
# MUNBMS5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAxUTgblhx
# XlEKYKVY7hDFR+Mh4qswRUzv/SkPybYGS0+1ErGOKs3siBCG7kDbWrAOjRAxfawY
# PCM8F9JlKDajgId9Kg8CMbvG8GUufsFrt/2SsrMMhhFOLdCvPSopnXOZACDgyTxw
# zO1EhynPYvvQ+lt/oERWiWBiH3UaZ0pJkdX0sn3y2UHkyo9Rt8KSaZ7ryKLj9cCs
# Trc8uYMtdzodAhi1Mfak+tjuXGwW0BMEo6IJ9maV7aHmRWN49B8YrvPSNrAyl1ND
# 7HK+EONYtzlE7uU1HV6GhHQnksG2PwpDkR9FKYN4HmgVsp4f1/Xo/MVz+VTC+pi1
# +pqmVWNlKHev84uRH/5wbmrX6yOpDS6O3r//fye+l+nm+MHVBhxMIIub/kpk5nwB
# tM+T7KRmeD/uV6Kt4GmPaSderE3aTh7TgooMdlFPrs88OcuiAiOnGOSN51nVtD5g
# Q8mT1hh5Nniorfkk60/EG03mqQdFT14wrezVKs6tQK7vwT0IcT1GHAYHvLAPALYH
# dExQb71k9kibrqjoWnWKvA/rkFIfI7VU9SX1opyp2ViWAhY4wrA2i89XN3idjUoo
# vaJ5L9ZeUF5F1RSBPvyG5mWsTL0XJxzI28vHg7DtwgCpV/5NwZ6VDCXRwzTUts3E
# YlT8V8wZjWpRD5CBWZvs60jpdC3e8MRG5k8xghnoMIIZ5AIBATB9MGkxCzAJBgNV
# BAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjFBMD8GA1UEAxM4RGlnaUNl
# cnQgVHJ1c3RlZCBHNCBDb2RlIFNpZ25pbmcgUlNBNDA5NiBTSEEzODQgMjAyMSBD
# QTECEAqdztByaM55Qa++lN46j+MwDQYJYIZIAWUDBAICBQCggYwwEAYKKwYBBAGC
# NwIBDDECMAAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIB
# CzEOMAwGCisGAQQBgjcCARUwPwYJKoZIhvcNAQkEMTIEMMOPs00umazsH489sIDP
# TBiVJUKMRYZ2p45nih0WlhTKxNp+DNXU/neW6xwnN4eohDANBgkqhkiG9w0BAQEF
# AASCAYARRfHBjK2gx/YXk1ub5NEgucl+goEdsQUpQqV5ZTDOr307THQKvmM60hvg
# nT5vk1jHke5Hi2AxAq4q2vvxuyC0NWEeWAUXC7L3t3YN/qKNk4LYLJ2fVFZqROF7
# DzNgrDQ+NNicB9mb23nPCIEESKTfhurb4ZG6868Xs0OIOV69jqmjFqRXSUOdzlXL
# 0qYFBmUwVNOEwpCtI0nk8HBjyEG18IlKu/w3l82rcIWqkqfzT82nVE9LF7g+m3TW
# w9h9PL7t0FQ0nOW8JfwgMLxNmCT5Iwk/ifbawbnSHDaCrEV4syCMYoVWmGrPIuqY
# iY/2iAm98QaCDEX/IKJ+TYC24vBRJ4xFWoCJnUACYQNJLWlrIy4yDz407I10TF1w
# I7Ent4egQypif+Bcj/yL+mIXetr6kJyLDig6WaxlewRFBFDLrtDGZ4fYxGzxj6BY
# ZFR4JYoj2koncRs6ARnTU7eoKwxiJ88gQkovnA//KhT/9X660SeeNMezVg+eWJXY
# PuA24/ehghctMIIXKQYKKwYBBAGCNwMDATGCFxkwghcVBgkqhkiG9w0BBwKgghcG
# MIIXAgIBAzEPMA0GCWCGSAFlAwQCAQUAMGcGCyqGSIb3DQEJEAEEoFgEVjBUAgEB
# BglghkgBhv1sBwEwITAJBgUrDgMCGgUABBSOVHiLA9pOV4vgpVmaeOz6f+EhKAIQ
# Dc0Xjn/hssNAfnlbsFVlaBgPMjAyMzAyMjAxNTA2MDlaoIITBzCCBsAwggSooAMC
# AQICEAxNaXJLlPo8Kko9KQeAPVowDQYJKoZIhvcNAQELBQAwYzELMAkGA1UEBhMC
# VVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMTswOQYDVQQDEzJEaWdpQ2VydCBU
# cnVzdGVkIEc0IFJTQTQwOTYgU0hBMjU2IFRpbWVTdGFtcGluZyBDQTAeFw0yMjA5
# MjEwMDAwMDBaFw0zMzExMjEyMzU5NTlaMEYxCzAJBgNVBAYTAlVTMREwDwYDVQQK
# EwhEaWdpQ2VydDEkMCIGA1UEAxMbRGlnaUNlcnQgVGltZXN0YW1wIDIwMjIgLSAy
# MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAz+ylJjrGqfJru43BDZrb
# oegUhXQzGias0BxVHh42bbySVQxh9J0Jdz0Vlggva2Sk/QaDFteRkjgcMQKW+3Kx
# lzpVrzPsYYrppijbkGNcvYlT4DotjIdCriak5Lt4eLl6FuFWxsC6ZFO7KhbnUEi7
# iGkMiMbxvuAvfTuxylONQIMe58tySSgeTIAehVbnhe3yYbyqOgd99qtu5Wbd4lz1
# L+2N1E2VhGjjgMtqedHSEJFGKes+JvK0jM1MuWbIu6pQOA3ljJRdGVq/9XtAbm8W
# qJqclUeGhXk+DF5mjBoKJL6cqtKctvdPbnjEKD+jHA9QBje6CNk1prUe2nhYHTno
# +EyREJZ+TeHdwq2lfvgtGx/sK0YYoxn2Off1wU9xLokDEaJLu5i/+k/kezbvBkTk
# Vf826uV8MefzwlLE5hZ7Wn6lJXPbwGqZIS1j5Vn1TS+QHye30qsU5Thmh1EIa/tT
# QznQZPpWz+D0CuYUbWR4u5j9lMNzIfMvwi4g14Gs0/EH1OG92V1LbjGUKYvmQaRl
# lMBY5eUuKZCmt2Fk+tkgbBhRYLqmgQ8JJVPxvzvpqwcOagc5YhnJ1oV/E9mNec9i
# xezhe7nMZxMHmsF47caIyLBuMnnHC1mDjcbu9Sx8e47LZInxscS451NeX1XSfRkp
# WQNO+l3qRXMchH7XzuLUOncCAwEAAaOCAYswggGHMA4GA1UdDwEB/wQEAwIHgDAM
# BgNVHRMBAf8EAjAAMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMIMCAGA1UdIAQZMBcw
# CAYGZ4EMAQQCMAsGCWCGSAGG/WwHATAfBgNVHSMEGDAWgBS6FtltTYUvcyl2mi91
# jGogj57IbzAdBgNVHQ4EFgQUYore0GH8jzEU7ZcLzT0qlBTfUpwwWgYDVR0fBFMw
# UTBPoE2gS4ZJaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3Rl
# ZEc0UlNBNDA5NlNIQTI1NlRpbWVTdGFtcGluZ0NBLmNybDCBkAYIKwYBBQUHAQEE
# gYMwgYAwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBYBggr
# BgEFBQcwAoZMaHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1
# c3RlZEc0UlNBNDA5NlNIQTI1NlRpbWVTdGFtcGluZ0NBLmNydDANBgkqhkiG9w0B
# AQsFAAOCAgEAVaoqGvNG83hXNzD8deNP1oUj8fz5lTmbJeb3coqYw3fUZPwV+zbC
# SVEseIhjVQlGOQD8adTKmyn7oz/AyQCbEx2wmIncePLNfIXNU52vYuJhZqMUKkWH
# SphCK1D8G7WeCDAJ+uQt1wmJefkJ5ojOfRu4aqKbwVNgCeijuJ3XrR8cuOyYQfD2
# DoD75P/fnRCn6wC6X0qPGjpStOq/CUkVNTZZmg9U0rIbf35eCa12VIp0bcrSBWcr
# duv/mLImlTgZiEQU5QpZomvnIj5EIdI/HMCb7XxIstiSDJFPPGaUr10CU+ue4p7k
# 0x+GAWScAMLpWnR1DT3heYi/HAGXyRkjgNc2Wl+WFrFjDMZGQDvOXTXUWT5Dmhiu
# w8nLw/ubE19qtcfg8wXDWd8nYiveQclTuf80EGf2JjKYe/5cQpSBlIKdrAqLxksV
# StOYkEVgM4DgI974A6T2RUflzrgDQkfoQTZxd639ouiXdE4u2h4djFrIHprVwvDG
# IqhPm73YHJpRxC+a9l+nJ5e6li6FV8Bg53hWf2rvwpWaSxECyIKcyRoFfLpxtU56
# mWz06J7UWpjIn7+NuxhcQ/XQKujiYu54BNu90ftbCqhwfvCXhHjjCANdRyxjqCU4
# lwHSPzra5eX25pvcfizM/xdMTQCi2NYBDriL7ubgclWJLCcZYfZ3AYwwggauMIIE
# lqADAgECAhAHNje3JFR82Ees/ShmKl5bMA0GCSqGSIb3DQEBCwUAMGIxCzAJBgNV
# BAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdp
# Y2VydC5jb20xITAfBgNVBAMTGERpZ2lDZXJ0IFRydXN0ZWQgUm9vdCBHNDAeFw0y
# MjAzMjMwMDAwMDBaFw0zNzAzMjIyMzU5NTlaMGMxCzAJBgNVBAYTAlVTMRcwFQYD
# VQQKEw5EaWdpQ2VydCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNlcnQgVHJ1c3RlZCBH
# NCBSU0E0MDk2IFNIQTI1NiBUaW1lU3RhbXBpbmcgQ0EwggIiMA0GCSqGSIb3DQEB
# AQUAA4ICDwAwggIKAoICAQDGhjUGSbPBPXJJUVXHJQPE8pE3qZdRodbSg9GeTKJt
# oLDMg/la9hGhRBVCX6SI82j6ffOciQt/nR+eDzMfUBMLJnOWbfhXqAJ9/UO0hNoR
# 8XOxs+4rgISKIhjf69o9xBd/qxkrPkLcZ47qUT3w1lbU5ygt69OxtXXnHwZljZQp
# 09nsad/ZkIdGAHvbREGJ3HxqV3rwN3mfXazL6IRktFLydkf3YYMZ3V+0VAshaG43
# IbtArF+y3kp9zvU5EmfvDqVjbOSmxR3NNg1c1eYbqMFkdECnwHLFuk4fsbVYTXn+
# 149zk6wsOeKlSNbwsDETqVcplicu9Yemj052FVUmcJgmf6AaRyBD40NjgHt1bicl
# kJg6OBGz9vae5jtb7IHeIhTZgirHkr+g3uM+onP65x9abJTyUpURK1h0QCirc0PO
# 30qhHGs4xSnzyqqWc0Jon7ZGs506o9UD4L/wojzKQtwYSH8UNM/STKvvmz3+Drhk
# Kvp1KCRB7UK/BZxmSVJQ9FHzNklNiyDSLFc1eSuo80VgvCONWPfcYd6T/jnA+bIw
# pUzX6ZhKWD7TA4j+s4/TXkt2ElGTyYwMO1uKIqjBJgj5FBASA31fI7tk42PgpuE+
# 9sJ0sj8eCXbsq11GdeJgo1gJASgADoRU7s7pXcheMBK9Rp6103a50g5rmQzSM7TN
# sQIDAQABo4IBXTCCAVkwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUuhbZ
# bU2FL3MpdpovdYxqII+eyG8wHwYDVR0jBBgwFoAU7NfjgtJxXWRM3y5nP+e6mK4c
# D08wDgYDVR0PAQH/BAQDAgGGMBMGA1UdJQQMMAoGCCsGAQUFBwMIMHcGCCsGAQUF
# BwEBBGswaTAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEEG
# CCsGAQUFBzAChjVodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRU
# cnVzdGVkUm9vdEc0LmNydDBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3JsMy5k
# aWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNybDAgBgNVHSAEGTAX
# MAgGBmeBDAEEAjALBglghkgBhv1sBwEwDQYJKoZIhvcNAQELBQADggIBAH1ZjsCT
# tm+YqUQiAX5m1tghQuGwGC4QTRPPMFPOvxj7x1Bd4ksp+3CKDaopafxpwc8dB+k+
# YMjYC+VcW9dth/qEICU0MWfNthKWb8RQTGIdDAiCqBa9qVbPFXONASIlzpVpP0d3
# +3J0FNf/q0+KLHqrhc1DX+1gtqpPkWaeLJ7giqzl/Yy8ZCaHbJK9nXzQcAp876i8
# dU+6WvepELJd6f8oVInw1YpxdmXazPByoyP6wCeCRK6ZJxurJB4mwbfeKuv2nrF5
# mYGjVoarCkXJ38SNoOeY+/umnXKvxMfBwWpx2cYTgAnEtp/Nh4cku0+jSbl3ZpHx
# cpzpSwJSpzd+k1OsOx0ISQ+UzTl63f8lY5knLD0/a6fxZsNBzU+2QJshIUDQtxMk
# zdwdeDrknq3lNHGS1yZr5Dhzq6YBT70/O3itTK37xJV77QpfMzmHQXh6OOmc4d0j
# /R0o08f56PGYX/sr2H7yRp11LB4nLCbbbxV7HhmLNriT1ObyF5lZynDwN7+YAN8g
# Fk8n+2BnFqFmut1VwDophrCYoCvtlUG3OtUVmDG0YgkPCr2B2RP+v6TR81fZvAT6
# gt4y3wSJ8ADNXcL50CN/AAvkdgIm2fBldkKmKYcJRyvmfxqkhQ/8mJb2VVQrH4D6
# wPIOK+XW+6kvRBVK5xMOHds3OBqhK/bt1nz8MIIFjTCCBHWgAwIBAgIQDpsYjvnQ
# Lefv21DiCEAYWjANBgkqhkiG9w0BAQwFADBlMQswCQYDVQQGEwJVUzEVMBMGA1UE
# ChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYD
# VQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMjIwODAxMDAwMDAw
# WhcNMzExMTA5MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNl
# cnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdp
# Q2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK
# AoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3yithZwuEppz1Yq3aaza57G4QN
# xDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1Ifxp4VpX6+n6lXFllVcq9ok3DC
# srp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDVySAdYyktzuxeTsiT+CFhmzTr
# BcZe7FsavOvJz82sNEBfsXpm7nfISKhmV1efVFiODCu3T6cw2Vbuyntd463JT17l
# Necxy9qTXtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQjdjUN6QuBX2I9YI+EJFwq1WC
# QTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/CNdaSaTC5qmgZ92kJ7yhTzm1
# EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCiEhtmmnTK3kse5w5jrubU75KS
# Op493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADMfRyVw4/3IbKyEbe7f/LVjHAs
# QWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QYuKZ3AeEPlAwhHbJUKSWJbOUO
# UlFHdL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXKchYiCd98THU/Y+whX8QgUWtv
# sauGi0/C1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t9dmpsh3lGwIDAQABo4IBOjCC
# ATYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4c
# D08wHwYDVR0jBBgwFoAUReuir/SSy4IxLVGLp6chnfNtyA8wDgYDVR0PAQH/BAQD
# AgGGMHkGCCsGAQUFBwEBBG0wazAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGln
# aWNlcnQuY29tMEMGCCsGAQUFBzAChjdodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5j
# b20vRGlnaUNlcnRBc3N1cmVkSURSb290Q0EuY3J0MEUGA1UdHwQ+MDwwOqA4oDaG
# NGh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RD
# QS5jcmwwEQYDVR0gBAowCDAGBgRVHSAAMA0GCSqGSIb3DQEBDAUAA4IBAQBwoL9D
# XFXnOF+go3QbPbYW1/e/Vwe9mqyhhyzshV6pGrsi+IcaaVQi7aSId229GhT0E0p6
# Ly23OO/0/4C5+KH38nLeJLxSA8hO0Cre+i1Wz/n096wwepqLsl7Uz9FDRJtDIeuW
# cqFItJnLnU+nBgMTdydE1Od/6Fmo8L8vC6bp8jQ87PcDx4eo0kxAGTVGamlUsLih
# Vo7spNU96LHc/RzY9HdaXFSMb++hUD38dglohJ9vytsgjTVgHAIDyyCwrFigDkBj
# xZgiwbJZ9VVrzyerbHbObyMt9H5xaiNrIv8SuFQtJ37YOtnwtoeW/VvRXKwYw02f
# c7cBqZ9Xql4o4rmUMYIDdjCCA3ICAQEwdzBjMQswCQYDVQQGEwJVUzEXMBUGA1UE
# ChMORGlnaUNlcnQsIEluYy4xOzA5BgNVBAMTMkRpZ2lDZXJ0IFRydXN0ZWQgRzQg
# UlNBNDA5NiBTSEEyNTYgVGltZVN0YW1waW5nIENBAhAMTWlyS5T6PCpKPSkHgD1a
# MA0GCWCGSAFlAwQCAQUAoIHRMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAc
# BgkqhkiG9w0BCQUxDxcNMjMwMjIwMTUwNjA5WjArBgsqhkiG9w0BCRACDDEcMBow
# GDAWBBTzhyJNhjOCkjWplLy9j5bp/hx8czAvBgkqhkiG9w0BCQQxIgQgdrC5PxET
# 93Zo1DF45GQZca8C6xM9/LPMVKRh5d5O+3gwNwYLKoZIhvcNAQkQAi8xKDAmMCQw
# IgQgx/ThvjIoiSCr4iY6vhrE/E/meBwtZNBMgHVXoCO1tvowDQYJKoZIhvcNAQEB
# BQAEggIAGr59EBaZbFciI6nZnzV0y59ZQzlEBSFz34SbyDGu/N6DYTC8Fo+TLPPL
# RXolTX5ubIaxgl/rLh7n62n+HtNAa88qPZQ5FYmxguf2yVI+RHxA3VRIOVRzblhx
# mTfB8oDb2pLh58Hvs6tDZ6o2wnROnK2zagALCfs1EDiAvEP4eB/cGV4GWokf7e6d
# dR6QhZEyVslwoc1zeinnKFqo3V1teo/3Y3Rb+mKpW3HkNaeygCxUmlsoRiRqYqCY
# PGykLgDNienqt2zy7aMAy9ILKeejtvasMTGa821DHptLSe5/svrDPN9wHDRuZbp5
# MZ8bmVddYfEgFAozOHmeApjJq/S9OgpNiEIFWRhcYCkw6Yx4VK0VeUrZEw2KvjNh
# AwgQgGldAYXV2jG9Cl+I1HASawiSILI7slxvYLpBkryFObg1gI4T2BrBwL0aGHlh
# CHilBNJ570E9SF9z9Y9KiOMteH4l8pkj7IrBn0KXicxY49GYfkmvVIgo9v1KoykP
# 5C2AuXV3zzFxPfu7cb/RlXW54b1DLH6Os/poP6AWHUFUWgCutnL6lKS7fmD7XsHs
# mBe1FNd4N6m45fx7hgAYJScMxjwOdAGyRYwlikstv9B3Gx+I8kHjdQTbVCWfyelp
# 8jAr0Sp+RPE2njTq7rau2ng0JqqPOusWaeIpfxSr01es8i2M1bo=
# SIG # End signature block