(command.CommandList
  children: [
    (command.Simple
      blame_tok: <_Dbg_help_add>
      more_env: []
      words: [
        {<_Dbg_help_add>}
        {<list>}
        {
          (SQ <'**list**[**>**] [*location*|**.**|**-**] [*count*]\n'> <'\n'> <'List source code.\n'> 
            <'\n'> <'Without arguments, print lines centered around the current line. If\n'> 
            <'*location* is given, that number of lines is shown.\n'> <'\n'> <'*location* can be a read-in function name or a filename and line\n'> 
            <'number separated by a colon, e.g /etc/profile:5\n'> <'\n'> <'If *count* is omitted, use the value in the **set listize** setting as\n'> 
            <'a count. Use **set listsize** to change this setting. If *count* is\n'> <'given and is less than the starting line, then it is treated as a\n'> 
            <'count. Otherwise it is treated as an ending line number.\n'> <'\n'> <'more generally when the alias ends in ">", rather than center lines\n'> 
            <'around *location* that will be used as the starting point.\n'> <'\n'> <'Examples:\n'> <'---------\n'> <'\n'> 
            <
'    list              # List from current program position or where we last left off\n'
            > <'    list 5            # List starting from line 5\n'> 
            <'    list 5 2          # List two lines starting from line 5\n'> <'    list .            # List lines centered from where we currently are stopped\n'> 
            <'    list -            # List lines previous to those just shown\n'> <'\n'> <'See also:\n'> <'---------\n'> <'\n'> 
            <'**set listsize** or **show listsize** to see or set the value;\n'> <'**set autolist**.\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <_Dbg_do_list>
      name: _Dbg_do_list
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <typeset>
              more_env: []
              words: [{<typeset>} {<-i>} {<center_line>}]
              redirects: []
              do_fork: T
            )
            (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: 
                                    {
                                      (BracedVarSub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name _Dbg_orig_cmd>
                                        var_name: _Dbg_orig_cmd
                                        suffix_op: 
                                          (suffix_op.Slice
                                            begin: 
                                              (arith_expr.Binary
                                                op_id: Id.Arith_Minus
                                                left: 
                                                  {
                                                    (BracedVarSub
                                                      left: <Id.Left_DollarBrace '${'>
                                                      token: <Id.VSub_Name _Dbg_orig_cmd>
                                                      var_name: _Dbg_orig_cmd
                                                      prefix_op: <Id.VSub_Pound '#'>
                                                      right: <Id.Right_DollarBrace '}'>
                                                    )
                                                  }
                                                right: {<Id.Lit_Digits 1>}
                                              )
                                            length: {<Id.Lit_Digits 1>}
                                          )
                                        right: <Id.Arith_RBrace _>
                                      )
                                    }
                                  right: {(SQ <'>'>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'center_line='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'center_line='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'center_line='>
                              name: center_line
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [120 147]
                )
              ]
              else_kw: <Id.KW_Else else>
              else_action: [
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'center_line='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'center_line='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'center_line='> name:center_line)
                      op: assign_op.Equal
                      rhs: {<1>}
                    )
                  ]
                  redirects: []
                )
              ]
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <typeset>
              more_env: []
              words: [{<typeset>} {<first_arg>}]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              left: <Id.Op_DLeftParen _>
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Great
                                  left: {($ Id.VSub_Pound '#')}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              right: <Id.Op_DRightParen _>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'first_arg='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'first_arg='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'first_arg='> name:first_arg)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_Number 1))}
                        )
                      ]
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <shift>
                      more_env: []
                      words: [{<shift>}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [170 185]
                )
              ]
              else_kw: <Id.KW_Else else>
              else_action: [
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'first_arg='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'first_arg='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'first_arg='> name:first_arg)
                      op: assign_op.Equal
                      rhs: {(DQ ($ Id.VSub_DollarName _Dbg_listline))}
                    )
                  ]
                  redirects: []
                )
              ]
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.AndOr
                              children: [
                                (command.DBracket
                                  left: <Id.KW_DLeftBracket '[['>
                                  expr: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_GlobDEqual
                                      left: {($ Id.VSub_DollarName first_arg)}
                                      right: {(SQ <.>)}
                                    )
                                  right: <Id.Lit_DRightBracket ']]'>
                                  redirects: []
                                )
                                (command.DBracket
                                  left: <Id.KW_DLeftBracket '[['>
                                  expr: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_GlobDEqual
                                      left: {($ Id.VSub_DollarName first_arg)}
                                      right: {(SQ <->)}
                                    )
                                  right: <Id.Lit_DRightBracket ']]'>
                                  redirects: []
                                )
                              ]
                              ops: [<Id.Op_DPipe _>]
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <_Dbg_list>
                      more_env: []
                      words: [
                        {<_Dbg_list>}
                        {($ Id.VSub_DollarName center_line)}
                        {(DQ ($ Id.VSub_DollarName _Dbg_frame_last_filename))}
                        {($ Id.VSub_DollarName first_arg)}
                        {(DQ ($ Id.VSub_Star '*'))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike '_Dbg_last_cmd='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike '_Dbg_last_cmd='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike '_Dbg_last_cmd='>
                              name: _Dbg_last_cmd
                            )
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName _Dbg_cmd))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                  spids: [210 240]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <typeset>
              more_env: []
              words: [{<typeset>} {<filename>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <typeset>
              more_env: []
              words: [{<typeset>} {<-i>} {<line_number>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <typeset>
              more_env: []
              words: [{<typeset>} {<full_filename>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <_Dbg_linespec_setup>
              more_env: []
              words: [{<_Dbg_linespec_setup>} {(DQ ($ Id.VSub_DollarName first_arg))}]
              redirects: []
              do_fork: T
            )
            (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.Unary
                                  op_id: Id.BoolUnary_n
                                  child: {($ Id.VSub_DollarName full_filename)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.AndOr
                      children: [
                        (command.DParen
                          left: <Id.Op_DLeftParen _>
                          child: 
                            (arith_expr.Binary
                              op_id: Id.Arith_DEqual
                              left: ($ Id.Lit_ArithVarLike line_number)
                              right: {<Id.Lit_Digits 0>}
                            )
                          right: <Id.Op_DRightParen _>
                          redirects: []
                        )
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'line_number='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'line_number='>
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'line_number='>
                                  name: line_number
                                )
                              op: assign_op.Equal
                              rhs: {<1>}
                            )
                          ]
                          redirects: []
                        )
                      ]
                      ops: [<Id.Op_DAmp _>]
                    )
                    (command.Simple
                      blame_tok: <_Dbg_check_line>
                      more_env: []
                      words: [
                        {<_Dbg_check_line>}
                        {($ Id.VSub_DollarName line_number)}
                        {(DQ ($ Id.VSub_DollarName full_filename))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.AndOr
                      children: [
                        (command.DParen
                          left: <Id.Op_DLeftParen _>
                          child: 
                            (arith_expr.Binary
                              op_id: Id.Arith_DEqual
                              left: {($ Id.VSub_QMark '?')}
                              right: {<Id.Lit_Digits 0>}
                            )
                          right: <Id.Op_DRightParen _>
                          redirects: []
                        )
                        (command.Simple
                          blame_tok: <_Dbg_list>
                          more_env: []
                          words: [
                            {<_Dbg_list>}
                            {($ Id.VSub_DollarName center_line)}
                            {(DQ ($ Id.VSub_DollarName full_filename))}
                            {(DQ ($ Id.VSub_DollarName line_number))}
                            {($ Id.VSub_Star '*')}
                          ]
                          redirects: []
                          do_fork: T
                        )
                      ]
                      ops: [<Id.Op_DAmp _>]
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike '_Dbg_last_cmd='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike '_Dbg_last_cmd='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike '_Dbg_last_cmd='>
                              name: _Dbg_last_cmd
                            )
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName _Dbg_cmd))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                  spids: [299 311]
                )
              ]
              else_kw: <Id.KW_Else else>
              else_action: [
                (command.Simple
                  blame_tok: <_Dbg_file_not_read_in>
                  more_env: []
                  words: [{<_Dbg_file_not_read_in>} {(DQ ($ Id.VSub_DollarName filename))}]
                  redirects: []
                  do_fork: T
                )
                (command.ControlFlow
                  keyword: <Id.ControlFlow_Return return>
                  arg_word: {<3>}
                )
              ]
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <_Dbg_alias_add>
      more_env: []
      words: [{<_Dbg_alias_add>} {<l>} {<list>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <_Dbg_alias_add>
      more_env: []
      words: [{<_Dbg_alias_add>} {(DQ <'l>'>)} {<list>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <_Dbg_alias_add>
      more_env: []
      words: [{<_Dbg_alias_add>} {(DQ <'list>'>)} {<list>}]
      redirects: []
      do_fork: T
    )
  ]
)