(command.AndOr
  ops: [Id.Op_DAmp]
  children: [
    (command.ShFunction
      name: _svn
      body: 
        (BraceGroup
          children: [
            (C {<local>} {<cur>} {<prev>} {<words>} {<cword>})
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<_init_completion>})
                (command.ControlFlow token:<Id.ControlFlow_Return return>)
              ]
            )
            (C {<local>} {<commands>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:commands)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (SQ <'add blame praise annotate ann cat checkout co cleanup commit \\\n'> 
                        <
'                ci copy cp delete del remove rm diff di export help ? h import \\\n'
                        > <'                info list ls lock log merge mkdir move mv rename ren \\\n'> 
                        <'                propdel pdel pd propedit pedit pe propget pget pg \\\n'> <'                proplist plist pl propset pset ps resolved revert \\\n'> 
                        <'                status stat st switch sw unlock update up'>
                      )
                    }
                  spids: [42]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_eq
                                  left: {($ Id.VSub_DollarName '$cword')}
                                  right: {<1>}
                                )
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DBracket
                                      expr: 
                                        (bool_expr.Binary
                                          op_id: Id.BoolBinary_GlobDEqual
                                          left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                          right: {<-> <Id.Lit_Other '*'>}
                                        )
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:COMPREPLY)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {
                                            (command_sub
                                              left_token: <Id.Left_DollarParen '$('>
                                              child: 
                                                (C {<compgen>} {<-W>} {(SQ <--version>)} {<-->} 
                                                  {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                            )
                                          }
                                        ]
                                      )
                                    }
                                  spids: [90]
                                )
                              ]
                            )
                          ]
                          spids: [71 87]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: <Id.Op_LParen _>
                                    words: [
                                      {
                                        (command_sub
                                          left_token: <Id.Left_DollarParen '$('>
                                          child: 
                                            (C {<compgen>} {<-W>} 
                                              {(DQ ($ Id.VSub_DollarName '$commands'))} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [117]
                            )
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [54 68]
                )
              ]
              else_action: [
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{<--config-dir>}]
                      action: [
                        (C {<_filedir>} {<-d>})
                        (command.ControlFlow
                          token: <Id.ControlFlow_Return return>
                          arg_word: {<0>}
                        )
                      ]
                      spids: [155 156 169 -1]
                    )
                    (case_arm
                      pat_list: [{<-F>} {<--file>} {<--targets>}]
                      action: [
                        (C {<_filedir>})
                        (command.ControlFlow
                          token: <Id.ControlFlow_Return return>
                          arg_word: {<0>}
                        )
                      ]
                      spids: [172 177 188 -1]
                    )
                    (case_arm
                      pat_list: [{<--encoding>}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: <Id.Op_LParen _>
                                    words: [
                                      {
                                        (command_sub
                                          left_token: <Id.Left_DollarParen '$('>
                                          child: 
                                            (C {<compgen>} {<-W>} 
                                              {
                                                (SQ <'$( iconv --list | \\\n'> 
                                                  <'                    sed -e "s@//@@;" )'>
                                                )
                                              } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [195]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: <Id.ControlFlow_Return return>
                          arg_word: {<0>}
                        )
                      ]
                      spids: [191 192 225 -1]
                    )
                    (case_arm
                      pat_list: [{<--editor-cmd>} {<--diff-cmd>} {<--diff3-cmd>}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:words)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: <Id.Op_LParen _>
                                    words: [
                                      {<Id.Lit_ArrayLhsOpen 'words['> <0> <Id.Lit_RBracket ']'>}
                                      {($ Id.VSub_DollarName '$cur')}
                                    ]
                                  )
                                }
                              spids: [236]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:cword)
                              op: assign_op.Equal
                              rhs: {<1>}
                              spids: [246]
                            )
                          ]
                        )
                        (C {<_command>})
                        (command.ControlFlow
                          token: <Id.ControlFlow_Return return>
                          arg_word: {<0>}
                        )
                      ]
                      spids: [228 233 258 -1]
                    )
                  ]
                )
                (C {<local>} 
                  {<Id.Lit_VarLike 'command='> 
                    (braced_var_sub
                      token: <Id.VSub_Name words>
                      bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 1>})
                    )
                  }
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.DBracket
                                  expr: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_GlobDEqual
                                      left: {(DQ ($ Id.VSub_DollarName '$cur'))}
                                      right: {<-> <Id.Lit_Other '*'>}
                                    )
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (C {<local>} {<options>})
                        (command.Case
                          to_match: {($ Id.VSub_DollarName '$command')}
                          arms: [
                            (case_arm
                              pat_list: [{<add>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--auto-props --no-auto-props --force --targets\n'> 
                                            <
'                             --no-ignore --non-recursive --quiet'
                                            >
                                          )
                                        }
                                      spids: [316]
                                    )
                                  ]
                                )
                              ]
                              spids: [312 313 323 -1]
                            )
                            (case_arm
                              pat_list: [{<blame>} {<annotate>} {<ann>} {<praise>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--revision --username --password --no-auth-cache\n'> 
                                            <
'                             --non-interactive --verbose --incremental --xml'
                                            >
                                          )
                                        }
                                      spids: [336]
                                    )
                                  ]
                                )
                              ]
                              spids: [326 333 343 -1]
                            )
                            (case_arm
                              pat_list: [{<cat>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--revision --username --password --no-auth-cache\n'> 
                                            <'                             --non-interactive'>
                                          )
                                        }
                                      spids: [350]
                                    )
                                  ]
                                )
                              ]
                              spids: [346 347 357 -1]
                            )
                            (case_arm
                              pat_list: [{<checkout>} {<co>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--revision --quiet --non-recursive --username\n'> 
                                            <
'                             --password --no-auth-cache --non-interactive\n'
                                            > <'                             --ignore-externals'>
                                          )
                                        }
                                      spids: [366]
                                    )
                                  ]
                                )
                              ]
                              spids: [360 363 374 -1]
                            )
                            (case_arm
                              pat_list: [{<cleanup>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: {(SQ <--diff3-cmd>)}
                                      spids: [381]
                                    )
                                  ]
                                )
                              ]
                              spids: [377 378 387 -1]
                            )
                            (case_arm
                              pat_list: [{<commit>} {<ci>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--message --file --encoding --force-log --quiet\n'> 
                                            <
'                             --non-recursive --targets --editor-cmd --username\n'
                                            > <'                             --password --no-auth-cache --non-interactive\n'> 
                                            <'                             --no-unlock'>
                                          )
                                        }
                                      spids: [396]
                                    )
                                  ]
                                )
                              ]
                              spids: [390 393 405 -1]
                            )
                            (case_arm
                              pat_list: [{<copy>} {<cp>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ 
                                            <'--message --file --encoding --force-log --revision\n'> <'                             --quiet --editor-cmd -username --password\n'> 
                                            <
'                             --no-auth-cache --non-interactive'
                                            >
                                          )
                                        }
                                      spids: [414]
                                    )
                                  ]
                                )
                              ]
                              spids: [408 411 422 -1]
                            )
                            (case_arm
                              pat_list: [{<delete>} {<del>} {<remove>} {<rm>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--force --message --file --encoding --force-log\n'> 
                                            <
'                             --quiet --targets --editor-cmd --username\n'
                                            > <'                             --password --no-auth-cache --non-interactive'>
                                          )
                                        }
                                      spids: [435]
                                    )
                                  ]
                                )
                              ]
                              spids: [425 432 443 -1]
                            )
                            (case_arm
                              pat_list: [{<diff>} {<di>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--revision --extensions --diff-cmd\n'> 
                                            <
'                             --no-diff-deleted --non-recursive --username\n'
                                            > <'                             --password --no-auth-cache --non-interactive\n'> 
                                            <
'                             --force --old --new --notice-ancestry'
                                            >
                                          )
                                        }
                                      spids: [452]
                                    )
                                  ]
                                )
                              ]
                              spids: [446 449 461 -1]
                            )
                            (case_arm
                              pat_list: [{<export>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--revision --quiet --username --password\n'> 
                                            <
'                             --no-auth-cache --non-interactive --non-recursive\n'
                                            > <'                             --force --native-eol --ignore-externals'>
                                          )
                                        }
                                      spids: [468]
                                    )
                                  ]
                                )
                              ]
                              spids: [464 465 476 -1]
                            )
                            (case_arm
                              pat_list: [{<Id.KW_Import import>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--auto-props --no-auto-props --message --file\n'> 
                                            <
'                             --encoding --force-log --quiet --non-recursive\n'
                                            > <'                             --no-ignore --editor-cmd --username --password\n'> 
                                            <
'                             --no-auth-cache --non-interactive'
                                            >
                                          )
                                        }
                                      spids: [483]
                                    )
                                  ]
                                )
                              ]
                              spids: [479 480 492 -1]
                            )
                            (case_arm
                              pat_list: [{<info>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--username --password --no-auth-cache\n'> 
                                            <
'                             --non-interactive --revision --xml --targets\n'
                                            > <'                             --recursive --incremental'>
                                          )
                                        }
                                      spids: [499]
                                    )
                                  ]
                                )
                              ]
                              spids: [495 496 507 -1]
                            )
                            (case_arm
                              pat_list: [{<list>} {<ls>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--revision --verbose --recursive --username\n'> 
                                            <
'                             --password --no-auth-cache --non-interactive\n'
                                            > <'                             --incremental --xml'>
                                          )
                                        }
                                      spids: [516]
                                    )
                                  ]
                                )
                              ]
                              spids: [510 513 524 -1]
                            )
                            (case_arm
                              pat_list: [{<lock>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--message --file --encoding --force-log --targets\n'> 
                                            <
'                             --force --username --password --no-auth-cache\n'
                                            > <'                             --non-interactive'>
                                          )
                                        }
                                      spids: [531]
                                    )
                                  ]
                                )
                              ]
                              spids: [527 528 539 -1]
                            )
                            (case_arm
                              pat_list: [{<log>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--revision --verbose --targets --username\n'> 
                                            <
'                             --password --no-auth-cache --non-interactive\n'
                                            > <'                             --stop-on-copy --incremental --xml --quiet\n'> 
                                            <'                             --limit'>
                                          )
                                        }
                                      spids: [546]
                                    )
                                  ]
                                )
                              ]
                              spids: [542 543 555 -1]
                            )
                            (case_arm
                              pat_list: [{<merge>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--revision --non-recursive --quiet --force\n'> 
                                            <
'                             --dry-run --diff3-cmd --username --password\n'
                                            > <'                             --no-auth-cache --non-interactive\n'> 
                                            <'                             --ignore-ancestry'>
                                          )
                                        }
                                      spids: [562]
                                    )
                                  ]
                                )
                              ]
                              spids: [558 559 571 -1]
                            )
                            (case_arm
                              pat_list: [{<mkdir>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--message --file --encoding --force-log --quiet\n'> 
                                            <
'                             --editor-cmd --username --password --no-auth-cache\n'
                                            > <'                             --non-interactive'>
                                          )
                                        }
                                      spids: [578]
                                    )
                                  ]
                                )
                              ]
                              spids: [574 575 586 -1]
                            )
                            (case_arm
                              pat_list: [{<move>} {<mv>} {<rename>} {<ren>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ 
                                            <'--message --file --encoding --force-log --revision\n'> <'                             --quiet --force --editor-cmd --username --password\n'> 
                                            <
'                             --no-auth-cache --non-interactive'
                                            >
                                          )
                                        }
                                      spids: [599]
                                    )
                                  ]
                                )
                              ]
                              spids: [589 596 607 -1]
                            )
                            (case_arm
                              pat_list: [{<propdel>} {<pdel>} {<pd>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--quiet --recursive --revision --revprop\n'> 
                                            <
'                             --username --password --no-auth-cache\n'
                                            > <'                             --non-interactive'>
                                          )
                                        }
                                      spids: [618]
                                    )
                                  ]
                                )
                              ]
                              spids: [610 615 626 -1]
                            )
                            (case_arm
                              pat_list: [{<propedit>} {<pedit>} {<pe>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--revision --revprop --encoding --editor-cmd\n'> 
                                            <
'                             --username --password --no-auth-cache\n'
                                            > <'                             --non-interactive --force'>
                                          )
                                        }
                                      spids: [637]
                                    )
                                  ]
                                )
                              ]
                              spids: [629 634 645 -1]
                            )
                            (case_arm
                              pat_list: [{<propget>} {<pget>} {<pg>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--recursive --revision --revprop --strict\n'> 
                                            <
'                             --username --password --no-auth-cache\n'
                                            > <'                             --non-interactive'>
                                          )
                                        }
                                      spids: [656]
                                    )
                                  ]
                                )
                              ]
                              spids: [648 653 664 -1]
                            )
                            (case_arm
                              pat_list: [{<proplist>} {<plist>} {<pl>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ 
                                            <'--verbose --recursive --revision --revprop --quiet\n'> <'                             --username --password --no-auth-cache\n'> 
                                            <'                             --non-interactive'>
                                          )
                                        }
                                      spids: [675]
                                    )
                                  ]
                                )
                              ]
                              spids: [667 672 683 -1]
                            )
                            (case_arm
                              pat_list: [{<propset>} {<pset>} {<ps>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--file --quiet --targets --recursive --revprop\n'> 
                                            <
'                             --encoding --username --password --no-auth-cache\n'
                                            > <'                             --non-interactive --revision --force'>
                                          )
                                        }
                                      spids: [694]
                                    )
                                  ]
                                )
                              ]
                              spids: [686 691 702 -1]
                            )
                            (case_arm
                              pat_list: [{<resolved>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: {(SQ <'--targets --recursive --quiet'>)}
                                      spids: [709]
                                    )
                                  ]
                                )
                              ]
                              spids: [705 706 715 -1]
                            )
                            (case_arm
                              pat_list: [{<revert>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: {(SQ <'--targets --recursive --quiet'>)}
                                      spids: [722]
                                    )
                                  ]
                                )
                              ]
                              spids: [718 719 728 -1]
                            )
                            (case_arm
                              pat_list: [{<status>} {<stat>} {<st>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--show-updates --verbose --non-recursive --quiet\n'> 
                                            <
'                             --username --password --no-auth-cache\n'
                                            > <'                             --non-interactive --no-ignore --ignore-externals\n'> 
                                            <'                             --incremental --xml'>
                                          )
                                        }
                                      spids: [739]
                                    )
                                  ]
                                )
                              ]
                              spids: [731 736 748 -1]
                            )
                            (case_arm
                              pat_list: [{<switch>} {<sw>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--relocate --revision --non-recursive --quiet\n'> 
                                            <
'                             --username --password --no-auth-cache\n'
                                            > <'                             --non-interactive --diff3-cmd'>
                                          )
                                        }
                                      spids: [757]
                                    )
                                  ]
                                )
                              ]
                              spids: [751 754 765 -1]
                            )
                            (case_arm
                              pat_list: [{<unlock>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--targets --force --username --password\n'> 
                                            <
'                             --no-auth-cache --non-interactive'
                                            >
                                          )
                                        }
                                      spids: [772]
                                    )
                                  ]
                                )
                              ]
                              spids: [768 769 779 -1]
                            )
                            (case_arm
                              pat_list: [{<update>} {<up>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:options)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ <'--revision --non-recursive --quiet --username\n'> 
                                            <
'                             --password --no-auth-cache --non-interactive\n'
                                            > <'                             --diff3-cmd --ignore-externals'>
                                          )
                                        }
                                      spids: [788]
                                    )
                                  ]
                                )
                              ]
                              spids: [782 785 796 -1]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:options)
                              op: assign_op.PlusEqual
                              rhs: {(DQ <' --help --config-dir'>)}
                              spids: [802]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:COMPREPLY)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: <Id.Op_LParen _>
                                    words: [
                                      {
                                        (command_sub
                                          left_token: <Id.Left_DollarParen '$('>
                                          child: 
                                            (C {<compgen>} {<-W>} 
                                              {(DQ ($ Id.VSub_DollarName '$options'))} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [809]
                            )
                          ]
                        )
                      ]
                      spids: [277 293]
                    )
                  ]
                  else_action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DBracket
                                      expr: 
                                        (bool_expr.Binary
                                          op_id: Id.BoolBinary_GlobDEqual
                                          left: {(DQ ($ Id.VSub_DollarName '$command'))}
                                          right: 
                                            {
                                              (word_part.ExtGlob
                                                op: <Id.ExtGlob_At '@('>
                                                arms: [{<help>} {<'[h'> <Id.Lit_Other '?'> <']'>}]
                                              )
                                            }
                                        )
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:COMPREPLY)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {
                                            (command_sub
                                              left_token: <Id.Left_DollarParen '$('>
                                              child: 
                                                (C {<compgen>} {<-W>} 
                                                  {(DQ ($ Id.VSub_DollarName '$commands'))} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                )
                                            )
                                          }
                                        ]
                                      )
                                    }
                                  spids: [860]
                                )
                              ]
                            )
                          ]
                          spids: [836 857]
                        )
                      ]
                      else_action: [(C {<_filedir>})]
                    )
                  ]
                )
              ]
            )
            (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>})
          ]
        )
    )
    (C {<complete>} {<-F>} {<_svn>} {<svn>})
  ]
)