(command.AndOr
  children: [
    (command.ShFunction
      name_tok: <_svk>
      name: _svk
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<cur>} {<prev>} {<words>} {<cword>}]
              redirects: []
              do_fork: T
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <_init_completion>
                  more_env: []
                  words: [{<_init_completion>}]
                  redirects: []
                  do_fork: T
                )
                (command.ControlFlow keyword:<Id.ControlFlow_Return return>)
              ]
              ops: [<Id.Op_DPipe _>]
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<commands>} {<options>} {<command>}]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'commands='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'commands='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'commands='> name:commands)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (SQ <'add admin annotate ann blame praise cat checkout co cleanup\n'> 
                        <
'        cmerge cm commit ci copy cp delete del remove rm depotmap depot\n'
                        > <'        describe desc diff di help h ? import info list ls log merge mirror mi\n'> 
                        <
'        mkdir move mv ren rename patch propdel pd pdel propedit pe pedit\n'
                        > <'        propget pg pget proplist pl plist propset ps pset pull push resolved\n'> 
                        <
'        revert smerge sm status st stat switch sw sync sy update up verify'
                        >
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_eq
                                  left: {($ Id.VSub_DollarName cword)}
                                  right: {<1>}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.If
                      if_kw: <Id.KW_If if>
                      arms: [
                        (IfArm
                          keyword: <Id.KW_If if>
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DBracket
                                      left: <Id.KW_DLeftBracket '[['>
                                      expr: 
                                        (bool_expr.Binary
                                          op_id: Id.BoolBinary_GlobDEqual
                                          left: {(DQ ($ Id.VSub_DollarName cur))}
                                          right: {<-> <Id.Lit_Other '*'>}
                                        )
                                      right: <Id.Lit_DRightBracket ']]'>
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'COMPREPLY='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'COMPREPLY='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'COMPREPLY='>
                                      name: COMPREPLY
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (ShArrayLiteral
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {
                                            (CommandSub
                                              left_token: <Id.Left_DollarParen '$('>
                                              child: 
                                                (command.Simple
                                                  blame_tok: <compgen>
                                                  more_env: []
                                                  words: [
                                                    {<compgen>}
                                                    {<-W>}
                                                    {(SQ <--version>)}
                                                    {<-->}
                                                    {(DQ ($ Id.VSub_DollarName cur))}
                                                  ]
                                                  redirects: []
                                                  do_fork: T
                                                )
                                              right: <Id.Eof_RParen _>
                                            )
                                          }
                                        ]
                                        right: <Id.Right_ShArrayLiteral _>
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [69 85]
                        )
                      ]
                      else_kw: <Id.KW_Else else>
                      else_action: [
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'COMPREPLY='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'COMPREPLY='>
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'COMPREPLY='>
                                  name: COMPREPLY
                                )
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (ShArrayLiteral
                                    left: <Id.Op_LParen _>
                                    words: [
                                      {
                                        (CommandSub
                                          left_token: <Id.Left_DollarParen '$('>
                                          child: 
                                            (command.Simple
                                              blame_tok: <compgen>
                                              more_env: []
                                              words: [
                                                {<compgen>}
                                                {<-W>}
                                                {(DQ ($ Id.VSub_DollarName commands))}
                                                {<-->}
                                                {(DQ ($ Id.VSub_DollarName cur))}
                                              ]
                                              redirects: []
                                              do_fork: T
                                            )
                                          right: <Id.Eof_RParen _>
                                        )
                                      }
                                    ]
                                    right: <Id.Right_ShArrayLiteral _>
                                  )
                                }
                            )
                          ]
                          redirects: []
                        )
                      ]
                      fi_kw: <Id.KW_Fi fi>
                      redirects: []
                    )
                  ]
                  spids: [52 66]
                )
              ]
              else_kw: <Id.KW_Else else>
              else_action: [
                (command.Case
                  case_kw: <Id.KW_Case case>
                  to_match: (case_arg.Word w:{($ Id.VSub_DollarName prev)})
                  arms_start: <Id.KW_In in>
                  arms: [
                    (CaseArm
                      left: <-F>
                      pattern: (pat.Words words:[{<-F>} {<--file>} {<--targets>}])
                      middle: <Id.Right_CasePat _>
                      action: [
                        (command.Simple
                          blame_tok: <_filedir>
                          more_env: []
                          words: [{<_filedir>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.ControlFlow
                          keyword: <Id.ControlFlow_Return return>
                          arg_word: {<0>}
                        )
                      ]
                      right: <Id.Op_DSemi _>
                    )
                    (CaseArm
                      left: <--encoding>
                      pattern: (pat.Words words:[{<--encoding>}])
                      middle: <Id.Right_CasePat _>
                      action: [
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'COMPREPLY='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'COMPREPLY='>
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'COMPREPLY='>
                                  name: COMPREPLY
                                )
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (ShArrayLiteral
                                    left: <Id.Op_LParen _>
                                    words: [
                                      {
                                        (CommandSub
                                          left_token: <Id.Left_DollarParen '$('>
                                          child: 
                                            (command.Simple
                                              blame_tok: <compgen>
                                              more_env: []
                                              words: [
                                                {<compgen>}
                                                {<-W>}
                                                {(SQ <'$( iconv --list | sed -e "s@//@@;" )'>)}
                                                {<-->}
                                                {(DQ ($ Id.VSub_DollarName cur))}
                                              ]
                                              redirects: []
                                              do_fork: T
                                            )
                                          right: <Id.Eof_RParen _>
                                        )
                                      }
                                    ]
                                    right: <Id.Right_ShArrayLiteral _>
                                  )
                                }
                            )
                          ]
                          redirects: []
                        )
                        (command.ControlFlow
                          keyword: <Id.ControlFlow_Return return>
                          arg_word: {<0>}
                        )
                      ]
                      right: <Id.Op_DSemi _>
                    )
                  ]
                  arms_end: <Id.KW_Esac esac>
                  redirects: []
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'command='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'command='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'command='> name:command)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (BracedVarSub
                            left: <Id.Left_DollarBrace '${'>
                            token: <Id.VSub_Name words>
                            var_name: words
                            bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 1>})
                            right: <Id.Right_DollarBrace '}'>
                          )
                        }
                    )
                  ]
                  redirects: []
                )
                (command.If
                  if_kw: <Id.KW_If if>
                  arms: [
                    (IfArm
                      keyword: <Id.KW_If if>
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.DBracket
                                  left: <Id.KW_DLeftBracket '[['>
                                  expr: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_GlobDEqual
                                      left: {(DQ ($ Id.VSub_DollarName cur))}
                                      right: {<-> <Id.Lit_Other '*'>}
                                    )
                                  right: <Id.Lit_DRightBracket ']]'>
                                  redirects: []
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      then_kw: <Id.KW_Then then>
                      action: [
                        (command.Case
                          case_kw: <Id.KW_Case case>
                          to_match: (case_arg.Word w:{($ Id.VSub_DollarName command)})
                          arms_start: <Id.KW_In in>
                          arms: [
                            (CaseArm
                              left: <add>
                              pattern: (pat.Words words:[{<add>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: {(SQ <' --non-recursive -N -q --quiet'>)}
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <blame>
                              pattern: (pat.Words words:[{<blame>} {<annotate>} {<ann>} {<praise>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: {(SQ <'-r --revisions -x --cross'>)}
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <cat>
                              pattern: (pat.Words words:[{<cat>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: {(SQ <'-r --revision'>)}
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <checkout>
                              pattern: (pat.Words words:[{<checkout>} {<co>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'-r --revision -q --quiet -N --non-recursive -l\n'> 
                                            <
'                        --list -d --detach --export --relocate --purge'
                                            >
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <cleanup>
                              pattern: (pat.Words words:[{<cleanup>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: {(SQ <'-a --all'>)}
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <cmerge>
                              pattern: (pat.Words words:[{<cmerge>} {<cm>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'-c --change -l --log -r --revision -a --auto\n'> 
                                            <
'                        --verbatim --no-ticket -m --message -F --file\n'
                                            > <'                        --template --encoding -P --patch -S --sign -C\n'> 
                                            <'                        --check-only --direct'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <commit>
                              pattern: (pat.Words words:[{<commit>} {<ci>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--import -m --message -F --file --encoding\n'> 
                                            <
'                        --template -P --patch -S --sign -C --check-only -N\n'
                                            > <'                        --non-recursive --direct'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <copy>
                              pattern: (pat.Words words:[{<copy>} {<cp>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'-r --revision -p --parent -q --quiet -m --message\n'> 
                                            <
'                        -F --file --template --encoding -P --patch -S --sign -C\n'
                                            > <'                        --check-only --direct'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <delete>
                              pattern: (pat.Words words:[{<delete>} {<del>} {<remove>} {<rm>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'-k --keep-local -m --message -F --file --encoding\n'> 
                                            <
'                        --template -P --patch -S --sign -C --check-only\n'
                                            > <'                        --direct'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <depotmap>
                              pattern: (pat.Words words:[{<depotmap>} {<depot>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: {(SQ <'-i --init -l --list -d --detach --relocate'>)}
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <diff>
                              pattern: (pat.Words words:[{<diff>} {<di>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'-r --revision -s --summarize -b --verbose -N\n'> 
                                            <'                        --non-recursive'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <Id.KW_Import import>
                              pattern: (pat.Words words:[{<Id.KW_Import import>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'-f --from-checkout -t --to-checkout -m --message\n'> 
                                            <
'                        -F --file --template --encoding -P --patch -S --sign -C\n'
                                            > <'                        --check-only -N --non-recursive --direct'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <list>
                              pattern: (pat.Words words:[{<list>} {<ls>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'-r --revision -v --verbose -R --recursive -d\n'> 
                                            <'                        --depth -f --full-path'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <log>
                              pattern: (pat.Words words:[{<log>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'-r --revision -l --limit -q --quiet -x --cross -v\n'> 
                                            <'                        --verbose'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <merge>
                              pattern: (pat.Words words:[{<merge>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'-r --revision -c --change -I --incremental -a\n'> 
                                            <
'                        --auto -l --log -s --sync -t --to -f --from --verbatim\n'
                                            > <'                        --no-ticket --track-rename -m --message -F --file\n'> 
                                            <
'                        --template --encoding -P --patch -S --sign -C\n'
                                            > <'                        --check-only --direct'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <mirror>
                              pattern: (pat.Words words:[{<mirror>} {<mi>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'-l --list -d --detach --relocate --recover\n'> 
                                            <'                        --unlock --upgrade'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <mkdir>
                              pattern: (pat.Words words:[{<mkdir>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'-p --parent -m --message -F --file --template\n'> 
                                            <
'                        --encoding -P --patch -S --sign -C --check-only\n'
                                            > <'                        --direct'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <move>
                              pattern: (pat.Words words:[{<move>} {<mv>} {<rename>} {<ren>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'-r --revision -p --parent -q --quiet -m --message\n'> 
                                            <
'                        -F --file --encoding --template -P --patch -S --sign -C\n'
                                            > <'                        --check-only --direct'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <patch>
                              pattern: (pat.Words words:[{<patch>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: {(SQ <--depot>)}
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <propdel>
                              pattern: 
                                (pat.Words
                                  words: [{<propdel>} {<propset>} {<pdel>} {<pset>} {<pd>} {<ps>}]
                                )
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'-R --recursive -r --revision --revprop -m\n'> 
                                            <
'                        --message -F --file --template --encoding -P --patch -S\n'
                                            > <'                        --sign -C --check-only -q --quiet --direct'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <propedit>
                              pattern: (pat.Words words:[{<propedit>} {<pedit>} {<pe>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'-R --recursive -r --revision --revprop -m\n'> 
                                            <
'                        --message -F --file --template --encoding -P --patch\n'
                                            > <'                        -S --sign -C --check-only --direct'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <propget>
                              pattern: (pat.Words words:[{<propget>} {<pget>} {<pg>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: {(SQ <'-R --recursive -r --revision --revprop --strict'>)}
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <proplist>
                              pattern: (pat.Words words:[{<proplist>} {<plist>} {<pl>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'-R --recursive -v --verbose -r --revision\n'> 
                                            <'                        --revprop'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <pull>
                              pattern: (pat.Words words:[{<pull>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: {(SQ <'-a --all -l --lump'>)}
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <push>
                              pattern: (pat.Words words:[{<push>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'-f --from -l --lump -C --check -P --patch -S\n'> 
                                            <'                        --sign --verbatim'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <resolved>
                              pattern: (pat.Words words:[{<resolved>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: {(SQ <'-R --recursive'>)}
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <revert>
                              pattern: (pat.Words words:[{<revert>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: {(SQ <'-R --recursive -q --quiet'>)}
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <smerge>
                              pattern: (pat.Words words:[{<smerge>} {<sm>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'-I --incremental -l --log -B --baseless -b --base\n'> 
                                            <
'                        -s --sync -t --to -f --from --verbatim --no-ticket\n'
                                            > <'                        --track-rename --host --remoterev -m --message -F\n'> 
                                            <
'                        --file --template --encoding -P --patch -S --sign -C\n'
                                            > <'                        --check-only --direct'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <status>
                              pattern: (pat.Words words:[{<status>} {<stat>} {<st>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'-q --quiet --no-ignore -N --non-recursive -v\n'> 
                                            <'                        --verbose'>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <switch>
                              pattern: (pat.Words words:[{<switch>} {<sw>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: {(SQ <'-r --revision -d --detach -q --quiet'>)}
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <sync>
                              pattern: (pat.Words words:[{<sync>} {<sy>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: {(SQ <'-a --all -s --skipto -t --torev'>)}
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                            (CaseArm
                              left: <update>
                              pattern: (pat.Words words:[{<update>} {<up>}])
                              middle: <Id.Right_CasePat _>
                              action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'options='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'options='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'options='>
                                          name: options
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'-r --revision -N --non-recursive -C --check-only\n'> 
                                            <
'                        -s --sync -m --merge -q --quiet'
                                            >
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              right: <Id.Op_DSemi _>
                            )
                          ]
                          arms_end: <Id.KW_Esac esac>
                          redirects: []
                        )
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'options+='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'options+='>
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'options+='> name:options)
                              op: assign_op.PlusEqual
                              rhs: {(DQ <' --help -h'>)}
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'COMPREPLY='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'COMPREPLY='>
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'COMPREPLY='>
                                  name: COMPREPLY
                                )
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (ShArrayLiteral
                                    left: <Id.Op_LParen _>
                                    words: [
                                      {
                                        (CommandSub
                                          left_token: <Id.Left_DollarParen '$('>
                                          child: 
                                            (command.Simple
                                              blame_tok: <compgen>
                                              more_env: []
                                              words: [
                                                {<compgen>}
                                                {<-W>}
                                                {(DQ ($ Id.VSub_DollarName options))}
                                                {<-->}
                                                {(DQ ($ Id.VSub_DollarName cur))}
                                              ]
                                              redirects: []
                                              do_fork: T
                                            )
                                          right: <Id.Eof_RParen _>
                                        )
                                      }
                                    ]
                                    right: <Id.Right_ShArrayLiteral _>
                                  )
                                }
                            )
                          ]
                          redirects: []
                        )
                      ]
                      spids: [223 239]
                    )
                  ]
                  else_kw: <Id.KW_Else else>
                  else_action: [
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{($ Id.VSub_DollarName command)})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <help>
                          pattern: 
                            (pat.Words
                              words: [
                                {<help>}
                                {<h>}
                                {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\?'> ch:'?')}
                              ]
                            )
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'COMPREPLY='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'COMPREPLY='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'COMPREPLY='>
                                      name: COMPREPLY
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (ShArrayLiteral
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {
                                            (CommandSub
                                              left_token: <Id.Left_DollarParen '$('>
                                              child: 
                                                (command.Simple
                                                  blame_tok: <compgen>
                                                  more_env: []
                                                  words: [
                                                    {<compgen>}
                                                    {<-W>}
                                                    {
                                                      (DQ ($ Id.VSub_DollarName commands) 
                                                        <' environment commands\n'> <'                        intro'>
                                                      )
                                                    }
                                                    {<-->}
                                                    {(DQ ($ Id.VSub_DollarName cur))}
                                                  ]
                                                  redirects: []
                                                  do_fork: T
                                                )
                                              right: <Id.Eof_RParen _>
                                            )
                                          }
                                        ]
                                        right: <Id.Right_ShArrayLiteral _>
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <admin>
                          pattern: (pat.Words words:[{<admin>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'COMPREPLY='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'COMPREPLY='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'COMPREPLY='>
                                      name: COMPREPLY
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (ShArrayLiteral
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {
                                            (CommandSub
                                              left_token: <Id.Left_DollarParen '$('>
                                              child: 
                                                (command.Simple
                                                  blame_tok: <compgen>
                                                  more_env: []
                                                  words: [
                                                    {<compgen>}
                                                    {<-W>}
                                                    {
                                                      (SQ <'help deltify dump hotcopy\n'> 
                                                        <
'                        list-dblogs list-unused-dblogs load lstxns recover\n'
                                                        > <'                        rmtxns setlog verify rmcache'>
                                                      )
                                                    }
                                                    {<-->}
                                                    {(DQ ($ Id.VSub_DollarName cur))}
                                                  ]
                                                  redirects: []
                                                  do_fork: T
                                                )
                                              right: <Id.Eof_RParen _>
                                            )
                                          }
                                        ]
                                        right: <Id.Right_ShArrayLiteral _>
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <patch>
                          pattern: (pat.Words words:[{<patch>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'COMPREPLY='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'COMPREPLY='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'COMPREPLY='>
                                      name: COMPREPLY
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (ShArrayLiteral
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {
                                            (CommandSub
                                              left_token: <Id.Left_DollarParen '$('>
                                              child: 
                                                (command.Simple
                                                  blame_tok: <compgen>
                                                  more_env: []
                                                  words: [
                                                    {<compgen>}
                                                    {<-W>}
                                                    {
                                                      (SQ <'--ls --list --cat --view\n'> 
                                                        <
'                        --regen --regenerate --up --update --apply --rm\n'
                                                        > <'                        --delete'>
                                                      )
                                                    }
                                                    {<-->}
                                                    {(DQ ($ Id.VSub_DollarName cur))}
                                                  ]
                                                  redirects: []
                                                  do_fork: T
                                                )
                                              right: <Id.Eof_RParen _>
                                            )
                                          }
                                        ]
                                        right: <Id.Right_ShArrayLiteral _>
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <sync>
                          pattern: (pat.Words words:[{<sync>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'COMPREPLY='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'COMPREPLY='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'COMPREPLY='>
                                      name: COMPREPLY
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (ShArrayLiteral
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {
                                            (CommandSub
                                              left_token: <Id.Left_DollarParen '$('>
                                              child: 
                                                (command.Simple
                                                  blame_tok: <compgen>
                                                  more_env: []
                                                  words: [
                                                    {<compgen>}
                                                    {<-W>}
                                                    {
                                                      (DQ 
                                                        (CommandSub
                                                          left_token: <Id.Left_DollarParen '$('>
                                                          child: 
                                                            (command.Pipeline
                                                              children: [
                                                                (command.Simple
                                                                  blame_tok: <Id.VSub_Number '$1'>
                                                                  more_env: []
                                                                  words: [
                                                                    {($ Id.VSub_Number 1)}
                                                                    {<mirror>}
                                                                    {<--list>}
                                                                  ]
                                                                  redirects: [
                                                                    (Redir
                                                                      op: <Id.Redir_Great '2>'>
                                                                      loc: (redir_loc.Fd fd:2)
                                                                      arg: {<'/dev/null'>}
                                                                    )
                                                                  ]
                                                                  do_fork: T
                                                                )
                                                                (command.Simple
                                                                  blame_tok: <awk>
                                                                  more_env: []
                                                                  words: [
                                                                    {<awk>}
                                                                    {(SQ <'/^\\//{print $1}'>)}
                                                                  ]
                                                                  redirects: []
                                                                  do_fork: T
                                                                )
                                                              ]
                                                              ops: [<Id.Op_Pipe _>]
                                                            )
                                                          right: <Id.Eof_RParen _>
                                                        )
                                                      )
                                                    }
                                                    {<-->}
                                                    {(DQ ($ Id.VSub_DollarName cur))}
                                                  ]
                                                  redirects: []
                                                  do_fork: T
                                                )
                                              right: <Id.Eof_RParen _>
                                            )
                                          }
                                        ]
                                        right: <Id.Right_ShArrayLiteral _>
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <co>
                          pattern: (pat.Words words:[{<co>} {<checkout>} {<push>} {<pull>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.If
                              if_kw: <Id.KW_If if>
                              arms: [
                                (IfArm
                                  keyword: <Id.KW_If if>
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DBracket
                                              left: <Id.KW_DLeftBracket '[['>
                                              expr: 
                                                (bool_expr.Binary
                                                  op_id: Id.BoolBinary_GlobDEqual
                                                  left: {(DQ ($ Id.VSub_DollarName cur))}
                                                  right: 
                                                    {<'//'> <Id.Lit_Other '*'> <'/'> <Id.Lit_Other '*'>}
                                                )
                                              right: <Id.Lit_DRightBracket ']]'>
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  then_kw: <Id.KW_Then then>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'path='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'path='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'path='>
                                              name: path
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (BracedVarSub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name cur>
                                                var_name: cur
                                                suffix_op: 
                                                  (suffix_op.Unary
                                                    op: <Id.VOp1_Percent '%'>
                                                    arg_word: {<Id.Lit_Slash '/'> <Id.Lit_Other '*'>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              ) <'/'>
                                            }
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [982 1000]
                                )
                              ]
                              else_kw: <Id.KW_Else else>
                              else_action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'path='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'path='>
                                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'path='> name:path)
                                      op: assign_op.Equal
                                      rhs: {<'//'>}
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              fi_kw: <Id.KW_Fi fi>
                              redirects: []
                            )
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'COMPREPLY='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'COMPREPLY='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'COMPREPLY='>
                                      name: COMPREPLY
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (ShArrayLiteral
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {
                                            (CommandSub
                                              left_token: <Id.Left_DollarParen '$('>
                                              child: 
                                                (command.Simple
                                                  blame_tok: <compgen>
                                                  more_env: []
                                                  words: [
                                                    {<compgen>}
                                                    {<-W>}
                                                    {
                                                      (DQ 
                                                        (CommandSub
                                                          left_token: <Id.Left_DollarParen '$('>
                                                          child: 
                                                            (command.Pipeline
                                                              children: [
                                                                (command.Simple
                                                                  blame_tok: <Id.VSub_Number '$1'>
                                                                  more_env: []
                                                                  words: [
                                                                    {($ Id.VSub_Number 1)}
                                                                    {<list>}
                                                                    {($ Id.VSub_DollarName path)}
                                                                  ]
                                                                  redirects: [
                                                                    (Redir
                                                                      op: <Id.Redir_Great '2>'>
                                                                      loc: (redir_loc.Fd fd:2)
                                                                      arg: {<'/dev/null'>}
                                                                    )
                                                                  ]
                                                                  do_fork: T
                                                                )
                                                                (command.Simple
                                                                  blame_tok: <sed>
                                                                  more_env: []
                                                                  words: [
                                                                    {<sed>}
                                                                    {<-e>}
                                                                    {(SQ <'s|\\(.*\\)|'>) 
                                                                      ($ Id.VSub_DollarName path) (SQ <'\\1|'>)
                                                                    }
                                                                  ]
                                                                  redirects: []
                                                                  do_fork: T
                                                                )
                                                              ]
                                                              ops: [<Id.Op_Pipe _>]
                                                            )
                                                          right: <Id.Eof_RParen _>
                                                        )
                                                      )
                                                    }
                                                    {<-->}
                                                    {(DQ ($ Id.VSub_DollarName cur))}
                                                  ]
                                                  redirects: []
                                                  do_fork: T
                                                )
                                              right: <Id.Eof_RParen _>
                                            )
                                          }
                                        ]
                                        right: <Id.Right_ShArrayLiteral _>
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <Id.Lit_Star '*'>
                          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.Simple
                              blame_tok: <_filedir>
                              more_env: []
                              words: [{<_filedir>}]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                  ]
                  fi_kw: <Id.KW_Fi fi>
                  redirects: []
                )
              ]
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<0>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <complete>
      more_env: []
      words: [{<complete>} {<-F>} {<_svk>} {<svk>}]
      redirects: []
      do_fork: T
    )
  ]
  ops: [<Id.Op_DAmp _>]
)