(command.CommandList
  children: [
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} {<'/usr/sbin'>} {<-o>} 
                  {<Id.KW_Bang '!'>} {<-d>} {<'/usr/bin'>} {<Id.Lit_RBracket ']'>}
                )
              ]
            )
          action: [(command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})]
          spids: [73 93]
        )
      ]
      else_action: []
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SVBOOT='> name:SVBOOT)
          op: assign_op.Equal
          rhs: {<'/usr/sbin/svboot'>}
          spids: [107]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SVCS='> name:SVCS)
          op: assign_op.Equal
          rhs: {<'/usr/bin/svcs'>}
          spids: [110]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SVCS_NAME='> name:SVCS_NAME)
          op: assign_op.Equal
          rhs: {<'system/nws_sv'>}
          spids: [113]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ONLINE='> name:ONLINE)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Pipeline
                    children: [
                      (command.Simple
                        words: [{($ Id.VSub_DollarName SVCS)} {<-D>} {($ Id.VSub_DollarName SVCS_NAME)}]
                        redirects: [
                          (redir
                            op: <Id.Redir_DGreat '2>>'>
                            loc: (redir_loc.Fd fd:2)
                            arg: {<'/dev/null'>}
                          )
                        ]
                        more_env: []
                        do_fork: T
                      )
                      (C {<grep>} {(DQ <'^online'>)})
                    ]
                    negated: F
                    stderr_indices: []
                  )
                right: <Id.Backtick_Right '`'>
              )
            }
          spids: [131]
        )
      ]
      redirects: []
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (C {<Id.Lit_LBracket '['>} {<-z>} {($ Id.VSub_DollarName ONLINE)} {<Id.Lit_RBracket ']'>})
              ]
            )
          action: [
            (C {<echo>} {(DQ ($ Id.VSub_DollarName SVCS_NAME) <' not online'>)})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [153 163]
        )
      ]
      else_action: []
      redirects: []
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.DBracket
                  expr: 
                    (bool_expr.LogicalNot
                      child: 
                        (bool_expr.Unary
                          op_id: Id.BoolUnary_x
                          child: {($ Id.VSub_DollarName SVBOOT)}
                        )
                    )
                  redirects: []
                )
              ]
            )
          action: [
            (C {<echo>} {(DQ ($ Id.VSub_Number 0) <': cannot find '> ($ Id.VSub_DollarName SVBOOT))})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [181 193]
        )
      ]
      else_action: []
      redirects: []
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.DBracket
                  expr: (bool_expr.Unary op_id:Id.BoolUnary_z child:{(DQ ($ Id.VSub_Number 2))})
                  redirects: []
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'opt='> name:opt)
                  op: assign_op.Equal
                  rhs: {<usage>}
                  spids: [227]
                )
              ]
              redirects: []
            )
          ]
          spids: [212 224]
        )
      ]
      else_action: [
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'opt='> name:opt)
              op: assign_op.Equal
              rhs: {($ Id.VSub_Number 1)}
              spids: [233]
            )
          ]
          redirects: []
        )
      ]
      redirects: []
    )
    (command.Case
      to_match: {(DQ ($ Id.VSub_DollarName opt))}
      arms: [
        (case_arm
          pat_list: [{(SQ <start>)}]
          action: [(C {($ Id.VSub_DollarName SVBOOT)} {<-C>} {(DQ ($ Id.VSub_Number 2))} {<-r>})]
          spids: [247 250 264 -1]
        )
        (case_arm
          pat_list: [{(SQ <stop>)}]
          action: [(C {($ Id.VSub_DollarName SVBOOT)} {<-C>} {(DQ ($ Id.VSub_Number 2))} {<-s>})]
          spids: [267 270 285 -1]
        )
        (case_arm
          pat_list: [{<Id.Lit_Star '*'>}]
          action: [
            (C {<echo>} {(DQ <'Usage: '> ($ Id.VSub_Number 0) <' { start | stop } cluster_resource'>)})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [288 289 306 -1]
        )
      ]
      redirects: []
    )
  ]
)