(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:tid) op:Equal rhs:{(DQ (banner))} spids:[7])]
      spids: [7]
    )
    (SimpleCommand
      words: [{(echo)} {(DQ ('Banner ') ($ VSub_Name '$OBJ') (/banner.in))}]
      redirects: [
        (Redir
          op_id: Redir_DGreat
          fd: -1
          arg_word: {($ VSub_Name '$OBJ') (/sshd_proxy)}
          spids: [20]
        )
      ]
    )
    (C {(rm)} {(-f)} {($ VSub_Name '$OBJ') (/banner.out)} {($ VSub_Name '$OBJ') (/banner.in)} 
      {($ VSub_Name '$OBJ') (/empty.in)}
    )
    (C {(touch)} {($ VSub_Name '$OBJ') (/empty.in)})
    (C {(trace)} {(DQ ('test missing banner file'))})
    (C {(verbose)} {(DQ ('test ') ($ VSub_Name '$tid') (': missing banner file'))})
    (AndOr
      children: [
        (Subshell
          child: 
            (AndOr
              children: [
                (SimpleCommand
                  words: [
                    {(${ VSub_Name SSH)}
                    {(-2)}
                    {(-F)}
                    {($ VSub_Name '$OBJ') (/ssh_proxy)}
                    {(otherhost)}
                    {(true)}
                  ]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 2
                      arg_word: {($ VSub_Name '$OBJ') (/banner.out)}
                      spids: [76]
                    )
                  ]
                )
                (C {(cmp)} {($ VSub_Name '$OBJ') (/empty.in)} {($ VSub_Name '$OBJ') (/banner.out)})
              ]
              op_id: Op_DAmp
            )
          spids: [59 92]
        )
        (C {(fail)} {(DQ ('missing banner file'))})
      ]
      op_id: Op_DPipe
    )
    (ForEach
      iter_name: s
      iter_words: [{(0)} {(10)} {(100)} {(1000)} {(10000)} {(100000)}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$s'))} {(Lit_Other '=')} {(DQ (0))} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(touch)} {($ VSub_Name '$OBJ') (/banner.in)})]
                  spids: [-1 145]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$s'))} {(Lit_Other '=')} {(DQ (10))} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(echo)} {(DQ (abcdefghi))}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {($ VSub_Name '$OBJ') (/banner.in)}
                          spids: [188]
                        )
                      ]
                    )
                  ]
                  spids: [158 175]
                )
              ]
              else_action: [
                (C {(cp)} {($ VSub_Name '$OBJ') (/banner.in)} {($ VSub_Name '$OBJ') (/banner.out)})
                (ForEach
                  iter_name: i
                  iter_words: [{(0)} {(1)} {(2)} {(3)} {(4)} {(5)} {(6)} {(7)} {(8)}]
                  do_arg_iter: False
                  body: 
                    (DoGroup
                      children: [
                        (SimpleCommand
                          words: [{(cat)} {($ VSub_Name '$OBJ') (/banner.out)}]
                          redirects: [
                            (Redir
                              op_id: Redir_DGreat
                              fd: -1
                              arg_word: {($ VSub_Name '$OBJ') (/banner.in)}
                              spids: [243]
                            )
                          ]
                        )
                      ]
                      spids: [235 249]
                    )
                  spids: [214 233]
                )
              ]
              spids: [193 252]
            )
            (C {(trace)} {(DQ ('test banner size ') ($ VSub_Name '$s'))})
            (C {(verbose)} {(DQ ('test ') ($ VSub_Name '$tid') (': size ') ($ VSub_Name '$s'))})
            (AndOr
              children: [
                (Subshell
                  child: 
                    (AndOr
                      children: [
                        (SimpleCommand
                          words: [
                            {(${ VSub_Name SSH)}
                            {(-2)}
                            {(-F)}
                            {($ VSub_Name '$OBJ') (/ssh_proxy)}
                            {(otherhost)}
                            {(true)}
                          ]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 2
                              arg_word: {($ VSub_Name '$OBJ') (/banner.out)}
                              spids: [291]
                            )
                          ]
                        )
                        (C {(cmp)} {($ VSub_Name '$OBJ') (/banner.in)} 
                          {($ VSub_Name '$OBJ') (/banner.out)}
                        )
                      ]
                      op_id: Op_DAmp
                    )
                  spids: [274 307]
                )
                (C {(fail)} {(DQ ('banner size ') ($ VSub_Name '$s') (' mismatch'))})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [125 321]
        )
      spids: [110 123]
    )
    (C {(trace)} {(DQ ('test suppress banner (-q)'))})
    (C {(verbose)} {(DQ ('test ') ($ VSub_Name '$tid') (': suppress banner (-q)'))})
    (AndOr
      children: [
        (Subshell
          child: 
            (AndOr
              children: [
                (SimpleCommand
                  words: [
                    {(${ VSub_Name SSH)}
                    {(-q)}
                    {(-2)}
                    {(-F)}
                    {($ VSub_Name '$OBJ') (/ssh_proxy)}
                    {(otherhost)}
                    {(true)}
                  ]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 2
                      arg_word: {($ VSub_Name '$OBJ') (/banner.out)}
                      spids: [357]
                    )
                  ]
                )
                (C {(cmp)} {($ VSub_Name '$OBJ') (/empty.in)} {($ VSub_Name '$OBJ') (/banner.out)})
              ]
              op_id: Op_DAmp
            )
          spids: [338 373]
        )
        (C {(fail)} {(DQ ('suppress banner (-q)'))})
      ]
      op_id: Op_DPipe
    )
    (C {(rm)} {(-f)} {($ VSub_Name '$OBJ') (/banner.out)} {($ VSub_Name '$OBJ') (/banner.in)} 
      {($ VSub_Name '$OBJ') (/empty.in)}
    )
  ]
)