Private/Discovery/Discover-VirtualWan.ps1
|
Set-StrictMode -Version Latest function Invoke-AzNetVirtualWanDiscovery { [CmdletBinding()] [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSReviewUnusedParameter', 'CacheMode', Justification = 'Accepted for uniform discovery-dispatch signature.')] param( [Parameter(Mandatory)][object]$Graph, [Parameter(Mandatory)][object]$Store, [Parameter(Mandatory)][object]$RunContext, [Parameter(Mandatory)][string]$SubscriptionId, [Parameter(Mandatory)][string]$SubscriptionNodeId, [string]$ResourceGroupName, [string]$CacheMode = 'UseCache' ) $filter = @{} if ($ResourceGroupName) { $filter.ResourceGroupName = $ResourceGroupName } $wans = Invoke-AzCall -Step 'VirtualWan' -SubscriptionId $SubscriptionId -RunContext $RunContext -Action { @(Get-AzVirtualWan @filter -ErrorAction Stop) } if ($wans) { foreach ($wan in $wans) { $raw = ConvertTo-AzNetRawBody -Object $wan Set-AzNetCacheEntry -Store $Store -ResourceId $wan.Id -SubscriptionId $SubscriptionId ` -ResourceType 'Microsoft.Network/virtualWans' -Location $wan.Location -Body $raw Add-AzNetNode -Graph $Graph -Id $wan.Id -Type VirtualWan -Name $wan.Name ` -Location $wan.Location -SubscriptionId $SubscriptionId ` -ResourceGroup $wan.ResourceGroupName -RawBody $raw -Properties @{ AllowBranchToBranchTraffic = if ($wan.PSObject.Properties.Name -contains 'AllowBranchToBranchTraffic') { [bool]$wan.AllowBranchToBranchTraffic } else { $null } Type = if ($wan.PSObject.Properties.Name -contains 'VirtualWANType') { [string]$wan.VirtualWANType } else { $null } } | Out-Null Add-AzNetEdge -Graph $Graph -From $SubscriptionNodeId -To $wan.Id -Kind contains | Out-Null } } $hubs = Invoke-AzCall -Step 'VirtualHubs' -SubscriptionId $SubscriptionId -RunContext $RunContext -Action { @(Get-AzVirtualHub @filter -ErrorAction Stop) } if (-not $hubs) { return } foreach ($hub in $hubs) { $raw = ConvertTo-AzNetRawBody -Object $hub Set-AzNetCacheEntry -Store $Store -ResourceId $hub.Id -SubscriptionId $SubscriptionId ` -ResourceType 'Microsoft.Network/virtualHubs' -Location $hub.Location -Body $raw $prefix = '' if ($hub.PSObject.Properties.Name -contains 'AddressPrefix' -and $hub.AddressPrefix) { $prefix = [string]$hub.AddressPrefix } $routingIntent = $null if ($hub.PSObject.Properties.Name -contains 'RoutingIntent' -and $hub.RoutingIntent) { $routingIntent = $hub.RoutingIntent } Add-AzNetNode -Graph $Graph -Id $hub.Id -Type VirtualHub -Name $hub.Name ` -Location $hub.Location -SubscriptionId $SubscriptionId ` -ResourceGroup $hub.ResourceGroupName -RawBody $raw -Properties @{ AddressPrefix = $prefix Sku = if ($hub.PSObject.Properties.Name -contains 'Sku') { [string]$hub.Sku } else { $null } RoutingIntent = $routingIntent AzureFirewallId = if ($hub.PSObject.Properties.Name -contains 'AzureFirewall' -and $hub.AzureFirewall) { $hub.AzureFirewall.Id } else { $null } SecurityProviderName = if ($hub.PSObject.Properties.Name -contains 'SecurityProviderName') { [string]$hub.SecurityProviderName } else { $null } } | Out-Null $wanId = $null if ($hub.PSObject.Properties.Name -contains 'VirtualWan' -and $hub.VirtualWan -and $hub.VirtualWan.Id) { $wanId = $hub.VirtualWan.Id } if ($wanId -and $Graph.Nodes.Contains($wanId)) { Add-AzNetEdge -Graph $Graph -From $wanId -To $hub.Id -Kind contains | Out-Null } else { Add-AzNetEdge -Graph $Graph -From $SubscriptionNodeId -To $hub.Id -Kind contains | Out-Null } $connections = Invoke-AzCall -Step 'HubConnections' -SubscriptionId $SubscriptionId -ResourceId $hub.Id -RunContext $RunContext -Action { @(Get-AzVirtualHubVnetConnection -ParentObject $hub -ErrorAction Stop) } if ($connections) { foreach ($c in $connections) { $connRaw = ConvertTo-AzNetRawBody -Object $c Add-AzNetNode -Graph $Graph -Id $c.Id -Type HubConnection -Name $c.Name ` -Location $hub.Location -SubscriptionId $SubscriptionId ` -ResourceGroup $hub.ResourceGroupName -RawBody $connRaw -Properties @{ RemoteVirtualNetworkId = if ($c.RemoteVirtualNetwork) { $c.RemoteVirtualNetwork.Id } else { $null } AllowHubToRemoteVnetTransit = if ($c.PSObject.Properties.Name -contains 'AllowHubToRemoteVnetTransit') { [bool]$c.AllowHubToRemoteVnetTransit } else { $null } AllowRemoteVnetToUseHubVnetGateways = if ($c.PSObject.Properties.Name -contains 'AllowRemoteVnetToUseHubVnetGateways') { [bool]$c.AllowRemoteVnetToUseHubVnetGateways } else { $null } EnableInternetSecurity = if ($c.PSObject.Properties.Name -contains 'EnableInternetSecurity') { [bool]$c.EnableInternetSecurity } else { $null } } | Out-Null Add-AzNetEdge -Graph $Graph -From $hub.Id -To $c.Id -Kind contains | Out-Null if ($c.RemoteVirtualNetwork -and $c.RemoteVirtualNetwork.Id) { Add-AzNetEdge -Graph $Graph -From $c.Id -To $c.RemoteVirtualNetwork.Id -Kind connectsTo | Out-Null } } } } } # SIG # Begin signature block # MII2tgYJKoZIhvcNAQcCoII2pzCCNqMCAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDgsPeKmeKrlGmv # dCyJCrgiSxr8DhgdmQ0UYHMhBu7xA6CCG0YwggXMMIIDtKADAgECAhBUmNLR1FsZ # 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 # 03u4aUoqlmZpxJTG9F9urJh4iIAGXKKy7aIwggakMIIEjKADAgECAhMzAABzA2ge # zvWGpRrVAAAAAHMDMA0GCSqGSIb3DQEBDAUAMFoxCzAJBgNVBAYTAlVTMR4wHAYD # VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKzApBgNVBAMTIk1pY3Jvc29mdCBJ # RCBWZXJpZmllZCBDUyBBT0MgQ0EgMDQwHhcNMjYwNDIzMjIxNzAyWhcNMjYwNDI2 # MjIxNzAyWjBlMQswCQYDVQQGEwJVUzERMA8GA1UECBMIVmlyZ2luaWExFzAVBgNV # BAcTDlZpcmdpbmlhIEJlYWNoMRQwEgYDVQQKEwtTZXRoIE1JbGxlcjEUMBIGA1UE # AxMLU2V0aCBNSWxsZXIwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDi # ofa8qOqz+DSBEh09HxJlxCDciC4+34MKu7Kms9T9bA8/QHSqECW3yIQyNru8sw1l # Ma2Ll+06JZKMlJQqkyfvQ0mVTI01VDwId+jMK234aU9sFv1eBWECr7YGZiWitJFX # 5G+jOe/gb1weLbEr+zMZDc8JniBf3ZFZqlcJ1ZM6FpmeSd72wLC30jiOO8BAC/Ud # sDgG0F0pxsYoOFO6TndsNZEAJrq++3fZNKs/6qVKWKTH0gztUhrouICkUAwSoMIN # 8tXb386pXAgFNbOBeiRRlOho0UKgZhLkJS1vmaa0h+Dtt33pMHMPblwU/1bxG5Fw # 9t6kl99UE4ttVX6/bHudaRgtutWmI4LjmUqvpdy9gd3+3gk3oBjmCYWZJ7DupwN5 # hwg/yFa1gYvpb/midFn5eIP/b6Xfq/2dQYvXLbFFvzGdzUX4BxrbgzYrZKscFcCf # Z77e8v5GaYzogpUk28cofAoTQeccIN22Vgsmm9z9Y025rL5GTYEsPDca0dBhEcUC # AwEAAaOCAdYwggHSMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMD0GA1Ud # JQQ2MDQGCisGAQQBgjdhAQAGCCsGAQUFBwMDBhwrBgEEAYI3YYHR5Y4pgv7dj0iB # laOJIoHu469rMB0GA1UdDgQWBBShPhVS/1wDO3h/kmNfjd2bHdNXwjAfBgNVHSME # GDAWgBRrJUHe+2t8/RiACi1/j3ZdqnM9uDBnBgNVHR8EYDBeMFygWqBYhlZodHRw # Oi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNyb3NvZnQlMjBJRCUy # MFZlcmlmaWVkJTIwQ1MlMjBBT0MlMjBDQSUyMDA0LmNybDB0BggrBgEFBQcBAQRo # MGYwZAYIKwYBBQUHMAKGWGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMv # Y2VydHMvTWljcm9zb2Z0JTIwSUQlMjBWZXJpZmllZCUyMENTJTIwQU9DJTIwQ0El # MjAwNC5jcnQwVAYDVR0gBE0wSzBJBgRVHSAAMEEwPwYIKwYBBQUHAgEWM2h0dHA6 # Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTAN # BgkqhkiG9w0BAQwFAAOCAgEAWiIv8T27YuG5HzK5ag915ZU/PCqxXAJdW5E4Hn1l # nsNSyoDv5a1cxKptpJlcGiF9Ff7xA6PcmMpzZI4kou7COcsxp7Eb2ZhXBKcdHgqE # CCVdhIMzG8MOOxTPDtcdHlfpIb34s5ecmsHlyEv9/kdV71TOc1fY/FPsw6CpdsYK # +RiC+d5hPEhZvLD8LFn/ttkOltiGcboSmznksFOz+Uy37lNUt2xRuBTXLbYvg220 # tYtCzVCAy8Xv2Y3TWbpqfwXmPFBD/h6YPDzROou9zNM4Rf8Oy5m3C84q9jzkbtGE # Hvp6Nd7/ipAW3LC+5TzSSXBu88f78eK6Bo37KAFitG/gh2iOKEi/uvlDnNc2FJag # VDJMM3ZXAAWghMfnrDWj5pVLSXJoa4L9cnxAlg4t4G3vTkR+xq+QbOX1nxzbmP/i # bFV2fxbhpdJ3OzjjJ6/Ns51MMEBdvnRCI+qIQaUDTa4J2j+qNMwrn7cxaX/4By77 # y62Gzd1Qz50lqSxqCADtUwgEYF78H9dPMtipBzJ0C5tai8e8V9GKLdSzIt90Gx6v # Gou0SpfbFLF+IdCO8SODPPg4o95xeaZtl95yXpDkBt9RNfwVPdfW3EY/vuQgCmWj # qqTbPrrZ9gzNE1MevKd/n/L5gSFgHwYA6OfKbCqM0wBXsbNa1w6ErPhXYY/Cei1O # jJwwggcoMIIFEKADAgECAhMzAAAAFjGSjZICZXuaAAAAAAAWMA0GCSqGSIb3DQEB # DAUAMGMxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp # b24xNDAyBgNVBAMTK01pY3Jvc29mdCBJRCBWZXJpZmllZCBDb2RlIFNpZ25pbmcg # UENBIDIwMjEwHhcNMjYwMzI2MTgxMTI5WhcNMzEwMzI2MTgxMTI5WjBaMQswCQYD # VQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSswKQYDVQQD # EyJNaWNyb3NvZnQgSUQgVmVyaWZpZWQgQ1MgQU9DIENBIDA0MIICIjANBgkqhkiG # 9w0BAQEFAAOCAg8AMIICCgKCAgEAylX6yNvoCTDP9G0OTlSjXbzgEsy21FDL17n/ # lZe2BrqHz2mR1aN4DBxeYp0/hjEqSHHyGfarV1NVBuvK8vLzW0LTi+DZt9In16ai # NfgcogFiztWE9Fp8xu1zzrqE3nlrDWb+RZo8QrEXgWb8s8swsl2W7tREHycVkx+H # m1MLQIlva6jH/Xg4/8GIYhHzbXiVd2RXomw9s7Qh6/SYRXXfe125wh4EKEyKnNNl # +cZUSrVBgWvvjrRwQY4if7sAZ805KruBY6WY0Hiba5nWvrq9Qk9o35ViAf8qZ+7u # 1fbb1vcCWyWLfx9hLSdBjjVsSWe0xLvI1j4p3Tjt5czz+1Lc0v5lQ1feB7nFmpbZ # rK2us0hvAaBCfOyDPEEm+735vzuNRYWJFL/PViI+REtjuJMcojEn3veQjIrwrmK0 # T9oSr8e3oDzK1oAwwZMTC4KymTvYUTVDJvL5N8OW/UqIBzsiVYcchZvGhV3yMYKg # xeEtIOG4W4Z85Y5kpQi5bpjGXFxRg46RdrTaALt1RhRmLR7U0jVSr2aYAd2+Mp2q # A5Gz3/loOOdt47eFZ3mrAYGYQtbK2SNjQpwgQX4Iy6tOKahCgFhKIcltitvSkpJB # 77eVWhNWnN2LfqMojszEue7V8EAySxry4PzlxTtFTb3Mw53XyH12BMQf2m9j7jEs # HeVSATsCAwEAAaOCAdwwggHYMA4GA1UdDwEB/wQEAwIBhjAQBgkrBgEEAYI3FQEE # AwIBADAdBgNVHQ4EFgQUayVB3vtrfP0YgAotf492XapzPbgwVAYDVR0gBE0wSzBJ # BgRVHSAAMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9w # a2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi # AEMAQTASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFNlBKbAPD2Ns72nX # 9c0pnqRIajDmMHAGA1UdHwRpMGcwZaBjoGGGX2h0dHA6Ly93d3cubWljcm9zb2Z0 # LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29mdCUyMElEJTIwVmVyaWZpZWQlMjBDb2Rl # JTIwU2lnbmluZyUyMFBDQSUyMDIwMjEuY3JsMH0GCCsGAQUFBwEBBHEwbzBtBggr # BgEFBQcwAoZhaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9N # aWNyb3NvZnQlMjBJRCUyMFZlcmlmaWVkJTIwQ29kZSUyMFNpZ25pbmclMjBQQ0El # MjAyMDIxLmNydDANBgkqhkiG9w0BAQwFAAOCAgEABtVQXlR01UQZY5XGQ9yIjMcD # 8jI0MizWhJ1buZjg5toUQSXx/BrASwE5qxwHPBeO45pOQp6VD4iILgm8OmfylY+A # 7KIqttvDUizC3sBXxjK4u7sDRiyEguXHKfL1HQAwxCLEtnRPkCPTsJA6b917lA+3 # foQIHC1XDDpdQLHxGbbGXp4Rr0mFK5vxbi6tAahBi/RlzOXPh6PavKPlZ/0vhlkD # dsvoJETtebNJCNOZ1Kav3Tg+K4va4FbOrYqRHdGGahoA/gmTYmmVqw0zkGzT53Hd # hfajrFGttJomK7qE+T8CQGiPkEIkxNmSXjCTpDqc4U1IKlTGcGYnRFGSgqrnWnkA # NPFsJ5EDHysh82lPI+PFC3FOIVMLzLL+30rqznvRgHUUAj7xfFnEiuaAx3vFVSTO # Lb+iigpvdR6i8fSWpgYESOkdkn2N57tuhBs57tKwoP++vc/MVpuD1XAtmWi+lZSl # ahadTbDfGKjMn+bfm2xlW9PZ6BSnCRv1MMhpcUZkAZX3gVEMef8rZc2c7BJ4ayRf # X0wH43vI9znV+ZRJ3j0xUC0Zb82RQalF5yHkCr93x0IwvZtn6P2dNQyCP6qd3fC4 # RlVFtAQhtOH0cByTR/Iqqghv6qHzL/pMptgMQQ5x8zYEYy+tCThYgYIrq7y4WEDY # QfeSlqIxQOrIUJ4IJDEwggeeMIIFhqADAgECAhMzAAAAB4ejNKN7pY4cAAAAAAAH # MA0GCSqGSIb3DQEBDAUAMHcxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3Nv # ZnQgQ29ycG9yYXRpb24xSDBGBgNVBAMTP01pY3Jvc29mdCBJZGVudGl0eSBWZXJp # ZmljYXRpb24gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAyMDAeFw0yMTA0 # MDEyMDA1MjBaFw0zNjA0MDEyMDE1MjBaMGMxCzAJBgNVBAYTAlVTMR4wHAYDVQQK # ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xNDAyBgNVBAMTK01pY3Jvc29mdCBJRCBW # ZXJpZmllZCBDb2RlIFNpZ25pbmcgUENBIDIwMjEwggIiMA0GCSqGSIb3DQEBAQUA # A4ICDwAwggIKAoICAQCy8MCvGYgo4t1UekxJbGkIVQm0Uv96SvjB6yUo92cXdylN # 65Xy96q2YpWCiTas7QPTkGnK9QMKDXB2ygS27EAIQZyAd+M8X+dmw6SDtzSZXyGk # xP8a8Hi6EO9Zcwh5A+wOALNQbNO+iLvpgOnEM7GGB/wm5dYnMEOguua1OFfTUITV # MIK8faxkP/4fPdEPCXYyy8NJ1fmskNhW5HduNqPZB/NkWbB9xxMqowAeWvPgHtpz # yD3PLGVOmRO4ka0WcsEZqyg6efk3JiV/TEX39uNVGjgbODZhzspHvKFNU2K5MYfm # Hh4H1qObU4JKEjKGsqqA6RziybPqhvE74fEp4n1tiY9/ootdU0vPxRp4BGjQFq28 # nzawuvaCqUUF2PWxh+o5/TRCb/cHhcYU8Mr8fTiS15kRmwFFzdVPZ3+JV3s5MulI # f3II5FXeghlAH9CvicPhhP+VaSFW3Da/azROdEm5sv+EUwhBrzqtxoYyE2wmuHKw # s00x4GGIx7NTWznOm6x/niqVi7a/mxnnMvQq8EMse0vwX2CfqM7Le/smbRtsEeOt # bnJBbtLfoAsC3TdAOnBbUkbUfG78VRclsE7YDDBUbgWt75lDk53yi7C3n0WkHFU4 # EZ83i83abd9nHWCqfnYa9qIHPqjOiuAgSOf4+FRcguEBXlD9mAInS7b6V0UaNwID # AQABo4ICNTCCAjEwDgYDVR0PAQH/BAQDAgGGMBAGCSsGAQQBgjcVAQQDAgEAMB0G # A1UdDgQWBBTZQSmwDw9jbO9p1/XNKZ6kSGow5jBUBgNVHSAETTBLMEkGBFUdIAAw # QTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9E # b2NzL1JlcG9zaXRvcnkuaHRtMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMA8G # A1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUyH7SaoUqG8oZmAQHJ89QEE9oqKIw # gYQGA1UdHwR9MHsweaB3oHWGc2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lv # cHMvY3JsL01pY3Jvc29mdCUyMElkZW50aXR5JTIwVmVyaWZpY2F0aW9uJTIwUm9v # dCUyMENlcnRpZmljYXRlJTIwQXV0aG9yaXR5JTIwMjAyMC5jcmwwgcMGCCsGAQUF # BwEBBIG2MIGzMIGBBggrBgEFBQcwAoZ1aHR0cDovL3d3dy5taWNyb3NvZnQuY29t # L3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBJZGVudGl0eSUyMFZlcmlmaWNhdGlv # biUyMFJvb3QlMjBDZXJ0aWZpY2F0ZSUyMEF1dGhvcml0eSUyMDIwMjAuY3J0MC0G # CCsGAQUFBzABhiFodHRwOi8vb25lb2NzcC5taWNyb3NvZnQuY29tL29jc3AwDQYJ # KoZIhvcNAQEMBQADggIBAH8lKp7+1Kvq3WYK21cjTLpebJDjW4ZbOX3HD5ZiG84v # jsFXT0OB+eb+1TiJ55ns0BHluC6itMI2vnwc5wDW1ywdCq3TAmx0KWy7xulAP179 # qX6VSBNQkRXzReFyjvF2BGt6FvKFR/imR4CEESMAG8hSkPYso+GjlngM8JPn/ROU # rTaeU/BRu/1RFESFVgK2wMz7fU4VTd8NXwGZBe/mFPZG6tWwkdmA/jLbp0kNUX7e # lxu2+HtHo0QO5gdiKF+YTYd1BGrmNG8sTURvn09jAhIUJfYNotn7OlThtfQjXqe0 # qrimgY4Vpoq2MgDW9ESUi1o4pzC1zTgIGtdJ/IvY6nqa80jFOTg5qzAiRNdsUvzV # koYP7bi4wLCj+ks2GftUct+fGUxXMdBUv5sdr0qFPLPB0b8vq516slCfRwaktAxK # 1S40MCvFbbAXXpAZnU20FaAoDwqq/jwzwd8Wo2J83r7O3onQbDO9TyDStgaBNlHz # MMQgl95nHBYMelLEHkUnVVVTUsgC0Huj09duNfMaJ9ogxhPNThgq3i8w3DAGZ61A # MeF0C1M+mU5eucj1Ijod5O2MMPeJQ3/vKBtqGZg4eTtUHt/BPjN74SsJsyHqAdXV # S5c+ItyKWg3Eforhox9k3WgtWTpgV4gkSiS4+A09roSdOI4vrRw+p+fL4WrxSK5n # MYIaxjCCGsICAQEwcTBaMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0 # IENvcnBvcmF0aW9uMSswKQYDVQQDEyJNaWNyb3NvZnQgSUQgVmVyaWZpZWQgQ1Mg # QU9DIENBIDA0AhMzAABzA2gezvWGpRrVAAAAAHMDMA0GCWCGSAFlAwQCAQUAoIGQ # MBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgor # BgEEAYI3AgEVMCQGCisGAQQBgjcCAQwxFjAUoA6ADABTAEgAQQAyADUANqECgAAw # LwYJKoZIhvcNAQkEMSIEIKpRI/9j5/Bh7LW6au4qkXinXL8YUbhfH6jDd7Nd5DTC # MA0GCSqGSIb3DQEBAQUABIIBgLhbHcWUZQ1tTs3OAAndWqcPa9OObRmdbBiVEQsa # 1djaNRRuD78komyBzj0p0X3jzyB/sFJzT0KYIou1+8Q5IiQG0ppWYL5mfk6wY8rF # CUgw27YJ8LDYdoixktgrgd7JnJn2Izxh/HQ/jHDsif6NxW83ujTN6+GlgWFC6mhe # 6VSqpNeSVNEPG9OKUFyy8mLrB/n/brLwdG1UWAQqFSAwLIBFHQzeUuG6qyan4JVT # 86AWZ9kaOikzk4F76WvEjWKj+FTuOpUERXP/tInkfA6Hd/X7FQmGch/BmLFqWXub # pW/ne7Z8wxhr+MsT6NYCTBFISIhZmcmH88CmzZPfJ0/uvSbmWrA68yNwu6A1xopZ # Njgz/sVJgGxMYyIaLCX+ZGbyfs85nhToyPBq/0nTvYKo5KeS3S2ePm6ser+IYuhG # RzW+84dfAw3Me9298nsMj+Ir4kbxfh3Ay+5ERp1W95hMD6HCBbVsVs8vOAMgYaHA # cf3dRA6VS0Zn1k9RbgNT65LFyKGCGBMwghgPBgorBgEEAYI3AwMBMYIX/zCCF/sG # CSqGSIb3DQEHAqCCF+wwghfoAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFhBgsqhkiG # 9w0BCRABBKCCAVAEggFMMIIBSAIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFlAwQC # AQUABCDRgLpuz2pcdNT3MyUoh+J2YkSC7YgcyI2UhcCXt9oj1gIGaeddbIeAGBIy # MDI2MDQyNDIyMTg0Ni40M1owBIACAfSggeGkgd4wgdsxCzAJBgNVBAYTAlVTMRMw # EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN # aWNyb3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1pY3Jvc29mdCBBbWVyaWNh # IE9wZXJhdGlvbnMxJzAlBgNVBAsTHm5TaGllbGQgVFNTIEVTTjpBNTAwLTA1RTAt # RDk0NzE1MDMGA1UEAxMsTWljcm9zb2Z0IFB1YmxpYyBSU0EgVGltZSBTdGFtcGlu # ZyBBdXRob3JpdHmggg8hMIIHgjCCBWqgAwIBAgITMwAAAAXlzw//Zi7JhwAAAAAA # BTANBgkqhkiG9w0BAQwFADB3MQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9z # b2Z0IENvcnBvcmF0aW9uMUgwRgYDVQQDEz9NaWNyb3NvZnQgSWRlbnRpdHkgVmVy # aWZpY2F0aW9uIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMjAwHhcNMjAx # MTE5MjAzMjMxWhcNMzUxMTE5MjA0MjMxWjBhMQswCQYDVQQGEwJVUzEeMBwGA1UE # ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUHVi # bGljIFJTQSBUaW1lc3RhbXBpbmcgQ0EgMjAyMDCCAiIwDQYJKoZIhvcNAQEBBQAD # ggIPADCCAgoCggIBAJ5851Jj/eDFnwV9Y7UGIqMcHtfnlzPREwW9ZUZHd5HBXXBv # f7KrQ5cMSqFSHGqg2/qJhYqOQxwuEQXG8kB41wsDJP5d0zmLYKAY8Zxv3lYkuLDs # fMuIEqvGYOPURAH+Ybl4SJEESnt0MbPEoKdNihwM5xGv0rGofJ1qOYSTNcc55EbB # T7uq3wx3mXhtVmtcCEr5ZKTkKKE1CxZvNPWdGWJUPC6e4uRfWHIhZcgCsJ+sozf5 # EeH5KrlFnxpjKKTavwfFP6XaGZGWUG8TZaiTogRoAlqcevbiqioUz1Yt4FRK53P6 # ovnUfANjIgM9JDdJ4e0qiDRm5sOTiEQtBLGd9Vhd1MadxoGcHrRCsS5rO9yhv2fj # JHrmlQ0EIXmp4DhDBieKUGR+eZ4CNE3ctW4uvSDQVeSp9h1SaPV8UWEfyTxgGjOs # RpeexIveR1MPTVf7gt8hY64XNPO6iyUGsEgt8c2PxF87E+CO7A28TpjNq5eLiiun # hKbq0XbjkNoU5JhtYUrlmAbpxRjb9tSreDdtACpm3rkpxp7AQndnI0Shu/fk1/rE # 3oWsDqMX3jjv40e8KN5YsJBnczyWB4JyeeFMW3JBfdeAKhzohFe8U5w9WuvcP1E8 # cIxLoKSDzCCBOu0hWdjzKNu8Y5SwB1lt5dQhABYyzR3dxEO/T1K/BVF3rV69AgMB # AAGjggIbMIICFzAOBgNVHQ8BAf8EBAMCAYYwEAYJKwYBBAGCNxUBBAMCAQAwHQYD # VR0OBBYEFGtpKDo1L0hjQM972K9J6T7ZPdshMFQGA1UdIARNMEswSQYEVR0gADBB # MD8GCCsGAQUFBwIBFjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL0Rv # Y3MvUmVwb3NpdG9yeS5odG0wEwYDVR0lBAwwCgYIKwYBBQUHAwgwGQYJKwYBBAGC # NxQCBAweCgBTAHUAYgBDAEEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTI # ftJqhSobyhmYBAcnz1AQT2ioojCBhAYDVR0fBH0wezB5oHegdYZzaHR0cDovL3d3 # dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwSWRlbnRpdHkl # MjBWZXJpZmljYXRpb24lMjBSb290JTIwQ2VydGlmaWNhdGUlMjBBdXRob3JpdHkl # MjAyMDIwLmNybDCBlAYIKwYBBQUHAQEEgYcwgYQwgYEGCCsGAQUFBzAChnVodHRw # Oi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMElk # ZW50aXR5JTIwVmVyaWZpY2F0aW9uJTIwUm9vdCUyMENlcnRpZmljYXRlJTIwQXV0 # aG9yaXR5JTIwMjAyMC5jcnQwDQYJKoZIhvcNAQEMBQADggIBAF+Idsd+bbVaFXXn # THho+k7h2ESZJRWluLE0Oa/pO+4ge/XEizXvhs0Y7+KVYyb4nHlugBesnFqBGEdC # 2IWmtKMyS1OWIviwpnK3aL5JedwzbeBF7POyg6IGG/XhhJ3UqWeWTO+Czb1c2NP5 # zyEh89F72u9UIw+IfvM9lzDmc2O2END7MPnrcjWdQnrLn1Ntday7JSyrDvBdmgbN # nCKNZPmhzoa8PccOiQljjTW6GePe5sGFuRHzdFt8y+bN2neF7Zu8hTO1I64XNGqs # t8S+w+RUdie8fXC1jKu3m9KGIqF4aldrYBamyh3g4nJPj/LR2CBaLyD+2BuGZCVm # oNR/dSpRCxlot0i79dKOChmoONqbMI8m04uLaEHAv4qwKHQ1vBzbV/nG89LDKbRS # SvijmwJwxRxLLpMQ/u4xXxFfR4f/gksSkbJp7oqLwliDm/h+w0aJ/U5ccnYhYb7v # PKNMN+SZDWycU5ODIRfyoGl59BsXR/HpRGtiJquOYGmvA/pk5vC1lcnbeMrcWD/2 # 6ozePQ/TWfNXKBOmkFpvPE8CH+EeGGWzqTCjdAsno2jzTeNSxlx3glDGJgcdz5D/ # AAxw9Sdgq/+rY7jjgs7X6fqPTXPmaCAJKVHAP19oEjJIBwD1LyHbaEgBxFCogYSO # iUIr0Xqcr1nJfiWG2GwYe6ZoAF1bMIIHlzCCBX+gAwIBAgITMwAAAFZ+j51YCI7p # YAAAAAAAVjANBgkqhkiG9w0BAQwFADBhMQswCQYDVQQGEwJVUzEeMBwGA1UEChMV # TWljcm9zb2Z0IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUHVibGlj # IFJTQSBUaW1lc3RhbXBpbmcgQ0EgMjAyMDAeFw0yNTEwMjMyMDQ2NTFaFw0yNjEw # MjIyMDQ2NTFaMIHbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ # MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u # MSUwIwYDVQQLExxNaWNyb3NvZnQgQW1lcmljYSBPcGVyYXRpb25zMScwJQYDVQQL # Ex5uU2hpZWxkIFRTUyBFU046QTUwMC0wNUUwLUQ5NDcxNTAzBgNVBAMTLE1pY3Jv # c29mdCBQdWJsaWMgUlNBIFRpbWUgU3RhbXBpbmcgQXV0aG9yaXR5MIICIjANBgkq # hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtKWfm/ul027/d8Rlb8Mn/g0QUvvLqY2V # sy3tI8U2tFSspTZomZOD3BHT8LkR+RrhMJgb1VjAKFNysaK9cLSXifPGSIBrPCgs # 9P4y24lrJEmrV6Q5z4BmqMhIPrZhEvZnWpCS4HO7jYSei/nxmC7/1Er+l5Lg3PmS # xb8d2IVcARxSw1B4mxB6XI0nkel9wa1dYb2wfGpofraFmxZOxT9eNht4LH0RBSVu # eba6ZNpjS/0gtfm7qiIiyP6p6PRzTTbMnVqsHnV/d/rW0zHx+Q+QNZ5wUqKmTZJB # 9hU853+2pX5rDfK32uNY9/WBOAmzbqgpEdQkbiMavUMyUDShmycIvgHdQnS207sT # j8M+kJL3tOdahPuPqMwsaCCgdfwwQx0O9TKe7FSvbAEYs1AnldCl/KHGZCOVvUNq # jyL10JLe0/+GD9/ynqXGWFpXOjaunvZ/cKROhjN4M5e6xx0b2miqcPii4/ii2Zhe # KallJET7CKlpFShs3wyg6F/fojQxQvPnbWD4Nyx6lhjWjwmoLcx6w1FSCtavLCly # 33BLRSlTU4qKUxaa8d7YN7Eqpn9XO0SY0umOvKFXrWH7rxl+9iaicitdnTTksAnR # jvekdKT3lg7lRMfmfZU8vXNiN0UYJzT9EjqjRm0uN/h0oXxPhNfPYqeFbyPXGGxz # aYUz6zx3qTcCAwEAAaOCAcswggHHMB0GA1UdDgQWBBS+tjPyu6tZ/h5GsyLvyz1H # +FNIWjAfBgNVHSMEGDAWgBRraSg6NS9IY0DPe9ivSek+2T3bITBsBgNVHR8EZTBj # MGGgX6BdhltodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNy # b3NvZnQlMjBQdWJsaWMlMjBSU0ElMjBUaW1lc3RhbXBpbmclMjBDQSUyMDIwMjAu # Y3JsMHkGCCsGAQUFBwEBBG0wazBpBggrBgEFBQcwAoZdaHR0cDovL3d3dy5taWNy # b3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBQdWJsaWMlMjBSU0El # MjBUaW1lc3RhbXBpbmclMjBDQSUyMDIwMjAuY3J0MAwGA1UdEwEB/wQCMAAwFgYD # VR0lAQH/BAwwCgYIKwYBBQUHAwgwDgYDVR0PAQH/BAQDAgeAMGYGA1UdIARfMF0w # UQYMKwYBBAGCN0yDfQEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93d3cubWljcm9z # b2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTAIBgZngQwBBAIwDQYJ # KoZIhvcNAQEMBQADggIBAA4DqAXEsO26j/La7Fgn/Qifit8xuZekqZ57+Ye+sH/h # RTbEEjGYrZgsqwR/lUUfKCFpbZF8msaZPQJOR4YYUEU8XyjLrn8Y1jCSmoxh9l7t # WiSoc/JFBw356JAmzGGxeBA2EWSxRuTr1AuZe6nYaN8/wtFkiHcs8gMadxXBs6Dx # Vhyu5YnhLPQkfumKm3lFftwE7pieV7f1lskmlgsC6AeSGCzGPZUgCvcH5Tv/Qe9z # 7bIImSD3SuzhOIwaP+eKQTYf67TifyJKkWQSdGfTA6Kcu41k8LB6oPK+MLk1jbxx # K5wPqLSL62xjK04SBXHEJSEnsFt0zxWkxP/lgej1DxqUnmrYEdkxvzKSHIAqFWSZ # ul/5hI+vJxvFPhsNQBEk4cSulDkJQpcdVi/gmf/mHFOYhDBjsa15s4L+2sBil3XV # /T8RiR66Q8xYvTLRWxd2dVsrOoCwnsU4WIeiC0JinCv1WLHEh7Qyzr9RSr4kKJLW # dpNYLhgjkojTmEkAjFO774t3xB7enbvIF0GOsV19xnCUzq9EGKyt0gMuaphKlNjJ # +aTpjWMZDGo+GOKsnp93Hmftml0Syp3F9+M3y+y6WJGUZoIZJq227jDjjEndtpUr # h9BdPdVIfVJD/Au81Rzh05UHAivorQ3Os8PELHIgiOd9TWzbdgmGzcILt/ddVQER # MYIHRjCCB0ICAQEweDBhMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0 # IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUHVibGljIFJTQSBUaW1l # c3RhbXBpbmcgQ0EgMjAyMAITMwAAAFZ+j51YCI7pYAAAAAAAVjANBglghkgBZQME # AgEFAKCCBJ8wEQYLKoZIhvcNAQkQAg8xAgUAMBoGCSqGSIb3DQEJAzENBgsqhkiG # 9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwNDI0MjIxODQ2WjAvBgkqhkiG9w0B # CQQxIgQgMj4wwUrvw0m9qHG6gXe8qlBhAvEZCZ5FPyQirdj9WJEwgbkGCyqGSIb3 # DQEJEAIvMYGpMIGmMIGjMIGgBCC2DDMlTaTj8JV3iTg5Xnpe4CSH60143Z+X9o5N # BgMMqDB8MGWkYzBhMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENv # cnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUHVibGljIFJTQSBUaW1lc3Rh # bXBpbmcgQ0EgMjAyMAITMwAAAFZ+j51YCI7pYAAAAAAAVjCCA2EGCyqGSIb3DQEJ # EAISMYIDUDCCA0yhggNIMIIDRDCCAiwCAQEwggEJoYHhpIHeMIHbMQswCQYDVQQG # EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG # A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSUwIwYDVQQLExxNaWNyb3NvZnQg # QW1lcmljYSBPcGVyYXRpb25zMScwJQYDVQQLEx5uU2hpZWxkIFRTUyBFU046QTUw # MC0wNUUwLUQ5NDcxNTAzBgNVBAMTLE1pY3Jvc29mdCBQdWJsaWMgUlNBIFRpbWUg # U3RhbXBpbmcgQXV0aG9yaXR5oiMKAQEwBwYFKw4DAhoDFQD/c/cpFSqQWYBeXggy # RJ2ZbvYEEaBnMGWkYzBhMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0 # IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUHVibGljIFJTQSBUaW1l # c3RhbXBpbmcgQ0EgMjAyMDANBgkqhkiG9w0BAQsFAAIFAO2V0GgwIhgPMjAyNjA0 # MjQxMTIwMDhaGA8yMDI2MDQyNTExMjAwOFowdzA9BgorBgEEAYRZCgQBMS8wLTAK # AgUA7ZXQaAIBADAKAgEAAgIgpQIB/zAHAgEAAgISajAKAgUA7Zch6AIBADA2Bgor # BgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAowCAIBAAIDB6EgoQowCAIBAAID # AYagMA0GCSqGSIb3DQEBCwUAA4IBAQCTBnZrAp+GKC9Kf/s+Y+ugUjmkznuC4ubR # gPSu9ucptHLJ8jBL7cvVKoLlFO6Rd31n/GfrNW1SgOOeWLDCKF3j8RC3B6rGIGl2 # w5qDO7HcPAbtRBLg4TVCgXgLmHtjLtUuEAVGDg/L0Yd+K/T5YzumfYpgD6ScrfMi # EBRxITpA9wPsEFua5K8YxBS2+DmRCiemLso7D5BONxpdNeuuqXERzExS8unt/UFT # XJA/US7vxs6s6E8h3J6hnvToUHNI/H3O3ojX0FW3yMQLLbk6xVf1H4o0c+Ph6aBh # K5YaFVkebjVSUtHDAvgZcltf4RfuYdIWvwiQRhp2Av3x4bnrulemMA0GCSqGSIb3 # DQEBAQUABIICAAXy3UgBnJ9ASPbTlaaGxplq/ji15kS+JDFcitykDuiXmiy9DfwB # sn5kEbYhe2bgoQl5Sa2NuDTtvsC/95ldbOB92tJyEpuceoasusQd7g0KxthsOmha # sJ2/1TEg3OzX1ZtpuWaC1pYvdPbm3io1icDt7kSsWokdFOKgU5IW4XNA5qLywhbL # G4vTKI2Zo7oSpJbngRwuwjjTT5d6f9KPiPBK7KWRLy54GbazVse7tNv1EaQTg6et # 0Ondm8ZB3dYCbdLzf+SDYxqBGfknBBgNhkduS2sMY55nNGIrfEI34jCniDI2R5JX # fy0Co8EJg4Iq9P6wwD2grthKZKCCDGyWLA0ObmVA/wAMKLrDEozF17e4zlVLSn7I # VGCywgOOUPRb4JPHlvzEH+hWLjtJrJEwvsuZqALq82+eY1VgFIxpyQFgVl7DeaMT # DN7twFL1fg4nx+gmgp49E1eBcIkRwwSfQ7daGpKA/dHsfTlGm+xFe8FlDx1Bscxx # x4XcLU2mLO05Xm8CjlCB0mBG/Nphxen6MVIOLE/TIDdjL0nD80+qsUYtSWaP3Bp2 # xpUEcmkqrPU6S1QPeTlPe6lf9BA3CH9pAr/4W5AhECNDonm60SwUKArebdTZISps # a+zrMTbrtmDzi8vNSbZC2GTXHUPgNmw+nyytZSZRda9jhUvLGIkhYSDc # SIG # End signature block |