private/ConvertTo-Hashtable.ps1
|
#requires -version 2.0 <# .Synopsis Convert an object into a hashtable. .Description This command will take an object and create a hashtable based on its properties. You can have the hashtable exclude some properties as well as properties that have no value. .Parameter Inputobject A PowerShell object to convert to a hashtable. .Parameter NoEmpty Do not include object properties that have no value. .Parameter Exclude An array of property names to exclude from the hashtable. .Example PS C:\> get-process -id $pid | select name,id,handles,workingset | ConvertTo-HashTable Name Value ---- ----- WorkingSet 418377728 Name powershell_ise Id 3456 Handles 958 .Example PS C:\> $hash = get-service spooler | ConvertTo-Hashtable -Exclude CanStop,CanPauseandContinue -NoEmpty PS C:\> $hash Name Value ---- ----- ServiceType Win32OwnProcess, InteractiveProcess ServiceName spooler ServiceHandle SafeServiceHandle DependentServices {Fax} ServicesDependedOn {RPCSS, http} Name spooler Status Running MachineName . RequiredServices {RPCSS, http} DisplayName Print Spooler This created a hashtable from the Spooler service object, skipping empty properties and excluding CanStop and CanPauseAndContinue. .Notes Version: 2025.1109.2314 Updated: January 17, 2013 Author : Jeffery Hicks (http://jdhitsolutions.com/blog) Read PowerShell: Learn Windows PowerShell 3 in a Month of Lunches Learn PowerShell Toolmaking in a Month of Lunches PowerShell in Depth: An Administrator's Guide "Those who forget to script are doomed to repeat their work." .Link http://jdhitsolutions.com/blog/2013/01/convert-powershell-object-to-hashtable-revised .Link About_Hash_Tables Get-Member .Inputs Object .Outputs hashtable #> function ConvertTo-HashTable { [CmdletBinding()] param( [Parameter(Position = 0, Mandatory = $True, HelpMessage = "Please specify an object", ValueFromPipeline = $True)] [ValidateNotNullorEmpty()] [object]$InputObject, [switch]$NoEmpty, [string[]]$Exclude ) process { #get type using the [Type] class because deserialized objects won't have #a GetType() method which is what we would normally use. $TypeName = [system.type]::GetTypeArray($InputObject).name Write-Verbose "Converting an object of type $TypeName" #get property names using Get-Member $names = $InputObject | Get-Member -MemberType properties | Select-Object -ExpandProperty name #define an empty hash table $hash = [ordered]@{} #go through the list of names and add each property and value to the hash table $names | ForEach-Object { #only add properties that haven't been excluded if ($Exclude -notcontains $_) { #only add if -NoEmpty is not called and property has a value if ($NoEmpty -and -not ($inputobject.$_)) { Write-Verbose "Skipping $_ as empty" } else { $value = $inputobject.$_ # Recursively convert nested PSCustomObjects to hashtables # But preserve arrays and other types as-is if ($null -ne $value -and $value -is [PSCustomObject] -and $value -isnot [System.Array]) { Write-Verbose "Recursively converting nested object: $_" $value = ConvertTo-Hashtable -InputObject $value } elseif ($null -ne $value -and $value -is [System.Array] -and $value -isnot [string]) { # For arrays (but not strings), recursively convert each PSCustomObject element Write-Verbose "Processing array property: $_" $value = @( foreach ($item in $value) { if ($item -is [PSCustomObject]) { ConvertTo-Hashtable -InputObject $item } else { $item } } ) } Write-Verbose "Adding property $_" $hash.Add($_, $value) } } #if exclude notcontains else { Write-Verbose "Excluding $_" } } #foreach Write-Verbose "Writing the result to the pipeline" Write-Output $hash }#close process }#end function # SIG # Begin signature block # MII6wAYJKoZIhvcNAQcCoII6sTCCOq0CAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCB4d4cfKIJzI0A5 # KHKcWup4rXxezcbj0RRoGaPmZB/mIKCCIuQwggXMMIIDtKADAgECAhBUmNLR1FsZ # lUgTecgRwIeZMA0GCSqGSIb3DQEBDAUAMHcxCzAJBgNVBAYTAlVTMR4wHAYDVQQK # ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xSDBGBgNVBAMTP01pY3Jvc29mdCBJZGVu # dGl0eSBWZXJpZmljYXRpb24gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAy # MDAeFw0yMDA0MTYxODM2MTZaFw00NTA0MTYxODQ0NDBaMHcxCzAJBgNVBAYTAlVT # MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xSDBGBgNVBAMTP01pY3Jv # c29mdCBJZGVudGl0eSBWZXJpZmljYXRpb24gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRo # b3JpdHkgMjAyMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALORKgeD # Bmf9np3gx8C3pOZCBH8Ppttf+9Va10Wg+3cL8IDzpm1aTXlT2KCGhFdFIMeiVPvH # or+Kx24186IVxC9O40qFlkkN/76Z2BT2vCcH7kKbK/ULkgbk/WkTZaiRcvKYhOuD # PQ7k13ESSCHLDe32R0m3m/nJxxe2hE//uKya13NnSYXjhr03QNAlhtTetcJtYmrV # qXi8LW9J+eVsFBT9FMfTZRY33stuvF4pjf1imxUs1gXmuYkyM6Nix9fWUmcIxC70 # ViueC4fM7Ke0pqrrBc0ZV6U6CwQnHJFnni1iLS8evtrAIMsEGcoz+4m+mOJyoHI1 # vnnhnINv5G0Xb5DzPQCGdTiO0OBJmrvb0/gwytVXiGhNctO/bX9x2P29Da6SZEi3 # W295JrXNm5UhhNHvDzI9e1eM80UHTHzgXhgONXaLbZ7LNnSrBfjgc10yVpRnlyUK # xjU9lJfnwUSLgP3B+PR0GeUw9gb7IVc+BhyLaxWGJ0l7gpPKWeh1R+g/OPTHU3mg # trTiXFHvvV84wRPmeAyVWi7FQFkozA8kwOy6CXcjmTimthzax7ogttc32H83rwjj # O3HbbnMbfZlysOSGM1l0tRYAe1BtxoYT2v3EOYI9JACaYNq6lMAFUSw0rFCZE4e7 # swWAsk0wAly4JoNdtGNz764jlU9gKL431VulAgMBAAGjVDBSMA4GA1UdDwEB/wQE # AwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTIftJqhSobyhmYBAcnz1AQ # T2ioojAQBgkrBgEEAYI3FQEEAwIBADANBgkqhkiG9w0BAQwFAAOCAgEAr2rd5hnn # LZRDGU7L6VCVZKUDkQKL4jaAOxWiUsIWGbZqWl10QzD0m/9gdAmxIR6QFm3FJI9c # Zohj9E/MffISTEAQiwGf2qnIrvKVG8+dBetJPnSgaFvlVixlHIJ+U9pW2UYXeZJF # xBA2CFIpF8svpvJ+1Gkkih6PsHMNzBxKq7Kq7aeRYwFkIqgyuH4yKLNncy2RtNwx # AQv3Rwqm8ddK7VZgxCwIo3tAsLx0J1KH1r6I3TeKiW5niB31yV2g/rarOoDXGpc8 # FzYiQR6sTdWD5jw4vU8w6VSp07YEwzJ2YbuwGMUrGLPAgNW3lbBeUU0i/OxYqujY # lLSlLu2S3ucYfCFX3VVj979tzR/SpncocMfiWzpbCNJbTsgAlrPhgzavhgplXHT2 # 6ux6anSg8Evu75SjrFDyh+3XOjCDyft9V77l4/hByuVkrrOj7FjshZrM77nq81YY # uVxzmq/FdxeDWds3GhhyVKVB0rYjdaNDmuV3fJZ5t0GNv+zcgKCf0Xd1WF81E+Al # GmcLfc4l+gcK5GEh2NQc5QfGNpn0ltDGFf5Ozdeui53bFv0ExpK91IjmqaOqu/dk # ODtfzAzQNb50GQOmxapMomE2gj4d8yu8l13bS3g7LfU772Aj6PXsCyM2la+YZr9T # 03u4aUoqlmZpxJTG9F9urJh4iIAGXKKy7aIwggcGMIIE7qADAgECAhMzAAfM8rDv # Jyd7QZv4AAAAB8zyMA0GCSqGSIb3DQEBDAUAMFoxCzAJBgNVBAYTAlVTMR4wHAYD # VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKzApBgNVBAMTIk1pY3Jvc29mdCBJ # RCBWZXJpZmllZCBDUyBFT0MgQ0EgMDIwHhcNMjYwNDAyMjE0MTIwWhcNMjYwNDA1 # MjE0MTIwWjCBgzELMAkGA1UEBhMCTkwxFjAUBgNVBAgTDU5vb3JkLUJyYWJhbnQx # EjAQBgNVBAcTCVNjaGlqbmRlbDEjMCEGA1UEChMaSm9obiBCaWxsZWtlbnMgQ29u # c3VsdGFuY3kxIzAhBgNVBAMTGkpvaG4gQmlsbGVrZW5zIENvbnN1bHRhbmN5MIIB # ojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAql2zC5qD+WbLZzawVOEM6hmw # E525pZhueIRBk85Br6ZG8FoUZl7WzaPQV6JlW6kukWABJbvNbIKzQnLhu+SmCtBF # 5OA+rjaAREtoajEbtuL+N7rmNVrPTe7POYz2lgLn3VL/0l+xTMI402gfo/Vvha2H # ItsKRA93A7FHmWxnnhyA7p2ucpLfJNdNoCK1XsB22sNdhTqV8/TWRTuGzYP+FvTp # jhdcq/xyy16jKdwIgNOXCCAU9U4EO1TLR1WTTmxQNOWy5dNdP48HYLiACx/d9Gf1 # EVytoAgxmsNon12TmLU/FW1KUddP91DcbCmvEg0Zmab/UBPg0bRRufv8oGeJqnb9 # bcCUxCH99cPAvIe0MLg4qCtRM80fA36yz4/dfIC7xowKEUxhR7/kWUfg+3mKA2nJ # F6qSv3+llYtt7O6GRPWD40Rk9LGbSQD3+uCuAIBUNqh4Sokq1q+j+8jjU4yBNFBc # tL1HsI6KXgTLWBO81v+mX+Fs62Euo8AfRByW7HhRAgMBAAGjggIZMIICFTAMBgNV # HRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDA8BgNVHSUENTAzBgorBgEEAYI3YQEA # BggrBgEFBQcDAwYbKwYBBAGCN2G789NTgYr4ukmC0/31KIOytcN0MB0GA1UdDgQW # BBQKkf4WVoYJs/qIk34nGHoMkkbjSzAfBgNVHSMEGDAWgBRln1HOhWh/L4pFiKrd # pzG7Hg0AXjBnBgNVHR8EYDBeMFygWqBYhlZodHRwOi8vd3d3Lm1pY3Jvc29mdC5j # b20vcGtpb3BzL2NybC9NaWNyb3NvZnQlMjBJRCUyMFZlcmlmaWVkJTIwQ1MlMjBF # T0MlMjBDQSUyMDAyLmNybDCBpQYIKwYBBQUHAQEEgZgwgZUwZAYIKwYBBQUHMAKG # WGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMvTWljcm9zb2Z0 # JTIwSUQlMjBWZXJpZmllZCUyMENTJTIwRU9DJTIwQ0ElMjAwMi5jcnQwLQYIKwYB # BQUHMAGGIWh0dHA6Ly9vbmVvY3NwLm1pY3Jvc29mdC5jb20vb2NzcDBmBgNVHSAE # XzBdMFEGDCsGAQQBgjdMg30BATBBMD8GCCsGAQUFBwIBFjNodHRwOi8vd3d3Lm1p # Y3Jvc29mdC5jb20vcGtpb3BzL0RvY3MvUmVwb3NpdG9yeS5odG0wCAYGZ4EMAQQB # MA0GCSqGSIb3DQEBDAUAA4ICAQC74nf6TvL5WCfrJh27QL0oRpanrcasjQ1NTjWc # SfyFdOv0IxPLaTcDfmin4wwOwgESPhnSPNWDwFf7tatAOG6pTL4MG2Op+izJPbGa # ap0Hht3E0qTTsgaoxC2CEgnfeInM2SCKIbf7ymTd76TfqQSDUQdz25Z343yKOPLT # 5WI/krGe4zCQh+ObMqhTfRTi31YQa+k9fRCALCGcVuu6nrfEC36y5zh8OmxbmawY # L/CgWg2V5OYx5EA3WXgFnJbgrt3YpL6rxNKcFTvqmqEkc5X1g6CucGXLkAH1x2CC # HoPQ/D5212vdFoPXLhHjASEbIi5VyzA77rFJF1ahcWO+pHI5YyQ4pvVrPCQ2im1D # vsihP12hTrlHxdSQnB57pBvKHPRyZdKIxl0eurYdsNIqdspSi0VuWbLB+xUwJhZf # cSmFBg9uIGVrQrt9MHAKzmcSAJQJn70BmaMmOgR5JbYsDOU4TIRg0p7h5XKWTvso # 1wGR/Ondg7CdFb68kfjNhUAZtCUNd4HdxcgVqkeaLV6teIpNChYu2EUuzOAG7P1V # hdz3fhn6WoKU6Yaj6mkIPOcBBJzM3ecoriYrrg2GQePxgWJltU6+zwA2PRrqzUzJ # Brkln75enYK+/KjaCrNE98LiX2/aHHkFDCxd2fwl47iSkdSR57klynfkL+28Lf2e # WhjDFzCCBwYwggTuoAMCAQICEzMAB8zysO8nJ3tBm/gAAAAHzPIwDQYJKoZIhvcN # AQEMBQAwWjELMAkGA1UEBhMCVVMxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh # dGlvbjErMCkGA1UEAxMiTWljcm9zb2Z0IElEIFZlcmlmaWVkIENTIEVPQyBDQSAw # MjAeFw0yNjA0MDIyMTQxMjBaFw0yNjA0MDUyMTQxMjBaMIGDMQswCQYDVQQGEwJO # TDEWMBQGA1UECBMNTm9vcmQtQnJhYmFudDESMBAGA1UEBxMJU2NoaWpuZGVsMSMw # IQYDVQQKExpKb2huIEJpbGxla2VucyBDb25zdWx0YW5jeTEjMCEGA1UEAxMaSm9o # biBCaWxsZWtlbnMgQ29uc3VsdGFuY3kwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAw # ggGKAoIBgQCqXbMLmoP5ZstnNrBU4QzqGbATnbmlmG54hEGTzkGvpkbwWhRmXtbN # o9BXomVbqS6RYAElu81sgrNCcuG75KYK0EXk4D6uNoBES2hqMRu24v43uuY1Ws9N # 7s85jPaWAufdUv/SX7FMwjjTaB+j9W+FrYci2wpED3cDsUeZbGeeHIDuna5ykt8k # 102gIrVewHbaw12FOpXz9NZFO4bNg/4W9OmOF1yr/HLLXqMp3AiA05cIIBT1TgQ7 # VMtHVZNObFA05bLl010/jwdguIALH930Z/URXK2gCDGaw2ifXZOYtT8VbUpR10/3 # UNxsKa8SDRmZpv9QE+DRtFG5+/ygZ4mqdv1twJTEIf31w8C8h7QwuDioK1EzzR8D # frLPj918gLvGjAoRTGFHv+RZR+D7eYoDackXqpK/f6WVi23s7oZE9YPjRGT0sZtJ # APf64K4AgFQ2qHhKiSrWr6P7yONTjIE0UFy0vUewjopeBMtYE7zW/6Zf4WzrYS6j # wB9EHJbseFECAwEAAaOCAhkwggIVMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQD # AgeAMDwGA1UdJQQ1MDMGCisGAQQBgjdhAQAGCCsGAQUFBwMDBhsrBgEEAYI3Ybvz # 01OBivi6SYLT/fUog7K1w3QwHQYDVR0OBBYEFAqR/hZWhgmz+oiTficYegySRuNL # MB8GA1UdIwQYMBaAFGWfUc6FaH8vikWIqt2nMbseDQBeMGcGA1UdHwRgMF4wXKBa # oFiGVmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29m # dCUyMElEJTIwVmVyaWZpZWQlMjBDUyUyMEVPQyUyMENBJTIwMDIuY3JsMIGlBggr # BgEFBQcBAQSBmDCBlTBkBggrBgEFBQcwAoZYaHR0cDovL3d3dy5taWNyb3NvZnQu # Y29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBJRCUyMFZlcmlmaWVkJTIwQ1Ml # MjBFT0MlMjBDQSUyMDAyLmNydDAtBggrBgEFBQcwAYYhaHR0cDovL29uZW9jc3Au # bWljcm9zb2Z0LmNvbS9vY3NwMGYGA1UdIARfMF0wUQYMKwYBBAGCN0yDfQEBMEEw # PwYIKwYBBQUHAgEWM2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9j # cy9SZXBvc2l0b3J5Lmh0bTAIBgZngQwBBAEwDQYJKoZIhvcNAQEMBQADggIBALvi # d/pO8vlYJ+smHbtAvShGlqetxqyNDU1ONZxJ/IV06/QjE8tpNwN+aKfjDA7CARI+ # GdI81YPAV/u1q0A4bqlMvgwbY6n6LMk9sZpqnQeG3cTSpNOyBqjELYISCd94iczZ # IIoht/vKZN3vpN+pBINRB3PblnfjfIo48tPlYj+SsZ7jMJCH45syqFN9FOLfVhBr # 6T19EIAsIZxW67qet8QLfrLnOHw6bFuZrBgv8KBaDZXk5jHkQDdZeAWcluCu3dik # vqvE0pwVO+qaoSRzlfWDoK5wZcuQAfXHYIIeg9D8PnbXa90Wg9cuEeMBIRsiLlXL # MDvusUkXVqFxY76kcjljJDim9Ws8JDaKbUO+yKE/XaFOuUfF1JCcHnukG8oc9HJl # 0ojGXR66th2w0ip2ylKLRW5ZssH7FTAmFl9xKYUGD24gZWtCu30wcArOZxIAlAmf # vQGZoyY6BHkltiwM5ThMhGDSnuHlcpZO+yjXAZH86d2DsJ0VvryR+M2FQBm0JQ13 # gd3FyBWqR5otXq14ik0KFi7YRS7M4Abs/VWF3Pd+GfpagpTphqPqaQg85wEEnMzd # 5yiuJiuuDYZB4/GBYmW1Tr7PADY9GurNTMkGuSWfvl6dgr78qNoKs0T3wuJfb9oc # eQUMLF3Z/CXjuJKR1JHnuSXKd+Qv7bwt/Z5aGMMXMIIHWjCCBUKgAwIBAgITMwAA # AAX7elwyE2HfXQAAAAAABTANBgkqhkiG9w0BAQwFADBjMQswCQYDVQQGEwJVUzEe # MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTQwMgYDVQQDEytNaWNyb3Nv # ZnQgSUQgVmVyaWZpZWQgQ29kZSBTaWduaW5nIFBDQSAyMDIxMB4XDTIxMDQxMzE3 # MzE1M1oXDTI2MDQxMzE3MzE1M1owWjELMAkGA1UEBhMCVVMxHjAcBgNVBAoTFU1p # Y3Jvc29mdCBDb3Jwb3JhdGlvbjErMCkGA1UEAxMiTWljcm9zb2Z0IElEIFZlcmlm # aWVkIENTIEVPQyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB # ANIamXw/MpCkwOgg21r7IZgaQ6AX+y79d9kVbkqlcEDt2gCy5LkZ50yKEZjBqNHy # DEK7cEelBwdOsXajpAH6gensbm10x7uOPnbh1AnROJ4IxCwUMpbjLkjpx2hHb3iG # 7d9ToTBF/+J0JKYePgIdHkeB9rE0a1Spiq5TqEJYYmu90INnR6IrXF9bk9b1typ6 # bfTLe+h+2R2yzbKTGS5FgWmyjJegXWlmV2KTxnUvqmPNIA2jQrxatHddFDLu8R3r # CKl6Uw090NwHjsUspUk3P++D96IPY9zrnphBWrhcy+ebdTL6WnRIUJg/LhTMRb/4 # mTo8L3HWNc4Wp1Sy8qZc9d/zc0qFN0I4T3agBoUSMIf2A86N4wnVSYFkEa1vNz96 # lhRZMTYjBNojuCLmII+0cLHhsL+yPXMTsmh4oSjHU/TXqEo6Ujc1ZyihnGDLTnTL # ShaqFewoptpvOBpiGGUwaK0fz6PYsJWrE2ChaRmanVismJyTthVfKDJlpCCtYmoC # y4BLemWkdK5P9Y1GLLMk4kalq/OELN1y/1eSlARLVBEH0P+EbZyNPbhRVCBiWVfZ # g/8TlJLFqHRqwkEnpuh8tutcTCQB6k6jLgyoMIvMZP5n5a+8oVzy+90jlC5rtQKr # uCOxqXukMDVtk7UAcTN77Uk5nT1uqyuctIBA+dUY7MitAgMBAAGjggIOMIICCjAO # BgNVHQ8BAf8EBAMCAYYwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFGWfUc6F # aH8vikWIqt2nMbseDQBeMFQGA1UdIARNMEswSQYEVR0gADBBMD8GCCsGAQUFBwIB # FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL0RvY3MvUmVwb3NpdG9y # eS5odG0wGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwEgYDVR0TAQH/BAgwBgEB # /wIBADAfBgNVHSMEGDAWgBTZQSmwDw9jbO9p1/XNKZ6kSGow5jBwBgNVHR8EaTBn # MGWgY6Bhhl9odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNy # b3NvZnQlMjBJRCUyMFZlcmlmaWVkJTIwQ29kZSUyMFNpZ25pbmclMjBQQ0ElMjAy # MDIxLmNybDCBrgYIKwYBBQUHAQEEgaEwgZ4wbQYIKwYBBQUHMAKGYWh0dHA6Ly93 # d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMvTWljcm9zb2Z0JTIwSUQlMjBW # ZXJpZmllZCUyMENvZGUlMjBTaWduaW5nJTIwUENBJTIwMjAyMS5jcnQwLQYIKwYB # BQUHMAGGIWh0dHA6Ly9vbmVvY3NwLm1pY3Jvc29mdC5jb20vb2NzcDANBgkqhkiG # 9w0BAQwFAAOCAgEARUlg1HdPF+IOR871X6wdUolfKZOlzx0/Yz5Apr1P7rwc5mUQ # I2JNoCmEd6V6ErUSWif5YYwuQ6v9kez9WEWRwg2MitM70kTHROmELYBo5rHYcw9J # wkuoVVXIH5jULHDydVh8W7xuREIGENGRA9RTdDDj0M1ntc2x+VWtHUsbZ6HQVUY5 # 8g2BJu7DRHLyR0xt3l8wMndNBOSgwrBJeM+TtJr16sGh9j0tNtNBOj+Fqi8ILPzZ # lLufgGvC8P9hJ9lZCFuz5Iq+FJ9YxuvrY/3obqoBclDzwoepG575OPG4rIv8z4wF # ZI+6hK6+30mCAgsyeLOGFDVVR4HaBZ9sW1u2XwU90APc34avbuBMV261Q+a8V0kx # RFINoM0KvSR8bHR8jH3AiixUDlzg0s3GHi6Qnfq+hnKAwU6Mj3SnHIwupgKuvv4Y # jA56bylCB6cmBM1lHmrbcil7TH/kKyXkPp8uYwS/sanTjjxM93YO6p/P6Ka1K1Gx # iwb/X1ptfH1l3QL9TwrSy/2nDC7R6MnklTCkGKgx290JtLkPjUNGBOJFMUkGvlv3 # As2ACN9rjdJ2/TODK9aY+GyWYnTZDOCcmKns6ISC8WJIB226CUCEq0Fq5uUWHcoS # gaabSfSSZ9Gety43Z85TlMY5bAG0Iq9lps/ziRO9NwWx5kGUcMz8db7u0ucwggee # MIIFhqADAgECAhMzAAAAB4ejNKN7pY4cAAAAAAAHMA0GCSqGSIb3DQEBDAUAMHcx # CzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xSDBG # BgNVBAMTP01pY3Jvc29mdCBJZGVudGl0eSBWZXJpZmljYXRpb24gUm9vdCBDZXJ0 # aWZpY2F0ZSBBdXRob3JpdHkgMjAyMDAeFw0yMTA0MDEyMDA1MjBaFw0zNjA0MDEy # MDE1MjBaMGMxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y # YXRpb24xNDAyBgNVBAMTK01pY3Jvc29mdCBJRCBWZXJpZmllZCBDb2RlIFNpZ25p # bmcgUENBIDIwMjEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCy8MCv # GYgo4t1UekxJbGkIVQm0Uv96SvjB6yUo92cXdylN65Xy96q2YpWCiTas7QPTkGnK # 9QMKDXB2ygS27EAIQZyAd+M8X+dmw6SDtzSZXyGkxP8a8Hi6EO9Zcwh5A+wOALNQ # bNO+iLvpgOnEM7GGB/wm5dYnMEOguua1OFfTUITVMIK8faxkP/4fPdEPCXYyy8NJ # 1fmskNhW5HduNqPZB/NkWbB9xxMqowAeWvPgHtpzyD3PLGVOmRO4ka0WcsEZqyg6 # efk3JiV/TEX39uNVGjgbODZhzspHvKFNU2K5MYfmHh4H1qObU4JKEjKGsqqA6Rzi # ybPqhvE74fEp4n1tiY9/ootdU0vPxRp4BGjQFq28nzawuvaCqUUF2PWxh+o5/TRC # b/cHhcYU8Mr8fTiS15kRmwFFzdVPZ3+JV3s5MulIf3II5FXeghlAH9CvicPhhP+V # aSFW3Da/azROdEm5sv+EUwhBrzqtxoYyE2wmuHKws00x4GGIx7NTWznOm6x/niqV # i7a/mxnnMvQq8EMse0vwX2CfqM7Le/smbRtsEeOtbnJBbtLfoAsC3TdAOnBbUkbU # fG78VRclsE7YDDBUbgWt75lDk53yi7C3n0WkHFU4EZ83i83abd9nHWCqfnYa9qIH # PqjOiuAgSOf4+FRcguEBXlD9mAInS7b6V0UaNwIDAQABo4ICNTCCAjEwDgYDVR0P # AQH/BAQDAgGGMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBTZQSmwDw9jbO9p # 1/XNKZ6kSGow5jBUBgNVHSAETTBLMEkGBFUdIAAwQTA/BggrBgEFBQcCARYzaHR0 # cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRt # MBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMA8GA1UdEwEB/wQFMAMBAf8wHwYD # VR0jBBgwFoAUyH7SaoUqG8oZmAQHJ89QEE9oqKIwgYQGA1UdHwR9MHsweaB3oHWG # c2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29mdCUy # MElkZW50aXR5JTIwVmVyaWZpY2F0aW9uJTIwUm9vdCUyMENlcnRpZmljYXRlJTIw # QXV0aG9yaXR5JTIwMjAyMC5jcmwwgcMGCCsGAQUFBwEBBIG2MIGzMIGBBggrBgEF # BQcwAoZ1aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNy # b3NvZnQlMjBJZGVudGl0eSUyMFZlcmlmaWNhdGlvbiUyMFJvb3QlMjBDZXJ0aWZp # Y2F0ZSUyMEF1dGhvcml0eSUyMDIwMjAuY3J0MC0GCCsGAQUFBzABhiFodHRwOi8v # b25lb2NzcC5taWNyb3NvZnQuY29tL29jc3AwDQYJKoZIhvcNAQEMBQADggIBAH8l # Kp7+1Kvq3WYK21cjTLpebJDjW4ZbOX3HD5ZiG84vjsFXT0OB+eb+1TiJ55ns0BHl # uC6itMI2vnwc5wDW1ywdCq3TAmx0KWy7xulAP179qX6VSBNQkRXzReFyjvF2BGt6 # FvKFR/imR4CEESMAG8hSkPYso+GjlngM8JPn/ROUrTaeU/BRu/1RFESFVgK2wMz7 # fU4VTd8NXwGZBe/mFPZG6tWwkdmA/jLbp0kNUX7elxu2+HtHo0QO5gdiKF+YTYd1 # BGrmNG8sTURvn09jAhIUJfYNotn7OlThtfQjXqe0qrimgY4Vpoq2MgDW9ESUi1o4 # pzC1zTgIGtdJ/IvY6nqa80jFOTg5qzAiRNdsUvzVkoYP7bi4wLCj+ks2GftUct+f # GUxXMdBUv5sdr0qFPLPB0b8vq516slCfRwaktAxK1S40MCvFbbAXXpAZnU20FaAo # Dwqq/jwzwd8Wo2J83r7O3onQbDO9TyDStgaBNlHzMMQgl95nHBYMelLEHkUnVVVT # UsgC0Huj09duNfMaJ9ogxhPNThgq3i8w3DAGZ61AMeF0C1M+mU5eucj1Ijod5O2M # MPeJQ3/vKBtqGZg4eTtUHt/BPjN74SsJsyHqAdXVS5c+ItyKWg3Eforhox9k3Wgt # WTpgV4gkSiS4+A09roSdOI4vrRw+p+fL4WrxSK5nMYIXMjCCFy4CAQEwcTBaMQsw # CQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSswKQYD # VQQDEyJNaWNyb3NvZnQgSUQgVmVyaWZpZWQgQ1MgRU9DIENBIDAyAhMzAAfM8rDv # Jyd7QZv4AAAAB8zyMA0GCWCGSAFlAwQCAQUAoF4wEAYKKwYBBAGCNwIBDDECMAAw # GQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwLwYJKoZIhvcNAQkEMSIEINBRqTlp # 3hbayxIlDDvvOPrPoPsAQ3a4vdV1Eu/MQkEtMA0GCSqGSIb3DQEBAQUABIIBgGF7 # EM0C3Lv0oXmH39TsZiVd36/Tu18yI0lHuZawya63H+mVj5fzmyQJ2CvyUQNlY/tc # rAoELAxcnxT2gPzPn4rbBzBpBuDre43PU+Db+lnH10ZsTHYhDUiGAutw1jKSM9aB # Hg5+Vt76TmYeGsHS1q8y/Y9iP+l3U3U2pufyw2/MD9wbSaNSA/+FoAhyJWiI7oSw # W+eivLgSrn5E5sjo0S3IkbRd88L2FJGJLq7RuIZHTBmPxgA90fGBg3O0WPzY2Mb2 # R1BaDmEd1Xyfx/n/RbUgPNjNGDO17GwwifLYjYOwJe/zPxJTbTSbrSJhzOR3Tw6n # T8J8D3RFRr9i31lChdMcEk5JMGI87bIO7Mz7wt5lEO4m1yi547r6rI4LIO8rZeUj # gAM6pTlGJOA19N9F29kCgmPP2X5TwbCUk26W9M3ex/kfz1GYw4eYbYN9FO1rk/Ry # Iv6J9IwNOGqiZjFoXX1cFT6/PjSMaBA/60uIkbOQ2IINO6Bkp/umUv2YrbrApKGC # FLIwghSuBgorBgEEAYI3AwMBMYIUnjCCFJoGCSqGSIb3DQEHAqCCFIswghSHAgED # MQ8wDQYJYIZIAWUDBAIBBQAwggFqBgsqhkiG9w0BCRABBKCCAVkEggFVMIIBUQIB # AQYKKwYBBAGEWQoDATAxMA0GCWCGSAFlAwQCAQUABCC5uo7R4bapRyISYtZfT4Au # gjyJN3Owygbe3b5nibBi/AIGacZiJ71FGBMyMDI2MDQwMzE0MjkzOC4yNzZaMASA # AgH0oIHppIHmMIHjMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ # MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u # MS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQx # JzAlBgNVBAsTHm5TaGllbGQgVFNTIEVTTjo0OTFBLTA1RTAtRDk0NzE1MDMGA1UE # AxMsTWljcm9zb2Z0IFB1YmxpYyBSU0EgVGltZSBTdGFtcGluZyBBdXRob3JpdHmg # gg8pMIIHgjCCBWqgAwIBAgITMwAAAAXlzw//Zi7JhwAAAAAABTANBgkqhkiG9w0B # AQwFADB3MQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0 # aW9uMUgwRgYDVQQDEz9NaWNyb3NvZnQgSWRlbnRpdHkgVmVyaWZpY2F0aW9uIFJv # b3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMjAwHhcNMjAxMTE5MjAzMjMxWhcN # MzUxMTE5MjA0MjMxWjBhMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0 # IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUHVibGljIFJTQSBUaW1l # c3RhbXBpbmcgQ0EgMjAyMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB # AJ5851Jj/eDFnwV9Y7UGIqMcHtfnlzPREwW9ZUZHd5HBXXBvf7KrQ5cMSqFSHGqg # 2/qJhYqOQxwuEQXG8kB41wsDJP5d0zmLYKAY8Zxv3lYkuLDsfMuIEqvGYOPURAH+ # Ybl4SJEESnt0MbPEoKdNihwM5xGv0rGofJ1qOYSTNcc55EbBT7uq3wx3mXhtVmtc # CEr5ZKTkKKE1CxZvNPWdGWJUPC6e4uRfWHIhZcgCsJ+sozf5EeH5KrlFnxpjKKTa # vwfFP6XaGZGWUG8TZaiTogRoAlqcevbiqioUz1Yt4FRK53P6ovnUfANjIgM9JDdJ # 4e0qiDRm5sOTiEQtBLGd9Vhd1MadxoGcHrRCsS5rO9yhv2fjJHrmlQ0EIXmp4DhD # BieKUGR+eZ4CNE3ctW4uvSDQVeSp9h1SaPV8UWEfyTxgGjOsRpeexIveR1MPTVf7 # gt8hY64XNPO6iyUGsEgt8c2PxF87E+CO7A28TpjNq5eLiiunhKbq0XbjkNoU5Jht # YUrlmAbpxRjb9tSreDdtACpm3rkpxp7AQndnI0Shu/fk1/rE3oWsDqMX3jjv40e8 # KN5YsJBnczyWB4JyeeFMW3JBfdeAKhzohFe8U5w9WuvcP1E8cIxLoKSDzCCBOu0h # WdjzKNu8Y5SwB1lt5dQhABYyzR3dxEO/T1K/BVF3rV69AgMBAAGjggIbMIICFzAO # BgNVHQ8BAf8EBAMCAYYwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFGtpKDo1 # L0hjQM972K9J6T7ZPdshMFQGA1UdIARNMEswSQYEVR0gADBBMD8GCCsGAQUFBwIB # FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL0RvY3MvUmVwb3NpdG9y # eS5odG0wEwYDVR0lBAwwCgYIKwYBBQUHAwgwGQYJKwYBBAGCNxQCBAweCgBTAHUA # YgBDAEEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTIftJqhSobyhmYBAcn # z1AQT2ioojCBhAYDVR0fBH0wezB5oHegdYZzaHR0cDovL3d3dy5taWNyb3NvZnQu # Y29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwSWRlbnRpdHklMjBWZXJpZmljYXRp # b24lMjBSb290JTIwQ2VydGlmaWNhdGUlMjBBdXRob3JpdHklMjAyMDIwLmNybDCB # lAYIKwYBBQUHAQEEgYcwgYQwgYEGCCsGAQUFBzAChnVodHRwOi8vd3d3Lm1pY3Jv # c29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMElkZW50aXR5JTIwVmVy # aWZpY2F0aW9uJTIwUm9vdCUyMENlcnRpZmljYXRlJTIwQXV0aG9yaXR5JTIwMjAy # MC5jcnQwDQYJKoZIhvcNAQEMBQADggIBAF+Idsd+bbVaFXXnTHho+k7h2ESZJRWl # uLE0Oa/pO+4ge/XEizXvhs0Y7+KVYyb4nHlugBesnFqBGEdC2IWmtKMyS1OWIviw # pnK3aL5JedwzbeBF7POyg6IGG/XhhJ3UqWeWTO+Czb1c2NP5zyEh89F72u9UIw+I # fvM9lzDmc2O2END7MPnrcjWdQnrLn1Ntday7JSyrDvBdmgbNnCKNZPmhzoa8PccO # iQljjTW6GePe5sGFuRHzdFt8y+bN2neF7Zu8hTO1I64XNGqst8S+w+RUdie8fXC1 # jKu3m9KGIqF4aldrYBamyh3g4nJPj/LR2CBaLyD+2BuGZCVmoNR/dSpRCxlot0i7 # 9dKOChmoONqbMI8m04uLaEHAv4qwKHQ1vBzbV/nG89LDKbRSSvijmwJwxRxLLpMQ # /u4xXxFfR4f/gksSkbJp7oqLwliDm/h+w0aJ/U5ccnYhYb7vPKNMN+SZDWycU5OD # IRfyoGl59BsXR/HpRGtiJquOYGmvA/pk5vC1lcnbeMrcWD/26ozePQ/TWfNXKBOm # kFpvPE8CH+EeGGWzqTCjdAsno2jzTeNSxlx3glDGJgcdz5D/AAxw9Sdgq/+rY7jj # gs7X6fqPTXPmaCAJKVHAP19oEjJIBwD1LyHbaEgBxFCogYSOiUIr0Xqcr1nJfiWG # 2GwYe6ZoAF1bMIIHnzCCBYegAwIBAgITMwAAAFr2DWeMhe3dCAAAAAAAWjANBgkq # hkiG9w0BAQwFADBhMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENv # cnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUHVibGljIFJTQSBUaW1lc3Rh # bXBpbmcgQ0EgMjAyMDAeFw0yNjAxMDgxODU5MDNaFw0yNzAxMDcxODU5MDNaMIHj # MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk # bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRN # aWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJzAlBgNVBAsTHm5T # aGllbGQgVFNTIEVTTjo0OTFBLTA1RTAtRDk0NzE1MDMGA1UEAxMsTWljcm9zb2Z0 # IFB1YmxpYyBSU0EgVGltZSBTdGFtcGluZyBBdXRob3JpdHkwggIiMA0GCSqGSIb3 # DQEBAQUAA4ICDwAwggIKAoICAQDv9DtHlo4FG/a5x3EC0XX1jzeB/vdWt2J5Wj+O # hNZuLg/iSsenLFjErV+/X8SyVAKhyakFhNfVJTTIUvYxAd9nQCeMrlrB8lLjPnaY # Yw8+BOY5eIGBmRJmjqyrzbfiqpRWssoP6E4NwZS0buGgavOuvAOapR3H7Loeg3Uq # hSA9YsSRWcx62RRtYhgRu1NQZ9jjSw6O428F+azHD3bkwFMP3OzN1oUsUAbmaUIs # /EUBiiKginyMYEJCnc6QqVNElkDhPw4E12893NeSjEQnZBpS9s2/pZ7kleLLHkJt # 6n5WYmXJC8p9sSSPGVw5KviIPm/67DzyHyPHYttvFrytY+uyV6cnlQmklDvRK85S # 506540JHl1UCKe98blQVa5r6E3/7+GuzJ65riksiF3ObyVBxBgd+OfjvKJhbdcPG # /l4PQ/TyiEagzxL+x0ZNAvmL8bvBbxyb0qHEiGSvr/xZihToqWJ6T++sgJiTZ8oX # rnEoToJPEIlOd1Ep//gMjG+8VvdOYGZ8jam9vR3lXUNe+aQxyRhM/AsecIh3lZYh # s+YQAbnBQ8pUfc9y0k5gevt2biMXhvQWUuOj+gDT5Llbg+ZvMIHOxiy84O9wrAxd # PbpLfFH/HU3DAV966Pu/5PTOl7fFjxuyC/b/+A78jGNN7ZG/WPUYuh1mr10T2EQl # Hj7KTwIDAQABo4IByzCCAccwHQYDVR0OBBYEFI5jskOrcDHD9WW0crScSOH515nC # MB8GA1UdIwQYMBaAFGtpKDo1L0hjQM972K9J6T7ZPdshMGwGA1UdHwRlMGMwYaBf # oF2GW2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29m # dCUyMFB1YmxpYyUyMFJTQSUyMFRpbWVzdGFtcGluZyUyMENBJTIwMjAyMC5jcmww # eQYIKwYBBQUHAQEEbTBrMGkGCCsGAQUFBzAChl1odHRwOi8vd3d3Lm1pY3Jvc29m # dC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFB1YmxpYyUyMFJTQSUyMFRp # bWVzdGFtcGluZyUyMENBJTIwMjAyMC5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUB # Af8EDDAKBggrBgEFBQcDCDAOBgNVHQ8BAf8EBAMCB4AwZgYDVR0gBF8wXTBRBgwr # BgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQu # Y29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRtMAgGBmeBDAEEAjANBgkqhkiG # 9w0BAQwFAAOCAgEAgJTPK/rd4SG9odZQ0wMfomJEJcRblO0DjXsiBSAWdvcbxpfK # XoSsRKw8yJ4jqSF/3pblAMECqGiNM8LigHUdJq0h1wp4jKCzZKOVvua+7FzWpil+ # 0DFdwXxjl94IvalX8clHuwB126kPCgUBzWApzRbUEB4AEa5WIbcgCqJeXLTNAgHP # 8t6GO20zLFSb5wObuw1Vj3l6Ek9ihDA3iwbyWKtCCWesjKQzli2eFD/Nm5LMkoSA # f13WsIqyBi3bHrna8kcVTJN9d5gHIxkW+ffiLbbeqLVb2EFqh/jxq01MxHHs/GkL # jt7pqDWYyrhaF+VbDz/4EmbHvqK4Rt832ZPSA8hNw31Ba4b5L+h9LYoytQ9LiBoc # DAVkpvZLUOqHlPmrq2RcdzCPizg5x7G0RWQMtdbjL8CqvmTQtUnuLSDNbvaYlgIZ # 0z6IeplCyopBzlYR2jved7ZMwwrY7LHuRlCjsfcoPZ6hyljIJzg6etv7jz8wv8gx # CEq1wnFO1Ae7QE6981jRHbTOHdNPYl1iOnVf0nXCCF+OK6aC8gi8Pp148afn2P3c # oCzu1HUkGlWlBVY9ytp1crroz7KbeS7p3ORb7mD6pov8/JAEppsG4hfltD9FE1hW # gvODFn1NoejA4ObNKMZnTRSu+o1698GX3UqFexQin6uRnXhqMuVMA0MDAtAxggPU # MIID0AIBATB4MGExCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y # cG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBQdWJsaWMgUlNBIFRpbWVzdGFt # cGluZyBDQSAyMDIwAhMzAAAAWvYNZ4yF7d0IAAAAAABaMA0GCWCGSAFlAwQCAQUA # oIIBLTAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwLwYJKoZIhvcNAQkEMSIE # IIT0Q3UktuJFoK14yhD00PQXBEjfadgq2FLkFF8wvktUMIHdBgsqhkiG9w0BCRAC # LzGBzTCByjCBxzCBoAQgYrlkQIvqfej0bAbd08Ft4zaM4D0EvkHKNQlZvzWlNEMw # fDBlpGMwYTELMAkGA1UEBhMCVVMxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh # dGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFB1YmxpYyBSU0EgVGltZXN0YW1waW5n # IENBIDIwMjACEzMAAABa9g1njIXt3QgAAAAAAFowIgQgLNMIQSDGK2gdyNks6b3E # Jz4QWwB3kkkMWT7WjfV0dnEwDQYJKoZIhvcNAQELBQAEggIA008TnYj1GvKiindy # T7f3QvIaQGVCggCDYmw5psadwgwmM/cwUhdyIEd0Or52JGDt99gjW1jCjQAcl5Oj # 3kRK7j+BaGYO6ry7WvRmhFPBHeSP1NDPtLPpqraYlsniYZmI9yrLIj+7FeMRagyl # yHoOcJxignpR9UrA+s23BDunip1R2XMb/8Yn8pkYc/Phwgkrivl6JnlXsZyuwU7L # ejN+SDkNXYQyb+dB3uySQHdEfwZF6/x4MZ6VzxVrO8Z1ghJ+y3du79OPFeGyNb4t # v0eNXjGBuMqxO7ykOFcDmXzw2bNp7YGy4Rhcy1PVCgwwuiu7dpfjRYNlOtfrYfV3 # YD10CZ7dMweIe1cWhZ+EAbbck8Utus06qfppzDlLfr8Wfa7erR6N/tubjkpJn+kz # zZlv66ZUJLNyvNekxqox5FEQvrz/cTeMClyq0EVGZ+RmdOXRw4PSJ7wXXbIK8yC1 # sJR5Ymu7WIFO03ia6hqwL21Bw8n3/M5M3ZDoU75FyCutxAt8c/zq/iL6IBQU26on # 2ZooJmmvq8pstQmTcORyAOfC6FLQaCadeHhh5uRwK+Ja78xpsgpPcDUyQtm+8Ox0 # glixdS3TdzhgXdyzBK1nMbULy/3YwrMaIG1NRTWXKr6UkDrdgCW3mktG9+W34m4J # 2w11FjKtT5N0pwM0AObsC/dP9oU= # SIG # End signature block |