(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:NETDOWN) op:Equal rhs:{(yes)} spids:[31])]
      spids: [31]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:PATH)
          op: Equal
          rhs: {(/sbin) (Lit_Other ':') (/usr/sbin) (Lit_Other ':') (/bin) (Lit_Other ':') (/usr/bin)}
          spids: [35]
        )
      ]
      spids: [35]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(Lit_Other '[')} {(-f)} {(/etc/default/halt)} {(Lit_Other ']')})
        (C {(.)} {(/etc/default/halt)})
      ]
    )
    (C {(.)} {(/lib/lsb/init-functions)})
    (FuncDef
      name: do_stop
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$INIT_HALT'))} {(Lit_Other '=')} {(DQ )} 
                      {(Lit_Other ']')}
                    )
                  ]
                  action: [
                    (Case
                      to_match: {(DQ ($ VSub_Name '$HALT'))}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '[') (Pp) (Lit_Other ']') (Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:INIT_HALT)
                                  op: Equal
                                  rhs: {(POWEROFF)}
                                  spids: [107]
                                )
                              ]
                              spids: [107]
                            )
                          ]
                          spids: [100 104 111 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '[') (Hh) (Lit_Other ']') (Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:INIT_HALT)
                                  op: Equal
                                  rhs: {(HALT)}
                                  spids: [121]
                                )
                              ]
                              spids: [121]
                            )
                          ]
                          spids: [114 118 125 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:INIT_HALT)
                                  op: Equal
                                  rhs: {(POWEROFF)}
                                  spids: [132]
                                )
                              ]
                              spids: [132]
                            )
                          ]
                          spids: [128 129 136 16777215]
                        )
                      ]
                      spids: [91 97 139]
                    )
                  ]
                  spids: [16777215 88]
                )
              ]
              spids: [16777215 142]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$INIT_HALT'))} {(Lit_Other '=')} 
                          {(DQ (POWEROFF))} {(Lit_Other ']')}
                        )
                        (C {(Lit_Other '[')} {(-x)} {(/etc/init.d/ups-monitor)} {(Lit_Other ']')})
                      ]
                    )
                  ]
                  action: [(C {(/etc/init.d/ups-monitor)} {(poweroff)})]
                  spids: [16777215 177]
                )
              ]
              spids: [16777215 185]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:hddown) op:Equal rhs:{(DQ (-h))} spids:[193])]
              spids: [193]
            )
            (If
              arms: [
                (if_arm
                  cond: [(C {(grep)} {(-qs)} {(SQ <'^md.*active'>)} {(/proc/mdstat)})]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hddown)
                          op: Equal
                          rhs: {(DQ )}
                          spids: [215]
                        )
                      ]
                      spids: [215]
                    )
                  ]
                  spids: [16777215 212]
                )
              ]
              spids: [16777215 220]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:poweroff) op:Equal rhs:{(DQ (-p))} spids:[228])]
              spids: [228]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$INIT_HALT'))} {(Lit_Other '=')} {(DQ (HALT))} 
                      {(Lit_Other ']')}
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:poweroff)
                          op: Equal
                          rhs: {(DQ )}
                          spids: [254]
                        )
                      ]
                      spids: [254]
                    )
                  ]
                  spids: [16777215 251]
                )
              ]
              spids: [16777215 259]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:netdown) op:Equal rhs:{(DQ (-i))} spids:[271])]
              spids: [271]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$NETDOWN'))} {(Lit_Other '=')} {(DQ (no))} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:netdown)
                          op: Equal
                          rhs: {(DQ )}
                          spids: [297]
                        )
                      ]
                      spids: [297]
                    )
                  ]
                  spids: [16777215 294]
                )
              ]
              spids: [16777215 302]
            )
            (C {(log_action_msg)} {(DQ ('Will now halt'))})
            (C {(halt)} {(-d)} {(-f)} {($ VSub_Name '$netdown')} {($ VSub_Name '$poweroff')} 
              {($ VSub_Name '$hddown')}
            )
          ]
          spids: [69]
        )
      spids: [64 68]
    )
    (Case
      to_match: {(DQ ($ VSub_Number '$1'))}
      arms: [
        (case_arm pat_list:[{(start)} {(status)}] spids:[337 340 347 16777215])
        (case_arm
          pat_list: [{(restart)} {(reload)} {(force-reload)}]
          action: [
            (SimpleCommand
              words: [{(echo)} {(DQ ("Error: argument '") ($ VSub_Number '$1') ("' not supported"))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[366])]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(3)})
          ]
          spids: [350 355 375 16777215]
        )
        (case_arm pat_list:[{(stop)}] action:[(C {(do_stop)})] spids:[378 379 385 16777215])
        (case_arm
          pat_list: [{(Lit_Other '*')}]
          action: [
            (SimpleCommand
              words: [{(echo)} {(DQ ('Usage: ') ($ VSub_Number '$0') (' start|stop'))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[400])]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(3)})
          ]
          spids: [388 389 409 16777215]
        )
      ]
      spids: [328 334 411]
    )
    (C {(Lit_Other ':')})
  ]
)