exports/hybrid-2019-03-01/Restore-AzWebAppFromBackupBlobSlot.ps1
<# .Synopsis Restores an app from a backup blob in Azure Storage. .Description Restores an app from a backup blob in Azure Storage. .Example To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.appservice/restore-azwebappfrombackupblobslot .Inputs Microsoft.Azure.PowerShell.Cmdlets.AppService.Models.Api20180201.IRestoreRequest .Inputs Microsoft.Azure.PowerShell.Cmdlets.AppService.Models.IAppServiceIdentity .Outputs System.Boolean .Notes COMPLEX PARAMETER PROPERTIES To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. DATABASE <IDatabaseBackupSetting[]>: Collection of databases which should be restored. This list has to match the list of databases included in the backup. DatabaseType <DatabaseType>: Database type (e.g. SqlAzure / MySql). [ConnectionString <String>]: Contains a connection string to a database which is being backed up or restored. If the restore should happen to a new database, the database name inside is the new one. [ConnectionStringName <String>]: Contains a connection string name that is linked to the SiteConfig.ConnectionStrings. This is used during restore with overwrite connection strings options. [Name <String>]: INPUTOBJECT <IAppServiceIdentity>: Identity Parameter [AnalysisName <String>]: Analysis Name [ApiName <String>]: The managed API name. [BackupId <String>]: ID of the backup. [BaseAddress <String>]: Module base address. [CertificateOrderName <String>]: Name of the certificate order. [ConnectionName <String>]: The connection name. [DeletedSiteId <String>]: The numeric ID of the deleted app, e.g. 12345 [DetectorName <String>]: Detector Resource Name [DiagnosticCategory <String>]: Diagnostic Category [DiagnosticsName <String>]: Name of the diagnostics item. [DomainName <String>]: Name of the domain. [DomainOwnershipIdentifierName <String>]: Name of domain ownership identifier. [EntityName <String>]: Name of the hybrid connection. [FunctionName <String>]: Function name. [GatewayName <String>]: Name of the gateway. Only the 'primary' gateway is supported. [HostName <String>]: Hostname in the hostname binding. [HostingEnvironmentName <String>]: Name of the hosting environment. [Id <String>]: Resource identity path [Instance <String>]: Name of the instance in the multi-role pool. [InstanceId <String>]: ID of web app instance. [Location <String>]: [Name <String>]: Name of the certificate. [NamespaceName <String>]: Name of the Service Bus namespace. [OperationId <String>]: GUID of the operation. [PremierAddOnName <String>]: Add-on name. [ProcessId <String>]: PID. [PublicCertificateName <String>]: Public certificate name. [RelayName <String>]: Name of the Service Bus relay. [ResourceGroupName <String>]: Name of the resource group to which the resource belongs. [RouteName <String>]: Name of the Virtual Network route. [SiteExtensionId <String>]: Site extension name. [SiteName <String>]: Site Name [Slot <String>]: Name of web app slot. If not specified then will default to production slot. [SnapshotId <String>]: The ID of the snapshot to read. [SourceControlType <String>]: Type of source control [SubscriptionId <String>]: Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). [ThreadId <String>]: TID. [View <String>]: The type of view. This can either be "summary" or "detailed". [VnetName <String>]: Name of the Virtual Network. [WebJobName <String>]: Name of Web Job. [WorkerName <String>]: Name of worker machine, which typically starts with RD. [WorkerPoolName <String>]: Name of the worker pool. REQUEST <IRestoreRequest>: Description of a restore request. Overwrite <Boolean>: <code>true</code> if the restore operation can overwrite target app; otherwise, <code>false</code>. <code>true</code> is needed if trying to restore over an existing app. StorageAccountUrl <String>: SAS URL to the container. [Kind <String>]: Kind of resource. [AdjustConnectionString <Boolean?>]: <code>true</code> if SiteConfig.ConnectionStrings should be set in new app; otherwise, <code>false</code>. [AppServicePlan <String>]: Specify app service plan that will own restored site. [BlobName <String>]: Name of a blob which contains the backup. [Database <IDatabaseBackupSetting[]>]: Collection of databases which should be restored. This list has to match the list of databases included in the backup. DatabaseType <DatabaseType>: Database type (e.g. SqlAzure / MySql). [ConnectionString <String>]: Contains a connection string to a database which is being backed up or restored. If the restore should happen to a new database, the database name inside is the new one. [ConnectionStringName <String>]: Contains a connection string name that is linked to the SiteConfig.ConnectionStrings. This is used during restore with overwrite connection strings options. [Name <String>]: [HostingEnvironment <String>]: App Service Environment name, if needed (only when restoring an app to an App Service Environment). [IgnoreConflictingHostName <Boolean?>]: Changes a logic when restoring an app with custom domains. <code>true</code> to remove custom domains automatically. If <code>false</code>, custom domains are added to the app's object when it is being restored, but that might fail due to conflicts during the operation. [IgnoreDatabase <Boolean?>]: Ignore the databases and only restore the site content [OperationType <BackupRestoreOperationType?>]: Operation type. [SiteName <String>]: Name of an app. .Link https://docs.microsoft.com/en-us/powershell/module/az.appservice/restore-azwebappfrombackupblobslot #> function Restore-AzWebAppFromBackupBlobSlot { [OutputType([System.Boolean])] [CmdletBinding(DefaultParameterSetName='RestoreExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Profile('hybrid-2019-03-01')] param( [Parameter(ParameterSetName='Restore', Mandatory)] [Parameter(ParameterSetName='RestoreExpanded', Mandatory)] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Path')] [System.String] # Name of the app. ${Name}, [Parameter(ParameterSetName='Restore', Mandatory)] [Parameter(ParameterSetName='RestoreExpanded', Mandatory)] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Path')] [System.String] # Name of the resource group to which the resource belongs. ${ResourceGroupName}, [Parameter(ParameterSetName='Restore', Mandatory)] [Parameter(ParameterSetName='RestoreExpanded', Mandatory)] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Path')] [System.String] # Name of the deployment slot. # If a slot is not specified, the API will restore a backup of the production slot. ${Slot}, [Parameter(ParameterSetName='Restore')] [Parameter(ParameterSetName='RestoreExpanded')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Path')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] [System.String] # Your Azure subscription ID. # This is a GUID-formatted string (e.g. # 00000000-0000-0000-0000-000000000000). ${SubscriptionId}, [Parameter(ParameterSetName='RestoreViaIdentity', Mandatory, ValueFromPipeline)] [Parameter(ParameterSetName='RestoreViaIdentityExpanded', Mandatory, ValueFromPipeline)] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Path')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Models.IAppServiceIdentity] # Identity Parameter # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. ${InputObject}, [Parameter(ParameterSetName='Restore', Mandatory, ValueFromPipeline)] [Parameter(ParameterSetName='RestoreViaIdentity', Mandatory, ValueFromPipeline)] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Body')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Models.Api20180201.IRestoreRequest] # Description of a restore request. # To construct, see NOTES section for REQUEST properties and create a hash table. ${Request}, [Parameter(ParameterSetName='RestoreExpanded')] [Parameter(ParameterSetName='RestoreViaIdentityExpanded')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Body')] [System.Management.Automation.SwitchParameter] # <code>true</code> if SiteConfig.ConnectionStrings should be set in new app; otherwise, <code>false</code>. ${AdjustConnectionString}, [Parameter(ParameterSetName='RestoreExpanded')] [Parameter(ParameterSetName='RestoreViaIdentityExpanded')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Body')] [System.String] # Specify app service plan that will own restored site. ${AppServicePlan}, [Parameter(ParameterSetName='RestoreExpanded')] [Parameter(ParameterSetName='RestoreViaIdentityExpanded')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Body')] [System.String] # Name of a blob which contains the backup. ${BlobName}, [Parameter(ParameterSetName='RestoreExpanded')] [Parameter(ParameterSetName='RestoreViaIdentityExpanded')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Body')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Models.Api20160801.IDatabaseBackupSetting[]] # Collection of databases which should be restored. # This list has to match the list of databases included in the backup. # To construct, see NOTES section for DATABASE properties and create a hash table. ${Database}, [Parameter(ParameterSetName='RestoreExpanded')] [Parameter(ParameterSetName='RestoreViaIdentityExpanded')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Body')] [System.String] # App Service Environment name, if needed (only when restoring an app to an App Service Environment). ${HostingEnvironment}, [Parameter(ParameterSetName='RestoreExpanded')] [Parameter(ParameterSetName='RestoreViaIdentityExpanded')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Body')] [System.Management.Automation.SwitchParameter] # Changes a logic when restoring an app with custom domains. # <code>true</code> to remove custom domains automatically. # If <code>false</code>, custom domains are added to the app's object when it is being restored, but that might fail due to conflicts during the operation. ${IgnoreConflictingHostName}, [Parameter(ParameterSetName='RestoreExpanded')] [Parameter(ParameterSetName='RestoreViaIdentityExpanded')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Body')] [System.Management.Automation.SwitchParameter] # Ignore the databases and only restore the site content ${IgnoreDatabase}, [Parameter(ParameterSetName='RestoreExpanded')] [Parameter(ParameterSetName='RestoreViaIdentityExpanded')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Body')] [System.String] # Kind of resource. ${Kind}, [Parameter(ParameterSetName='RestoreExpanded')] [Parameter(ParameterSetName='RestoreViaIdentityExpanded')] [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.AppService.Support.BackupRestoreOperationType])] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Body')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Support.BackupRestoreOperationType] # Operation type. ${OperationType}, [Parameter(ParameterSetName='RestoreExpanded')] [Parameter(ParameterSetName='RestoreViaIdentityExpanded')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Body')] [System.Management.Automation.SwitchParameter] # <code>true</code> if the restore operation can overwrite target app; otherwise, <code>false</code>. # <code>true</code> is needed if trying to restore over an existing app. ${Overwrite}, [Parameter(ParameterSetName='RestoreExpanded')] [Parameter(ParameterSetName='RestoreViaIdentityExpanded')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Body')] [System.String] # Name of an app. ${SiteName}, [Parameter(ParameterSetName='RestoreExpanded')] [Parameter(ParameterSetName='RestoreViaIdentityExpanded')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Body')] [System.String] # SAS URL to the container. ${StorageAccountUrl}, [Parameter()] [Alias('AzureRMContext', 'AzureCredential')] [ValidateNotNull()] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Azure')] [System.Management.Automation.PSObject] # The credentials, account, tenant, and subscription used for communication with Azure. ${DefaultProfile}, [Parameter()] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Runtime')] [System.Management.Automation.SwitchParameter] # Run the command as a job ${AsJob}, [Parameter(DontShow)] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Runtime')] [System.Management.Automation.SwitchParameter] # Wait for .NET debugger to attach ${Break}, [Parameter(DontShow)] [ValidateNotNull()] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Runtime')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Runtime.SendAsyncStep[]] # SendAsync Pipeline Steps to be appended to the front of the pipeline ${HttpPipelineAppend}, [Parameter(DontShow)] [ValidateNotNull()] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Runtime')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Runtime.SendAsyncStep[]] # SendAsync Pipeline Steps to be prepended to the front of the pipeline ${HttpPipelinePrepend}, [Parameter()] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Runtime')] [System.Management.Automation.SwitchParameter] # Run the command asynchronously ${NoWait}, [Parameter()] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Runtime')] [System.Management.Automation.SwitchParameter] # Returns true when the command succeeds ${PassThru}, [Parameter(DontShow)] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Runtime')] [System.Uri] # The URI for the proxy server to use ${Proxy}, [Parameter(DontShow)] [ValidateNotNull()] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Runtime')] [System.Management.Automation.PSCredential] # Credentials for a proxy server to use for the remote call ${ProxyCredential}, [Parameter(DontShow)] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Runtime')] [System.Management.Automation.SwitchParameter] # Use the default credentials for the proxy ${ProxyUseDefaultCredentials} ) begin { try { $outBuffer = $null if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { $PSBoundParameters['OutBuffer'] = 1 } $parameterSet = $PSCmdlet.ParameterSetName $mapping = @{ Restore = 'Az.AppService.private\Restore-AzWebAppFromBackupBlobSlot_Restore'; RestoreExpanded = 'Az.AppService.private\Restore-AzWebAppFromBackupBlobSlot_RestoreExpanded'; RestoreViaIdentity = 'Az.AppService.private\Restore-AzWebAppFromBackupBlobSlot_RestoreViaIdentity'; RestoreViaIdentityExpanded = 'Az.AppService.private\Restore-AzWebAppFromBackupBlobSlot_RestoreViaIdentityExpanded'; } if (('Restore', 'RestoreExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id } $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) $scriptCmd = {& $wrappedCmd @PSBoundParameters} $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) $steppablePipeline.Begin($PSCmdlet) } catch { throw } } process { try { $steppablePipeline.Process($_) } catch { throw } } end { try { $steppablePipeline.End() } catch { throw } } } # SIG # Begin signature block # MIIkWgYJKoZIhvcNAQcCoIIkSzCCJEcCAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDRIv/sQGVFqWoy # tUYwCvyXeM6Be14bBwxFsZhNEXO5waCCDYEwggX/MIID56ADAgECAhMzAAABUZ6N # j0Bxow5BAAAAAAFRMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD # VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy # b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p # bmcgUENBIDIwMTEwHhcNMTkwNTAyMjEzNzQ2WhcNMjAwNTAyMjEzNzQ2WjB0MQsw # CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u # ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy # b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB # AQCVWsaGaUcdNB7xVcNmdfZiVBhYFGcn8KMqxgNIvOZWNH9JYQLuhHhmJ5RWISy1 # oey3zTuxqLbkHAdmbeU8NFMo49Pv71MgIS9IG/EtqwOH7upan+lIq6NOcw5fO6Os # +12R0Q28MzGn+3y7F2mKDnopVu0sEufy453gxz16M8bAw4+QXuv7+fR9WzRJ2CpU # 62wQKYiFQMfew6Vh5fuPoXloN3k6+Qlz7zgcT4YRmxzx7jMVpP/uvK6sZcBxQ3Wg # B/WkyXHgxaY19IAzLq2QiPiX2YryiR5EsYBq35BP7U15DlZtpSs2wIYTkkDBxhPJ # IDJgowZu5GyhHdqrst3OjkSRAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE # AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUV4Iarkq57esagu6FUBb270Zijc8w # UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1 # ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDU0MTM1MB8GA1UdIwQYMBaAFEhu # ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu # bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w # Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3 # Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx # MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAWg+A # rS4Anq7KrogslIQnoMHSXUPr/RqOIhJX+32ObuY3MFvdlRElbSsSJxrRy/OCCZdS # se+f2AqQ+F/2aYwBDmUQbeMB8n0pYLZnOPifqe78RBH2fVZsvXxyfizbHubWWoUf # NW/FJlZlLXwJmF3BoL8E2p09K3hagwz/otcKtQ1+Q4+DaOYXWleqJrJUsnHs9UiL # crVF0leL/Q1V5bshob2OTlZq0qzSdrMDLWdhyrUOxnZ+ojZ7UdTY4VnCuogbZ9Zs # 9syJbg7ZUS9SVgYkowRsWv5jV4lbqTD+tG4FzhOwcRQwdb6A8zp2Nnd+s7VdCuYF # sGgI41ucD8oxVfcAMjF9YX5N2s4mltkqnUe3/htVrnxKKDAwSYliaux2L7gKw+bD # 1kEZ/5ozLRnJ3jjDkomTrPctokY/KaZ1qub0NUnmOKH+3xUK/plWJK8BOQYuU7gK # YH7Yy9WSKNlP7pKj6i417+3Na/frInjnBkKRCJ/eYTvBH+s5guezpfQWtU4bNo/j # 8Qw2vpTQ9w7flhH78Rmwd319+YTmhv7TcxDbWlyteaj4RK2wk3pY1oSz2JPE5PNu # Nmd9Gmf6oePZgy7Ii9JLLq8SnULV7b+IP0UXRY9q+GdRjM2AEX6msZvvPCIoG0aY # HQu9wZsKEK2jqvWi8/xdeeeSI9FN6K1w4oVQM4Mwggd6MIIFYqADAgECAgphDpDS # AAAAAAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK # V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 # IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0 # ZSBBdXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDla # MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS # ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMT # H01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEB # AQUAA4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgG # OBoESbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S # 35tTsgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jz # y23zOlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/7 # 4ytaEB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2u # M1jFtz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33 # X/DQUr+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIl # XdMhSz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP # 6SNJvBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLB # l4F77dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGF # RInECUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiM # CwIDAQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQ # BdOCqhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud # DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO # 4eqnxzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0 # LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y # Mi5jcmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1p # Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y # Mi5jcnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIB # FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNw # cy5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkA # XwBzAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY # 4FR5Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj # 82nbY78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUd # d5Q54ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJ # Yx8JaW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYf # wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ # aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j # NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B # xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96 # eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7 # r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I # RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIWLzCCFisCAQEwgZUwfjELMAkG # A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx # HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z # b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAVGejY9AcaMOQQAAAAABUTAN # BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor # BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgNatTSufV # fETziHP23TXYiEboa7JhNn5d7CnFD1Lm7w8wQgYKKwYBBAGCNwIBDDE0MDKgFIAS # AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN # BgkqhkiG9w0BAQEFAASCAQAMuXCu3k56cnAXw7wv3lLU+D0ht5jKA80mF1Yq+XPO # gCucQP9dwoxllkZFEgS/5e/A1m+Y9WV5zGfPYz4K3l+/drzIHYQdIhF3FBeXu8sR # Ul3rnkB2HDdnl3Yr38ALtN+td361ENFW2SagxpeN5+H+okybfYO83K4tOjxbcU75 # PpscD5JUY01ulBY2EVPvQn25hiVah0uopEhUqeQqP8WdO4u1At25gJcOzXE8lXAe # Qnddmr0XuQv60ERV8dSQZXeXFdCve2n8dhuxS1GD1EbmxZGB8/CXHVQHc/c/o+jM # 5MNVMCguXwNoh8f6d/r2enOJnVy0F79SmE3o6cOxRAVRoYITuTCCE7UGCisGAQQB # gjcDAwExghOlMIIToQYJKoZIhvcNAQcCoIITkjCCE44CAQMxDzANBglghkgBZQME # AgEFADCCAVcGCyqGSIb3DQEJEAEEoIIBRgSCAUIwggE+AgEBBgorBgEEAYRZCgMB # MDEwDQYJYIZIAWUDBAIBBQAEINs3IzPNF9nhS1HIS3lUt13JB29A0jZ+5rUaIXG7 # PXAEAgZdiN6NIuEYEjIwMTkxMDAzMTM1MTMyLjcxWjAHAgEBgAIB9KCB1KSB0TCB # zjELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl # ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEpMCcGA1UECxMg # TWljcm9zb2Z0IE9wZXJhdGlvbnMgUHVlcnRvIFJpY28xJjAkBgNVBAsTHVRoYWxl # cyBUU1MgRVNOOjU4NDctRjc2MS00RjcwMSUwIwYDVQQDExxNaWNyb3NvZnQgVGlt # ZS1TdGFtcCBTZXJ2aWNloIIPIjCCBPUwggPdoAMCAQICEzMAAAEFBznqWfNVvyoA # AAAAAQUwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh # c2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD # b3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIw # MTAwHhcNMTkwOTA2MjA0MTE4WhcNMjAxMjA0MjA0MTE4WjCBzjELMAkGA1UEBhMC # VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV # BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEpMCcGA1UECxMgTWljcm9zb2Z0IE9w # ZXJhdGlvbnMgUHVlcnRvIFJpY28xJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOjU4 # NDctRjc2MS00RjcwMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2 # aWNlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzCKWY1VIi1kBqgxS # y2nhn4XPW8QsIvB0MfoHGheWc9hqHYTO9aMo2perqp0TPEB8Y+PbihZmP0lhIZVf # rKNyK5hB1S5rJHhEGoqOT8VYFFkZvrASCaUvRo8Cqxj2drm+Ek9ifX7uRcW305ic # gdgC+lu1nElDjfLcrs9vzUQCCOmLqI3TGupo1V2pi9gEuzwaNRluD2uF2zYREKAO # P7IkuCRm3HwMFTBr/O24SmqQ6qVy2w6ui2xXSwL+0O3lB4h0uHnHF0TRgJ6ZHYRz # iu7NTvRaqUWWLG8f1KZGqMqokHvyRUwPtZHmGbGYGkKoDzaRmA+dEgw8kGdr7Tce # ylYF7QIDAQABo4IBGzCCARcwHQYDVR0OBBYEFD10G/66dyhMyug2DstxZ/0CMzci # MB8GA1UdIwQYMBaAFNVjOlyKMZDzQ3t8RhvFM2hahW1VMFYGA1UdHwRPME0wS6BJ # oEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01p # Y1RpbVN0YVBDQV8yMDEwLTA3LTAxLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYB # BQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljVGlt # U3RhUENBXzIwMTAtMDctMDEuY3J0MAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYI # KwYBBQUHAwgwDQYJKoZIhvcNAQELBQADggEBAKfOYXd7awFX5lQD5nDgKpzOO021 # gfUtMkhhv3jbyH4YGAtGIwixGYYokMjnkU8LNJSDlhr+7TOba+9ERszaNfwu0kGn # akNnU+bFI+xmuixztnsXHc0b1CMHXjmlbmo+FaYl54YzwUbtglTRlz3tXe2c8O3Y # vMYdg+qKGQY4Ry4e8hn9mRYwYy3A1Y632i8HeGKnnyYIONrPBDFKF87E6T5UtCAS # lnl/kWwcnDlIV6SvapbxWwUBqeDfrixFeoWht96FTrVsK24buRdBOFA87BVGmfDg # C8iq2kdXSKPmVPs46Z9zWuylJK0/9VBWHZ1mMKFA5vXvg5gYanYVJcSIUZ8wggZx # MIIEWaADAgECAgphCYEqAAAAAAACMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQG # EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG # A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQg # Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAxMDAeFw0xMDA3MDEyMTM2NTVa # Fw0yNTA3MDEyMTQ2NTVaMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n # dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y # YXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMIIB # IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqR0NvHcRijog7PwTl/X6f2mU # a3RUENWlCgCChfvtfGhLLF/Fw+Vhwna3PmYrW/AVUycEMR9BGxqVHc4JE458YTBZ # sTBED/FgiIRUQwzXTbg4CLNC3ZOs1nMwVyaCo0UN0Or1R4HNvyRgMlhgRvJYR4Yy # hB50YWeRX4FUsc+TTJLBxKZd0WETbijGGvmGgLvfYfxGwScdJGcSchohiq9LZIlQ # YrFd/XcfPfBXday9ikJNQFHRD5wGPmd/9WbAA5ZEfu/QS/1u5ZrKsajyeioKMfDa # TgaRtogINeh4HLDpmc085y9Euqf03GS9pAHBIAmTeM38vMDJRF1eFpwBBU8iTQID # AQABo4IB5jCCAeIwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFNVjOlyKMZDz # Q3t8RhvFM2hahW1VMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQE # AwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQ # W9fOmhjEMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNv # bS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBa # BggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0 # LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3J0MIGgBgNV # HSABAf8EgZUwgZIwgY8GCSsGAQQBgjcuAzCBgTA9BggrBgEFBQcCARYxaHR0cDov # L3d3dy5taWNyb3NvZnQuY29tL1BLSS9kb2NzL0NQUy9kZWZhdWx0Lmh0bTBABggr # BgEFBQcCAjA0HjIgHQBMAGUAZwBhAGwAXwBQAG8AbABpAGMAeQBfAFMAdABhAHQA # ZQBtAGUAbgB0AC4gHTANBgkqhkiG9w0BAQsFAAOCAgEAB+aIUQ3ixuCYP4FxAz2d # o6Ehb7Prpsz1Mb7PBeKp/vpXbRkws8LFZslq3/Xn8Hi9x6ieJeP5vO1rVFcIK1GC # RBL7uVOMzPRgEop2zEBAQZvcXBf/XPleFzWYJFZLdO9CEMivv3/Gf/I3fVo/HPKZ # eUqRUgCvOA8X9S95gWXZqbVr5MfO9sp6AG9LMEQkIjzP7QOllo9ZKby2/QThcJ8y # Sif9Va8v/rbljjO7Yl+a21dA6fHOmWaQjP9qYn/dxUoLkSbiOewZSnFjnXshbcOc # o6I8+n99lmqQeKZt0uGc+R38ONiU9MalCpaGpL2eGq4EQoO4tYCbIjggtSXlZOz3 # 9L9+Y1klD3ouOVd2onGqBooPiRa6YacRy5rYDkeagMXQzafQ732D8OE7cQnfXXSY # Ighh2rBQHm+98eEA3+cxB6STOvdlR3jo+KhIq/fecn5ha293qYHLpwmsObvsxsvY # grRyzR30uIUBHoD7G4kqVDmyW9rIDVWZeodzOwjmmC3qjeAzLhIp9cAvVCch98is # TtoouLGp25ayp0Kiyc8ZQU3ghvkqmqMRZjDTu3QyS99je/WZii8bxyGvWbWu3EQ8 # l1Bx16HSxVXjad5XwdHeMMD9zOZN+w2/XU/pnR4ZOC+8z1gFLu8NoFA12u8JJxzV # s341Hgi62jbb01+P3nSISRKhggOwMIICmAIBATCB/qGB1KSB0TCBzjELMAkGA1UE # BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAc # BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEpMCcGA1UECxMgTWljcm9zb2Z0 # IE9wZXJhdGlvbnMgUHVlcnRvIFJpY28xJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNO # OjU4NDctRjc2MS00RjcwMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBT # ZXJ2aWNloiUKAQEwCQYFKw4DAhoFAAMVANJ5nOzIh9j69Md959d2YOEZVfaqoIHe # MIHbpIHYMIHVMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G # A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSkw # JwYDVQQLEyBNaWNyb3NvZnQgT3BlcmF0aW9ucyBQdWVydG8gUmljbzEnMCUGA1UE # CxMebkNpcGhlciBOVFMgRVNOOjRERTktMEM1RS0zRTA5MSswKQYDVQQDEyJNaWNy # b3NvZnQgVGltZSBTb3VyY2UgTWFzdGVyIENsb2NrMA0GCSqGSIb3DQEBBQUAAgUA # 4T9VVTAiGA8yMDE5MTAwMzAwNTY1M1oYDzIwMTkxMDA0MDA1NjUzWjB3MD0GCisG # AQQBhFkKBAExLzAtMAoCBQDhP1VVAgEAMAoCAQACAgDzAgH/MAcCAQACAheCMAoC # BQDhQKbVAgEAMDYGCisGAQQBhFkKBAIxKDAmMAwGCisGAQQBhFkKAwGgCjAIAgEA # AgMW42ChCjAIAgEAAgMHoSAwDQYJKoZIhvcNAQEFBQADggEBAHLztSaCxwfMSmzR # vsxudhuJITGEh9mMNHfIYxaaqErZKrOJcKewserIiFF5l+Z1k6omaV6j+jERutoZ # ps+Fz0VuyQOYWo+ELs1lvnlyjvS644t4mz1G9sVoD2dVWZ7RRWzZYd7/Zv6PyGCY # 21QsSbOJSdx5pcj7PhNf/DT/gbPctZKxjBT4ht64r/nSncLTsM0hOTJU85sU1GvM # CLxNe1SXvLqemORXA5QN9ALMaOVBtaoalrZ6Hi9R8CIN4xXlKMNwMqgdKIJMqBcz # P/x8HgsBRS2G4g7K6q2dOXzESChqNsu9DNJKy7Txl74evePEMM1nnArIPfcG7l3W # X2oycRMxggL1MIIC8QIBATCBkzB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2Fz # aGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENv # cnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAx # MAITMwAAAQUHOepZ81W/KgAAAAABBTANBglghkgBZQMEAgEFAKCCATIwGgYJKoZI # hvcNAQkDMQ0GCyqGSIb3DQEJEAEEMC8GCSqGSIb3DQEJBDEiBCBx44KA8xPqJ7kH # OzBUeFIs0Fo37znWM5sdNiJRejiv6TCB4gYLKoZIhvcNAQkQAgwxgdIwgc8wgcww # gbEEFNJ5nOzIh9j69Md959d2YOEZVfaqMIGYMIGApH4wfDELMAkGA1UEBhMCVVMx # EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoT # FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUt # U3RhbXAgUENBIDIwMTACEzMAAAEFBznqWfNVvyoAAAAAAQUwFgQUa/MZSw7tkin3 # +9hQ2eigh/Cvtl0wDQYJKoZIhvcNAQELBQAEggEAua5CzG4nwz7GxGqAQzLRIpjd # F0ZHtzEdqGcODE2mWgQXAf2Bc57qNep4TVOegfR91fmE6cLPmq4CVpGmwPP9GVwT # TUPUx4VO4JXKdonXpL6RH7zCpBDzACwDjLRxfvQd4Hgr9AQcs3hxrYkAMqvHUGxS # wEUt0wDmNdnUyNBqqWps7uGOTwjZR9oN9HEmb0we4j4vjVgVCzuOUTZp/Lev1OuU # u1jkSYuqYO5AGyjlkPRqawl7l1Qu+qnagRVOoyUh/ucdDvua4OqdhwRjF0V7k9LX # tZbR0dNOdcJQViUpH5P+aSwF7TBv/QjpWNG0zXzyjPoERisvA5NTzSEkSvZXaA== # SIG # End signature block |