(command.CommandList
  children: [
    (command.FuncDef
      name: git_rebase__am
      body: 
        (command.BraceGroup
          children: [
            (command.Case
              to_match: {(DQ ($ VSub_DollarName '$action'))}
              arms: [
                (case_arm
                  pat_list: [{(ControlFlow_Continue continue)}]
                  action: [
                    (command.AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(git)} {(am)} {(--resolved)} 
                          {(--resolvemsg) (Lit_Other '=') (DQ ($ VSub_DollarName '$resolvemsg'))} 
                          {
                            (word_part.BracedVarSub
                              token: <VSub_Name gpg_sign_opt>
                              suffix_op: 
                                (suffix_op.StringUnary
                                  op_id: VTest_ColonPlus
                                  arg_word: {(DQ ($ VSub_DollarName '$gpg_sign_opt'))}
                                )
                              spids: [77 83]
                            )
                          }
                        )
                        (C {(move_to_original_branch)})
                      ]
                    )
                    (command.ControlFlow token:<ControlFlow_Return return>)
                  ]
                  spids: [59 60 94 16777215]
                )
                (case_arm
                  pat_list: [{(skip)}]
                  action: [
                    (command.AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(git)} {(am)} {(--skip)} 
                          {(--resolvemsg) (Lit_Other '=') (DQ ($ VSub_DollarName '$resolvemsg'))}
                        )
                        (C {(move_to_original_branch)})
                      ]
                    )
                    (command.ControlFlow token:<ControlFlow_Return return>)
                  ]
                  spids: [96 97 121 16777215]
                )
              ]
              spids: [51 57 123]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [(C {(test)} {(-z)} {(DQ ($ VSub_DollarName '$rebase_root'))})]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:revisions spids:[143])
                          op: Equal
                          rhs: 
                            {($ VSub_DollarName '$upstream') (...) ($ VSub_DollarName '$orig_head')}
                          spids: [143]
                        )
                      ]
                      spids: [143]
                    )
                  ]
                  spids: [16777215 140]
                )
              ]
              else_action: [
                (command.Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:revisions spids:[151])
                      op: Equal
                      rhs: {($ VSub_DollarName '$onto') (...) ($ VSub_DollarName '$orig_head')}
                      spids: [151]
                    )
                  ]
                  spids: [151]
                )
              ]
              spids: [148 156]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:ret spids:[159])
                  op: Equal
                  rhs: {(0)}
                  spids: [159]
                )
              ]
              spids: [159]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [(C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$keep_empty'))})]
                  action: [
                    (C {(git)} {(cherry-pick)} 
                      {
                        (word_part.BracedVarSub
                          token: <VSub_Name gpg_sign_opt>
                          suffix_op: 
                            (suffix_op.StringUnary
                              op_id: VTest_ColonPlus
                              arg_word: {(DQ ($ VSub_DollarName '$gpg_sign_opt'))}
                            )
                          spids: [195 201]
                        )
                      } {(--allow-empty)} {(--right-only)} {(DQ ($ VSub_DollarName '$revisions'))} 
                      {
                        (word_part.BracedVarSub
                          token: <VSub_Name restrict_revision>
                          suffix_op: 
                            (suffix_op.StringUnary
                              op_id: VTest_Plus
                              arg_word: {('^') ($ VSub_DollarName '$restrict_revision')}
                            )
                          spids: [215 220]
                        )
                      }
                    )
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:ret spids:[223])
                          op: Equal
                          rhs: {($ VSub_QMark '$?')}
                          spids: [223]
                        )
                      ]
                      spids: [223]
                    )
                  ]
                  spids: [16777215 172]
                )
              ]
              else_action: [
                (C {(rm)} {(-f)} {(DQ ($ VSub_DollarName '$GIT_DIR') (/rebased-patches))})
                (command.SimpleCommand
                  words: [
                    {(git)}
                    {(format-patch)}
                    {(-k)}
                    {(--stdout)}
                    {(--full-index)}
                    {(--cherry-pick)}
                    {(--right-only)}
                    {(--src-prefix) (Lit_Other '=') (a/)}
                    {(--dst-prefix) (Lit_Other '=') (b/)}
                    {(--no-renames)}
                    {(--no-cover-letter)}
                    {(DQ ($ VSub_DollarName '$revisions'))}
                    {
                      (word_part.BracedVarSub
                        token: <VSub_Name restrict_revision>
                        suffix_op: 
                          (suffix_op.StringUnary
                            op_id: VTest_Plus
                            arg_word: {('^') ($ VSub_DollarName '$restrict_revision')}
                          )
                        spids: [274 279]
                      )
                    }
                  ]
                  redirects: [
                    (redir.Redir
                      op: <Redir_Great '>'>
                      fd: 16777215
                      arg_word: {(DQ ($ VSub_DollarName '$GIT_DIR') (/rebased-patches))}
                    )
                  ]
                )
                (command.Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:ret spids:[290])
                      op: Equal
                      rhs: {($ VSub_QMark '$?')}
                      spids: [290]
                    )
                  ]
                  spids: [290]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (C {(test)} {(0)} {(KW_Bang '!') (Lit_Other '=')} {($ VSub_DollarName '$ret')})
                      ]
                      action: [
                        (C {(rm)} {(-f)} {(DQ ($ VSub_DollarName '$GIT_DIR') (/rebased-patches))})
                        (command.Case
                          to_match: {(DQ ($ VSub_DollarName '$head_name'))}
                          arms: [
                            (case_arm
                              pat_list: [{(refs/heads/) (Lit_Other '*')}]
                              action: [
                                (C {(git)} {(checkout)} {(-q)} {(DQ ($ VSub_DollarName '$head_name'))})
                              ]
                              spids: [329 331 345 16777215]
                            )
                            (case_arm
                              pat_list: [{(Lit_Other '*')}]
                              action: [
                                (C {(git)} {(checkout)} {(-q)} {(DQ ($ VSub_DollarName '$orig_head'))})
                              ]
                              spids: [348 349 363 16777215]
                            )
                          ]
                          spids: [320 326 366]
                        )
                        (command.SimpleCommand
                          words: [{(cat)}]
                          redirects: [
                            (redir.Redir
                              op: <Redir_GreatAnd '>&'>
                              fd: 16777215
                              arg_word: {(2)}
                            )
                            (redir.HereDoc
                              op: <Redir_DLessDash '<<-'>
                              fd: 16777215
                              here_begin: {(EOF)}
                              here_end_span_id: 388
                              stdin_parts: [
                                ('\n')
                                (
'git encountered an error while preparing the patches to replay\n'
                                )
                                ('these revisions:\n')
                                ('\n')
                                ('    ')
                                ($ VSub_DollarName '$revisions')
                                ('\n')
                                ('\n')
                                ('As a result, git cannot rebase them.\n')
                              ]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {($ VSub_DollarName '$ret')}
                        )
                      ]
                      spids: [16777215 307]
                    )
                  ]
                  spids: [16777215 395]
                )
                (command.SimpleCommand
                  words: [
                    {(git)}
                    {(am)}
                    {($ VSub_DollarName '$git_am_opt')}
                    {(--rebasing)}
                    {(--resolvemsg) (Lit_Other '=') (DQ ($ VSub_DollarName '$resolvemsg'))}
                    {
                      (word_part.BracedVarSub
                        token: <VSub_Name gpg_sign_opt>
                        suffix_op: 
                          (suffix_op.StringUnary
                            op_id: VTest_ColonPlus
                            arg_word: {(DQ ($ VSub_DollarName '$gpg_sign_opt'))}
                          )
                        spids: [415 421]
                      )
                    }
                  ]
                  redirects: [
                    (redir.Redir
                      op: <Redir_Less '<'>
                      fd: 16777215
                      arg_word: {(DQ ($ VSub_DollarName '$GIT_DIR') (/rebased-patches))}
                    )
                  ]
                )
                (command.Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:ret spids:[430])
                      op: Equal
                      rhs: {($ VSub_QMark '$?')}
                      spids: [430]
                    )
                  ]
                  spids: [430]
                )
                (C {(rm)} {(-f)} {(DQ ($ VSub_DollarName '$GIT_DIR') (/rebased-patches))})
              ]
              spids: [226 444]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (C {(test)} {(0)} {(KW_Bang '!') (Lit_Other '=')} {($ VSub_DollarName '$ret')})
                  ]
                  action: [
                    (command.AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-d)} {(DQ ($ VSub_DollarName '$state_dir'))})
                        (C {(write_basic_state)})
                      ]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {($ VSub_DollarName '$ret')}
                    )
                  ]
                  spids: [16777215 458]
                )
              ]
              spids: [16777215 478]
            )
            (C {(move_to_original_branch)})
          ]
          spids: [48]
        )
      spids: [43 47]
    )
    (C {(git_rebase__am)})
  ]
)