eDosStation/scripts/installatie.ps1
Luc Vandenbroucke 58f9155d39 copycommands
2024-11-20 07:00:49 +01:00

351 lines
20 KiB
PowerShell

echo "start Powershell as admin"
Set-ExecutionPolicy -ExecutionPolicy unrestricted
write-host "Folders"
New-Item -ItemType Directory -Force -Path "c:\temp"
New-Item -ItemType Directory -Force -Path "c:\logs"
New-Item -ItemType Directory -Force -Path "c:\ProgramData\eDosLocal"
New-Item -ItemType Directory -Force -Path "c:\Program Files\edos"
write-host "Certificates"
Import-Certificate -FilePath "c:\software\sckca.cer" -CertStoreLocation Cert:\LocalMachine\Root
Import-Certificate -FilePath "c:\software\ictinteremediate.cer" -CertStoreLocation Cert:\LocalMachine\Ca
Import-Certificate -FilePath "c:\software\signertrust.cer" -CertStoreLocation Cert:\LocalMachine\TrustedPublisher
write-host "Security"
Disable-NetAdapterBinding -DisplayName "Client for Microsoft Networks"
Stop-Service -Name lanmanserver -Force
Stop-Service -Name Spooler -Force
Set-Service -Name Spooler -StartupType Disabled
set-location "c:\software"
write-host "Time server"
set-timezone -ID "Romance Standard Time"
$svc = Get-WmiObject -Class Win32_Service -Filter "Name='Winmgmt'"; $svc.StartMode='Auto'
w32tm /config /manualpeerlist:192.168.113.199,0x8 /syncfromflags:MANUAL
#The flag "0x8" forces w32time not to send "symmetric active" packets but normal "client" requests which the NTP server replies to as usua
$s = Get-Service w32time
if ($s.status -eq "Stopped") { $s.Start() }
w32tm /config /update
w32tm /resync
write-host "Time server ok"
echo "OpenSSH"
Expand-Archive -Force c:\software\OpenSSH981Signed.zip C:\Windows\System32\OpenSSH-Win64
$sshf = $env:UserProfile+"\.ssh"
New-Item -ItemType Directory -Force -Path $sshf
set-location $sshf
Copy-Item -Path "c:\software\authorized_keys" -destination $sshf
Copy-Item -Path "c:\software\*.pub" -destination $sshf
$ssha = $env:ProgramData+"\ssh"
New-Item -ItemType Directory -Force -Path $ssha
set-location $ssha
Copy-Item -Path "c:\software\authorized_keys" "$($ssha)adminstrators_authorized_keys"
set-location C:\Windows\System32\OpenSSH-Win64
.\install-sshd.ps1
.\FixHostFilePermissions.ps1
.\FixUserFilePermissions.ps1
Set-Service -Name "sshd" -StartupType "Automatic"
start-service sshd
start-process -wait -workingdirectory "c:\software" -filepath "C:\software\VC_redist.x64.exe" -argumentlist "/install /passive /norestart" -passthru
#New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force
Echo "Sql Express"
set-location "c:\software\SQLEXPR_x64_ENU"
start-process -wait -workingdirectory "c:\software\SQLEXPR_x64_ENU" -filepath "setup.exe" -argumentlist "/configurationfile=c:\software\ConfigurationFile.ini /SAPWD=HPHEdos" -passthru
echo sql management studio
start-process -wait -workingdirectory "c:\software" -filepath "c:\software\SSMS-Setup-ENU.exe" -argumentlist "/install /passive /norestart" -passthru
pnputil /add-driver epd_reader.inf /install
start-process -wait -workingdirectory "c:\software" -filepath "C:\Windows\System32\msiexec.exe" -argumentlist "/i HID-OMNIKEY-CCID-Driver-Installer-2.3.4.121-x64.msi /passive /norestart" -passthru
start-process -wait -workingdirectory "c:\software" -filepath "C:\Windows\System32\msiexec.exe" -argumentlist "/i MsSqlCmdLnUtils.msi /passive /norestart" -passthru
echo "Connection alias eDosLocal en eDos"
c:\software\sqlreg.reg
echo "Create db edosstationmaster.sql"
start-process -wait -workingdirectory "c:\software" -filepath "C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\sqlcmd.exe" -argumentlist "-i c:\software\edosstationmaster.sql" -passthru
echo "create tables, views, procedures edosstation.sql"
start-process -wait -workingdirectory "c:\software" -filepath "C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\sqlcmd.exe" -argumentlist "-i c:\software\edosstation.sql" -passthru
echo "copy software"
Expand-Archive -Force c:\software\eDosStation.zip "c:\program files\edos\edosStation"
Expand-Archive -Force c:\software\eDosSync.zip "c:\program files\edos\synceDosLocal"
$user="$($env:COMPUTERNAME)\$($env:Username)"
#Scheduled task Clean Folders
$pclean = "c:\program files\edos\LogFolderClean"
New-Item -ItemType Directory -Force -Path $pclean
Copy-Item -Path "C:\software\LogFolderClean.*" -Destination $pclean
$t = Get-ScheduledTask -TaskName "LogFolderClean" -ea ignore
if ($t -eq $null) {
$action = New-ScheduledTaskAction -Execute "LogFolderClean.exe" -WorkingDirectory $pclean
$trigger = New-ScheduledTaskTrigger -Daily -At 7am
$ts = New-ScheduledTaskSettingsSet -StartWhenAvailable -MultipleInstances IgnoreNew -Compatibility Win8
$ts.ExecutionTimeLimit='PT0S'
$ts.hidden=$true
Register-ScheduledTask -TaskName "LogFolderClean" -Action $action -Trigger $trigger -Settings $ts -Force
}
else {
write-output "Was ok"
}
#Scheduled task Sync
$psync="C:\Program Files\eDos\synceDosLocal"
$taskname="eDosSync"
$t = Get-ScheduledTask -TaskName $taskname -ea ignore
if ($t -ne $null) {
Unregister-ScheduledTask -TaskName $taskname -Confirm:$false
}
$t = Get-ScheduledTask -TaskName $taskname -ea ignore
if ($t -eq $null) {
$action = New-ScheduledTaskAction -Execute "C:\Program Files\eDos\synceDosLocal\syncEdosLocal.exe" -WorkingDirectory $psync
$trigger2 = New-ScheduledTaskTrigger -Daily -At 7am -RepetitionInterval (New-TimeSpan -Minutes 5)
$trigger2.Repetition.StopAtDurationEnd=$false
$trigger1 = New-ScheduledTaskTrigger -AtLogon -User $user
$trigger1.Repetition = $trigger2.Repetition
$trigger1.Repetition.StopAtDurationEnd=$false
$settings = New-ScheduledTaskSettingsSet -StartWhenAvailable -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -MultipleInstances IgnoreNew -Compatibility Win8
$settings.ExecutionTimeLimit='PT0S'
Register-ScheduledTask -TaskName $taskname -Action $action -Trigger $trigger1,$trigger2 -User $user -Settings $settings -Force
}
else {
write-output "Was ok"
}
set-location "c:\software"
Echo "Shortcut"
$SourceFilePath = "C:\Program Files\edos\edosstation\edosStation.exe"
$ShortcutPath = $env:Userprofile + "\Desktop\EdosStation.lnk"
$WScriptObj = New-Object -ComObject ("WScript.Shell")
$shortcut = $WscriptObj.CreateShortcut($ShortcutPath)
$shortcut.TargetPath = $SourceFilePath
$shortcut.Save()
echo "Deel 2 moet online"
c:\software\installatie2.ps1
exit
# SIG # Begin signature block
# MIImVgYJKoZIhvcNAQcCoIImRzCCJkMCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAplMTPEdqdxsaz
# 9YR44Q8Z6ndtoQUI6tUAaHbg/sN6TKCCDDYwggW8MIIDpKADAgECAgEfMA0GCSqG
# SIb3DQEBCwUAMGYxCzAJBgNVBAYTAkJFMRIwEAYDVQQIEwlBbnR3ZXJwZW4xDDAK
# BgNVBAcTA01vbDEPMA0GA1UEChMGU0NLQ0VOMQwwCgYDVQQLEwNJQ1QxFjAUBgNV
# BAMTDVNDS0NFTiBJQ1QgQ0EwHhcNMTgwNTI0MDYxMTAwWhcNMzAwNjAxMTIwMDAw
# WjBPMSEwHwYDVQQDExhWYW5kZW5icm91Y2tlIEx1YyBDUzIwMjExKjAoBgkqhkiG
# 9w0BCQEWG2x1Yy52YW5kZW5icm91Y2tlQHNja2Nlbi5iZTCCASIwDQYJKoZIhvcN
# AQEBBQADggEPADCCAQoCggEBAPRbMPSAdMsURs6M9TChuXZWe1LSQlVXYVHPGRln
# QeF719tgHS1Ern70aW0PuvCECkzUTbGHw3o+bF+vj1UZWw82oOEZGannAoTyG1CI
# xdOMc85Mdmy+Kb++9Ivxa6i4ahfpNDHE0F58TomaNyDY0dtRUDEMZw/A0AMkFmdg
# 9BOnqrYeeLB0O/86ZkzUklRifi/Wa3ti1LV4U7fR6S4bMm7dZBh46IU2G3/oBdlN
# YAtC3DNol+bnrcBvF+ccGwG5kVxEZg8TtpEMj00hnI+rNPjI4Ar6mE83XKak1X5/
# xddZppx9ldJaiVujyOqy0cONhiN/vsWPdZU37LQbG1OydGUCAwEAAaOCAYowggGG
# MAkGA1UdEwQCMAAwHQYDVR0OBBYEFN+1bIhLi6eWlLbzynleh97QuIFlMB8GA1Ud
# IwQYMBaAFPApFPVqIRSSVlQTpD3VrfAhOsV4MAsGA1UdDwQEAwIHgDAfBgNVHSUE
# GDAWBggrBgEFBQcDAwYKKwYBBAGCNwIBFTA6BgNVHREEMzAxgRtsdWMudmFuZGVu
# YnJvdWNrZUBzY2tjZW4uYmWBEmx2YW5kZW5iQHNja2Nlbi5iZTA1BgNVHRIELjAs
# hipodHRwOi8vY3JsLnNja2Nlbi5iZS9TQ0tDRU4lMjBJQ1QlMjBDQS5jcnQwOwYD
# VR0fBDQwMjAwoC6gLIYqaHR0cDovL2NybC5zY2tjZW4uYmUvU0NLQ0VOJTIwSUNU
# JTIwQ0EuY3JsMD4GCSsGAQQBgjcVBwQxMC8GJysGAQQBgjcVCISMvCGCyP13gqGT
# IoSXlEaExpIugQGC1IQhgfrIaQIBZAIBCDAbBgkrBgEEAYI3FQoEDjAMMAoGCCsG
# AQUFBwMDMA0GCSqGSIb3DQEBCwUAA4ICAQBGH87fu9sNbcCPVQCdJ9jP4jT59WTZ
# m6s5BquO10UL9i7UAEmdd0yfCHW3myNUigR6O+Oc6Wa74HbUhAk+nEimHxzP5KcN
# nKE6lwqsIOf49J5G+2HRmTgW9tewsr39ZiB3NE5s04fHEA0I45zs8wsgyp4Mlr5v
# 3AfzYB7gxh0Hxdm+ion7PXvbKhAyI3F7pQTYauilmLAkHnoXD6T+Osp04wR9m1+H
# NGqLMKYyVOSdu0UnmGuqHBxpMD7hAJ8LCi5yR6t6s4BNCczwhzUpo6ZgrtLmKCac
# DmZ6SJMqsGFwan/GxnLSvw5QpVXUVJidDfTflMeJrfWhDOEt7jx9oQWQ249uzxlq
# JMVfBt1YZDq4gr76yjK6VY7F6540ECog4auPte4NoiT5UPdE3QHSD/82/cdLoVuh
# ELR4p4bfJ7PONT7x8iZzI8BoASh9SKJBh06mcmyJosOkc77Wv3ykqal7R+/LQi9g
# eJwku6Ti0XIy9UFGBbUD4m18e5cKdqDzyIHwAne0JR0ZEILPzITWviFuSXKqGP0b
# kSbGgpl+LuaCHcKAv+1FQBc2oWW0yPdxCUYpwo9QfTTh0qYXABQAbibOw7VKTnRL
# sS92m9pb6wn9tYyNfMu6r7EXCuxJNDbYpKbxeadfY0arCzlOT6mpC6lzBqfgKyN+
# VWoy9rmdzhjEjjCCBnIwggRaoAMCAQICEzgAAAACbukOrXYB5dcAAAAAAAIwDQYJ
# KoZIhvcNAQELBQAwZzELMAkGA1UEBhMCQkUxEjAQBgNVBAgTCUFudHdlcnBlbjEM
# MAoGA1UEBxMDTW9sMQ8wDQYDVQQKEwZTQ0tDRU4xDDAKBgNVBAsTA0lDVDEXMBUG
# A1UEAxMOU0NLQ0VOIFJvb3QgQ0EwHhcNMTcwNjIzMTEzOTM0WhcNMzIwNjIzMTE0
# OTM0WjBmMQswCQYDVQQGEwJCRTESMBAGA1UECBMJQW50d2VycGVuMQwwCgYDVQQH
# EwNNb2wxDzANBgNVBAoTBlNDS0NFTjEMMAoGA1UECxMDSUNUMRYwFAYDVQQDEw1T
# Q0tDRU4gSUNUIENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsW1u
# J8gCKQwjdhAhr6eJJNXw+wffi5p2RB48uzTaQh2Y89P+75NFhk7qeOW0tVwacxYk
# ubMvgNqasA9RslymREsxLfloMCidRPSQj8o0KE2cfLYojYre1TChFxc0PZobibZ7
# BTsU2v75GQjnsEEMmxzwJLAjSU2mFVKJKjrKs4Xt/q6j3w0fdrRz0ba8zSMbTHO2
# K8Cd1Rq3GQDLPythJyDxzo6YRE7TFOFcXGrIpFXvmy1XPc/ItiHwTocOmQ1msF+4
# 6W0gfWtbFLt8bC/CnuE2ZQPnAmpq3lOUu8cOq/2eqhihAeAli5McYepaK+qr1JtL
# NfgTSkkFFw27c5cPXwFCCE0ryJdN+qN4Xdk3J2iz0hayEJ4sGaimdJTXv/OTmSxx
# KGMnPYV+BTvk/PDJnGjWQqOryf0PWgmwVQ1KAowaPjBAXJOEotzNnzW0/FKtvgJY
# Lk3xFs3sJJ6EG6D02wB2RNszNGM66tyqqx/Z3651xwzgkYYR1ETdmddcqL6/3a+H
# ifS5K99N+q7rX/Rp31AUlNsb53xhh43NWUAg5Tzrb9J54mBR6Z/MafmTVHcK2nK6
# RRYaUfxs/WuE2+OzX7MdG/URi1lVuOu7hp7AKnSjcLnOcBG7lkSK1Q1pCuACYMkv
# Cl+7keio376akUfumX3HqEVgK8ttZiRgiVHR7Q0CAwEAAaOCARYwggESMBAGCSsG
# AQQBgjcVAQQDAgEAMB0GA1UdDgQWBBTwKRT1aiEUklZUE6Q91a3wITrFeDAZBgkr
# BgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw
# AwEB/zAfBgNVHSMEGDAWgBRSvxsquCggUTGvI6e+I5TG0fkUMDA8BgNVHR8ENTAz
# MDGgL6AthitodHRwOi8vY3JsLnNja2Nlbi5iZS9TQ0tDRU4lMjBSb290JTIwQ0Eu
# Y3JsMEcGCCsGAQUFBwEBBDswOTA3BggrBgEFBQcwAoYraHR0cDovL2NybC5zY2tj
# ZW4uYmUvU0NLQ0VOJTIwUm9vdCUyMENBLmNydDANBgkqhkiG9w0BAQsFAAOCAgEA
# hsQ1eNAeFzKKGY9KW0VMGrLUbtccjHoeKlGdVn+yhS9xhSaIFgm00IPVO5zh9jKt
# gCA3o81TqY0w1WoRK1U8t89On5RZYVy39pDyu+oBlHgul9KOuJbIKLgh0VgEPvY3
# vM0h0bLdxIrnlIxchVxgs5y/h/wLKmXLjsg+AuYzsJ4+9GAD5SsdFGp2jiKPf9aw
# 6zG67an2yTqtvPfeoRpkMWO+Mx39CWWwfU3MaQySlAx0/JzZcqWzk6QFgN1h89wS
# BHD0mMFdnahEth5y9QhPkLydPniibF5VZ59gbUVlpFFz8VddmBtx9xfe5aIYEjkj
# 35HmEW/FN7qwnJP3dCljzFiqSueKqiFIN3punjHbMUoAxJnibx11Xz4pFm5mdk8v
# 95r+sncH8SFK/P5nUjjEYIBRInZiovl7C8KfI1RD9lXJDPdw5yVfkCpkCr/rYNNM
# BHfDYZ+G1NEu9WzE2NrknC4H4qoNJLmMjVPTswcIT780iOvFZRf1ql+0e2TKUHCO
# kZ+plXtl3H6MimrNk6B/ZQAy4mETNH6ceaoudV7X5Y7HzbTwSXCSw6GCiQMdYXgs
# Fp+lioorEmFZhVc2PTs+oUXbMi8IUaCyKEm6tMZHJ+PGU1YBE8Szyj5nI1SUhb+a
# HunRGlhgXPb4bnEdZVaMruxFM0UbriGwmkOEv9cPVpAxghl2MIIZcgIBATBrMGYx
# CzAJBgNVBAYTAkJFMRIwEAYDVQQIEwlBbnR3ZXJwZW4xDDAKBgNVBAcTA01vbDEP
# MA0GA1UEChMGU0NLQ0VOMQwwCgYDVQQLEwNJQ1QxFjAUBgNVBAMTDVNDS0NFTiBJ
# Q1QgQ0ECAR8wDQYJYIZIAWUDBAIBBQCggbAwGQYJKoZIhvcNAQkDMQwGCisGAQQB
# gjcCAQQwHAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkE
# MSIEICa19G3a3bQ0NikJNQzXGX3WU6yz0xTeOxsOq4du6PM/MEQGCisGAQQBgjcC
# AQwxNjA0oDKAMABJAG4AdABlAGcAcgBpAHQAeQAgACYAIABBAHUAdABoAGUAbgB0
# AGkAYwBpAHQAeTANBgkqhkiG9w0BAQEFAASCAQA963VHJYvr9JK1Jf75BfDhTalS
# u9C4R6mtSuhJCQJjWUGXaUIlzepQxNvZSfaaJ6UsPDMpaNlA1eFSjYVPQYpOR/yH
# jrtrEgLZFZwC1vQasLwevea244apT7qhK2FyDOayDU0j02AazyOfCsXKdUqo0qrA
# XxH/7y2wSLVFp9l1cbRguGCC55CxZ+lpWL3iQsF95B3fb0om/IUGD/epf41M/EDs
# zSLIZe/B0RoX/v/z8GV6hM2re4TUpbFQYaxZD3rULijkaMjAje+sMUnFnIGWHaV9
# pmCJ7ACS2k0ZIf1OE0/Cnd3Ufon6kJDNq7raR5oMfYJ5vE/azkdGaU4YMdpyoYIX
# KTCCFyUGCisGAQQBgjcDAwExghcVMIIXEQYJKoZIhvcNAQcCoIIXAjCCFv4CAQMx
# DzANBglghkgBZQMEAgEFADBnBgsqhkiG9w0BCRABBKBYBFYwVAIBAQYJYIZIAYb9
# bAcBMCEwCQYFKw4DAhoFAAQU9Dk8T7vc/ws6LiM8VUEo4YPYwG0CEGc5NKf7wOrQ
# gxdb0ijBDccYDzIwMjQxMTIwMDYwMDMwWqCCEwMwgga8MIIEpKADAgECAhALrma8
# Wrp/lYfG+ekE4zMEMA0GCSqGSIb3DQEBCwUAMGMxCzAJBgNVBAYTAlVTMRcwFQYD
# VQQKEw5EaWdpQ2VydCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNlcnQgVHJ1c3RlZCBH
# NCBSU0E0MDk2IFNIQTI1NiBUaW1lU3RhbXBpbmcgQ0EwHhcNMjQwOTI2MDAwMDAw
# WhcNMzUxMTI1MjM1OTU5WjBCMQswCQYDVQQGEwJVUzERMA8GA1UEChMIRGlnaUNl
# cnQxIDAeBgNVBAMTF0RpZ2lDZXJ0IFRpbWVzdGFtcCAyMDI0MIICIjANBgkqhkiG
# 9w0BAQEFAAOCAg8AMIICCgKCAgEAvmpzn/aVIauWMLpbbeZZo7Xo/ZEfGMSIO2qZ
# 46XB/QowIEMSvgjEdEZ3v4vrrTHleW1JWGErrjOL0J4L0HqVR1czSzvUQ5xF7z4I
# Qmn7dHY7yijvoQ7ujm0u6yXF2v1CrzZopykD07/9fpAT4BxpT9vJoJqAsP8YuhRv
# flJ9YeHjes4fduksTHulntq9WelRWY++TFPxzZrbILRYynyEy7rS1lHQKFpXvo2G
# ePfsMRhNf1F41nyEg5h7iOXv+vjX0K8RhUisfqw3TTLHj1uhS66YX2LZPxS4oaf3
# 3rp9HlfqSBePejlYeEdU740GKQM7SaVSH3TbBL8R6HwX9QVpGnXPlKdE4fBIn5BB
# FnV+KwPxRNUNK6lYk2y1WSKour4hJN0SMkoaNV8hyyADiX1xuTxKaXN12HgR+8Wu
# lU2d6zhzXomJ2PleI9V2yfmfXSPGYanGgxzqI+ShoOGLomMd3mJt92nm7Mheng/T
# BeSA2z4I78JpwGpTRHiT7yHqBiV2ngUIyCtd0pZ8zg3S7bk4QC4RrcnKJ3FbjyPA
# GogmoiZ33c1HG93Vp6lJ415ERcC7bFQMRbxqrMVANiav1k425zYyFMyLNyE1QulQ
# SgDpW9rtvVcIH7WvG9sqYup9j8z9J1XqbBZPJ5XLln8mS8wWmdDLnBHXgYly/p1D
# hoQo5fkCAwEAAaOCAYswggGHMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAA
# MBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMIMCAGA1UdIAQZMBcwCAYGZ4EMAQQCMAsG
# CWCGSAGG/WwHATAfBgNVHSMEGDAWgBS6FtltTYUvcyl2mi91jGogj57IbzAdBgNV
# HQ4EFgQUn1csA3cOKBWQZqVjXu5Pkh92oFswWgYDVR0fBFMwUTBPoE2gS4ZJaHR0
# cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZEc0UlNBNDA5NlNI
# QTI1NlRpbWVTdGFtcGluZ0NBLmNybDCBkAYIKwYBBQUHAQEEgYMwgYAwJAYIKwYB
# BQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBYBggrBgEFBQcwAoZMaHR0
# cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZEc0UlNBNDA5
# NlNIQTI1NlRpbWVTdGFtcGluZ0NBLmNydDANBgkqhkiG9w0BAQsFAAOCAgEAPa0e
# H3aZW+M4hBJH2UOR9hHbm04IHdEoT8/T3HuBSyZeq3jSi5GXeWP7xCKhVireKCnC
# s+8GZl2uVYFvQe+pPTScVJeCZSsMo1JCoZN2mMew/L4tpqVNbSpWO9QGFwfMEy60
# HofN6V51sMLMXNTLfhVqs+e8haupWiArSozyAmGH/6oMQAh078qRh6wvJNU6gnh5
# OruCP1QUAvVSu4kqVOcJVozZR5RRb/zPd++PGE3qF1P3xWvYViUJLsxtvge/mzA7
# 5oBfFZSbdakHJe2BVDGIGVNVjOp8sNt70+kEoMF+T6tptMUNlehSR7vM+C13v9+9
# ZOUKzfRUAYSyyEmYtsnpltD/GWX8eM70ls1V6QG/ZOB6b6Yum1HvIiulqJ1Elesj
# 5TMHq8CWT/xrW7twipXTJ5/i5pkU5E16RSBAdOp12aw8IQhhA/vEbFkEiF2abhuF
# ixUDobZaA0VhqAsMHOmaT3XThZDNi5U2zHKhUs5uHHdG6BoQau75KiNbh0c+hatS
# F+02kULkftARjsyEpHKsF7u5zKRbt5oK5YGwFvgc4pEVUNytmB3BpIiowOIIuDgP
# 5M9WArHYSAR16gc0dP2XdkMEP5eBsX7bf/MGN4K3HP50v/01ZHo/Z5lGLvNwQ7XH
# Bx1yomzLP8lx4Q1zZKDyHcp4VQJLu2kWTsKsOqQwggauMIIElqADAgECAhAHNje3
# JFR82Ees/ShmKl5bMA0GCSqGSIb3DQEBCwUAMGIxCzAJBgNVBAYTAlVTMRUwEwYD
# VQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAf
# BgNVBAMTGERpZ2lDZXJ0IFRydXN0ZWQgUm9vdCBHNDAeFw0yMjAzMjMwMDAwMDBa
# Fw0zNzAzMjIyMzU5NTlaMGMxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2Vy
# dCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNlcnQgVHJ1c3RlZCBHNCBSU0E0MDk2IFNI
# QTI1NiBUaW1lU3RhbXBpbmcgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK
# AoICAQDGhjUGSbPBPXJJUVXHJQPE8pE3qZdRodbSg9GeTKJtoLDMg/la9hGhRBVC
# X6SI82j6ffOciQt/nR+eDzMfUBMLJnOWbfhXqAJ9/UO0hNoR8XOxs+4rgISKIhjf
# 69o9xBd/qxkrPkLcZ47qUT3w1lbU5ygt69OxtXXnHwZljZQp09nsad/ZkIdGAHvb
# REGJ3HxqV3rwN3mfXazL6IRktFLydkf3YYMZ3V+0VAshaG43IbtArF+y3kp9zvU5
# EmfvDqVjbOSmxR3NNg1c1eYbqMFkdECnwHLFuk4fsbVYTXn+149zk6wsOeKlSNbw
# sDETqVcplicu9Yemj052FVUmcJgmf6AaRyBD40NjgHt1biclkJg6OBGz9vae5jtb
# 7IHeIhTZgirHkr+g3uM+onP65x9abJTyUpURK1h0QCirc0PO30qhHGs4xSnzyqqW
# c0Jon7ZGs506o9UD4L/wojzKQtwYSH8UNM/STKvvmz3+DrhkKvp1KCRB7UK/BZxm
# SVJQ9FHzNklNiyDSLFc1eSuo80VgvCONWPfcYd6T/jnA+bIwpUzX6ZhKWD7TA4j+
# s4/TXkt2ElGTyYwMO1uKIqjBJgj5FBASA31fI7tk42PgpuE+9sJ0sj8eCXbsq11G
# deJgo1gJASgADoRU7s7pXcheMBK9Rp6103a50g5rmQzSM7TNsQIDAQABo4IBXTCC
# AVkwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUuhbZbU2FL3MpdpovdYxq
# II+eyG8wHwYDVR0jBBgwFoAU7NfjgtJxXWRM3y5nP+e6mK4cD08wDgYDVR0PAQH/
# BAQDAgGGMBMGA1UdJQQMMAoGCCsGAQUFBwMIMHcGCCsGAQUFBwEBBGswaTAkBggr
# BgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEEGCCsGAQUFBzAChjVo
# dHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0
# LmNydDBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3JsMy5kaWdpY2VydC5jb20v
# RGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNybDAgBgNVHSAEGTAXMAgGBmeBDAEEAjAL
# BglghkgBhv1sBwEwDQYJKoZIhvcNAQELBQADggIBAH1ZjsCTtm+YqUQiAX5m1tgh
# QuGwGC4QTRPPMFPOvxj7x1Bd4ksp+3CKDaopafxpwc8dB+k+YMjYC+VcW9dth/qE
# ICU0MWfNthKWb8RQTGIdDAiCqBa9qVbPFXONASIlzpVpP0d3+3J0FNf/q0+KLHqr
# hc1DX+1gtqpPkWaeLJ7giqzl/Yy8ZCaHbJK9nXzQcAp876i8dU+6WvepELJd6f8o
# VInw1YpxdmXazPByoyP6wCeCRK6ZJxurJB4mwbfeKuv2nrF5mYGjVoarCkXJ38SN
# oOeY+/umnXKvxMfBwWpx2cYTgAnEtp/Nh4cku0+jSbl3ZpHxcpzpSwJSpzd+k1Os
# Ox0ISQ+UzTl63f8lY5knLD0/a6fxZsNBzU+2QJshIUDQtxMkzdwdeDrknq3lNHGS
# 1yZr5Dhzq6YBT70/O3itTK37xJV77QpfMzmHQXh6OOmc4d0j/R0o08f56PGYX/sr
# 2H7yRp11LB4nLCbbbxV7HhmLNriT1ObyF5lZynDwN7+YAN8gFk8n+2BnFqFmut1V
# wDophrCYoCvtlUG3OtUVmDG0YgkPCr2B2RP+v6TR81fZvAT6gt4y3wSJ8ADNXcL5
# 0CN/AAvkdgIm2fBldkKmKYcJRyvmfxqkhQ/8mJb2VVQrH4D6wPIOK+XW+6kvRBVK
# 5xMOHds3OBqhK/bt1nz8MIIFjTCCBHWgAwIBAgIQDpsYjvnQLefv21DiCEAYWjAN
# BgkqhkiG9w0BAQwFADBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQg
# SW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2Vy
# dCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMjIwODAxMDAwMDAwWhcNMzExMTA5MjM1
# OTU5WjBiMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYD
# VQQLExB3d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVk
# IFJvb3QgRzQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN67
# 5F1KPDAiMGkz7MKnJS7JIT3yithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaX
# bR2rsnnyyhHS5F/WBTxSD1Ifxp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQ
# Lt+C8weE5nQ7bXHiLQwb7iDVySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82s
# NEBfsXpm7nfISKhmV1efVFiODCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4Da
# tpGYQJB5w3jHtrHEtWoYOAMQjdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwh
# TNS8rhsDdV14Ztk6MUSaM0C/CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98Fp
# iHaYdj1ZXUJ2h4mXaXpI8OCiEhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppE
# GSt+wJS00mFt6zPZxd9LBADMfRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+
# 9oCw++hkpjPRiQfhvbfmQ6QYuKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56
# rF+NP8m800ERElvlEFDrMcXKchYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8
# oR7FwI+isX4KJpn15GkvmB0t9dmpsh3lGwIDAQABo4IBOjCCATYwDwYDVR0TAQH/
# BAUwAwEB/zAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wHwYDVR0jBBgw
# FoAUReuir/SSy4IxLVGLp6chnfNtyA8wDgYDVR0PAQH/BAQDAgGGMHkGCCsGAQUF
# BwEBBG0wazAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEMG
# CCsGAQUFBzAChjdodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRB
# c3N1cmVkSURSb290Q0EuY3J0MEUGA1UdHwQ+MDwwOqA4oDaGNGh0dHA6Ly9jcmwz
# LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmwwEQYDVR0g
# BAowCDAGBgRVHSAAMA0GCSqGSIb3DQEBDAUAA4IBAQBwoL9DXFXnOF+go3QbPbYW
# 1/e/Vwe9mqyhhyzshV6pGrsi+IcaaVQi7aSId229GhT0E0p6Ly23OO/0/4C5+KH3
# 8nLeJLxSA8hO0Cre+i1Wz/n096wwepqLsl7Uz9FDRJtDIeuWcqFItJnLnU+nBgMT
# dydE1Od/6Fmo8L8vC6bp8jQ87PcDx4eo0kxAGTVGamlUsLihVo7spNU96LHc/RzY
# 9HdaXFSMb++hUD38dglohJ9vytsgjTVgHAIDyyCwrFigDkBjxZgiwbJZ9VVrzyer
# bHbObyMt9H5xaiNrIv8SuFQtJ37YOtnwtoeW/VvRXKwYw02fc7cBqZ9Xql4o4rmU
# MYIDdjCCA3ICAQEwdzBjMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQs
# IEluYy4xOzA5BgNVBAMTMkRpZ2lDZXJ0IFRydXN0ZWQgRzQgUlNBNDA5NiBTSEEy
# NTYgVGltZVN0YW1waW5nIENBAhALrma8Wrp/lYfG+ekE4zMEMA0GCWCGSAFlAwQC
# AQUAoIHRMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUx
# DxcNMjQxMTIwMDYwMDMwWjArBgsqhkiG9w0BCRACDDEcMBowGDAWBBTb04XuYtvS
# Pnvk9nFIUIck1YZbRTAvBgkqhkiG9w0BCQQxIgQgF+i+mXe0FLV9ad+njFvP01MC
# kRZWAXEXL4q0dp+E0jEwNwYLKoZIhvcNAQkQAi8xKDAmMCQwIgQgdnafqPJjLx9D
# CzojMK7WVnX+13PbBdZluQWTmEOPmtswDQYJKoZIhvcNAQEBBQAEggIAepk6oro+
# +xlNjh0u9x4oF1E2gj8wQ/P3lezZixMMmw3aGv1MqZ5Ja2hZOjvCnr1Z2UCfKthb
# d++WOQxG1NGdLJ2z0cDuTbL5VJ3SeQaoEsHOl7sXevQAsrWLn7kNpG6qPjHt0FW2
# TMgL4h3Jrc4mrs3dJK5VZ5KWm15ZynnCCyUCyMKl/L5kjSgLUhU0znQIl+LZknee
# CvVniKxOvMF1LfGWbju/VherQQ0Xv5uWwZvjYc6C/dHg64ILBSEwb6ihTtxqR4Q/
# Ohy6Nbw/j1EO964rJHySXvPwVUNVEwEVPq4ZSEuAfHUcYoUI/8boLHCksBAm/LRf
# yAzaDUJyP1P+qKeObDukCFM4OKR+BUw5KqublJ1rS6bG5XAgXvrxhaCsaIBuMS6s
# IYKWzFO6CaAWzGHZgaAQbqLb4ifR199bNYX8pUBjkplRe8/U5f96njoriCT9dylv
# 8F5HAT1PeFre0wicTgh3JqbrV/b5EIuSU1Ch51OeFgeJeJFukLd8L4JKZJgSnCML
# 0PJLbgduBZgHdmQ/zgo31ZvdNwhSX72zMsWFZQjq91rVR47YjdjogwGFU3YGAhu9
# QCUYXzixnvzZo158DjZjDVuaxtU1i9vBxdY+EHw4aUfWLGg00NvtgYqEYheM/Crn
# G8wjygGIMyPQTEA+9WNQII1aj2UonEL0/bU=
# SIG # End signature block