(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:tid)
          op: assign_op.Equal
          rhs: {(DQ <'environment passing'>)}
          spids: [7]
        )
      ]
    )
    (command.Simple
      words: [{<cat>}]
      redirects: [
        (redir.HereDoc
          op: <Id.Redir_DLess '<<'>
          fd: -1
          here_begin: {<EOF>}
          here_end_span_id: 34
          stdin_parts: [<'Host test-sendenv-confparse-bug\n'> <'\tSendEnv *\n'>]
        )
        (redir.Redir
          op: <Id.Redir_Great '>'>
          fd: -1
          arg_word: {($ Id.VSub_DollarName '$OBJ') </ssh_proxy_envpass>}
        )
      ]
    )
    (command.Simple
      words: [{<cat>} {($ Id.VSub_DollarName '$OBJ') </ssh_proxy>}]
      redirects: [
        (redir.Redir
          op: <Id.Redir_DGreat '>>'>
          fd: -1
          arg_word: {($ Id.VSub_DollarName '$OBJ') </ssh_proxy_envpass>}
        )
      ]
    )
    (C {<trace>} {(DQ <"pass env, don't accept">)})
    (C {<verbose>} {(DQ <'test '> ($ Id.VSub_DollarName '$tid') <": pass env, don't accept">)})
    (command.Simple
      words: [
        {(${ Id.VSub_Name SSH)}
        {<-oSendEnv> <Id.Lit_Equals '='> (DQ <'*'>)}
        {<-F>}
        {($ Id.VSub_DollarName '$OBJ') </ssh_proxy_envpass>}
        {<otherhost>}
        {<sh>}
      ]
      redirects: [
        (redir.HereDoc
          op: <Id.Redir_DLess '<<'>
          fd: -1
          here_begin: {(SQ <EOF>)}
          here_end_span_id: 91
          stdin_parts: [<'\ttest -z "$_TEST_ENV"\n'>]
        )
      ]
      more_env: [(env_pair name:_TEST_ENV val:{<blah>} spids:[60])]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:r)
          op: assign_op.Equal
          rhs: {($ Id.VSub_QMark '$?')}
          spids: [92]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$r')} {<-ne>} {<0>} 
                  {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [(C {<fail>} {(DQ <'environment found'>)})]
          spids: [95 108]
        )
      ]
    )
    (C {<trace>} {(DQ <"don't pass env, accept">)})
    (C {<verbose>} {(DQ <'test '> ($ Id.VSub_DollarName '$tid') <": don't pass env, accept">)})
    (command.Simple
      words: [
        {(${ Id.VSub_Name SSH)}
        {<-F>}
        {($ Id.VSub_DollarName '$OBJ') </ssh_proxy_envpass>}
        {<otherhost>}
        {<sh>}
      ]
      redirects: [
        (redir.HereDoc
          op: <Id.Redir_DLess '<<'>
          fd: -1
          here_begin: {(SQ <EOF>)}
          here_end_span_id: 162
          stdin_parts: [<'\ttest -z "$_XXX_TEST_A" && test -z "$_XXX_TEST_B"\n'>]
        )
      ]
      more_env: [
        (env_pair name:_XXX_TEST_A val:{<1>} spids:[134])
        (env_pair name:_XXX_TEST_B val:{<2>} spids:[137])
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:r)
          op: assign_op.Equal
          rhs: {($ Id.VSub_QMark '$?')}
          spids: [163]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$r')} {<-ne>} {<0>} 
                  {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [(C {<fail>} {(DQ <'environment found'>)})]
          spids: [166 179]
        )
      ]
    )
    (C {<trace>} {(DQ <'pass single env, accept single env'>)})
    (C {<verbose>} 
      {(DQ <'test '> ($ Id.VSub_DollarName '$tid') <': pass single env, accept single env'>)}
    )
    (command.Simple
      words: [
        {(${ Id.VSub_Name SSH)}
        {<-oSendEnv> <Id.Lit_Equals '='> (DQ <_XXX_TEST>)}
        {<-F>}
        {($ Id.VSub_DollarName '$OBJ') </ssh_proxy_envpass>}
        {<otherhost>}
        {<sh>}
      ]
      redirects: [
        (redir.HereDoc
          op: <Id.Redir_DLess '<<'>
          fd: -1
          here_begin: {(SQ <EOF>)}
          here_end_span_id: 236
          stdin_parts: [<'\ttest X"$_XXX_TEST" = X"blah"\n'>]
        )
      ]
      more_env: [(env_pair name:_XXX_TEST val:{<blah>} spids:[205])]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:r)
          op: assign_op.Equal
          rhs: {($ Id.VSub_QMark '$?')}
          spids: [237]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$r')} {<-ne>} {<0>} 
                  {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [(C {<fail>} {(DQ <'environment not found'>)})]
          spids: [240 253]
        )
      ]
    )
    (C {<trace>} {(DQ <'pass multiple env, accept multiple env'>)})
    (C {<verbose>} 
      {(DQ <'test '> ($ Id.VSub_DollarName '$tid') <': pass multiple env, accept multiple env'>)}
    )
    (command.Simple
      words: [
        {(${ Id.VSub_Name SSH)}
        {<-oSendEnv> <Id.Lit_Equals '='> (DQ <'_XXX_TEST_*'>)}
        {<-F>}
        {($ Id.VSub_DollarName '$OBJ') </ssh_proxy_envpass>}
        {<otherhost>}
        {<sh>}
      ]
      redirects: [
        (redir.HereDoc
          op: <Id.Redir_DLess '<<'>
          fd: -1
          here_begin: {(SQ <EOF>)}
          here_end_span_id: 315
          stdin_parts: [<'\ttest X"$_XXX_TEST_A" = X"1" -a X"$_XXX_TEST_B" = X"2"\n'>]
        )
      ]
      more_env: [
        (env_pair name:_XXX_TEST_A val:{<1>} spids:[279])
        (env_pair name:_XXX_TEST_B val:{<2>} spids:[282])
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:r)
          op: assign_op.Equal
          rhs: {($ Id.VSub_QMark '$?')}
          spids: [316]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$r')} {<-ne>} {<0>} 
                  {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [(C {<fail>} {(DQ <'environment not found'>)})]
          spids: [319 332]
        )
      ]
    )
    (C {<rm>} {<-f>} {($ Id.VSub_DollarName '$OBJ') </ssh_proxy_envpass>})
  ]
)