PS1 template

using namespace System.Management.Automation
using namespace System.Management.Automation.Language
Set-PSReadLineOption -EditMode Windows
Set-PSReadLineOption -Colors @{ "Comment"="`e[32;47m" }

Set-PSReadLineOption -Colors @{
 # Use a ConsoleColor enum
 "Error" = [ConsoleColor]::DarkRed

 # 24 bit color escape sequence
 "String" = "$([char]0x1b)[38;5;100m"

 # RGB value
 "Command" = "Magenta"
}


#Set-PSReadLineKeyHandler -Chord Tab -ScriptBlock {
    #[Microsoft.PowerShell.PSConsoleReadLine]::ForwardWord()
    #[Microsoft.PowerShell.PSConsoleReadLine]::Complete()
    #[Microsoft.PowerShell.PSConsoleReadLine]::TabCompleteNext()

#}

# Sets keybind to Ctrl+e to go to end of the line 
Set-PSReadLineKeyHandler -Chord "Ctrl+e" -Function EndOfLine
# Sets keybind to Ctrl+a to go to the start of the line
Set-PSReadLineKeyHandler -Chord "Ctrl+a" -Function BeginningOfLine
#Set-PSReadLineOption -Colors @{ "InlinePrediction"="`e[0;93m" }

#function prompt {
#Write-Host ("PS " + $(Get-Location) +">" ) -NoNewline -ForegroundColor Cyan
#return " "
#}


function Get-Hosts($configFile) {
    Get-Content $configFile `
    | Select-String -Pattern "^Host "
    | ForEach-Object { $_ -replace "host ", "" }
    | Sort-Object -Unique
}

function prompt {
  $path = $(Get-Location)
  Write-Host "┌──(" -NoNewline -ForegroundColor Green
  Write-Host "$env:USERNAME" -NoNewline -ForegroundColor Cyan
  Write-Host "㉿" -NoNewline -ForegroundColor Green
  Write-Host ")-[" -NoNewline -ForegroundColor Green
  Write-Host "$path" -NoNewline -ForegroundColor Green
  Write-Host "]`n└─$ " -NoNewline -ForegroundColor Green
  return " "
}
Register-ArgumentCompleter -CommandName ssh, scp, sftp -Native -ScriptBlock {
    param($wordToComplete, $commandAst, $cursorPosition)

    $sshDir = "${Env:HOMEPATH}\.ssh"

    $hosts = Get-Content "$sshDir\config" `
    | Select-String -Pattern "^Include "
    | ForEach-Object { $_ -replace "include ", "" }
    | ForEach-Object { Get-Hosts "$sshDir/$_" } `

    $hosts += Get-Hosts "$sshDir\config"
    $hosts = $hosts | Sort-Object -Unique

    # For now just assume it's a hostname.
    $textToComplete = $wordToComplete
    $generateCompletionText = {
        param($x)
        $x
    }
    if ($wordToComplete -match "^(?<user>[-\w/\\]+)@(?<host>[-.\w]+)$") {
        $textToComplete = $Matches["host"]
        $generateCompletionText = {
            param($hostname)
            $Matches["user"] + "@" + $hostname
        }
    }

    $hosts `
    | Where-Object { $_ -like "${textToComplete}*" } `
    | ForEach-Object { [CompletionResult]::new((&$generateCompletionText($_)), $_, [CompletionResultType]::ParameterValue, $_) }
}



# Verify cPanel License
function verify {
$IP=$args[0]
start chrome https://verify.cpanel.net/app/verify?ip=$IP

start chrome https://cln.cloudlinux.com/console/check-license?ip=$IP

}


## Aliases

Set-Alias -Name notepad -Value "C:\Program Files\Notepad++\notepad++.exe"
Set-Alias -Name dig -Value "dig.exe"
Set-Alias -Name kb -Value "C:\Users\vladimir.ivanov\scripts\kbtool.exe"
function cheat {
    param ( 
    [string]$command)

    curl    https://cheat.sh/$command

}

Register-ArgumentCompleter -Native -CommandName 'warp-cli' -ScriptBlock {
    param($wordToComplete, $commandAst, $cursorPosition)

    $commandElements = $commandAst.CommandElements
    $command = @(
        'warp-cli'
        for ($i = 1; $i -lt $commandElements.Count; $i++) {
            $element = $commandElements[$i]
            if ($element -isnot [StringConstantExpressionAst] -or
                $element.StringConstantType -ne [StringConstantType]::BareWord -or
                $element.Value.StartsWith('-') -or
                $element.Value -eq $wordToComplete) {
                break
        }
        $element.Value
    }) -join ';'

    $completions = @(switch ($command) {
        'warp-cli' {
            [CompletionResult]::new('-t', '-t', [CompletionResultType]::ParameterName, 'Timeout (in seconds) before IPC channel is considered hung')
            [CompletionResult]::new('--timeout', '--timeout', [CompletionResultType]::ParameterName, 'Timeout (in seconds) before IPC channel is considered hung')
            [CompletionResult]::new('-l', '-l', [CompletionResultType]::ParameterName, 'Listen for status changes and DNS logs (if enabled)')
            [CompletionResult]::new('--listen', '--listen', [CompletionResultType]::ParameterName, 'Listen for status changes and DNS logs (if enabled)')
            [CompletionResult]::new('--accept-tos', '--accept-tos', [CompletionResultType]::ParameterName, 'Accept the Terms of Service agreement')
            [CompletionResult]::new('-v', '-v', [CompletionResultType]::ParameterName, 'Enable verbose output. Multiple "v"s adds more verbosity')
            [CompletionResult]::new('--verbose', '--verbose', [CompletionResultType]::ParameterName, 'Enable verbose output. Multiple "v"s adds more verbosity')
            [CompletionResult]::new('-j', '-j', [CompletionResultType]::ParameterName, 'Pretty print output as json')
            [CompletionResult]::new('--json', '--json', [CompletionResultType]::ParameterName, 'Pretty print output as json')
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('--no-ansi', '--no-ansi', [CompletionResultType]::ParameterName, 'Disable ANSI characters in standard outputs')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('-V', '-V ', [CompletionResultType]::ParameterName, 'Print version')
            [CompletionResult]::new('--version', '--version', [CompletionResultType]::ParameterName, 'Print version')
            [CompletionResult]::new('api', 'api', [CompletionResultType]::ParameterValue, 'Allow overriding Cloudflare API address')
            [CompletionResult]::new('connect', 'connect', [CompletionResultType]::ParameterValue, 'Maintain a connection whenever possible')
            [CompletionResult]::new('debug', 'debug', [CompletionResultType]::ParameterValue, 'Debugging commands')
            [CompletionResult]::new('disconnect', 'disconnect', [CompletionResultType]::ParameterValue, 'Disconnect the client')
            [CompletionResult]::new('dns', 'dns', [CompletionResultType]::ParameterValue, 'Configure DNS settings')
            [CompletionResult]::new('environment', 'environment', [CompletionResultType]::ParameterValue, 'Configure the WARP Client''s compliance environment')
            [CompletionResult]::new('mdm', 'mdm', [CompletionResultType]::ParameterValue, 'MDM configs')
            [CompletionResult]::new('mode', 'mode', [CompletionResultType]::ParameterValue, 'Set the client''s general operating mode')
            [CompletionResult]::new('override', 'override', [CompletionResultType]::ParameterValue, 'Allow temporary overrides of administrative settings')
            [CompletionResult]::new('proxy', 'proxy', [CompletionResultType]::ParameterValue, 'Configure proxy mode settings')
            [CompletionResult]::new('registration', 'registration', [CompletionResultType]::ParameterValue, 'Registration settings')
            [CompletionResult]::new('settings', 'settings', [CompletionResultType]::ParameterValue, 'Show or alter general application settings')
            [CompletionResult]::new('status', 'status', [CompletionResultType]::ParameterValue, 'Return the current connection status')
            [CompletionResult]::new('target', 'target', [CompletionResultType]::ParameterValue, 'Manage targets')
            [CompletionResult]::new('trusted', 'trusted', [CompletionResultType]::ParameterValue, 'Configure trusted networks where the client will be automatically disabled (Consumer only)')
            [CompletionResult]::new('tunnel', 'tunnel', [CompletionResultType]::ParameterValue, 'Configure tunnel settings')
            [CompletionResult]::new('vnet', 'vnet', [CompletionResultType]::ParameterValue, 'Get or specify connected virtual network')
            [CompletionResult]::new('generate-completions', 'generate-completions', [CompletionResultType]::ParameterValue, 'Generate completions for a given shell and print to stdout')
            [CompletionResult]::new('stats', 'stats', [CompletionResultType]::ParameterValue, 'Display statistics for Cloudflare WARP')
            [CompletionResult]::new('certs', 'certs', [CompletionResultType]::ParameterValue, 'Print all account certificates installed on the device to stdout')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;api' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('endpoint', 'endpoint', [CompletionResultType]::ParameterValue, 'Set an override endpoint for the WARP API')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;api;endpoint' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set an override IP to use for the Cloudflare API IP')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Remove any configured override IP for the Cloudflare API')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;api;endpoint;set' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;api;endpoint;reset' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;api;endpoint;help' {
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set an override IP to use for the Cloudflare API IP')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Remove any configured override IP for the Cloudflare API')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;api;endpoint;help;set' {
            break
        }
        'warp-cli;api;endpoint;help;reset' {
            break
        }
        'warp-cli;api;endpoint;help;help' {
            break
        }
        'warp-cli;api;help' {
            [CompletionResult]::new('endpoint', 'endpoint', [CompletionResultType]::ParameterValue, 'Set an override endpoint for the WARP API')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;api;help;endpoint' {
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set an override IP to use for the Cloudflare API IP')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Remove any configured override IP for the Cloudflare API')
            break
        }
        'warp-cli;api;help;endpoint;set' {
            break
        }
        'warp-cli;api;help;endpoint;reset' {
            break
        }
        'warp-cli;api;help;help' {
            break
        }
        'warp-cli;connect' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;debug' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('access-reauth', 'access-reauth', [CompletionResultType]::ParameterValue, 'Force refresh authentication with Cloudflare Access')
            [CompletionResult]::new('alternate-network', 'alternate-network', [CompletionResultType]::ParameterValue, 'Get the name of the currently detected alternate network, if any')
            [CompletionResult]::new('connectivity-check', 'connectivity-check', [CompletionResultType]::ParameterValue, 'Enable or disable connectivity checks')
            [CompletionResult]::new('dex', 'dex', [CompletionResultType]::ParameterValue, 'Get the most recently uploaded DEX data. Returns the most recent test for each dex metric')
            [CompletionResult]::new('network', 'network', [CompletionResultType]::ParameterValue, 'Display the current network information')
            [CompletionResult]::new('panic', 'panic', [CompletionResultType]::ParameterValue, 'Force a daemon panic - only works in debug mode')
            [CompletionResult]::new('posture', 'posture', [CompletionResultType]::ParameterValue, 'Display the most recent device posture information')
            [CompletionResult]::new('pcap', 'pcap', [CompletionResultType]::ParameterValue, 'Run a packet capture on the device')
            [CompletionResult]::new('speed-test', 'speed-test', [CompletionResultType]::ParameterValue, 'Run a speed test on the device')
            [CompletionResult]::new('task-dump', 'task-dump', [CompletionResultType]::ParameterValue, 'Get a dump of the currently running async tasks')
            [CompletionResult]::new('qlog', 'qlog', [CompletionResultType]::ParameterValue, 'Enable qlog logging on the tunnel, if supported by the tunnel protocol')
            [CompletionResult]::new('log-filter', 'log-filter', [CompletionResultType]::ParameterValue, 'Modify the dynamic log filter using env-filter directives')
            [CompletionResult]::new('upload-stats', 'upload-stats', [CompletionResultType]::ParameterValue, 'A hidden debug command to manually trigger an uploading of the stats')
            [CompletionResult]::new('in-flight-requests', 'in-flight-requests', [CompletionResultType]::ParameterValue, 'A hidden debug command to list in-flight API requests')
            [CompletionResult]::new('frequent-connection-stats', 'frequent-connection-stats', [CompletionResultType]::ParameterValue, 'Enable frequent connection stats for the QUIC connection for 1 hour')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;debug;access-reauth' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;debug;alternate-network' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;debug;connectivity-check' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;debug;dex' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;debug;network' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;debug;panic' {
            [CompletionResult]::new('--ignored', '--ignored', [CompletionResultType]::ParameterName, 'The panic will test the classification feature and present as an ignored panic')
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;debug;posture' {
            [CompletionResult]::new('-r', '-r', [CompletionResultType]::ParameterName, 'Run posture checks immediately instead of showing cached results')
            [CompletionResult]::new('--run', '--run', [CompletionResultType]::ParameterName, 'Run posture checks immediately instead of showing cached results')
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;debug;pcap' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('start', 'start', [CompletionResultType]::ParameterValue, 'Start packet capture')
            [CompletionResult]::new('stop', 'stop', [CompletionResultType]::ParameterValue, 'Stop packet capture')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;debug;pcap;start' {
            [CompletionResult]::new('-i', '-i', [CompletionResultType]::ParameterName, 'Network interfaces to capture packets from. Specify this option multiple times to capture from multiple interfaces')
            [CompletionResult]::new('--interface', '--interface', [CompletionResultType]::ParameterName, 'Network interfaces to capture packets from. Specify this option multiple times to capture from multiple interfaces')
            [CompletionResult]::new('--packet-size', '--packet-size', [CompletionResultType]::ParameterName, 'Maximum number of bytes to save for each packet')
            [CompletionResult]::new('--size-limit-mb', '--size-limit-mb', [CompletionResultType]::ParameterName, 'Limit on the total size of the capture file in MB')
            [CompletionResult]::new('--time-limit-min', '--time-limit-min', [CompletionResultType]::ParameterName, 'Limit on capture duration in minutes')
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
            break
        }
        'warp-cli;debug;pcap;stop' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;debug;pcap;help' {
            [CompletionResult]::new('start', 'start', [CompletionResultType]::ParameterValue, 'Start packet capture')
            [CompletionResult]::new('stop', 'stop', [CompletionResultType]::ParameterValue, 'Stop packet capture')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;debug;pcap;help;start' {
            break
        }
        'warp-cli;debug;pcap;help;stop' {
            break
        }
        'warp-cli;debug;pcap;help;help' {
            break
        }
        'warp-cli;debug;speed-test' {
            [CompletionResult]::new('-i', '-i', [CompletionResultType]::ParameterName, 'Network interfaces to speed test over. Specify this option multiple times to capture from multiple interfaces')
            [CompletionResult]::new('--interface', '--interface', [CompletionResultType]::ParameterName, 'Network interfaces to speed test over. Specify this option multiple times to capture from multiple interfaces')
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
            break
        }
        'warp-cli;debug;task-dump' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;debug;qlog' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('enable', 'enable', [CompletionResultType]::ParameterValue, 'Enable QLOGs. This will restart the connection unless `--current-connection-only` is passed')
            [CompletionResult]::new('disable', 'disable', [CompletionResultType]::ParameterValue, 'Disable QLOGs. This will restart the connection')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;debug;qlog;enable' {
            [CompletionResult]::new('--current-connection-only', '--current-connection-only', [CompletionResultType]::ParameterName, 'If provided, qlogs will only be enabled for the current connection. This will not cause a reconnection to occur')
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;debug;qlog;disable' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;debug;qlog;help' {
            [CompletionResult]::new('enable', 'enable', [CompletionResultType]::ParameterValue, 'Enable QLOGs. This will restart the connection unless `--current-connection-only` is passed')
            [CompletionResult]::new('disable', 'disable', [CompletionResultType]::ParameterValue, 'Disable QLOGs. This will restart the connection')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;debug;qlog;help;enable' {
            break
        }
        'warp-cli;debug;qlog;help;disable' {
            break
        }
        'warp-cli;debug;qlog;help;help' {
            break
        }
        'warp-cli;debug;log-filter' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set the dynamic log filter')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset the dynamic log filter')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;debug;log-filter;set' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;debug;log-filter;reset' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;debug;log-filter;help' {
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set the dynamic log filter')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset the dynamic log filter')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;debug;log-filter;help;set' {
            break
        }
        'warp-cli;debug;log-filter;help;reset' {
            break
        }
        'warp-cli;debug;log-filter;help;help' {
            break
        }
        'warp-cli;debug;upload-stats' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;debug;in-flight-requests' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;debug;frequent-connection-stats' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
            break
        }
        'warp-cli;debug;help' {
            [CompletionResult]::new('access-reauth', 'access-reauth', [CompletionResultType]::ParameterValue, 'Force refresh authentication with Cloudflare Access')
            [CompletionResult]::new('alternate-network', 'alternate-network', [CompletionResultType]::ParameterValue, 'Get the name of the currently detected alternate network, if any')
            [CompletionResult]::new('connectivity-check', 'connectivity-check', [CompletionResultType]::ParameterValue, 'Enable or disable connectivity checks')
            [CompletionResult]::new('dex', 'dex', [CompletionResultType]::ParameterValue, 'Get the most recently uploaded DEX data. Returns the most recent test for each dex metric')
            [CompletionResult]::new('network', 'network', [CompletionResultType]::ParameterValue, 'Display the current network information')
            [CompletionResult]::new('panic', 'panic', [CompletionResultType]::ParameterValue, 'Force a daemon panic - only works in debug mode')
            [CompletionResult]::new('posture', 'posture', [CompletionResultType]::ParameterValue, 'Display the most recent device posture information')
            [CompletionResult]::new('pcap', 'pcap', [CompletionResultType]::ParameterValue, 'Run a packet capture on the device')
            [CompletionResult]::new('speed-test', 'speed-test', [CompletionResultType]::ParameterValue, 'Run a speed test on the device')
            [CompletionResult]::new('task-dump', 'task-dump', [CompletionResultType]::ParameterValue, 'Get a dump of the currently running async tasks')
            [CompletionResult]::new('qlog', 'qlog', [CompletionResultType]::ParameterValue, 'Enable qlog logging on the tunnel, if supported by the tunnel protocol')
            [CompletionResult]::new('log-filter', 'log-filter', [CompletionResultType]::ParameterValue, 'Modify the dynamic log filter using env-filter directives')
            [CompletionResult]::new('upload-stats', 'upload-stats', [CompletionResultType]::ParameterValue, 'A hidden debug command to manually trigger an uploading of the stats')
            [CompletionResult]::new('in-flight-requests', 'in-flight-requests', [CompletionResultType]::ParameterValue, 'A hidden debug command to list in-flight API requests')
            [CompletionResult]::new('frequent-connection-stats', 'frequent-connection-stats', [CompletionResultType]::ParameterValue, 'Enable frequent connection stats for the QUIC connection for 1 hour')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;debug;help;access-reauth' {
            break
        }
        'warp-cli;debug;help;alternate-network' {
            break
        }
        'warp-cli;debug;help;connectivity-check' {
            break
        }
        'warp-cli;debug;help;dex' {
            break
        }
        'warp-cli;debug;help;network' {
            break
        }
        'warp-cli;debug;help;panic' {
            break
        }
        'warp-cli;debug;help;posture' {
            break
        }
        'warp-cli;debug;help;pcap' {
            [CompletionResult]::new('start', 'start', [CompletionResultType]::ParameterValue, 'Start packet capture')
            [CompletionResult]::new('stop', 'stop', [CompletionResultType]::ParameterValue, 'Stop packet capture')
            break
        }
        'warp-cli;debug;help;pcap;start' {
            break
        }
        'warp-cli;debug;help;pcap;stop' {
            break
        }
        'warp-cli;debug;help;speed-test' {
            break
        }
        'warp-cli;debug;help;task-dump' {
            break
        }
        'warp-cli;debug;help;qlog' {
            [CompletionResult]::new('enable', 'enable', [CompletionResultType]::ParameterValue, 'Enable QLOGs. This will restart the connection unless `--current-connection-only` is passed')
            [CompletionResult]::new('disable', 'disable', [CompletionResultType]::ParameterValue, 'Disable QLOGs. This will restart the connection')
            break
        }
        'warp-cli;debug;help;qlog;enable' {
            break
        }
        'warp-cli;debug;help;qlog;disable' {
            break
        }
        'warp-cli;debug;help;log-filter' {
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set the dynamic log filter')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset the dynamic log filter')
            break
        }
        'warp-cli;debug;help;log-filter;set' {
            break
        }
        'warp-cli;debug;help;log-filter;reset' {
            break
        }
        'warp-cli;debug;help;upload-stats' {
            break
        }
        'warp-cli;debug;help;in-flight-requests' {
            break
        }
        'warp-cli;debug;help;frequent-connection-stats' {
            break
        }
        'warp-cli;debug;help;help' {
            break
        }
        'warp-cli;disconnect' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;dns' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('endpoint', 'endpoint', [CompletionResultType]::ParameterValue, 'Configure a custom DNS Over HTTPS server endpoint')
            [CompletionResult]::new('fallback', 'fallback', [CompletionResultType]::ParameterValue, 'Configure fallback domains')
            [CompletionResult]::new('families', 'families', [CompletionResultType]::ParameterValue, 'Configure Families Mode settings (Consumer only)')
            [CompletionResult]::new('gateway-id', 'gateway-id', [CompletionResultType]::ParameterValue, 'Force the app to use the specified Gateway ID for DNS queries')
            [CompletionResult]::new('log', 'log', [CompletionResultType]::ParameterValue, 'Enable/Disable DNS logging')
            [CompletionResult]::new('stats', 'stats', [CompletionResultType]::ParameterValue, 'Retrieve DNS stats for the current connection')
            [CompletionResult]::new('default-fallbacks', 'default-fallbacks', [CompletionResultType]::ParameterValue, 'Display which DNS servers are being used for default fallback')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;dns;endpoint' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set an override IP to use for the Cloudflare API IP')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Remove any configured override IP for the Cloudflare API')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;dns;endpoint;set' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;dns;endpoint;reset' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;dns;endpoint;help' {
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set an override IP to use for the Cloudflare API IP')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Remove any configured override IP for the Cloudflare API')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;dns;endpoint;help;set' {
            break
        }
        'warp-cli;dns;endpoint;help;reset' {
            break
        }
        'warp-cli;dns;endpoint;help;help' {
            break
        }
        'warp-cli;dns;fallback' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'List hosts in the split tunnel configuration')
            [CompletionResult]::new('add', 'add', [CompletionResultType]::ParameterValue, 'Add a host to the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('remove', 'remove', [CompletionResultType]::ParameterValue, 'Remove a host from the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset hosts in the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;dns;fallback;list' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;dns;fallback;add' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;dns;fallback;remove' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;dns;fallback;reset' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;dns;fallback;help' {
            [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'List hosts in the split tunnel configuration')
            [CompletionResult]::new('add', 'add', [CompletionResultType]::ParameterValue, 'Add a host to the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('remove', 'remove', [CompletionResultType]::ParameterValue, 'Remove a host from the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset hosts in the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;dns;fallback;help;list' {
            break
        }
        'warp-cli;dns;fallback;help;add' {
            break
        }
        'warp-cli;dns;fallback;help;remove' {
            break
        }
        'warp-cli;dns;fallback;help;reset' {
            break
        }
        'warp-cli;dns;fallback;help;help' {
            break
        }
        'warp-cli;dns;families' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;dns;gateway-id' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set an override')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Remove any configured override')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;dns;gateway-id;set' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;dns;gateway-id;reset' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;dns;gateway-id;help' {
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set an override')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Remove any configured override')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;dns;gateway-id;help;set' {
            break
        }
        'warp-cli;dns;gateway-id;help;reset' {
            break
        }
        'warp-cli;dns;gateway-id;help;help' {
            break
        }
        'warp-cli;dns;log' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;dns;stats' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;dns;default-fallbacks' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;dns;help' {
            [CompletionResult]::new('endpoint', 'endpoint', [CompletionResultType]::ParameterValue, 'Configure a custom DNS Over HTTPS server endpoint')
            [CompletionResult]::new('fallback', 'fallback', [CompletionResultType]::ParameterValue, 'Configure fallback domains')
            [CompletionResult]::new('families', 'families', [CompletionResultType]::ParameterValue, 'Configure Families Mode settings (Consumer only)')
            [CompletionResult]::new('gateway-id', 'gateway-id', [CompletionResultType]::ParameterValue, 'Force the app to use the specified Gateway ID for DNS queries')
            [CompletionResult]::new('log', 'log', [CompletionResultType]::ParameterValue, 'Enable/Disable DNS logging')
            [CompletionResult]::new('stats', 'stats', [CompletionResultType]::ParameterValue, 'Retrieve DNS stats for the current connection')
            [CompletionResult]::new('default-fallbacks', 'default-fallbacks', [CompletionResultType]::ParameterValue, 'Display which DNS servers are being used for default fallback')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;dns;help;endpoint' {
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set an override IP to use for the Cloudflare API IP')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Remove any configured override IP for the Cloudflare API')
            break
        }
        'warp-cli;dns;help;endpoint;set' {
            break
        }
        'warp-cli;dns;help;endpoint;reset' {
            break
        }
        'warp-cli;dns;help;fallback' {
            [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'List hosts in the split tunnel configuration')
            [CompletionResult]::new('add', 'add', [CompletionResultType]::ParameterValue, 'Add a host to the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('remove', 'remove', [CompletionResultType]::ParameterValue, 'Remove a host from the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset hosts in the split tunnel configuration (Consumer only)')
            break
        }
        'warp-cli;dns;help;fallback;list' {
            break
        }
        'warp-cli;dns;help;fallback;add' {
            break
        }
        'warp-cli;dns;help;fallback;remove' {
            break
        }
        'warp-cli;dns;help;fallback;reset' {
            break
        }
        'warp-cli;dns;help;families' {
            break
        }
        'warp-cli;dns;help;gateway-id' {
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set an override')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Remove any configured override')
            break
        }
        'warp-cli;dns;help;gateway-id;set' {
            break
        }
        'warp-cli;dns;help;gateway-id;reset' {
            break
        }
        'warp-cli;dns;help;log' {
            break
        }
        'warp-cli;dns;help;stats' {
            break
        }
        'warp-cli;dns;help;default-fallbacks' {
            break
        }
        'warp-cli;dns;help;help' {
            break
        }
        'warp-cli;environment' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set the client''s compliance environment')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset the client''s compliance environment override')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;environment;set' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
            break
        }
        'warp-cli;environment;reset' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;environment;help' {
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set the client''s compliance environment')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset the client''s compliance environment override')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;environment;help;set' {
            break
        }
        'warp-cli;environment;help;reset' {
            break
        }
        'warp-cli;environment;help;help' {
            break
        }
        'warp-cli;mdm' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('get-configs', 'get-configs', [CompletionResultType]::ParameterValue, 'Show information about current MDM configurations')
            [CompletionResult]::new('set-config', 'set-config', [CompletionResultType]::ParameterValue, 'Apply config from configs found in MDM file')
            [CompletionResult]::new('refresh', 'refresh', [CompletionResultType]::ParameterValue, 'Immediately refresh MDM configuration from the local policy file')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;mdm;get-configs' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;mdm;set-config' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;mdm;refresh' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;mdm;help' {
            [CompletionResult]::new('get-configs', 'get-configs', [CompletionResultType]::ParameterValue, 'Show information about current MDM configurations')
            [CompletionResult]::new('set-config', 'set-config', [CompletionResultType]::ParameterValue, 'Apply config from configs found in MDM file')
            [CompletionResult]::new('refresh', 'refresh', [CompletionResultType]::ParameterValue, 'Immediately refresh MDM configuration from the local policy file')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;mdm;help;get-configs' {
            break
        }
        'warp-cli;mdm;help;set-config' {
            break
        }
        'warp-cli;mdm;help;refresh' {
            break
        }
        'warp-cli;mdm;help;help' {
            break
        }
        'warp-cli;mode' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
            break
        }
        'warp-cli;override' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('show', 'show', [CompletionResultType]::ParameterValue, 'Return information about any currently applied administrative override')
            [CompletionResult]::new('unlock', 'unlock', [CompletionResultType]::ParameterValue, 'Temporarily override policies that require the client to stay enabled')
            [CompletionResult]::new('generate', 'generate', [CompletionResultType]::ParameterValue, 'Generate admin override code for Teams account (requires admin permissions)')
            [CompletionResult]::new('local-network', 'local-network', [CompletionResultType]::ParameterValue, 'Override settings to access the local area network')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;override;show' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;override;unlock' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;override;generate' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;override;local-network' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('allow', 'allow', [CompletionResultType]::ParameterValue, 'Allow access to the local network, if permitted by settings')
            [CompletionResult]::new('show', 'show', [CompletionResultType]::ParameterValue, 'Return information about any currently applied local network access')
            [CompletionResult]::new('stop', 'stop', [CompletionResultType]::ParameterValue, 'Stop any current local network access')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;override;local-network;allow' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;override;local-network;show' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;override;local-network;stop' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;override;local-network;help' {
            [CompletionResult]::new('allow', 'allow', [CompletionResultType]::ParameterValue, 'Allow access to the local network, if permitted by settings')
            [CompletionResult]::new('show', 'show', [CompletionResultType]::ParameterValue, 'Return information about any currently applied local network access')
            [CompletionResult]::new('stop', 'stop', [CompletionResultType]::ParameterValue, 'Stop any current local network access')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;override;local-network;help;allow' {
            break
        }
        'warp-cli;override;local-network;help;show' {
            break
        }
        'warp-cli;override;local-network;help;stop' {
            break
        }
        'warp-cli;override;local-network;help;help' {
            break
        }
        'warp-cli;override;help' {
            [CompletionResult]::new('show', 'show', [CompletionResultType]::ParameterValue, 'Return information about any currently applied administrative override')
            [CompletionResult]::new('unlock', 'unlock', [CompletionResultType]::ParameterValue, 'Temporarily override policies that require the client to stay enabled')
            [CompletionResult]::new('generate', 'generate', [CompletionResultType]::ParameterValue, 'Generate admin override code for Teams account (requires admin permissions)')
            [CompletionResult]::new('local-network', 'local-network', [CompletionResultType]::ParameterValue, 'Override settings to access the local area network')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;override;help;show' {
            break
        }
        'warp-cli;override;help;unlock' {
            break
        }
        'warp-cli;override;help;generate' {
            break
        }
        'warp-cli;override;help;local-network' {
            [CompletionResult]::new('allow', 'allow', [CompletionResultType]::ParameterValue, 'Allow access to the local network, if permitted by settings')
            [CompletionResult]::new('show', 'show', [CompletionResultType]::ParameterValue, 'Return information about any currently applied local network access')
            [CompletionResult]::new('stop', 'stop', [CompletionResultType]::ParameterValue, 'Stop any current local network access')
            break
        }
        'warp-cli;override;help;local-network;allow' {
            break
        }
        'warp-cli;override;help;local-network;show' {
            break
        }
        'warp-cli;override;help;local-network;stop' {
            break
        }
        'warp-cli;override;help;help' {
            break
        }
        'warp-cli;proxy' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('port', 'port', [CompletionResultType]::ParameterValue, 'Override the listening port for proxy mode (127.0.0.1:{port})')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;proxy;port' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;proxy;help' {
            [CompletionResult]::new('port', 'port', [CompletionResultType]::ParameterValue, 'Override the listening port for proxy mode (127.0.0.1:{port})')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;proxy;help;port' {
            break
        }
        'warp-cli;proxy;help;help' {
            break
        }
        'warp-cli;registration' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('show', 'show', [CompletionResultType]::ParameterValue, 'Show information about the current registration')
            [CompletionResult]::new('new', 'new', [CompletionResultType]::ParameterValue, 'Register this client (Must be run before first connection!)')
            [CompletionResult]::new('delete', 'delete', [CompletionResultType]::ParameterValue, 'Delete current registration')
            [CompletionResult]::new('delete-all', 'delete-all', [CompletionResultType]::ParameterValue, 'Delete all registrations for all users and scopes')
            [CompletionResult]::new('organization', 'organization', [CompletionResultType]::ParameterValue, 'Get the name of the current Teams organization')
            [CompletionResult]::new('devices', 'devices', [CompletionResultType]::ParameterValue, 'Display the list of devices associated with the current registration (Consumer only)')
            [CompletionResult]::new('license', 'license', [CompletionResultType]::ParameterValue, 'Attach the current registration to a different account using a license key (Consumer only)')
            [CompletionResult]::new('token', 'token', [CompletionResultType]::ParameterValue, 'Used internally by callbacks to return tokens as part of registration')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;registration;show' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;registration;new' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;registration;delete' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;registration;delete-all' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;registration;organization' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;registration;devices' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;registration;license' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;registration;token' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;registration;help' {
            [CompletionResult]::new('show', 'show', [CompletionResultType]::ParameterValue, 'Show information about the current registration')
            [CompletionResult]::new('new', 'new', [CompletionResultType]::ParameterValue, 'Register this client (Must be run before first connection!)')
            [CompletionResult]::new('delete', 'delete', [CompletionResultType]::ParameterValue, 'Delete current registration')
            [CompletionResult]::new('delete-all', 'delete-all', [CompletionResultType]::ParameterValue, 'Delete all registrations for all users and scopes')
            [CompletionResult]::new('organization', 'organization', [CompletionResultType]::ParameterValue, 'Get the name of the current Teams organization')
            [CompletionResult]::new('devices', 'devices', [CompletionResultType]::ParameterValue, 'Display the list of devices associated with the current registration (Consumer only)')
            [CompletionResult]::new('license', 'license', [CompletionResultType]::ParameterValue, 'Attach the current registration to a different account using a license key (Consumer only)')
            [CompletionResult]::new('token', 'token', [CompletionResultType]::ParameterValue, 'Used internally by callbacks to return tokens as part of registration')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;registration;help;show' {
            break
        }
        'warp-cli;registration;help;new' {
            break
        }
        'warp-cli;registration;help;delete' {
            break
        }
        'warp-cli;registration;help;delete-all' {
            break
        }
        'warp-cli;registration;help;organization' {
            break
        }
        'warp-cli;registration;help;devices' {
            break
        }
        'warp-cli;registration;help;license' {
            break
        }
        'warp-cli;registration;help;token' {
            break
        }
        'warp-cli;registration;help;help' {
            break
        }
        'warp-cli;settings' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'Retrieve the current application settings')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Restore settings to default')
            [CompletionResult]::new('support-url', 'support-url', [CompletionResultType]::ParameterValue, 'Get the support url for the current Teams organization')
            [CompletionResult]::new('mode-switch-allowed', 'mode-switch-allowed', [CompletionResultType]::ParameterValue, 'Outputs true if Teams users should be able to change connection mode, or false if not')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;settings;list' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;settings;reset' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;settings;support-url' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;settings;mode-switch-allowed' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;settings;help' {
            [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'Retrieve the current application settings')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Restore settings to default')
            [CompletionResult]::new('support-url', 'support-url', [CompletionResultType]::ParameterValue, 'Get the support url for the current Teams organization')
            [CompletionResult]::new('mode-switch-allowed', 'mode-switch-allowed', [CompletionResultType]::ParameterValue, 'Outputs true if Teams users should be able to change connection mode, or false if not')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;settings;help;list' {
            break
        }
        'warp-cli;settings;help;reset' {
            break
        }
        'warp-cli;settings;help;support-url' {
            break
        }
        'warp-cli;settings;help;mode-switch-allowed' {
            break
        }
        'warp-cli;settings;help;help' {
            break
        }
        'warp-cli;status' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;target' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'List all available targets accessible by the current user')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;target;list' {
            [CompletionResult]::new('-a', '-a', [CompletionResultType]::ParameterName, 'Filter targets that matches exactly the attribute key and comma-separated values specified')
            [CompletionResult]::new('--attribute', '--attribute', [CompletionResultType]::ParameterName, 'Filter targets that matches exactly the attribute key and comma-separated values specified')
            [CompletionResult]::new('-i', '-i', [CompletionResultType]::ParameterName, 'Filter targets that matches any of the ID(s)')
            [CompletionResult]::new('--id', '--id', [CompletionResultType]::ParameterName, 'Filter targets that matches any of the ID(s)')
            [CompletionResult]::new('--ip', '--ip', [CompletionResultType]::ParameterName, 'Filter targets whose IPv4 or IPv6 exactly matches the value provided')
            [CompletionResult]::new('--ip-begins', '--ip-begins', [CompletionResultType]::ParameterName, 'Filter targets whose IPv4 or IPv6 addresses begin with the value provided')
            [CompletionResult]::new('-p', '-p', [CompletionResultType]::ParameterName, 'Filter targets that matches any of the protocol(s)')
            [CompletionResult]::new('--protocol', '--protocol', [CompletionResultType]::ParameterName, 'Filter targets that matches any of the protocol(s)')
            [CompletionResult]::new('-u', '-u', [CompletionResultType]::ParameterName, 'Filter targets that matches any of the username(s)')
            [CompletionResult]::new('--username', '--username', [CompletionResultType]::ParameterName, 'Filter targets that matches any of the username(s)')
            [CompletionResult]::new('-n', '-n', [CompletionResultType]::ParameterName, 'Filter targets that matches any of the VNet(s). VNet names are case-sensitive')
            [CompletionResult]::new('--vnet', '--vnet', [CompletionResultType]::ParameterName, 'Filter targets that matches any of the VNet(s). VNet names are case-sensitive')
            [CompletionResult]::new('--max-items', '--max-items', [CompletionResultType]::ParameterName, 'Maximum items to fetch. If `--no-paginate` is present, it takes precedence')
            [CompletionResult]::new('--page-id', '--page-id', [CompletionResultType]::ParameterName, 'Pagination ID received from last call')
            [CompletionResult]::new('--per-page', '--per-page', [CompletionResultType]::ParameterName, 'Maximum results to include per page')
            [CompletionResult]::new('--desc', '--desc', [CompletionResultType]::ParameterName, 'Order targets in descending order by port')
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
            break
        }
        'warp-cli;target;help' {
            [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'List all available targets accessible by the current user')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;target;help;list' {
            break
        }
        'warp-cli;target;help;help' {
            break
        }
        'warp-cli;trusted' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('ssid', 'ssid', [CompletionResultType]::ParameterValue, 'Configure trusted Wi-Fi networks for which the client will be automatically disconnected (Consumer only)')
            [CompletionResult]::new('ethernet', 'ethernet', [CompletionResultType]::ParameterValue, 'Automatically disconnect on all ethernet networks (Consumer only)')
            [CompletionResult]::new('wifi', 'wifi', [CompletionResultType]::ParameterValue, 'Automatically disconnect on all Wi-Fi networks (Consumer only)')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;trusted;ssid' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'List hosts in the split tunnel configuration')
            [CompletionResult]::new('add', 'add', [CompletionResultType]::ParameterValue, 'Add a host to the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('remove', 'remove', [CompletionResultType]::ParameterValue, 'Remove a host from the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset hosts in the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;trusted;ssid;list' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;trusted;ssid;add' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;trusted;ssid;remove' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;trusted;ssid;reset' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;trusted;ssid;help' {
            [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'List hosts in the split tunnel configuration')
            [CompletionResult]::new('add', 'add', [CompletionResultType]::ParameterValue, 'Add a host to the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('remove', 'remove', [CompletionResultType]::ParameterValue, 'Remove a host from the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset hosts in the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;trusted;ssid;help;list' {
            break
        }
        'warp-cli;trusted;ssid;help;add' {
            break
        }
        'warp-cli;trusted;ssid;help;remove' {
            break
        }
        'warp-cli;trusted;ssid;help;reset' {
            break
        }
        'warp-cli;trusted;ssid;help;help' {
            break
        }
        'warp-cli;trusted;ethernet' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;trusted;wifi' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;trusted;help' {
            [CompletionResult]::new('ssid', 'ssid', [CompletionResultType]::ParameterValue, 'Configure trusted Wi-Fi networks for which the client will be automatically disconnected (Consumer only)')
            [CompletionResult]::new('ethernet', 'ethernet', [CompletionResultType]::ParameterValue, 'Automatically disconnect on all ethernet networks (Consumer only)')
            [CompletionResult]::new('wifi', 'wifi', [CompletionResultType]::ParameterValue, 'Automatically disconnect on all Wi-Fi networks (Consumer only)')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;trusted;help;ssid' {
            [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'List hosts in the split tunnel configuration')
            [CompletionResult]::new('add', 'add', [CompletionResultType]::ParameterValue, 'Add a host to the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('remove', 'remove', [CompletionResultType]::ParameterValue, 'Remove a host from the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset hosts in the split tunnel configuration (Consumer only)')
            break
        }
        'warp-cli;trusted;help;ssid;list' {
            break
        }
        'warp-cli;trusted;help;ssid;add' {
            break
        }
        'warp-cli;trusted;help;ssid;remove' {
            break
        }
        'warp-cli;trusted;help;ssid;reset' {
            break
        }
        'warp-cli;trusted;help;ethernet' {
            break
        }
        'warp-cli;trusted;help;wifi' {
            break
        }
        'warp-cli;trusted;help;help' {
            break
        }
        'warp-cli;tunnel' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('dump', 'dump', [CompletionResultType]::ParameterValue, 'Get split tunnel routing dump. For include-only mode, this shows routes NOT included')
            [CompletionResult]::new('host', 'host', [CompletionResultType]::ParameterValue, 'Configure split tunnel hosts')
            [CompletionResult]::new('ip', 'ip', [CompletionResultType]::ParameterValue, 'Configure split tunnel IPs')
            [CompletionResult]::new('stats', 'stats', [CompletionResultType]::ParameterValue, 'Retrieve the stats for the current tunnel connection')
            [CompletionResult]::new('rotate-keys', 'rotate-keys', [CompletionResultType]::ParameterValue, 'Generate a new key-pair, keeping the current registration')
            [CompletionResult]::new('endpoint', 'endpoint', [CompletionResultType]::ParameterValue, 'Force the client to connect to the specified IP:PORT endpoint (Zero Trust customers must run this command as a privileged user)')
            [CompletionResult]::new('mtu', 'mtu', [CompletionResultType]::ParameterValue, 'Set the MTU value of the tunnel')
            [CompletionResult]::new('protocol', 'protocol', [CompletionResultType]::ParameterValue, 'Modify the preferred tunnel protocol (Consumer only)')
            [CompletionResult]::new('masque-options', 'masque-options', [CompletionResultType]::ParameterValue, 'Modify the MASQUE tunnel protocol options (Consumer only)')
            [CompletionResult]::new('pmtud', 'pmtud', [CompletionResultType]::ParameterValue, 'Configure Path MTU Discovery (PMTUD) for MASQUE tunnels (requires elevated privileges)')
            [CompletionResult]::new('netbt', 'netbt', [CompletionResultType]::ParameterValue, 'Configure NetBT on the interface')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;tunnel;dump' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;tunnel;host' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'List hosts in the split tunnel configuration')
            [CompletionResult]::new('add', 'add', [CompletionResultType]::ParameterValue, 'Add a host to the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('remove', 'remove', [CompletionResultType]::ParameterValue, 'Remove a host from the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset hosts in the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;tunnel;host;list' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;tunnel;host;add' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;tunnel;host;remove' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;tunnel;host;reset' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;tunnel;host;help' {
            [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'List hosts in the split tunnel configuration')
            [CompletionResult]::new('add', 'add', [CompletionResultType]::ParameterValue, 'Add a host to the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('remove', 'remove', [CompletionResultType]::ParameterValue, 'Remove a host from the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset hosts in the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;tunnel;host;help;list' {
            break
        }
        'warp-cli;tunnel;host;help;add' {
            break
        }
        'warp-cli;tunnel;host;help;remove' {
            break
        }
        'warp-cli;tunnel;host;help;reset' {
            break
        }
        'warp-cli;tunnel;host;help;help' {
            break
        }
        'warp-cli;tunnel;ip' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'List IP ranges in the split tunnel configuration')
            [CompletionResult]::new('add', 'add', [CompletionResultType]::ParameterValue, 'Add an IP to split tunnel configuration (Consumer only)')
            [CompletionResult]::new('remove', 'remove', [CompletionResultType]::ParameterValue, 'Remove an IP from split tunnel configuration (Consumer only)')
            [CompletionResult]::new('add-range', 'add-range', [CompletionResultType]::ParameterValue, 'Add an IP range to split tunnel configuration (Consumer only)')
            [CompletionResult]::new('remove-range', 'remove-range', [CompletionResultType]::ParameterValue, 'Remove an IP range from split tunnel configuration (Consumer only)')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset IP ranges in the split tunnel configuration to default')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;tunnel;ip;list' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;tunnel;ip;add' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;tunnel;ip;remove' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;tunnel;ip;add-range' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;tunnel;ip;remove-range' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;tunnel;ip;reset' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;tunnel;ip;help' {
            [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'List IP ranges in the split tunnel configuration')
            [CompletionResult]::new('add', 'add', [CompletionResultType]::ParameterValue, 'Add an IP to split tunnel configuration (Consumer only)')
            [CompletionResult]::new('remove', 'remove', [CompletionResultType]::ParameterValue, 'Remove an IP from split tunnel configuration (Consumer only)')
            [CompletionResult]::new('add-range', 'add-range', [CompletionResultType]::ParameterValue, 'Add an IP range to split tunnel configuration (Consumer only)')
            [CompletionResult]::new('remove-range', 'remove-range', [CompletionResultType]::ParameterValue, 'Remove an IP range from split tunnel configuration (Consumer only)')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset IP ranges in the split tunnel configuration to default')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;tunnel;ip;help;list' {
            break
        }
        'warp-cli;tunnel;ip;help;add' {
            break
        }
        'warp-cli;tunnel;ip;help;remove' {
            break
        }
        'warp-cli;tunnel;ip;help;add-range' {
            break
        }
        'warp-cli;tunnel;ip;help;remove-range' {
            break
        }
        'warp-cli;tunnel;ip;help;reset' {
            break
        }
        'warp-cli;tunnel;ip;help;help' {
            break
        }
        'warp-cli;tunnel;stats' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;tunnel;rotate-keys' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;tunnel;endpoint' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set an override')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Remove any configured override')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;tunnel;endpoint;set' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;tunnel;endpoint;reset' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;tunnel;endpoint;help' {
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set an override')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Remove any configured override')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;tunnel;endpoint;help;set' {
            break
        }
        'warp-cli;tunnel;endpoint;help;reset' {
            break
        }
        'warp-cli;tunnel;endpoint;help;help' {
            break
        }
        'warp-cli;tunnel;mtu' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set an override MTU for the tunnel')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Remove any configured MTU override on the tunnel')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;tunnel;mtu;set' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;tunnel;mtu;reset' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;tunnel;mtu;help' {
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set an override MTU for the tunnel')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Remove any configured MTU override on the tunnel')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;tunnel;mtu;help;set' {
            break
        }
        'warp-cli;tunnel;mtu;help;reset' {
            break
        }
        'warp-cli;tunnel;mtu;help;help' {
            break
        }
        'warp-cli;tunnel;protocol' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set the preferred tunnel protocol')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset the preferred tunnel protocol and use the client-provided default')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;tunnel;protocol;set' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
            break
        }
        'warp-cli;tunnel;protocol;reset' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;tunnel;protocol;help' {
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set the preferred tunnel protocol')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset the preferred tunnel protocol and use the client-provided default')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;tunnel;protocol;help;set' {
            break
        }
        'warp-cli;tunnel;protocol;help;reset' {
            break
        }
        'warp-cli;tunnel;protocol;help;help' {
            break
        }
        'warp-cli;tunnel;masque-options' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set the preferred MASQUE protocol options')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset the preferred MASQUE protocol options and use the client-provided default')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;tunnel;masque-options;set' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')')
            break
        }
        'warp-cli;tunnel;masque-options;reset' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;tunnel;masque-options;help' {
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set the preferred MASQUE protocol options')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset the preferred MASQUE protocol options and use the client-provided default')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;tunnel;masque-options;help;set' {
            break
        }
        'warp-cli;tunnel;masque-options;help;reset' {
            break
        }
        'warp-cli;tunnel;masque-options;help;help' {
            break
        }
        'warp-cli;tunnel;pmtud' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('enable', 'enable', [CompletionResultType]::ParameterValue, 'Enable Path MTU Discovery (PMTUD) for MASQUE tunnels')
            [CompletionResult]::new('disable', 'disable', [CompletionResultType]::ParameterValue, 'Disable Path MTU Discovery (PMTUD) for MASQUE tunnels')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset PMTUD setting to use the client-provided default')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;tunnel;pmtud;enable' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;tunnel;pmtud;disable' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;tunnel;pmtud;reset' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;tunnel;pmtud;help' {
            [CompletionResult]::new('enable', 'enable', [CompletionResultType]::ParameterValue, 'Enable Path MTU Discovery (PMTUD) for MASQUE tunnels')
            [CompletionResult]::new('disable', 'disable', [CompletionResultType]::ParameterValue, 'Disable Path MTU Discovery (PMTUD) for MASQUE tunnels')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset PMTUD setting to use the client-provided default')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;tunnel;pmtud;help;enable' {
            break
        }
        'warp-cli;tunnel;pmtud;help;disable' {
            break
        }
        'warp-cli;tunnel;pmtud;help;reset' {
            break
        }
        'warp-cli;tunnel;pmtud;help;help' {
            break
        }
        'warp-cli;tunnel;netbt' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('enable', 'enable', [CompletionResultType]::ParameterValue, 'Enable NetBT on the tunnel interface')
            [CompletionResult]::new('disable', 'disable', [CompletionResultType]::ParameterValue, 'Disable NetBT on the tunnel interface')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset to use the client-provided default')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;tunnel;netbt;enable' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;tunnel;netbt;disable' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;tunnel;netbt;reset' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;tunnel;netbt;help' {
            [CompletionResult]::new('enable', 'enable', [CompletionResultType]::ParameterValue, 'Enable NetBT on the tunnel interface')
            [CompletionResult]::new('disable', 'disable', [CompletionResultType]::ParameterValue, 'Disable NetBT on the tunnel interface')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset to use the client-provided default')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;tunnel;netbt;help;enable' {
            break
        }
        'warp-cli;tunnel;netbt;help;disable' {
            break
        }
        'warp-cli;tunnel;netbt;help;reset' {
            break
        }
        'warp-cli;tunnel;netbt;help;help' {
            break
        }
        'warp-cli;tunnel;help' {
            [CompletionResult]::new('dump', 'dump', [CompletionResultType]::ParameterValue, 'Get split tunnel routing dump. For include-only mode, this shows routes NOT included')
            [CompletionResult]::new('host', 'host', [CompletionResultType]::ParameterValue, 'Configure split tunnel hosts')
            [CompletionResult]::new('ip', 'ip', [CompletionResultType]::ParameterValue, 'Configure split tunnel IPs')
            [CompletionResult]::new('stats', 'stats', [CompletionResultType]::ParameterValue, 'Retrieve the stats for the current tunnel connection')
            [CompletionResult]::new('rotate-keys', 'rotate-keys', [CompletionResultType]::ParameterValue, 'Generate a new key-pair, keeping the current registration')
            [CompletionResult]::new('endpoint', 'endpoint', [CompletionResultType]::ParameterValue, 'Force the client to connect to the specified IP:PORT endpoint (Zero Trust customers must run this command as a privileged user)')
            [CompletionResult]::new('mtu', 'mtu', [CompletionResultType]::ParameterValue, 'Set the MTU value of the tunnel')
            [CompletionResult]::new('protocol', 'protocol', [CompletionResultType]::ParameterValue, 'Modify the preferred tunnel protocol (Consumer only)')
            [CompletionResult]::new('masque-options', 'masque-options', [CompletionResultType]::ParameterValue, 'Modify the MASQUE tunnel protocol options (Consumer only)')
            [CompletionResult]::new('pmtud', 'pmtud', [CompletionResultType]::ParameterValue, 'Configure Path MTU Discovery (PMTUD) for MASQUE tunnels (requires elevated privileges)')
            [CompletionResult]::new('netbt', 'netbt', [CompletionResultType]::ParameterValue, 'Configure NetBT on the interface')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;tunnel;help;dump' {
            break
        }
        'warp-cli;tunnel;help;host' {
            [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'List hosts in the split tunnel configuration')
            [CompletionResult]::new('add', 'add', [CompletionResultType]::ParameterValue, 'Add a host to the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('remove', 'remove', [CompletionResultType]::ParameterValue, 'Remove a host from the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset hosts in the split tunnel configuration (Consumer only)')
            break
        }
        'warp-cli;tunnel;help;host;list' {
            break
        }
        'warp-cli;tunnel;help;host;add' {
            break
        }
        'warp-cli;tunnel;help;host;remove' {
            break
        }
        'warp-cli;tunnel;help;host;reset' {
            break
        }
        'warp-cli;tunnel;help;ip' {
            [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'List IP ranges in the split tunnel configuration')
            [CompletionResult]::new('add', 'add', [CompletionResultType]::ParameterValue, 'Add an IP to split tunnel configuration (Consumer only)')
            [CompletionResult]::new('remove', 'remove', [CompletionResultType]::ParameterValue, 'Remove an IP from split tunnel configuration (Consumer only)')
            [CompletionResult]::new('add-range', 'add-range', [CompletionResultType]::ParameterValue, 'Add an IP range to split tunnel configuration (Consumer only)')
            [CompletionResult]::new('remove-range', 'remove-range', [CompletionResultType]::ParameterValue, 'Remove an IP range from split tunnel configuration (Consumer only)')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset IP ranges in the split tunnel configuration to default')
            break
        }
        'warp-cli;tunnel;help;ip;list' {
            break
        }
        'warp-cli;tunnel;help;ip;add' {
            break
        }
        'warp-cli;tunnel;help;ip;remove' {
            break
        }
        'warp-cli;tunnel;help;ip;add-range' {
            break
        }
        'warp-cli;tunnel;help;ip;remove-range' {
            break
        }
        'warp-cli;tunnel;help;ip;reset' {
            break
        }
        'warp-cli;tunnel;help;stats' {
            break
        }
        'warp-cli;tunnel;help;rotate-keys' {
            break
        }
        'warp-cli;tunnel;help;endpoint' {
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set an override')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Remove any configured override')
            break
        }
        'warp-cli;tunnel;help;endpoint;set' {
            break
        }
        'warp-cli;tunnel;help;endpoint;reset' {
            break
        }
        'warp-cli;tunnel;help;mtu' {
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set an override MTU for the tunnel')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Remove any configured MTU override on the tunnel')
            break
        }
        'warp-cli;tunnel;help;mtu;set' {
            break
        }
        'warp-cli;tunnel;help;mtu;reset' {
            break
        }
        'warp-cli;tunnel;help;protocol' {
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set the preferred tunnel protocol')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset the preferred tunnel protocol and use the client-provided default')
            break
        }
        'warp-cli;tunnel;help;protocol;set' {
            break
        }
        'warp-cli;tunnel;help;protocol;reset' {
            break
        }
        'warp-cli;tunnel;help;masque-options' {
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set the preferred MASQUE protocol options')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset the preferred MASQUE protocol options and use the client-provided default')
            break
        }
        'warp-cli;tunnel;help;masque-options;set' {
            break
        }
        'warp-cli;tunnel;help;masque-options;reset' {
            break
        }
        'warp-cli;tunnel;help;pmtud' {
            [CompletionResult]::new('enable', 'enable', [CompletionResultType]::ParameterValue, 'Enable Path MTU Discovery (PMTUD) for MASQUE tunnels')
            [CompletionResult]::new('disable', 'disable', [CompletionResultType]::ParameterValue, 'Disable Path MTU Discovery (PMTUD) for MASQUE tunnels')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset PMTUD setting to use the client-provided default')
            break
        }
        'warp-cli;tunnel;help;pmtud;enable' {
            break
        }
        'warp-cli;tunnel;help;pmtud;disable' {
            break
        }
        'warp-cli;tunnel;help;pmtud;reset' {
            break
        }
        'warp-cli;tunnel;help;netbt' {
            [CompletionResult]::new('enable', 'enable', [CompletionResultType]::ParameterValue, 'Enable NetBT on the tunnel interface')
            [CompletionResult]::new('disable', 'disable', [CompletionResultType]::ParameterValue, 'Disable NetBT on the tunnel interface')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset to use the client-provided default')
            break
        }
        'warp-cli;tunnel;help;netbt;enable' {
            break
        }
        'warp-cli;tunnel;help;netbt;disable' {
            break
        }
        'warp-cli;tunnel;help;netbt;reset' {
            break
        }
        'warp-cli;tunnel;help;help' {
            break
        }
        'warp-cli;vnet' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;generate-completions' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;stats' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('enhanced', 'enhanced', [CompletionResultType]::ParameterValue, 'Display enhanced histogram statistics with full distribution data')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;stats;enhanced' {
            [CompletionResult]::new('-m', '-m', [CompletionResultType]::ParameterName, 'Filter metrics by name (fuzzy match)')
            [CompletionResult]::new('--metric', '--metric', [CompletionResultType]::ParameterName, 'Filter metrics by name (fuzzy match)')
            [CompletionResult]::new('-g', '-g', [CompletionResultType]::ParameterName, 'Group statistics by specified labels (comma-separated)')
            [CompletionResult]::new('--group-by', '--group-by', [CompletionResultType]::ParameterName, 'Group statistics by specified labels (comma-separated)')
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;stats;help' {
            [CompletionResult]::new('enhanced', 'enhanced', [CompletionResultType]::ParameterValue, 'Display enhanced histogram statistics with full distribution data')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;stats;help;enhanced' {
            break
        }
        'warp-cli;stats;help;help' {
            break
        }
        'warp-cli;certs' {
            [CompletionResult]::new('--no-paginate', '--no-paginate', [CompletionResultType]::ParameterName, 'Disable automatic pagination')
            [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help')
            [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help')
            break
        }
        'warp-cli;help' {
            [CompletionResult]::new('api', 'api', [CompletionResultType]::ParameterValue, 'Allow overriding Cloudflare API address')
            [CompletionResult]::new('connect', 'connect', [CompletionResultType]::ParameterValue, 'Maintain a connection whenever possible')
            [CompletionResult]::new('debug', 'debug', [CompletionResultType]::ParameterValue, 'Debugging commands')
            [CompletionResult]::new('disconnect', 'disconnect', [CompletionResultType]::ParameterValue, 'Disconnect the client')
            [CompletionResult]::new('dns', 'dns', [CompletionResultType]::ParameterValue, 'Configure DNS settings')
            [CompletionResult]::new('environment', 'environment', [CompletionResultType]::ParameterValue, 'Configure the WARP Client''s compliance environment')
            [CompletionResult]::new('mdm', 'mdm', [CompletionResultType]::ParameterValue, 'MDM configs')
            [CompletionResult]::new('mode', 'mode', [CompletionResultType]::ParameterValue, 'Set the client''s general operating mode')
            [CompletionResult]::new('override', 'override', [CompletionResultType]::ParameterValue, 'Allow temporary overrides of administrative settings')
            [CompletionResult]::new('proxy', 'proxy', [CompletionResultType]::ParameterValue, 'Configure proxy mode settings')
            [CompletionResult]::new('registration', 'registration', [CompletionResultType]::ParameterValue, 'Registration settings')
            [CompletionResult]::new('settings', 'settings', [CompletionResultType]::ParameterValue, 'Show or alter general application settings')
            [CompletionResult]::new('status', 'status', [CompletionResultType]::ParameterValue, 'Return the current connection status')
            [CompletionResult]::new('target', 'target', [CompletionResultType]::ParameterValue, 'Manage targets')
            [CompletionResult]::new('trusted', 'trusted', [CompletionResultType]::ParameterValue, 'Configure trusted networks where the client will be automatically disabled (Consumer only)')
            [CompletionResult]::new('tunnel', 'tunnel', [CompletionResultType]::ParameterValue, 'Configure tunnel settings')
            [CompletionResult]::new('vnet', 'vnet', [CompletionResultType]::ParameterValue, 'Get or specify connected virtual network')
            [CompletionResult]::new('generate-completions', 'generate-completions', [CompletionResultType]::ParameterValue, 'Generate completions for a given shell and print to stdout')
            [CompletionResult]::new('stats', 'stats', [CompletionResultType]::ParameterValue, 'Display statistics for Cloudflare WARP')
            [CompletionResult]::new('certs', 'certs', [CompletionResultType]::ParameterValue, 'Print all account certificates installed on the device to stdout')
            [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Print this message or the help of the given subcommand(s)')
            break
        }
        'warp-cli;help;api' {
            [CompletionResult]::new('endpoint', 'endpoint', [CompletionResultType]::ParameterValue, 'Set an override endpoint for the WARP API')
            break
        }
        'warp-cli;help;api;endpoint' {
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set an override IP to use for the Cloudflare API IP')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Remove any configured override IP for the Cloudflare API')
            break
        }
        'warp-cli;help;api;endpoint;set' {
            break
        }
        'warp-cli;help;api;endpoint;reset' {
            break
        }
        'warp-cli;help;connect' {
            break
        }
        'warp-cli;help;debug' {
            [CompletionResult]::new('access-reauth', 'access-reauth', [CompletionResultType]::ParameterValue, 'Force refresh authentication with Cloudflare Access')
            [CompletionResult]::new('alternate-network', 'alternate-network', [CompletionResultType]::ParameterValue, 'Get the name of the currently detected alternate network, if any')
            [CompletionResult]::new('connectivity-check', 'connectivity-check', [CompletionResultType]::ParameterValue, 'Enable or disable connectivity checks')
            [CompletionResult]::new('dex', 'dex', [CompletionResultType]::ParameterValue, 'Get the most recently uploaded DEX data. Returns the most recent test for each dex metric')
            [CompletionResult]::new('network', 'network', [CompletionResultType]::ParameterValue, 'Display the current network information')
            [CompletionResult]::new('panic', 'panic', [CompletionResultType]::ParameterValue, 'Force a daemon panic - only works in debug mode')
            [CompletionResult]::new('posture', 'posture', [CompletionResultType]::ParameterValue, 'Display the most recent device posture information')
            [CompletionResult]::new('pcap', 'pcap', [CompletionResultType]::ParameterValue, 'Run a packet capture on the device')
            [CompletionResult]::new('speed-test', 'speed-test', [CompletionResultType]::ParameterValue, 'Run a speed test on the device')
            [CompletionResult]::new('task-dump', 'task-dump', [CompletionResultType]::ParameterValue, 'Get a dump of the currently running async tasks')
            [CompletionResult]::new('qlog', 'qlog', [CompletionResultType]::ParameterValue, 'Enable qlog logging on the tunnel, if supported by the tunnel protocol')
            [CompletionResult]::new('log-filter', 'log-filter', [CompletionResultType]::ParameterValue, 'Modify the dynamic log filter using env-filter directives')
            [CompletionResult]::new('upload-stats', 'upload-stats', [CompletionResultType]::ParameterValue, 'A hidden debug command to manually trigger an uploading of the stats')
            [CompletionResult]::new('in-flight-requests', 'in-flight-requests', [CompletionResultType]::ParameterValue, 'A hidden debug command to list in-flight API requests')
            [CompletionResult]::new('frequent-connection-stats', 'frequent-connection-stats', [CompletionResultType]::ParameterValue, 'Enable frequent connection stats for the QUIC connection for 1 hour')
            break
        }
        'warp-cli;help;debug;access-reauth' {
            break
        }
        'warp-cli;help;debug;alternate-network' {
            break
        }
        'warp-cli;help;debug;connectivity-check' {
            break
        }
        'warp-cli;help;debug;dex' {
            break
        }
        'warp-cli;help;debug;network' {
            break
        }
        'warp-cli;help;debug;panic' {
            break
        }
        'warp-cli;help;debug;posture' {
            break
        }
        'warp-cli;help;debug;pcap' {
            [CompletionResult]::new('start', 'start', [CompletionResultType]::ParameterValue, 'Start packet capture')
            [CompletionResult]::new('stop', 'stop', [CompletionResultType]::ParameterValue, 'Stop packet capture')
            break
        }
        'warp-cli;help;debug;pcap;start' {
            break
        }
        'warp-cli;help;debug;pcap;stop' {
            break
        }
        'warp-cli;help;debug;speed-test' {
            break
        }
        'warp-cli;help;debug;task-dump' {
            break
        }
        'warp-cli;help;debug;qlog' {
            [CompletionResult]::new('enable', 'enable', [CompletionResultType]::ParameterValue, 'Enable QLOGs. This will restart the connection unless `--current-connection-only` is passed')
            [CompletionResult]::new('disable', 'disable', [CompletionResultType]::ParameterValue, 'Disable QLOGs. This will restart the connection')
            break
        }
        'warp-cli;help;debug;qlog;enable' {
            break
        }
        'warp-cli;help;debug;qlog;disable' {
            break
        }
        'warp-cli;help;debug;log-filter' {
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set the dynamic log filter')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset the dynamic log filter')
            break
        }
        'warp-cli;help;debug;log-filter;set' {
            break
        }
        'warp-cli;help;debug;log-filter;reset' {
            break
        }
        'warp-cli;help;debug;upload-stats' {
            break
        }
        'warp-cli;help;debug;in-flight-requests' {
            break
        }
        'warp-cli;help;debug;frequent-connection-stats' {
            break
        }
        'warp-cli;help;disconnect' {
            break
        }
        'warp-cli;help;dns' {
            [CompletionResult]::new('endpoint', 'endpoint', [CompletionResultType]::ParameterValue, 'Configure a custom DNS Over HTTPS server endpoint')
            [CompletionResult]::new('fallback', 'fallback', [CompletionResultType]::ParameterValue, 'Configure fallback domains')
            [CompletionResult]::new('families', 'families', [CompletionResultType]::ParameterValue, 'Configure Families Mode settings (Consumer only)')
            [CompletionResult]::new('gateway-id', 'gateway-id', [CompletionResultType]::ParameterValue, 'Force the app to use the specified Gateway ID for DNS queries')
            [CompletionResult]::new('log', 'log', [CompletionResultType]::ParameterValue, 'Enable/Disable DNS logging')
            [CompletionResult]::new('stats', 'stats', [CompletionResultType]::ParameterValue, 'Retrieve DNS stats for the current connection')
            [CompletionResult]::new('default-fallbacks', 'default-fallbacks', [CompletionResultType]::ParameterValue, 'Display which DNS servers are being used for default fallback')
            break
        }
        'warp-cli;help;dns;endpoint' {
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set an override IP to use for the Cloudflare API IP')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Remove any configured override IP for the Cloudflare API')
            break
        }
        'warp-cli;help;dns;endpoint;set' {
            break
        }
        'warp-cli;help;dns;endpoint;reset' {
            break
        }
        'warp-cli;help;dns;fallback' {
            [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'List hosts in the split tunnel configuration')
            [CompletionResult]::new('add', 'add', [CompletionResultType]::ParameterValue, 'Add a host to the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('remove', 'remove', [CompletionResultType]::ParameterValue, 'Remove a host from the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset hosts in the split tunnel configuration (Consumer only)')
            break
        }
        'warp-cli;help;dns;fallback;list' {
            break
        }
        'warp-cli;help;dns;fallback;add' {
            break
        }
        'warp-cli;help;dns;fallback;remove' {
            break
        }
        'warp-cli;help;dns;fallback;reset' {
            break
        }
        'warp-cli;help;dns;families' {
            break
        }
        'warp-cli;help;dns;gateway-id' {
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set an override')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Remove any configured override')
            break
        }
        'warp-cli;help;dns;gateway-id;set' {
            break
        }
        'warp-cli;help;dns;gateway-id;reset' {
            break
        }
        'warp-cli;help;dns;log' {
            break
        }
        'warp-cli;help;dns;stats' {
            break
        }
        'warp-cli;help;dns;default-fallbacks' {
            break
        }
        'warp-cli;help;environment' {
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set the client''s compliance environment')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset the client''s compliance environment override')
            break
        }
        'warp-cli;help;environment;set' {
            break
        }
        'warp-cli;help;environment;reset' {
            break
        }
        'warp-cli;help;mdm' {
            [CompletionResult]::new('get-configs', 'get-configs', [CompletionResultType]::ParameterValue, 'Show information about current MDM configurations')
            [CompletionResult]::new('set-config', 'set-config', [CompletionResultType]::ParameterValue, 'Apply config from configs found in MDM file')
            [CompletionResult]::new('refresh', 'refresh', [CompletionResultType]::ParameterValue, 'Immediately refresh MDM configuration from the local policy file')
            break
        }
        'warp-cli;help;mdm;get-configs' {
            break
        }
        'warp-cli;help;mdm;set-config' {
            break
        }
        'warp-cli;help;mdm;refresh' {
            break
        }
        'warp-cli;help;mode' {
            break
        }
        'warp-cli;help;override' {
            [CompletionResult]::new('show', 'show', [CompletionResultType]::ParameterValue, 'Return information about any currently applied administrative override')
            [CompletionResult]::new('unlock', 'unlock', [CompletionResultType]::ParameterValue, 'Temporarily override policies that require the client to stay enabled')
            [CompletionResult]::new('generate', 'generate', [CompletionResultType]::ParameterValue, 'Generate admin override code for Teams account (requires admin permissions)')
            [CompletionResult]::new('local-network', 'local-network', [CompletionResultType]::ParameterValue, 'Override settings to access the local area network')
            break
        }
        'warp-cli;help;override;show' {
            break
        }
        'warp-cli;help;override;unlock' {
            break
        }
        'warp-cli;help;override;generate' {
            break
        }
        'warp-cli;help;override;local-network' {
            [CompletionResult]::new('allow', 'allow', [CompletionResultType]::ParameterValue, 'Allow access to the local network, if permitted by settings')
            [CompletionResult]::new('show', 'show', [CompletionResultType]::ParameterValue, 'Return information about any currently applied local network access')
            [CompletionResult]::new('stop', 'stop', [CompletionResultType]::ParameterValue, 'Stop any current local network access')
            break
        }
        'warp-cli;help;override;local-network;allow' {
            break
        }
        'warp-cli;help;override;local-network;show' {
            break
        }
        'warp-cli;help;override;local-network;stop' {
            break
        }
        'warp-cli;help;proxy' {
            [CompletionResult]::new('port', 'port', [CompletionResultType]::ParameterValue, 'Override the listening port for proxy mode (127.0.0.1:{port})')
            break
        }
        'warp-cli;help;proxy;port' {
            break
        }
        'warp-cli;help;registration' {
            [CompletionResult]::new('show', 'show', [CompletionResultType]::ParameterValue, 'Show information about the current registration')
            [CompletionResult]::new('new', 'new', [CompletionResultType]::ParameterValue, 'Register this client (Must be run before first connection!)')
            [CompletionResult]::new('delete', 'delete', [CompletionResultType]::ParameterValue, 'Delete current registration')
            [CompletionResult]::new('delete-all', 'delete-all', [CompletionResultType]::ParameterValue, 'Delete all registrations for all users and scopes')
            [CompletionResult]::new('organization', 'organization', [CompletionResultType]::ParameterValue, 'Get the name of the current Teams organization')
            [CompletionResult]::new('devices', 'devices', [CompletionResultType]::ParameterValue, 'Display the list of devices associated with the current registration (Consumer only)')
            [CompletionResult]::new('license', 'license', [CompletionResultType]::ParameterValue, 'Attach the current registration to a different account using a license key (Consumer only)')
            [CompletionResult]::new('token', 'token', [CompletionResultType]::ParameterValue, 'Used internally by callbacks to return tokens as part of registration')
            break
        }
        'warp-cli;help;registration;show' {
            break
        }
        'warp-cli;help;registration;new' {
            break
        }
        'warp-cli;help;registration;delete' {
            break
        }
        'warp-cli;help;registration;delete-all' {
            break
        }
        'warp-cli;help;registration;organization' {
            break
        }
        'warp-cli;help;registration;devices' {
            break
        }
        'warp-cli;help;registration;license' {
            break
        }
        'warp-cli;help;registration;token' {
            break
        }
        'warp-cli;help;settings' {
            [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'Retrieve the current application settings')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Restore settings to default')
            [CompletionResult]::new('support-url', 'support-url', [CompletionResultType]::ParameterValue, 'Get the support url for the current Teams organization')
            [CompletionResult]::new('mode-switch-allowed', 'mode-switch-allowed', [CompletionResultType]::ParameterValue, 'Outputs true if Teams users should be able to change connection mode, or false if not')
            break
        }
        'warp-cli;help;settings;list' {
            break
        }
        'warp-cli;help;settings;reset' {
            break
        }
        'warp-cli;help;settings;support-url' {
            break
        }
        'warp-cli;help;settings;mode-switch-allowed' {
            break
        }
        'warp-cli;help;status' {
            break
        }
        'warp-cli;help;target' {
            [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'List all available targets accessible by the current user')
            break
        }
        'warp-cli;help;target;list' {
            break
        }
        'warp-cli;help;trusted' {
            [CompletionResult]::new('ssid', 'ssid', [CompletionResultType]::ParameterValue, 'Configure trusted Wi-Fi networks for which the client will be automatically disconnected (Consumer only)')
            [CompletionResult]::new('ethernet', 'ethernet', [CompletionResultType]::ParameterValue, 'Automatically disconnect on all ethernet networks (Consumer only)')
            [CompletionResult]::new('wifi', 'wifi', [CompletionResultType]::ParameterValue, 'Automatically disconnect on all Wi-Fi networks (Consumer only)')
            break
        }
        'warp-cli;help;trusted;ssid' {
            [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'List hosts in the split tunnel configuration')
            [CompletionResult]::new('add', 'add', [CompletionResultType]::ParameterValue, 'Add a host to the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('remove', 'remove', [CompletionResultType]::ParameterValue, 'Remove a host from the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset hosts in the split tunnel configuration (Consumer only)')
            break
        }
        'warp-cli;help;trusted;ssid;list' {
            break
        }
        'warp-cli;help;trusted;ssid;add' {
            break
        }
        'warp-cli;help;trusted;ssid;remove' {
            break
        }
        'warp-cli;help;trusted;ssid;reset' {
            break
        }
        'warp-cli;help;trusted;ethernet' {
            break
        }
        'warp-cli;help;trusted;wifi' {
            break
        }
        'warp-cli;help;tunnel' {
            [CompletionResult]::new('dump', 'dump', [CompletionResultType]::ParameterValue, 'Get split tunnel routing dump. For include-only mode, this shows routes NOT included')
            [CompletionResult]::new('host', 'host', [CompletionResultType]::ParameterValue, 'Configure split tunnel hosts')
            [CompletionResult]::new('ip', 'ip', [CompletionResultType]::ParameterValue, 'Configure split tunnel IPs')
            [CompletionResult]::new('stats', 'stats', [CompletionResultType]::ParameterValue, 'Retrieve the stats for the current tunnel connection')
            [CompletionResult]::new('rotate-keys', 'rotate-keys', [CompletionResultType]::ParameterValue, 'Generate a new key-pair, keeping the current registration')
            [CompletionResult]::new('endpoint', 'endpoint', [CompletionResultType]::ParameterValue, 'Force the client to connect to the specified IP:PORT endpoint (Zero Trust customers must run this command as a privileged user)')
            [CompletionResult]::new('mtu', 'mtu', [CompletionResultType]::ParameterValue, 'Set the MTU value of the tunnel')
            [CompletionResult]::new('protocol', 'protocol', [CompletionResultType]::ParameterValue, 'Modify the preferred tunnel protocol (Consumer only)')
            [CompletionResult]::new('masque-options', 'masque-options', [CompletionResultType]::ParameterValue, 'Modify the MASQUE tunnel protocol options (Consumer only)')
            [CompletionResult]::new('pmtud', 'pmtud', [CompletionResultType]::ParameterValue, 'Configure Path MTU Discovery (PMTUD) for MASQUE tunnels (requires elevated privileges)')
            [CompletionResult]::new('netbt', 'netbt', [CompletionResultType]::ParameterValue, 'Configure NetBT on the interface')
            break
        }
        'warp-cli;help;tunnel;dump' {
            break
        }
        'warp-cli;help;tunnel;host' {
            [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'List hosts in the split tunnel configuration')
            [CompletionResult]::new('add', 'add', [CompletionResultType]::ParameterValue, 'Add a host to the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('remove', 'remove', [CompletionResultType]::ParameterValue, 'Remove a host from the split tunnel configuration (Consumer only)')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset hosts in the split tunnel configuration (Consumer only)')
            break
        }
        'warp-cli;help;tunnel;host;list' {
            break
        }
        'warp-cli;help;tunnel;host;add' {
            break
        }
        'warp-cli;help;tunnel;host;remove' {
            break
        }
        'warp-cli;help;tunnel;host;reset' {
            break
        }
        'warp-cli;help;tunnel;ip' {
            [CompletionResult]::new('list', 'list', [CompletionResultType]::ParameterValue, 'List IP ranges in the split tunnel configuration')
            [CompletionResult]::new('add', 'add', [CompletionResultType]::ParameterValue, 'Add an IP to split tunnel configuration (Consumer only)')
            [CompletionResult]::new('remove', 'remove', [CompletionResultType]::ParameterValue, 'Remove an IP from split tunnel configuration (Consumer only)')
            [CompletionResult]::new('add-range', 'add-range', [CompletionResultType]::ParameterValue, 'Add an IP range to split tunnel configuration (Consumer only)')
            [CompletionResult]::new('remove-range', 'remove-range', [CompletionResultType]::ParameterValue, 'Remove an IP range from split tunnel configuration (Consumer only)')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset IP ranges in the split tunnel configuration to default')
            break
        }
        'warp-cli;help;tunnel;ip;list' {
            break
        }
        'warp-cli;help;tunnel;ip;add' {
            break
        }
        'warp-cli;help;tunnel;ip;remove' {
            break
        }
        'warp-cli;help;tunnel;ip;add-range' {
            break
        }
        'warp-cli;help;tunnel;ip;remove-range' {
            break
        }
        'warp-cli;help;tunnel;ip;reset' {
            break
        }
        'warp-cli;help;tunnel;stats' {
            break
        }
        'warp-cli;help;tunnel;rotate-keys' {
            break
        }
        'warp-cli;help;tunnel;endpoint' {
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set an override')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Remove any configured override')
            break
        }
        'warp-cli;help;tunnel;endpoint;set' {
            break
        }
        'warp-cli;help;tunnel;endpoint;reset' {
            break
        }
        'warp-cli;help;tunnel;mtu' {
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set an override MTU for the tunnel')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Remove any configured MTU override on the tunnel')
            break
        }
        'warp-cli;help;tunnel;mtu;set' {
            break
        }
        'warp-cli;help;tunnel;mtu;reset' {
            break
        }
        'warp-cli;help;tunnel;protocol' {
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set the preferred tunnel protocol')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset the preferred tunnel protocol and use the client-provided default')
            break
        }
        'warp-cli;help;tunnel;protocol;set' {
            break
        }
        'warp-cli;help;tunnel;protocol;reset' {
            break
        }
        'warp-cli;help;tunnel;masque-options' {
            [CompletionResult]::new('set', 'set', [CompletionResultType]::ParameterValue, 'Set the preferred MASQUE protocol options')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset the preferred MASQUE protocol options and use the client-provided default')
            break
        }
        'warp-cli;help;tunnel;masque-options;set' {
            break
        }
        'warp-cli;help;tunnel;masque-options;reset' {
            break
        }
        'warp-cli;help;tunnel;pmtud' {
            [CompletionResult]::new('enable', 'enable', [CompletionResultType]::ParameterValue, 'Enable Path MTU Discovery (PMTUD) for MASQUE tunnels')
            [CompletionResult]::new('disable', 'disable', [CompletionResultType]::ParameterValue, 'Disable Path MTU Discovery (PMTUD) for MASQUE tunnels')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset PMTUD setting to use the client-provided default')
            break
        }
        'warp-cli;help;tunnel;pmtud;enable' {
            break
        }
        'warp-cli;help;tunnel;pmtud;disable' {
            break
        }
        'warp-cli;help;tunnel;pmtud;reset' {
            break
        }
        'warp-cli;help;tunnel;netbt' {
            [CompletionResult]::new('enable', 'enable', [CompletionResultType]::ParameterValue, 'Enable NetBT on the tunnel interface')
            [CompletionResult]::new('disable', 'disable', [CompletionResultType]::ParameterValue, 'Disable NetBT on the tunnel interface')
            [CompletionResult]::new('reset', 'reset', [CompletionResultType]::ParameterValue, 'Reset to use the client-provided default')
            break
        }
        'warp-cli;help;tunnel;netbt;enable' {
            break
        }
        'warp-cli;help;tunnel;netbt;disable' {
            break
        }
        'warp-cli;help;tunnel;netbt;reset' {
            break
        }
        'warp-cli;help;vnet' {
            break
        }
        'warp-cli;help;generate-completions' {
            break
        }
        'warp-cli;help;stats' {
            [CompletionResult]::new('enhanced', 'enhanced', [CompletionResultType]::ParameterValue, 'Display enhanced histogram statistics with full distribution data')
            break
        }
        'warp-cli;help;stats;enhanced' {
            break
        }
        'warp-cli;help;certs' {
            break
        }
        'warp-cli;help;help' {
            break
        }
    })

    $completions.Where{ $_.CompletionText -like "$wordToComplete*" } |
        Sort-Object -Property ListItemText
}