NetScalerToolkit.Configuration/Public/ns-functions-config-quic.ps1
|
# Generated NetScalerToolkit Configuration bundle for category 'quic'. # region Invoke-NSAddQUICProfile function Invoke-NSAddQUICProfile { <# .SYNOPSIS Creates a NetScaler quicprofile resource. .DESCRIPTION Configuration for QUIC profile resource. .PARAMETER Ackdelayexponent An integer value advertised by the Citrix ADC to the remote QUIC endpoint, indicating an exponent that the remote QUIC endpoint should use, to decode the ACK Delay field in QUIC ACK frames sent by the Citrix ADC. Default value: 3 Minimum value = 0 Maximum value = 20 .PARAMETER ActiveConnectionIdlimit An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the maximum number of QUIC connection IDs from the remote QUIC endpoint, that the Citrix ADC is willing to store. Default value: 3 Minimum value = 2 Maximum value = 8 .PARAMETER ActiveConnectionMigration Specify whether the Citrix ADC should allow the remote QUIC endpoint to perform active QUIC connection migration. Default value: ENABLED Possible values = ENABLED, DISABLED .PARAMETER Congestionctrlalgorithm Specify the congestion control algorithm to be used for QUIC connections. The default congestion control algorithm is CUBIC. Default value: Default Possible values = Default, NewReno, CUBIC, BBR .PARAMETER InitialMaxData An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the initial value, in bytes, for the maximum amount of data that can be sent on a QUIC connection. Default value: 1048576 Minimum value = 8192 Maximum value = 67108864 .PARAMETER InitialMaxStreamDataBidiLocal An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the initial flow control limit, in bytes, for bidirectional QUIC streams initiated by the Citrix ADC. Default value: 262144 Minimum value = 8192 Maximum value = 8388608 .PARAMETER InitialMaxStreamDataBidiremote An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the initial flow control limit, in bytes, for bidirectional QUIC streams initiated by the remote QUIC endpoint. Default value: 262144 Minimum value = 8192 Maximum value = 8388608 .PARAMETER InitialMaxStreamDataUni An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the initial flow control limit, in bytes, for unidirectional streams initiated by the remote QUIC endpoint. Default value: 262144 Minimum value = 8192 Maximum value = 8388608 .PARAMETER InitialMaxStreamsbidi An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the initial maximum number of bidirectional streams the remote QUIC endpoint may initiate. Default value: 100 Minimum value = 1 Maximum value = 500 .PARAMETER InitialMaxStreamsuni An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the initial maximum number of unidirectional streams the remote QUIC endpoint may initiate. Default value: 10 Minimum value = 1 Maximum value = 500 .PARAMETER MaxAckdelay An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the maximum amount of time, in milliseconds, by which the Citrix ADC will delay sending acknowledgments. Default value: 20 Minimum value = 10 Maximum value = 2000 .PARAMETER MaxIdleTimeout An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the maximum idle timeout, in seconds, for a QUIC connection. A QUIC connection will be silently discarded by the Citrix ADC if it remains idle for longer than the minimum of the idle timeout values advertised by the Citrix ADC and the remote QUIC endpoint, and three times the current Probe Timeout (PTO). Default value: 180 Minimum value = 1 Maximum value = 3600 .PARAMETER MaxUDPDataGramsperburst An integer value, specifying the maximum number of UDP datagrams that can be transmitted by the Citrix ADC in a single transmission burst on a QUIC connection. Default value: 8 Minimum value = 1 Maximum value = 256 .PARAMETER MaxUDPPayloadsize An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the size of the largest UDP datagram payload, in bytes, that the Citrix ADC is willing to receive on a QUIC connection. Default value: 1472 Minimum value = 1252 Maximum value = 9188 .PARAMETER Name Name for the QUIC profile. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash (#), period (.), space, colon (:), at (@),equals sign (=), and hyphen (-) characters. Cannot be changed after the profile is created. Minimum length = 1 Maximum length = 256 .PARAMETER NewtokenvalidiTypeRiod An integer value, specifying the validity period, in seconds, of address validation tokens issued through QUIC NEW_TOKEN frames sent by the Citrix ADC. Default value: 300 Minimum value = 1 Maximum value = 3600 .PARAMETER RetrytokenvalidiTypeRiod An integer value, specifying the validity period, in seconds, of address validation tokens issued through QUIC Retry packets sent by the Citrix ADC. Default value: 10 Minimum value = 1 Maximum value = 120 .PARAMETER Statelessaddressvalidation Specify whether the Citrix ADC should perform stateless address validation for QUIC clients, by sending tokens in QUIC Retry packets during QUIC connection establishment, and by sending tokens in QUIC NEW_TOKEN frames after QUIC connection establishment. Default value: ENABLED Possible values = ENABLED, DISABLED .PARAMETER Session The NetScaler session. If omitted, the current default session is used. .PARAMETER IgnoreNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ReturnNullOnNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ThrowOnWarning Treats NITRO warning responses as terminating errors. .PARAMETER PassThru Returns the updated resource after the operation completes. .EXAMPLE Invoke-NSAddQUICProfile -Name 'example' -PassThru .EXAMPLE Invoke-NSAddQUICProfile -Name 'example' -WhatIf .OUTPUTS System.Management.Automation.PSCustomObject .NOTES Generated from NetScaler NITRO API metadata. Generated: 2026-06-01 21:28 Supported metadata versions: 13.1, 14.1. #> [CmdletBinding(SupportsShouldProcess)] param( [Parameter()] [int] $Ackdelayexponent, [Parameter()] [int] $ActiveConnectionIdlimit, [Parameter()] [ValidateSet('ENABLED', 'DISABLED')] [string] $ActiveConnectionMigration, [Parameter()] [ValidateSet('Default', 'NewReno', 'CUBIC', 'BBR')] [string] $Congestionctrlalgorithm, [Parameter()] [int] $InitialMaxData, [Parameter()] [int] $InitialMaxStreamDataBidiLocal, [Parameter()] [int] $InitialMaxStreamDataBidiremote, [Parameter()] [int] $InitialMaxStreamDataUni, [Parameter()] [int] $InitialMaxStreamsbidi, [Parameter()] [int] $InitialMaxStreamsuni, [Parameter()] [int] $MaxAckdelay, [Parameter()] [int] $MaxIdleTimeout, [Parameter()] [int] $MaxUDPDataGramsperburst, [Parameter()] [int] $MaxUDPPayloadsize, [Parameter(Mandatory, Position = 0)] [string] $Name, [Parameter()] [int] $NewtokenvalidiTypeRiod, [Parameter()] [int] $RetrytokenvalidiTypeRiod, [Parameter()] [ValidateSet('ENABLED', 'DISABLED')] [string] $Statelessaddressvalidation, [Parameter()] [psobject] $Session = (Get-NSSession), [Parameter()] [switch] $IgnoreNotFound, [Parameter()] [switch] $ReturnNullOnNotFound, [Parameter()] [switch] $ThrowOnWarning, [Parameter()] [switch] $PassThru ) $metadataVersion = Resolve-NSMetadataVersion -Session $Session -SupportedVersion @('13.1', '14.1') $transportParameters = @{} if ($PSBoundParameters.ContainsKey('IgnoreNotFound')) { $transportParameters.IgnoreNotFound = $IgnoreNotFound } if ($PSBoundParameters.ContainsKey('ReturnNullOnNotFound')) { $transportParameters.ReturnNullOnNotFound = $ReturnNullOnNotFound } if ($PSBoundParameters.ContainsKey('ThrowOnWarning')) { $transportParameters.ThrowOnWarning = $ThrowOnWarning } $properties = [System.Collections.Generic.Dictionary[string, object]]::new([System.StringComparer]::Ordinal) if ($PSBoundParameters.ContainsKey('Ackdelayexponent')) { $properties['ackdelayexponent'] = $Ackdelayexponent } if ($PSBoundParameters.ContainsKey('ActiveConnectionIdlimit')) { $properties['activeconnectionidlimit'] = $ActiveConnectionIdlimit } if ($PSBoundParameters.ContainsKey('ActiveConnectionMigration')) { $properties['activeconnectionmigration'] = $ActiveConnectionMigration } if ($PSBoundParameters.ContainsKey('Congestionctrlalgorithm')) { $properties['congestionctrlalgorithm'] = $Congestionctrlalgorithm } if ($PSBoundParameters.ContainsKey('InitialMaxData')) { $properties['initialmaxdata'] = $InitialMaxData } if ($PSBoundParameters.ContainsKey('InitialMaxStreamDataBidiLocal')) { $properties['initialmaxstreamdatabidilocal'] = $InitialMaxStreamDataBidiLocal } if ($PSBoundParameters.ContainsKey('InitialMaxStreamDataBidiremote')) { $properties['initialmaxstreamdatabidiremote'] = $InitialMaxStreamDataBidiremote } if ($PSBoundParameters.ContainsKey('InitialMaxStreamDataUni')) { $properties['initialmaxstreamdatauni'] = $InitialMaxStreamDataUni } if ($PSBoundParameters.ContainsKey('InitialMaxStreamsbidi')) { $properties['initialmaxstreamsbidi'] = $InitialMaxStreamsbidi } if ($PSBoundParameters.ContainsKey('InitialMaxStreamsuni')) { $properties['initialmaxstreamsuni'] = $InitialMaxStreamsuni } if ($PSBoundParameters.ContainsKey('MaxAckdelay')) { $properties['maxackdelay'] = $MaxAckdelay } if ($PSBoundParameters.ContainsKey('MaxIdleTimeout')) { $properties['maxidletimeout'] = $MaxIdleTimeout } if ($PSBoundParameters.ContainsKey('MaxUDPDataGramsperburst')) { $properties['maxudpdatagramsperburst'] = $MaxUDPDataGramsperburst } if ($PSBoundParameters.ContainsKey('MaxUDPPayloadsize')) { $properties['maxudppayloadsize'] = $MaxUDPPayloadsize } if ($PSBoundParameters.ContainsKey('Name')) { $properties['name'] = $Name } if ($PSBoundParameters.ContainsKey('NewtokenvalidiTypeRiod')) { $properties['newtokenvalidityperiod'] = $NewtokenvalidiTypeRiod } if ($PSBoundParameters.ContainsKey('RetrytokenvalidiTypeRiod')) { $properties['retrytokenvalidityperiod'] = $RetrytokenvalidiTypeRiod } if ($PSBoundParameters.ContainsKey('Statelessaddressvalidation')) { $properties['statelessaddressvalidation'] = $Statelessaddressvalidation } $body = [System.Collections.Generic.Dictionary[string, object]]::new([System.StringComparer]::Ordinal) foreach ($key in $properties.Keys) { if ($null -ne $properties[$key] -and (-not ($properties[$key] -is [string]) -or $properties[$key] -ne '')) { $body[$key] = $properties[$key] } } if ($PSCmdlet.ShouldProcess("$Name", 'Create quicprofile')) { $response = Invoke-NSRestRequest @transportParameters -Session $Session -Method POST -Task config -Type quicprofile -Payload @{ quicprofile = $body } -RawResponse if ($PassThru) { return Invoke-NSGetQUICProfile -Name $Name -Session $Session } return $response } } # endregion Invoke-NSAddQUICProfile # region Invoke-NSDeleteQUICProfile function Invoke-NSDeleteQUICProfile { <# .SYNOPSIS Removes a NetScaler quicprofile resource. .DESCRIPTION Configuration for QUIC profile resource. .PARAMETER Name Name for the QUIC profile. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash (#), period (.), space, colon (:), at (@),equals sign (=), and hyphen (-) characters. Cannot be changed after the profile is created. Minimum length = 1 Maximum length = 256 .PARAMETER Session The NetScaler session. If omitted, the current default session is used. .PARAMETER IgnoreNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ReturnNullOnNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ThrowOnWarning Treats NITRO warning responses as terminating errors. .EXAMPLE Invoke-NSDeleteQUICProfile -Name 'example' -Confirm:$false .EXAMPLE Invoke-NSGetQUICProfile -Name 'quicprofile_example' | Invoke-NSDeleteQUICProfile -Confirm:$false .OUTPUTS System.Management.Automation.PSCustomObject .NOTES Generated from NetScaler NITRO API metadata. Generated: 2026-06-01 21:28 Supported metadata versions: 13.1, 14.1. #> [CmdletBinding(SupportsShouldProcess, ConfirmImpact = 'High')] param( [Parameter(Mandatory, Position = 0, ValueFromPipelineByPropertyName)] [string] $Name, [Parameter()] [psobject] $Session = (Get-NSSession), [Parameter()] [switch] $IgnoreNotFound, [Parameter()] [switch] $ReturnNullOnNotFound, [Parameter()] [switch] $ThrowOnWarning ) process { $metadataVersion = Resolve-NSMetadataVersion -Session $Session -SupportedVersion @('13.1', '14.1') $transportParameters = @{} if ($PSBoundParameters.ContainsKey('IgnoreNotFound')) { $transportParameters.IgnoreNotFound = $IgnoreNotFound } if ($PSBoundParameters.ContainsKey('ReturnNullOnNotFound')) { $transportParameters.ReturnNullOnNotFound = $ReturnNullOnNotFound } if ($PSBoundParameters.ContainsKey('ThrowOnWarning')) { $transportParameters.ThrowOnWarning = $ThrowOnWarning } if ($PSCmdlet.ShouldProcess("$Name", 'Delete quicprofile')) { Invoke-NSRestRequest @transportParameters -Session $Session -Method DELETE -Task config -Type quicprofile -Resource $Name -RawResponse } } } # endregion Invoke-NSDeleteQUICProfile # region Invoke-NSGetQUICParam function Invoke-NSGetQUICParam { <# .SYNOPSIS Gets NetScaler quicparam configuration. .DESCRIPTION Configuration for Citrix ADC QUIC parameters resource. .PARAMETER ViewSummary Requests the NITRO summary view. .PARAMETER Session The NetScaler session. If omitted, the current default session is used. .PARAMETER IgnoreNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ReturnNullOnNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ThrowOnWarning Treats NITRO warning responses as terminating errors. .EXAMPLE Invoke-NSGetQUICParam .EXAMPLE Invoke-NSGetQUICParam -Filter @{ servicetype = 'HTTP' } .OUTPUTS System.Management.Automation.PSCustomObject .NOTES Generated from NetScaler NITRO API metadata. Generated: 2026-06-01 21:28 Supported metadata versions: 13.1, 14.1. #> [CmdletBinding(DefaultParameterSetName = 'All')] param( [Parameter(ParameterSetName = 'All')] [hashtable] $Filter, [Parameter(ParameterSetName = 'All')] [switch] $ViewSummary, [Parameter()] [psobject] $Session = (Get-NSSession), [Parameter()] [switch] $IgnoreNotFound, [Parameter()] [switch] $ReturnNullOnNotFound, [Parameter()] [switch] $ThrowOnWarning ) process { $metadataVersion = Resolve-NSMetadataVersion -Session $Session -SupportedVersion @('13.1', '14.1') $transportParameters = @{} if ($PSBoundParameters.ContainsKey('IgnoreNotFound')) { $transportParameters.IgnoreNotFound = $IgnoreNotFound } if ($PSBoundParameters.ContainsKey('ReturnNullOnNotFound')) { $transportParameters.ReturnNullOnNotFound = $ReturnNullOnNotFound } if ($PSBoundParameters.ContainsKey('ThrowOnWarning')) { $transportParameters.ThrowOnWarning = $ThrowOnWarning } $query = [System.Collections.Generic.Dictionary[string, object]]::new([System.StringComparer]::Ordinal) if ($Filter) { $query.filter = (($Filter.GetEnumerator() | Sort-Object Name | ForEach-Object { "{0}:{1}" -f $_.Key, $_.Value }) -join ',') } if ($ViewSummary) { $query.view = 'summary' } $request = @{ Session = $Session Method = 'GET' Task = 'config' Type = 'quicparam' Query = $query } foreach ($key in $transportParameters.Keys) { $request[$key] = $transportParameters[$key] } Invoke-NSRestRequest @request } } # endregion Invoke-NSGetQUICParam # region Invoke-NSGetQUICProfile function Invoke-NSGetQUICProfile { <# .SYNOPSIS Gets NetScaler quicprofile configuration. .DESCRIPTION Configuration for QUIC profile resource. .PARAMETER Name Name for the QUIC profile. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash (#), period (.), space, colon (:), at (@),equals sign (=), and hyphen (-) characters. Cannot be changed after the profile is created. Minimum length = 1 Maximum length = 256 .PARAMETER Filter NITRO filter values as a hashtable. .PARAMETER ViewSummary Requests the NITRO summary view. .PARAMETER Count Returns only the number of matching resources. .PARAMETER Session The NetScaler session. If omitted, the current default session is used. .PARAMETER IgnoreNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ReturnNullOnNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ThrowOnWarning Treats NITRO warning responses as terminating errors. .EXAMPLE Invoke-NSGetQUICProfile .EXAMPLE Invoke-NSGetQUICProfile -Name 'quicprofile_example' .EXAMPLE Invoke-NSGetQUICProfile -Filter @{ servicetype = 'HTTP' } .OUTPUTS System.Management.Automation.PSCustomObject .NOTES Generated from NetScaler NITRO API metadata. Generated: 2026-06-01 21:28 Supported metadata versions: 13.1, 14.1. #> [CmdletBinding(DefaultParameterSetName = 'All')] param( [Parameter(ParameterSetName = 'ByName', Mandatory, Position = 0, ValueFromPipelineByPropertyName)] [string] $Name, [Parameter(ParameterSetName = 'All')] [hashtable] $Filter, [Parameter(ParameterSetName = 'All')] [switch] $ViewSummary, [Parameter(ParameterSetName = 'Count')] [switch] $Count, [Parameter()] [psobject] $Session = (Get-NSSession), [Parameter()] [switch] $IgnoreNotFound, [Parameter()] [switch] $ReturnNullOnNotFound, [Parameter()] [switch] $ThrowOnWarning ) process { $metadataVersion = Resolve-NSMetadataVersion -Session $Session -SupportedVersion @('13.1', '14.1') $transportParameters = @{} if ($PSBoundParameters.ContainsKey('IgnoreNotFound')) { $transportParameters.IgnoreNotFound = $IgnoreNotFound } if ($PSBoundParameters.ContainsKey('ReturnNullOnNotFound')) { $transportParameters.ReturnNullOnNotFound = $ReturnNullOnNotFound } if ($PSBoundParameters.ContainsKey('ThrowOnWarning')) { $transportParameters.ThrowOnWarning = $ThrowOnWarning } $query = [System.Collections.Generic.Dictionary[string, object]]::new([System.StringComparer]::Ordinal) if ($Filter) { $query.filter = (($Filter.GetEnumerator() | Sort-Object Name | ForEach-Object { "{0}:{1}" -f $_.Key, $_.Value }) -join ',') } if ($ViewSummary) { $query.view = 'summary' } if ($Count) { $query.count = 'yes' } $request = @{ Session = $Session Method = 'GET' Task = 'config' Type = 'quicprofile' Query = $query } if ($PSCmdlet.ParameterSetName -eq 'ByName') { $request.Resource = $Name } foreach ($key in $transportParameters.Keys) { $request[$key] = $transportParameters[$key] } Invoke-NSRestRequest @request } } # endregion Invoke-NSGetQUICProfile # region Invoke-NSUnsetQUICParam function Invoke-NSUnsetQUICParam { <# .SYNOPSIS Clears one or more NetScaler quicparam resource properties. .DESCRIPTION Configuration for Citrix ADC QUIC parameters resource. .PARAMETER QUICSecretTimeout Rotation frequency, in seconds, for the secret used to generate address validation tokens that will be issued in QUIC Retry packets and QUIC NEW_TOKEN frames sent by the Citrix ADC. A value of 0 can be configured if secret rotation is not desired. Default value: 3600 Minimum value = 0 Maximum value = 31536000 .PARAMETER Session The NetScaler session. If omitted, the current default session is used. .PARAMETER IgnoreNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ReturnNullOnNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ThrowOnWarning Treats NITRO warning responses as terminating errors. .PARAMETER PassThru Returns the updated resource after the operation completes. .EXAMPLE Invoke-NSUnsetQUICParam -QUICSecretTimeout -PassThru .EXAMPLE Invoke-NSUnsetQUICParam -QUICSecretTimeout -WhatIf .OUTPUTS System.Management.Automation.PSCustomObject .NOTES Generated from NetScaler NITRO API metadata. Generated: 2026-06-01 21:28 Supported metadata versions: 13.1, 14.1. #> [CmdletBinding(SupportsShouldProcess)] param( [Parameter()] [switch] $QUICSecretTimeout, [Parameter()] [psobject] $Session = (Get-NSSession), [Parameter()] [switch] $IgnoreNotFound, [Parameter()] [switch] $ReturnNullOnNotFound, [Parameter()] [switch] $ThrowOnWarning, [Parameter()] [switch] $PassThru ) process { $metadataVersion = Resolve-NSMetadataVersion -Session $Session -SupportedVersion @('13.1', '14.1') $transportParameters = @{} if ($PSBoundParameters.ContainsKey('IgnoreNotFound')) { $transportParameters.IgnoreNotFound = $IgnoreNotFound } if ($PSBoundParameters.ContainsKey('ReturnNullOnNotFound')) { $transportParameters.ReturnNullOnNotFound = $ReturnNullOnNotFound } if ($PSBoundParameters.ContainsKey('ThrowOnWarning')) { $transportParameters.ThrowOnWarning = $ThrowOnWarning } $body = @{} if ($PSBoundParameters.ContainsKey('QUICSecretTimeout')) { $body['quicsecrettimeout'] = $true } if ($body.Count -le 0) { throw 'Specify at least one property switch to clear.' } if ($PSCmdlet.ShouldProcess('quicparam', 'Clear quicparam properties')) { $response = Invoke-NSRestRequest @transportParameters -Session $Session -Method POST -Task config -Type quicparam -Action unset -Payload @{ quicparam = $body } -RawResponse return $response } } } # endregion Invoke-NSUnsetQUICParam # region Invoke-NSUnsetQUICProfile function Invoke-NSUnsetQUICProfile { <# .SYNOPSIS Clears one or more NetScaler quicprofile resource properties. .DESCRIPTION Configuration for QUIC profile resource. .PARAMETER Name Name for the QUIC profile. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash (#), period (.), space, colon (:), at (@),equals sign (=), and hyphen (-) characters. Cannot be changed after the profile is created. Minimum length = 1 Maximum length = 256 .PARAMETER Ackdelayexponent An integer value advertised by the Citrix ADC to the remote QUIC endpoint, indicating an exponent that the remote QUIC endpoint should use, to decode the ACK Delay field in QUIC ACK frames sent by the Citrix ADC. Default value: 3 Minimum value = 0 Maximum value = 20 .PARAMETER ActiveConnectionIdlimit An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the maximum number of QUIC connection IDs from the remote QUIC endpoint, that the Citrix ADC is willing to store. Default value: 3 Minimum value = 2 Maximum value = 8 .PARAMETER ActiveConnectionMigration Specify whether the Citrix ADC should allow the remote QUIC endpoint to perform active QUIC connection migration. Default value: ENABLED Possible values = ENABLED, DISABLED .PARAMETER Congestionctrlalgorithm Specify the congestion control algorithm to be used for QUIC connections. The default congestion control algorithm is CUBIC. Default value: Default Possible values = Default, NewReno, CUBIC, BBR .PARAMETER InitialMaxData An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the initial value, in bytes, for the maximum amount of data that can be sent on a QUIC connection. Default value: 1048576 Minimum value = 8192 Maximum value = 67108864 .PARAMETER InitialMaxStreamDataBidiLocal An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the initial flow control limit, in bytes, for bidirectional QUIC streams initiated by the Citrix ADC. Default value: 262144 Minimum value = 8192 Maximum value = 8388608 .PARAMETER InitialMaxStreamDataBidiremote An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the initial flow control limit, in bytes, for bidirectional QUIC streams initiated by the remote QUIC endpoint. Default value: 262144 Minimum value = 8192 Maximum value = 8388608 .PARAMETER InitialMaxStreamDataUni An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the initial flow control limit, in bytes, for unidirectional streams initiated by the remote QUIC endpoint. Default value: 262144 Minimum value = 8192 Maximum value = 8388608 .PARAMETER InitialMaxStreamsbidi An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the initial maximum number of bidirectional streams the remote QUIC endpoint may initiate. Default value: 100 Minimum value = 1 Maximum value = 500 .PARAMETER InitialMaxStreamsuni An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the initial maximum number of unidirectional streams the remote QUIC endpoint may initiate. Default value: 10 Minimum value = 1 Maximum value = 500 .PARAMETER MaxAckdelay An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the maximum amount of time, in milliseconds, by which the Citrix ADC will delay sending acknowledgments. Default value: 20 Minimum value = 10 Maximum value = 2000 .PARAMETER MaxIdleTimeout An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the maximum idle timeout, in seconds, for a QUIC connection. A QUIC connection will be silently discarded by the Citrix ADC if it remains idle for longer than the minimum of the idle timeout values advertised by the Citrix ADC and the remote QUIC endpoint, and three times the current Probe Timeout (PTO). Default value: 180 Minimum value = 1 Maximum value = 3600 .PARAMETER MaxUDPDataGramsperburst An integer value, specifying the maximum number of UDP datagrams that can be transmitted by the Citrix ADC in a single transmission burst on a QUIC connection. Default value: 8 Minimum value = 1 Maximum value = 256 .PARAMETER MaxUDPPayloadsize An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the size of the largest UDP datagram payload, in bytes, that the Citrix ADC is willing to receive on a QUIC connection. Default value: 1472 Minimum value = 1252 Maximum value = 9188 .PARAMETER NewtokenvalidiTypeRiod An integer value, specifying the validity period, in seconds, of address validation tokens issued through QUIC NEW_TOKEN frames sent by the Citrix ADC. Default value: 300 Minimum value = 1 Maximum value = 3600 .PARAMETER RetrytokenvalidiTypeRiod An integer value, specifying the validity period, in seconds, of address validation tokens issued through QUIC Retry packets sent by the Citrix ADC. Default value: 10 Minimum value = 1 Maximum value = 120 .PARAMETER Statelessaddressvalidation Specify whether the Citrix ADC should perform stateless address validation for QUIC clients, by sending tokens in QUIC Retry packets during QUIC connection establishment, and by sending tokens in QUIC NEW_TOKEN frames after QUIC connection establishment. Default value: ENABLED Possible values = ENABLED, DISABLED .PARAMETER Session The NetScaler session. If omitted, the current default session is used. .PARAMETER IgnoreNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ReturnNullOnNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ThrowOnWarning Treats NITRO warning responses as terminating errors. .PARAMETER PassThru Returns the updated resource after the operation completes. .EXAMPLE Invoke-NSUnsetQUICProfile -Name 'example' -Ackdelayexponent -PassThru .EXAMPLE Invoke-NSUnsetQUICProfile -Name 'example' -Ackdelayexponent -WhatIf .OUTPUTS System.Management.Automation.PSCustomObject .NOTES Generated from NetScaler NITRO API metadata. Generated: 2026-06-01 21:28 Supported metadata versions: 13.1, 14.1. #> [CmdletBinding(SupportsShouldProcess)] param( [Parameter(Mandatory, Position = 0, ValueFromPipelineByPropertyName)] [string] $Name, [Parameter()] [switch] $Ackdelayexponent, [Parameter()] [switch] $ActiveConnectionIdlimit, [Parameter()] [ValidateSet('ENABLED', 'DISABLED')] [switch] $ActiveConnectionMigration, [Parameter()] [ValidateSet('Default', 'NewReno', 'CUBIC', 'BBR')] [switch] $Congestionctrlalgorithm, [Parameter()] [switch] $InitialMaxData, [Parameter()] [switch] $InitialMaxStreamDataBidiLocal, [Parameter()] [switch] $InitialMaxStreamDataBidiremote, [Parameter()] [switch] $InitialMaxStreamDataUni, [Parameter()] [switch] $InitialMaxStreamsbidi, [Parameter()] [switch] $InitialMaxStreamsuni, [Parameter()] [switch] $MaxAckdelay, [Parameter()] [switch] $MaxIdleTimeout, [Parameter()] [switch] $MaxUDPDataGramsperburst, [Parameter()] [switch] $MaxUDPPayloadsize, [Parameter()] [switch] $NewtokenvalidiTypeRiod, [Parameter()] [switch] $RetrytokenvalidiTypeRiod, [Parameter()] [ValidateSet('ENABLED', 'DISABLED')] [switch] $Statelessaddressvalidation, [Parameter()] [psobject] $Session = (Get-NSSession), [Parameter()] [switch] $IgnoreNotFound, [Parameter()] [switch] $ReturnNullOnNotFound, [Parameter()] [switch] $ThrowOnWarning, [Parameter()] [switch] $PassThru ) process { $metadataVersion = Resolve-NSMetadataVersion -Session $Session -SupportedVersion @('13.1', '14.1') $transportParameters = @{} if ($PSBoundParameters.ContainsKey('IgnoreNotFound')) { $transportParameters.IgnoreNotFound = $IgnoreNotFound } if ($PSBoundParameters.ContainsKey('ReturnNullOnNotFound')) { $transportParameters.ReturnNullOnNotFound = $ReturnNullOnNotFound } if ($PSBoundParameters.ContainsKey('ThrowOnWarning')) { $transportParameters.ThrowOnWarning = $ThrowOnWarning } $body = @{ name = $Name } if ($PSBoundParameters.ContainsKey('Ackdelayexponent')) { $body['ackdelayexponent'] = $true } if ($PSBoundParameters.ContainsKey('ActiveConnectionIdlimit')) { $body['activeconnectionidlimit'] = $true } if ($PSBoundParameters.ContainsKey('ActiveConnectionMigration')) { $body['activeconnectionmigration'] = $true } if ($PSBoundParameters.ContainsKey('Congestionctrlalgorithm')) { $body['congestionctrlalgorithm'] = $true } if ($PSBoundParameters.ContainsKey('InitialMaxData')) { $body['initialmaxdata'] = $true } if ($PSBoundParameters.ContainsKey('InitialMaxStreamDataBidiLocal')) { $body['initialmaxstreamdatabidilocal'] = $true } if ($PSBoundParameters.ContainsKey('InitialMaxStreamDataBidiremote')) { $body['initialmaxstreamdatabidiremote'] = $true } if ($PSBoundParameters.ContainsKey('InitialMaxStreamDataUni')) { $body['initialmaxstreamdatauni'] = $true } if ($PSBoundParameters.ContainsKey('InitialMaxStreamsbidi')) { $body['initialmaxstreamsbidi'] = $true } if ($PSBoundParameters.ContainsKey('InitialMaxStreamsuni')) { $body['initialmaxstreamsuni'] = $true } if ($PSBoundParameters.ContainsKey('MaxAckdelay')) { $body['maxackdelay'] = $true } if ($PSBoundParameters.ContainsKey('MaxIdleTimeout')) { $body['maxidletimeout'] = $true } if ($PSBoundParameters.ContainsKey('MaxUDPDataGramsperburst')) { $body['maxudpdatagramsperburst'] = $true } if ($PSBoundParameters.ContainsKey('MaxUDPPayloadsize')) { $body['maxudppayloadsize'] = $true } if ($PSBoundParameters.ContainsKey('NewtokenvalidiTypeRiod')) { $body['newtokenvalidityperiod'] = $true } if ($PSBoundParameters.ContainsKey('RetrytokenvalidiTypeRiod')) { $body['retrytokenvalidityperiod'] = $true } if ($PSBoundParameters.ContainsKey('Statelessaddressvalidation')) { $body['statelessaddressvalidation'] = $true } if ($body.Count -le 1) { throw 'Specify at least one property switch to clear.' } if ($PSCmdlet.ShouldProcess("$Name", 'Clear quicprofile properties')) { $response = Invoke-NSRestRequest @transportParameters -Session $Session -Method POST -Task config -Type quicprofile -Action unset -Payload @{ quicprofile = $body } -RawResponse if ($PassThru) { return Invoke-NSGetQUICProfile -Name $Name -Session $Session } return $response } } } # endregion Invoke-NSUnsetQUICProfile # region Invoke-NSUpdateQUICParam function Invoke-NSUpdateQUICParam { <# .SYNOPSIS Updates a NetScaler quicparam resource. .DESCRIPTION Configuration for Citrix ADC QUIC parameters resource. .PARAMETER QUICSecretTimeout Rotation frequency, in seconds, for the secret used to generate address validation tokens that will be issued in QUIC Retry packets and QUIC NEW_TOKEN frames sent by the Citrix ADC. A value of 0 can be configured if secret rotation is not desired. Default value: 3600 Minimum value = 0 Maximum value = 31536000 .PARAMETER Session The NetScaler session. If omitted, the current default session is used. .PARAMETER IgnoreNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ReturnNullOnNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ThrowOnWarning Treats NITRO warning responses as terminating errors. .PARAMETER PassThru Returns the updated resource after the operation completes. .EXAMPLE Invoke-NSUpdateQUICParam -PassThru .EXAMPLE Invoke-NSUpdateQUICParam -WhatIf .OUTPUTS System.Management.Automation.PSCustomObject .NOTES Generated from NetScaler NITRO API metadata. Generated: 2026-06-01 21:28 Supported metadata versions: 13.1, 14.1. #> [CmdletBinding(SupportsShouldProcess)] param( [Parameter()] [int] $QUICSecretTimeout, [Parameter()] [psobject] $Session = (Get-NSSession), [Parameter()] [switch] $IgnoreNotFound, [Parameter()] [switch] $ReturnNullOnNotFound, [Parameter()] [switch] $ThrowOnWarning, [Parameter()] [switch] $PassThru ) $metadataVersion = Resolve-NSMetadataVersion -Session $Session -SupportedVersion @('13.1', '14.1') $transportParameters = @{} if ($PSBoundParameters.ContainsKey('IgnoreNotFound')) { $transportParameters.IgnoreNotFound = $IgnoreNotFound } if ($PSBoundParameters.ContainsKey('ReturnNullOnNotFound')) { $transportParameters.ReturnNullOnNotFound = $ReturnNullOnNotFound } if ($PSBoundParameters.ContainsKey('ThrowOnWarning')) { $transportParameters.ThrowOnWarning = $ThrowOnWarning } $properties = [System.Collections.Generic.Dictionary[string, object]]::new([System.StringComparer]::Ordinal) if ($PSBoundParameters.ContainsKey('QUICSecretTimeout')) { $properties['quicsecrettimeout'] = $QUICSecretTimeout } $body = [System.Collections.Generic.Dictionary[string, object]]::new([System.StringComparer]::Ordinal) foreach ($key in $properties.Keys) { if ($null -ne $properties[$key] -and (-not ($properties[$key] -is [string]) -or $properties[$key] -ne '')) { $body[$key] = $properties[$key] } } if ($PSCmdlet.ShouldProcess('quicparam', 'Update quicparam')) { $response = Invoke-NSRestRequest @transportParameters -Session $Session -Method PUT -Task config -Type quicparam -Payload @{ quicparam = $body } -RawResponse return $response } } # endregion Invoke-NSUpdateQUICParam # region Invoke-NSUpdateQUICProfile function Invoke-NSUpdateQUICProfile { <# .SYNOPSIS Updates a NetScaler quicprofile resource. .DESCRIPTION Configuration for QUIC profile resource. .PARAMETER Ackdelayexponent An integer value advertised by the Citrix ADC to the remote QUIC endpoint, indicating an exponent that the remote QUIC endpoint should use, to decode the ACK Delay field in QUIC ACK frames sent by the Citrix ADC. Default value: 3 Minimum value = 0 Maximum value = 20 .PARAMETER ActiveConnectionIdlimit An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the maximum number of QUIC connection IDs from the remote QUIC endpoint, that the Citrix ADC is willing to store. Default value: 3 Minimum value = 2 Maximum value = 8 .PARAMETER ActiveConnectionMigration Specify whether the Citrix ADC should allow the remote QUIC endpoint to perform active QUIC connection migration. Default value: ENABLED Possible values = ENABLED, DISABLED .PARAMETER Congestionctrlalgorithm Specify the congestion control algorithm to be used for QUIC connections. The default congestion control algorithm is CUBIC. Default value: Default Possible values = Default, NewReno, CUBIC, BBR .PARAMETER InitialMaxData An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the initial value, in bytes, for the maximum amount of data that can be sent on a QUIC connection. Default value: 1048576 Minimum value = 8192 Maximum value = 67108864 .PARAMETER InitialMaxStreamDataBidiLocal An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the initial flow control limit, in bytes, for bidirectional QUIC streams initiated by the Citrix ADC. Default value: 262144 Minimum value = 8192 Maximum value = 8388608 .PARAMETER InitialMaxStreamDataBidiremote An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the initial flow control limit, in bytes, for bidirectional QUIC streams initiated by the remote QUIC endpoint. Default value: 262144 Minimum value = 8192 Maximum value = 8388608 .PARAMETER InitialMaxStreamDataUni An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the initial flow control limit, in bytes, for unidirectional streams initiated by the remote QUIC endpoint. Default value: 262144 Minimum value = 8192 Maximum value = 8388608 .PARAMETER InitialMaxStreamsbidi An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the initial maximum number of bidirectional streams the remote QUIC endpoint may initiate. Default value: 100 Minimum value = 1 Maximum value = 500 .PARAMETER InitialMaxStreamsuni An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the initial maximum number of unidirectional streams the remote QUIC endpoint may initiate. Default value: 10 Minimum value = 1 Maximum value = 500 .PARAMETER MaxAckdelay An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the maximum amount of time, in milliseconds, by which the Citrix ADC will delay sending acknowledgments. Default value: 20 Minimum value = 10 Maximum value = 2000 .PARAMETER MaxIdleTimeout An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the maximum idle timeout, in seconds, for a QUIC connection. A QUIC connection will be silently discarded by the Citrix ADC if it remains idle for longer than the minimum of the idle timeout values advertised by the Citrix ADC and the remote QUIC endpoint, and three times the current Probe Timeout (PTO). Default value: 180 Minimum value = 1 Maximum value = 3600 .PARAMETER MaxUDPDataGramsperburst An integer value, specifying the maximum number of UDP datagrams that can be transmitted by the Citrix ADC in a single transmission burst on a QUIC connection. Default value: 8 Minimum value = 1 Maximum value = 256 .PARAMETER MaxUDPPayloadsize An integer value advertised by the Citrix ADC to the remote QUIC endpoint, specifying the size of the largest UDP datagram payload, in bytes, that the Citrix ADC is willing to receive on a QUIC connection. Default value: 1472 Minimum value = 1252 Maximum value = 9188 .PARAMETER Name Name for the QUIC profile. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash (#), period (.), space, colon (:), at (@),equals sign (=), and hyphen (-) characters. Cannot be changed after the profile is created. Minimum length = 1 Maximum length = 256 .PARAMETER NewtokenvalidiTypeRiod An integer value, specifying the validity period, in seconds, of address validation tokens issued through QUIC NEW_TOKEN frames sent by the Citrix ADC. Default value: 300 Minimum value = 1 Maximum value = 3600 .PARAMETER RetrytokenvalidiTypeRiod An integer value, specifying the validity period, in seconds, of address validation tokens issued through QUIC Retry packets sent by the Citrix ADC. Default value: 10 Minimum value = 1 Maximum value = 120 .PARAMETER Statelessaddressvalidation Specify whether the Citrix ADC should perform stateless address validation for QUIC clients, by sending tokens in QUIC Retry packets during QUIC connection establishment, and by sending tokens in QUIC NEW_TOKEN frames after QUIC connection establishment. Default value: ENABLED Possible values = ENABLED, DISABLED .PARAMETER Session The NetScaler session. If omitted, the current default session is used. .PARAMETER IgnoreNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ReturnNullOnNotFound Returns null instead of throwing for known NITRO not-found responses. .PARAMETER ThrowOnWarning Treats NITRO warning responses as terminating errors. .PARAMETER PassThru Returns the updated resource after the operation completes. .EXAMPLE Invoke-NSUpdateQUICProfile -Name 'example' -PassThru .EXAMPLE Invoke-NSUpdateQUICProfile -Name 'example' -WhatIf .OUTPUTS System.Management.Automation.PSCustomObject .NOTES Generated from NetScaler NITRO API metadata. Generated: 2026-06-01 21:28 Supported metadata versions: 13.1, 14.1. #> [CmdletBinding(SupportsShouldProcess)] param( [Parameter()] [int] $Ackdelayexponent, [Parameter()] [int] $ActiveConnectionIdlimit, [Parameter()] [ValidateSet('ENABLED', 'DISABLED')] [string] $ActiveConnectionMigration, [Parameter()] [ValidateSet('Default', 'NewReno', 'CUBIC', 'BBR')] [string] $Congestionctrlalgorithm, [Parameter()] [int] $InitialMaxData, [Parameter()] [int] $InitialMaxStreamDataBidiLocal, [Parameter()] [int] $InitialMaxStreamDataBidiremote, [Parameter()] [int] $InitialMaxStreamDataUni, [Parameter()] [int] $InitialMaxStreamsbidi, [Parameter()] [int] $InitialMaxStreamsuni, [Parameter()] [int] $MaxAckdelay, [Parameter()] [int] $MaxIdleTimeout, [Parameter()] [int] $MaxUDPDataGramsperburst, [Parameter()] [int] $MaxUDPPayloadsize, [Parameter(Mandatory, Position = 0)] [string] $Name, [Parameter()] [int] $NewtokenvalidiTypeRiod, [Parameter()] [int] $RetrytokenvalidiTypeRiod, [Parameter()] [ValidateSet('ENABLED', 'DISABLED')] [string] $Statelessaddressvalidation, [Parameter()] [psobject] $Session = (Get-NSSession), [Parameter()] [switch] $IgnoreNotFound, [Parameter()] [switch] $ReturnNullOnNotFound, [Parameter()] [switch] $ThrowOnWarning, [Parameter()] [switch] $PassThru ) $metadataVersion = Resolve-NSMetadataVersion -Session $Session -SupportedVersion @('13.1', '14.1') $transportParameters = @{} if ($PSBoundParameters.ContainsKey('IgnoreNotFound')) { $transportParameters.IgnoreNotFound = $IgnoreNotFound } if ($PSBoundParameters.ContainsKey('ReturnNullOnNotFound')) { $transportParameters.ReturnNullOnNotFound = $ReturnNullOnNotFound } if ($PSBoundParameters.ContainsKey('ThrowOnWarning')) { $transportParameters.ThrowOnWarning = $ThrowOnWarning } $properties = [System.Collections.Generic.Dictionary[string, object]]::new([System.StringComparer]::Ordinal) if ($PSBoundParameters.ContainsKey('Ackdelayexponent')) { $properties['ackdelayexponent'] = $Ackdelayexponent } if ($PSBoundParameters.ContainsKey('ActiveConnectionIdlimit')) { $properties['activeconnectionidlimit'] = $ActiveConnectionIdlimit } if ($PSBoundParameters.ContainsKey('ActiveConnectionMigration')) { $properties['activeconnectionmigration'] = $ActiveConnectionMigration } if ($PSBoundParameters.ContainsKey('Congestionctrlalgorithm')) { $properties['congestionctrlalgorithm'] = $Congestionctrlalgorithm } if ($PSBoundParameters.ContainsKey('InitialMaxData')) { $properties['initialmaxdata'] = $InitialMaxData } if ($PSBoundParameters.ContainsKey('InitialMaxStreamDataBidiLocal')) { $properties['initialmaxstreamdatabidilocal'] = $InitialMaxStreamDataBidiLocal } if ($PSBoundParameters.ContainsKey('InitialMaxStreamDataBidiremote')) { $properties['initialmaxstreamdatabidiremote'] = $InitialMaxStreamDataBidiremote } if ($PSBoundParameters.ContainsKey('InitialMaxStreamDataUni')) { $properties['initialmaxstreamdatauni'] = $InitialMaxStreamDataUni } if ($PSBoundParameters.ContainsKey('InitialMaxStreamsbidi')) { $properties['initialmaxstreamsbidi'] = $InitialMaxStreamsbidi } if ($PSBoundParameters.ContainsKey('InitialMaxStreamsuni')) { $properties['initialmaxstreamsuni'] = $InitialMaxStreamsuni } if ($PSBoundParameters.ContainsKey('MaxAckdelay')) { $properties['maxackdelay'] = $MaxAckdelay } if ($PSBoundParameters.ContainsKey('MaxIdleTimeout')) { $properties['maxidletimeout'] = $MaxIdleTimeout } if ($PSBoundParameters.ContainsKey('MaxUDPDataGramsperburst')) { $properties['maxudpdatagramsperburst'] = $MaxUDPDataGramsperburst } if ($PSBoundParameters.ContainsKey('MaxUDPPayloadsize')) { $properties['maxudppayloadsize'] = $MaxUDPPayloadsize } if ($PSBoundParameters.ContainsKey('Name')) { $properties['name'] = $Name } if ($PSBoundParameters.ContainsKey('NewtokenvalidiTypeRiod')) { $properties['newtokenvalidityperiod'] = $NewtokenvalidiTypeRiod } if ($PSBoundParameters.ContainsKey('RetrytokenvalidiTypeRiod')) { $properties['retrytokenvalidityperiod'] = $RetrytokenvalidiTypeRiod } if ($PSBoundParameters.ContainsKey('Statelessaddressvalidation')) { $properties['statelessaddressvalidation'] = $Statelessaddressvalidation } $body = [System.Collections.Generic.Dictionary[string, object]]::new([System.StringComparer]::Ordinal) foreach ($key in $properties.Keys) { if ($null -ne $properties[$key] -and (-not ($properties[$key] -is [string]) -or $properties[$key] -ne '')) { $body[$key] = $properties[$key] } } if ($PSCmdlet.ShouldProcess("$Name", 'Update quicprofile')) { $response = Invoke-NSRestRequest @transportParameters -Session $Session -Method PUT -Task config -Type quicprofile -Payload @{ quicprofile = $body } -RawResponse if ($PassThru) { return Invoke-NSGetQUICProfile -Name $Name -Session $Session } return $response } } # endregion Invoke-NSUpdateQUICProfile # SIG # Begin signature block # MIImdwYJKoZIhvcNAQcCoIImaDCCJmQCAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBxsY+bEnAXwrrz # 7yqBvV8PvCm164Ldfp9M3ojV2pq8HaCCIAowggYUMIID/KADAgECAhB6I67aU2mW # D5HIPlz0x+M/MA0GCSqGSIb3DQEBDAUAMFcxCzAJBgNVBAYTAkdCMRgwFgYDVQQK # Ew9TZWN0aWdvIExpbWl0ZWQxLjAsBgNVBAMTJVNlY3RpZ28gUHVibGljIFRpbWUg # U3RhbXBpbmcgUm9vdCBSNDYwHhcNMjEwMzIyMDAwMDAwWhcNMzYwMzIxMjM1OTU5 # WjBVMQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMSwwKgYD # VQQDEyNTZWN0aWdvIFB1YmxpYyBUaW1lIFN0YW1waW5nIENBIFIzNjCCAaIwDQYJ # KoZIhvcNAQEBBQADggGPADCCAYoCggGBAM2Y2ENBq26CK+z2M34mNOSJjNPvIhKA # VD7vJq+MDoGD46IiM+b83+3ecLvBhStSVjeYXIjfa3ajoW3cS3ElcJzkyZlBnwDE # JuHlzpbN4kMH2qRBVrjrGJgSlzzUqcGQBaCxpectRGhhnOSwcjPMI3G0hedv2eNm # GiUbD12OeORN0ADzdpsQ4dDi6M4YhoGE9cbY11XxM2AVZn0GiOUC9+XE0wI7CQKf # OUfigLDn7i/WeyxZ43XLj5GVo7LDBExSLnh+va8WxTlA+uBvq1KO8RSHUQLgzb1g # bL9Ihgzxmkdp2ZWNuLc+XyEmJNbD2OIIq/fWlwBp6KNL19zpHsODLIsgZ+WZ1AzC # s1HEK6VWrxmnKyJJg2Lv23DlEdZlQSGdF+z+Gyn9/CRezKe7WNyxRf4e4bwUtrYE # 2F5Q+05yDD68clwnweckKtxRaF0VzN/w76kOLIaFVhf5sMM/caEZLtOYqYadtn03 # 4ykSFaZuIBU9uCSrKRKTPJhWvXk4CllgrwIDAQABo4IBXDCCAVgwHwYDVR0jBBgw # FoAU9ndq3T/9ARP/FqFsggIv0Ao9FCUwHQYDVR0OBBYEFF9Y7UwxeqJhQo1SgLqz # YZcZojKbMA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMBMGA1Ud # JQQMMAoGCCsGAQUFBwMIMBEGA1UdIAQKMAgwBgYEVR0gADBMBgNVHR8ERTBDMEGg # P6A9hjtodHRwOi8vY3JsLnNlY3RpZ28uY29tL1NlY3RpZ29QdWJsaWNUaW1lU3Rh # bXBpbmdSb290UjQ2LmNybDB8BggrBgEFBQcBAQRwMG4wRwYIKwYBBQUHMAKGO2h0 # dHA6Ly9jcnQuc2VjdGlnby5jb20vU2VjdGlnb1B1YmxpY1RpbWVTdGFtcGluZ1Jv # b3RSNDYucDdjMCMGCCsGAQUFBzABhhdodHRwOi8vb2NzcC5zZWN0aWdvLmNvbTAN # BgkqhkiG9w0BAQwFAAOCAgEAEtd7IK0ONVgMnoEdJVj9TC1ndK/HYiYh9lVUacah # RoZ2W2hfiEOyQExnHk1jkvpIJzAMxmEc6ZvIyHI5UkPCbXKspioYMdbOnBWQUn73 # 3qMooBfIghpR/klUqNxx6/fDXqY0hSU1OSkkSivt51UlmJElUICZYBodzD3M/SFj # eCP59anwxs6hwj1mfvzG+b1coYGnqsSz2wSKr+nDO+Db8qNcTbJZRAiSazr7KyUJ # Go1c+MScGfG5QHV+bps8BX5Oyv9Ct36Y4Il6ajTqV2ifikkVtB3RNBUgwu/mSiSU # ice/Jp/q8BMk/gN8+0rNIE+QqU63JoVMCMPY2752LmESsRVVoypJVt8/N3qQ1c6F # ibbcRabo3azZkcIdWGVSAdoLgAIxEKBeNh9AQO1gQrnh1TA8ldXuJzPSuALOz1Uj # b0PCyNVkWk7hkhVHfcvBfI8NtgWQupiaAeNHe0pWSGH2opXZYKYG4Lbukg7HpNi/ # KqJhue2Keak6qH9A8CeEOB7Eob0Zf+fU+CCQaL0cJqlmnx9HCDxF+3BLbUufrV64 # EbTI40zqegPZdA+sXCmbcZy6okx/SjwsusWRItFA3DE8MORZeFb6BmzBtqKJ7l93 # 9bbKBy2jvxcJI98Va95Q5JnlKor3m0E7xpMeYRriWklUPsetMSf2NvUQa/E5vVye # fQIwggZFMIIELaADAgECAhAIMk+dt9qRb2Pk8qM8Xl1RMA0GCSqGSIb3DQEBCwUA # MFYxCzAJBgNVBAYTAlBMMSEwHwYDVQQKExhBc3NlY28gRGF0YSBTeXN0ZW1zIFMu # QS4xJDAiBgNVBAMTG0NlcnR1bSBDb2RlIFNpZ25pbmcgMjAyMSBDQTAeFw0yNDA0 # MDQxNDA0MjRaFw0yNzA0MDQxNDA0MjNaMGsxCzAJBgNVBAYTAk5MMRIwEAYDVQQH # DAlTY2hpam5kZWwxIzAhBgNVBAoMGkpvaG4gQmlsbGVrZW5zIENvbnN1bHRhbmN5 # MSMwIQYDVQQDDBpKb2huIEJpbGxla2VucyBDb25zdWx0YW5jeTCCAaIwDQYJKoZI # hvcNAQEBBQADggGPADCCAYoCggGBAMslntDbSQwHZXwFhmibivbnd0Qfn6sqe/6f # os3pKzKxEsR907RkDMet2x6RRg3eJkiIr3TFPwqBooyXXgK3zxxpyhGOcuIqyM9J # 28DVf4kUyZHsjGO/8HFjrr3K1hABNUszP0o7H3o6J31eqV1UmCXYhQlNoW9FOmRC # 1amlquBmh7w4EKYEytqdmdOBavAD5Xq4vLPxNP6kyA+B2YTtk/xM27TghtbwFGKn # u9Vwnm7dFcpLxans4ONt2OxDQOMA5NwgcUv/YTpjhq9qoz6ivG55NRJGNvUXsM3w # 2o7dR6Xh4MuEGrTSrOWGg2A5EcLH1XqQtkF5cZnAPM8W/9HUp8ggornWnFVQ9/6M # ga+ermy5wy5XrmQpN+x3u6tit7xlHk1Hc+4XY4a4ie3BPXG2PhJhmZAn4ebNSBwN # Hh8z7WTT9X9OFERepGSytZVeEP7hgyptSLcuhpwWeR4QdBb7dV++4p3PsAUQVHFp # wkSbrRTv4EiJ0Lcz9P1HPGFoHiFAQQIDAQABo4IBeDCCAXQwDAYDVR0TAQH/BAIw # ADA9BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY2NzY2EyMDIxLmNybC5jZXJ0dW0u # cGwvY2NzY2EyMDIxLmNybDBzBggrBgEFBQcBAQRnMGUwLAYIKwYBBQUHMAGGIGh0 # dHA6Ly9jY3NjYTIwMjEub2NzcC1jZXJ0dW0uY29tMDUGCCsGAQUFBzAChilodHRw # Oi8vcmVwb3NpdG9yeS5jZXJ0dW0ucGwvY2NzY2EyMDIxLmNlcjAfBgNVHSMEGDAW # gBTddF1MANt7n6B0yrFu9zzAMsBwzTAdBgNVHQ4EFgQUO6KtBpOBgmrlANVAnyiQ # C6W6lJwwSwYDVR0gBEQwQjAIBgZngQwBBAEwNgYLKoRoAYb2dwIFAQQwJzAlBggr # BgEFBQcCARYZaHR0cHM6Ly93d3cuY2VydHVtLnBsL0NQUzATBgNVHSUEDDAKBggr # BgEFBQcDAzAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQADggIBAEQsN8wg # PMdWVkwHPPTN+jKpdns5AKVFjcn00psf2NGVVgWWNQBIQc9lEuTBWb54IK6Ga3hx # QRZfnPNo5HGl73YLmFgdFQrFzZ1lnaMdIcyh8LTWv6+XNWfoyCM9wCp4zMIDPOs8 # LKSMQqA/wRgqiACWnOS4a6fyd5GUIAm4CuaptpFYr90l4Dn/wAdXOdY32UhgzmSu # xpUbhD8gVJUaBNVmQaRqeU8y49MxiVrUKJXde1BCrtR9awXbqembc7Nqvmi60tYK # lD27hlpKtj6eGPjkht0hHEsgzU0Fxw7ZJghYG2wXfpF2ziN893ak9Mi/1dmCNmor # GOnybKYfT6ff6YTCDDNkod4egcMZdOSv+/Qv+HAeIgEvrxE9QsGlzTwbRtbm6gwY # YcVBs/SsVUdBn/TSB35MMxRhHE5iC3aUTkDbceo/XP3uFhVL4g2JZHpFfCSu2TQr # rzRn2sn07jfMvzeHArCOJgBW1gPqR3WrJ4hUxL06Rbg1gs9tU5HGGz9KNQMfQFQ7 # 0Wz7UIhezGcFcRfkIfSkMmQYYpsc7rfzj+z0ThfDVzzJr2dMOFsMlfj1T6l22GBq # 9XQx0A4lcc5Fl9pRxbOuHHWFqIBD/BCEhwniOCySzqENd2N+oz8znKooSISStnkN # aYXt6xblJF2dx9Dn89FK7d1IquNxOwt0tI5dMIIGYjCCBMqgAwIBAgIRAKQpO24e # 3denNAiHrXpOtyQwDQYJKoZIhvcNAQEMBQAwVTELMAkGA1UEBhMCR0IxGDAWBgNV # BAoTD1NlY3RpZ28gTGltaXRlZDEsMCoGA1UEAxMjU2VjdGlnbyBQdWJsaWMgVGlt # ZSBTdGFtcGluZyBDQSBSMzYwHhcNMjUwMzI3MDAwMDAwWhcNMzYwMzIxMjM1OTU5 # WjByMQswCQYDVQQGEwJHQjEXMBUGA1UECBMOV2VzdCBZb3Jrc2hpcmUxGDAWBgNV # BAoTD1NlY3RpZ28gTGltaXRlZDEwMC4GA1UEAxMnU2VjdGlnbyBQdWJsaWMgVGlt # ZSBTdGFtcGluZyBTaWduZXIgUjM2MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC # CgKCAgEA04SV9G6kU3jyPRBLeBIHPNyUgVNnYayfsGOyYEXrn3+SkDYTLs1crcw/ # ol2swE1TzB2aR/5JIjKNf75QBha2Ddj+4NEPKDxHEd4dEn7RTWMcTIfm492TW22I # 8LfH+A7Ehz0/safc6BbsNBzjHTt7FngNfhfJoYOrkugSaT8F0IzUh6VUwoHdYDpi # ln9dh0n0m545d5A5tJD92iFAIbKHQWGbCQNYplqpAFasHBn77OqW37P9BhOASdmj # p3IijYiFdcA0WQIe60vzvrk0HG+iVcwVZjz+t5OcXGTcxqOAzk1frDNZ1aw8nFhG # EvG0ktJQknnJZE3D40GofV7O8WzgaAnZmoUn4PCpvH36vD4XaAF2CjiPsJWiY/j2 # xLsJuqx3JtuI4akH0MmGzlBUylhXvdNVXcjAuIEcEQKtOBR9lU4wXQpISrbOT8ux # +96GzBq8TdbhoFcmYaOBZKlwPP7pOp5Mzx/UMhyBA93PQhiCdPfIVOCINsUY4U23 # p4KJ3F1HqP3H6Slw3lHACnLilGETXRg5X/Fp8G8qlG5Y+M49ZEGUp2bneRLZoyHT # yynHvFISpefhBCV0KdRZHPcuSL5OAGWnBjAlRtHvsMBrI3AAA0Tu1oGvPa/4yeei # Ayu+9y3SLC98gDVbySnXnkujjhIh+oaatsk/oyf5R2vcxHahajMCAwEAAaOCAY4w # ggGKMB8GA1UdIwQYMBaAFF9Y7UwxeqJhQo1SgLqzYZcZojKbMB0GA1UdDgQWBBSI # YYyhKjdkgShgoZsx0Iz9LALOTzAOBgNVHQ8BAf8EBAMCBsAwDAYDVR0TAQH/BAIw # ADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDBKBgNVHSAEQzBBMDUGDCsGAQQBsjEB # AgEDCDAlMCMGCCsGAQUFBwIBFhdodHRwczovL3NlY3RpZ28uY29tL0NQUzAIBgZn # gQwBBAIwSgYDVR0fBEMwQTA/oD2gO4Y5aHR0cDovL2NybC5zZWN0aWdvLmNvbS9T # ZWN0aWdvUHVibGljVGltZVN0YW1waW5nQ0FSMzYuY3JsMHoGCCsGAQUFBwEBBG4w # bDBFBggrBgEFBQcwAoY5aHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUHVi # bGljVGltZVN0YW1waW5nQ0FSMzYuY3J0MCMGCCsGAQUFBzABhhdodHRwOi8vb2Nz # cC5zZWN0aWdvLmNvbTANBgkqhkiG9w0BAQwFAAOCAYEAAoE+pIZyUSH5ZakuPVKK # 4eWbzEsTRJOEjbIu6r7vmzXXLpJx4FyGmcqnFZoa1dzx3JrUCrdG5b//LfAxOGy9 # Ph9JtrYChJaVHrusDh9NgYwiGDOhyyJ2zRy3+kdqhwtUlLCdNjFjakTSE+hkC9F5 # ty1uxOoQ2ZkfI5WM4WXA3ZHcNHB4V42zi7Jk3ktEnkSdViVxM6rduXW0jmmiu71Z # pBFZDh7Kdens+PQXPgMqvzodgQJEkxaION5XRCoBxAwWwiMm2thPDuZTzWp/gUFz # i7izCmEt4pE3Kf0MOt3ccgwn4Kl2FIcQaV55nkjv1gODcHcD9+ZVjYZoyKTVWb4V # qMQy/j8Q3aaYd/jOQ66Fhk3NWbg2tYl5jhQCuIsE55Vg4N0DUbEWvXJxtxQQaVR5 # xzhEI+BjJKzh3TQ026JxHhr2fuJ0mV68AluFr9qshgwS5SpN5FFtaSEnAwqZv3IS # +mlG50rK7W3qXbWwi4hmpylUfygtYLEdLQukNEX1jiOKMIIGgjCCBGqgAwIBAgIQ # NsKwvXwbOuejs902y8l1aDANBgkqhkiG9w0BAQwFADCBiDELMAkGA1UEBhMCVVMx # EzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYD # VQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBS # U0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMjEwMzIyMDAwMDAwWhcNMzgw # MTE4MjM1OTU5WjBXMQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1p # dGVkMS4wLAYDVQQDEyVTZWN0aWdvIFB1YmxpYyBUaW1lIFN0YW1waW5nIFJvb3Qg # UjQ2MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAiJ3YuUVnnR3d6Lkm # gZpUVMB8SQWbzFoVD9mUEES0QUCBdxSZqdTkdizICFNeINCSJS+lV1ipnW5ihkQy # C0cRLWXUJzodqpnMRs46npiJPHrfLBOifjfhpdXJ2aHHsPHggGsCi7uE0awqKggE # /LkYw3sqaBia67h/3awoqNvGqiFRJ+OTWYmUCO2GAXsePHi+/JUNAax3kpqstbl3 # vcTdOGhtKShvZIvjwulRH87rbukNyHGWX5tNK/WABKf+Gnoi4cmisS7oSimgHUI0 # Wn/4elNd40BFdSZ1EwpuddZ+Wr7+Dfo0lcHflm/FDDrOJ3rWqauUP8hsokDoI7D/ # yUVI9DAE/WK3Jl3C4LKwIpn1mNzMyptRwsXKrop06m7NUNHdlTDEMovXAIDGAvYy # nPt5lutv8lZeI5w3MOlCybAZDpK3Dy1MKo+6aEtE9vtiTMzz/o2dYfdP0KWZwZIX # bYsTIlg1YIetCpi5s14qiXOpRsKqFKqav9R1R5vj3NgevsAsvxsAnI8Oa5s2oy25 # qhsoBIGo/zi6GpxFj+mOdh35Xn91y72J4RGOJEoqzEIbW3q0b2iPuWLA911cRxgY # 5SJYubvjay3nSMbBPPFsyl6mY4/WYucmyS9lo3l7jk27MAe145GWxK4O3m3gEFEI # kv7kRmefDR7Oe2T1HxAnICQvr9sCAwEAAaOCARYwggESMB8GA1UdIwQYMBaAFFN5 # v1qqK0rPVIDh2JvAnfKyA2bLMB0GA1UdDgQWBBT2d2rdP/0BE/8WoWyCAi/QCj0U # JTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zATBgNVHSUEDDAKBggr # BgEFBQcDCDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0 # cDovL2NybC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25B # dXRob3JpdHkuY3JsMDUGCCsGAQUFBwEBBCkwJzAlBggrBgEFBQcwAYYZaHR0cDov # L29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEADr5lQe1oRLjl # ocXUEYfktzsljOt+2sgXke3Y8UPEooU5y39rAARaAdAxUeiX1ktLJ3+lgxtoLQhn # 5cFb3GF2SSZRX8ptQ6IvuD3wz/LNHKpQ5nX8hjsDLRhsyeIiJsms9yAWnvdYOdEM # q1W61KE9JlBkB20XBee6JaXx4UBErc+YuoSb1SxVf7nkNtUjPfcxuFtrQdRMRi/f # InV/AobE8Gw/8yBMQKKaHt5eia8ybT8Y/Ffa6HAJyz9gvEOcF1VWXG8OMeM7Vy7B # s6mSIkYeYtddU1ux1dQLbEGur18ut97wgGwDiGinCwKPyFO7ApcmVJOtlw9FVJxw # /mL1TbyBns4zOgkaXFnnfzg4qbSvnrwyj1NiurMp4pmAWjR+Pb/SIduPnmFzbSN/ # G8reZCL4fvGlvPFk4Uab/JVCSmj59+/mB2Gn6G/UYOy8k60mKcmaAZsEVkhOFuoj # 4we8CYyaR9vd9PGZKSinaZIkvVjbH/3nlLb0a7SBIkiRzfPfS9T+JesylbHa1LtR # V9U/7m0q7Ma2CQ/t392ioOssXW7oKLdOmMBl14suVFBmbzrt5V5cQPnwtd3UOTpS # 9oCG+ZZheiIvPgkDmA8FzPsnfXW5qHELB43ET7HHFHeRPRYrMBKjkb8/IN7Po0d0 # hQoF4TeMM+zYAJzoKQnVKOLg8pZVPT8wgga5MIIEoaADAgECAhEAmaOACiZVO2Wr # 3G6EprPqOTANBgkqhkiG9w0BAQwFADCBgDELMAkGA1UEBhMCUEwxIjAgBgNVBAoT # GVVuaXpldG8gVGVjaG5vbG9naWVzIFMuQS4xJzAlBgNVBAsTHkNlcnR1bSBDZXJ0 # aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIGA1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0 # d29yayBDQSAyMB4XDTIxMDUxOTA1MzIxOFoXDTM2MDUxODA1MzIxOFowVjELMAkG # A1UEBhMCUEwxITAfBgNVBAoTGEFzc2VjbyBEYXRhIFN5c3RlbXMgUy5BLjEkMCIG # A1UEAxMbQ2VydHVtIENvZGUgU2lnbmluZyAyMDIxIENBMIICIjANBgkqhkiG9w0B # AQEFAAOCAg8AMIICCgKCAgEAnSPPBDAjO8FGLOczcz5jXXp1ur5cTbq96y34vuTm # flN4mSAfgLKTvggv24/rWiVGzGxT9YEASVMw1Aj8ewTS4IndU8s7VS5+djSoMcbv # IKck6+hI1shsylP4JyLvmxwLHtSworV9wmjhNd627h27a8RdrT1PH9ud0IF+njvM # k2xqbNTIPsnWtw3E7DmDoUmDQiYi/ucJ42fcHqBkbbxYDB7SYOouu9Tj1yHIohzu # C8KNqfcYf7Z4/iZgkBJ+UFNDcc6zokZ2uJIxWgPWXMEmhu1gMXgv8aGUsRdaCtVD # 2bSlbfsq7BiqljjaCun+RJgTgFRCtsuAEw0pG9+FA+yQN9n/kZtMLK+Wo837Q4QO # ZgYqVWQ4x6cM7/G0yswg1ElLlJj6NYKLw9EcBXE7TF3HybZtYvj9lDV2nT8mFSkc # SkAExzd4prHwYjUXTeZIlVXqj+eaYqoMTpMrfh5MCAOIG5knN4Q/JHuurfTI5XDY # O962WZayx7ACFf5ydJpoEowSP07YaBiQ8nXpDkNrUA9g7qf/rCkKbWpQ5boufUnq # 1UiYPIAHlezf4muJqxqIns/kqld6JVX8cixbd6PzkDpwZo4SlADaCi2JSplKShBS # ND36E/ENVv8urPS0yOnpG4tIoBGxVCARPCg1BnyMJ4rBJAcOSnAWd18Jx5n858JS # qPECAwEAAaOCAVUwggFRMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFN10XUwA # 23ufoHTKsW73PMAywHDNMB8GA1UdIwQYMBaAFLahVDkCw6A/joq8+tT4HKbROg79 # MA4GA1UdDwEB/wQEAwIBBjATBgNVHSUEDDAKBggrBgEFBQcDAzAwBgNVHR8EKTAn # MCWgI6Ahhh9odHRwOi8vY3JsLmNlcnR1bS5wbC9jdG5jYTIuY3JsMGwGCCsGAQUF # BwEBBGAwXjAoBggrBgEFBQcwAYYcaHR0cDovL3N1YmNhLm9jc3AtY2VydHVtLmNv # bTAyBggrBgEFBQcwAoYmaHR0cDovL3JlcG9zaXRvcnkuY2VydHVtLnBsL2N0bmNh # Mi5jZXIwOQYDVR0gBDIwMDAuBgRVHSAAMCYwJAYIKwYBBQUHAgEWGGh0dHA6Ly93 # d3cuY2VydHVtLnBsL0NQUzANBgkqhkiG9w0BAQwFAAOCAgEAdYhYD+WPUCiaU58Q # 7EP89DttyZqGYn2XRDhJkL6P+/T0IPZyxfxiXumYlARMgwRzLRUStJl490L94C9L # GF3vjzzH8Jq3iR74BRlkO18J3zIdmCKQa5LyZ48IfICJTZVJeChDUyuQy6rGDxLU # UAsO0eqeLNhLVsgw6/zOfImNlARKn1FP7o0fTbj8ipNGxHBIutiRsWrhWM2f8pXd # d3x2mbJCKKtl2s42g9KUJHEIiLni9ByoqIUul4GblLQigO0ugh7bWRLDm0CdY9rN # LqyA3ahe8WlxVWkxyrQLjH8ItI17RdySaYayX3PhRSC4Am1/7mATwZWwSD+B7eMc # ZNhpn8zJ+6MTyE6YoEBSRVrs0zFFIHUR08Wk0ikSf+lIe5Iv6RY3/bFAEloMU+vU # BfSouCReZwSLo8WdrDlPXtR0gicDnytO7eZ5827NS2x7gCBibESYkOh1/w1tVxTp # V2Na3PR7nxYVlPu1JPoRZCbH86gc96UTvuWiOruWmyOEMLOGGniR+x+zPF/2DaGg # K2W1eEJfo2qyrBNPvF7wuAyQfiFXLwvWHamoYtPZo0LHuH8X3n9C+xN4YaNjt2yw # zOr+tKyEVAotnyU9vyEVOaIYMk3IeBrmFnn0gbKeTTyYeEEUz/Qwt4HOUBCrW602 # NCmvO1nm+/80nLy5r0AZvCQxaQ4xggXDMIIFvwIBATBqMFYxCzAJBgNVBAYTAlBM # MSEwHwYDVQQKExhBc3NlY28gRGF0YSBTeXN0ZW1zIFMuQS4xJDAiBgNVBAMTG0Nl # cnR1bSBDb2RlIFNpZ25pbmcgMjAyMSBDQQIQCDJPnbfakW9j5PKjPF5dUTANBglg # hkgBZQMEAgEFAKCBhDAYBgorBgEEAYI3AgEMMQowCKACgAChAoAAMBkGCSqGSIb3 # DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgorBgEEAYI3AgEV # MC8GCSqGSIb3DQEJBDEiBCAjh2CAdudKJFeZ3jh1Ia2XJsu4S+6e64pMpYQXw5qk # 3DANBgkqhkiG9w0BAQEFAASCAYDA8V+y7pngZOczOJff9OLNIIJoPoFoES56/9Po # IDmEmZctTCExmYyeP0hQ83vRw/YykHy2UZlsR3glc5pUHUZvEOtZF20fSBHcCuKx # I+Xcj2VAyyvVHa2Oocw+oaWzW+EgKuy+QbT7cx+Z6BalhTqa5tEuVbnHvDvcZr+4 # gKWdtztKuXRBvC6tZKwNJbehS0R7RIy1q5AcR9hffZWUWrzAkpIKehGGuqqXlCKU # Ysnd2akS0Pxe7Qg5w4W5Ndo46ykitTPR4iz3Vj/+g/H8Zp2hPWkCjw1fhe/c9zjE # lsxm3PQGJr9xZi9IYurSIrGc5+mvf9xDcoCepGearop2t2tzXKkjnju1YFdKTlle # YlceiYW/lvA4G8q5F0YlrkL8bvadHSR/GggnsO8MK58JiKC1RT9cxKNHqcGQyFyn # xvcmiSIOSliDEKa2ZdtkaT0iGHee9Yko/dFprVqFXFsM6gmrg4WjkjqkHxzQ0CXv # Bsfy65lOqPRtSFyv/8eYM24vISahggMjMIIDHwYJKoZIhvcNAQkGMYIDEDCCAwwC # AQEwajBVMQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMSww # KgYDVQQDEyNTZWN0aWdvIFB1YmxpYyBUaW1lIFN0YW1waW5nIENBIFIzNgIRAKQp # O24e3denNAiHrXpOtyQwDQYJYIZIAWUDBAICBQCgeTAYBgkqhkiG9w0BCQMxCwYJ # KoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yNjA2MDExOTU2MTFaMD8GCSqGSIb3 # DQEJBDEyBDCKrIJwcPpG8d1863HxUkOlt1bGZX/Wu2zaGZXBiuOHk7DJRh6noctU # v0tRr6QgYlEwDQYJKoZIhvcNAQEBBQAEggIAOUK7S0/8O1cL1EQDoZMSmL+bsht5 # Vc1Ajo+DZjOdnYB+koczsPxshNiZklpTNMXqyKBjUm2mGzojOvhtPC7eBWb4xPcc # eN3iBT4dPM9sXsdxbNQtLf/eWNswPQ5U8+De3sR36uJNyJgPXcXBAkh5u+Ionp+4 # +I9vCqha4h9n2PtVeghTogmWSwLoZyFKPmhd4MuSihbIKL2diQ6db15guVHGrCAI # VAVsbo+eLyyGPk8Cycx+8PFeJq/PWBgSE98FKWRr9Xt3tytUCIrkgZ8tpNz6Xq6T # ntYCyVqwK9DA/38xiBQfBIMxSRhgnG0PJoPGCfROz89QLQ3Yy7Q9SzS2XmNwtAqY # T5MsC1tyHApVqf6LiNLo5krJ6EeFxrx/wp84oG+3QdfQPFgztywU37APJIii5bxp # duWeVI6YjknqRRYG4rzr3ptnEN3P+Mg7Y/cG9k42rqkkaGrRjFOgkmU+YC46h5xn # iPBxwe8j4/k/9O2ZrwmNGP25lsPuBoLMRTT+54EIe1MI74Ld7TnM7nepkzf6ZzKl # nZJKeCPzAR4YyK0a5m0NiYPFj/VxdQ1yYxWhrYNp/owsXim1qpDWtmqSmM0nAyO6 # CsoJrq8qFnYCYFRplBOKgJ8M4LF7qTp7n8L8Jb7e0ZYdEAtf1b0EfyUFr9fF6sBr # 9y6sUcEqDmgkBoU= # SIG # End signature block |