(command.CommandList
  children: [
    (C {(Id.KW_Set set)} {(-o)} {(errexit)})
    (C {(Id.KW_Set set)} {(-o)} {(nounset)})
    (C {(Id.KW_Set set)} {(-o)} {(pipefail)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:KUBE_ROOT)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:68)
                command_list: 
                  (command.CommandList
                    children: [(C {(dirname)} {(DQ (${ Id.VSub_Name BASH_SOURCE))})]
                  )
              ) (/..)
            }
          spids: [67]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Id.Lit_LBracket '[')} {(-f)} {(DQ (${ Id.VSub_Name KUBE_ROOT) (/cluster/env.sh))} 
                  {(Id.Lit_RBracket ']')}
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:94)
            )
          ]
          action: [(C {(source)} {(DQ (${ Id.VSub_Name KUBE_ROOT) (/cluster/env.sh))})]
          spids: [80 96]
        )
      ]
    )
    (C {(source)} {(DQ (${ Id.VSub_Name KUBE_ROOT) (/cluster/kube-util.sh))})
    (C {(echo)} 
      {(DQ ('Bringing down cluster using provider: ') ($ Id.VSub_DollarName '$KUBERNETES_PROVIDER'))}
    )
    (C {(verify-prereqs)})
    (C {(verify-kube-binaries)})
    (C {(kube-down)})
    (C {(echo)} {(DQ (Done))})
  ]
)