(command.CommandList
  children: [
    (C {(set)} {(-e)})
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:DAEMON spids:[51])
          op: Equal
          rhs: {(/usr/bin/dbus-daemon)}
          spids: [51]
        )
      ]
      spids: [51]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:UUIDGEN spids:[54])
          op: Equal
          rhs: {(/usr/bin/dbus-uuidgen)}
          spids: [54]
        )
      ]
      spids: [54]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:UUIDGEN_OPTS spids:[57])
          op: Equal
          rhs: {(--ensure)}
          spids: [57]
        )
      ]
      spids: [57]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:NAME spids:[60])
          op: Equal
          rhs: {(dbus)}
          spids: [60]
        )
      ]
      spids: [60]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:DAEMONUSER spids:[63])
          op: Equal
          rhs: {(messagebus)}
          spids: [63]
        )
      ]
      spids: [63]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:PIDDIR spids:[66])
          op: Equal
          rhs: {(/var/run/dbus)}
          spids: [66]
        )
      ]
      spids: [66]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:PIDFILE spids:[69])
          op: Equal
          rhs: {($ VSub_DollarName '$PIDDIR') (/pid)}
          spids: [69]
        )
      ]
      spids: [69]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:DESC spids:[73])
          op: Equal
          rhs: {(DQ ('system message bus'))}
          spids: [73]
        )
      ]
      spids: [73]
    )
    (command.AndOr
      ops: [Op_DPipe]
      children: [
        (C {(test)} {(-x)} {($ VSub_DollarName '$DAEMON')})
        (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
      ]
    )
    (C {(.)} {(/lib/lsb/init-functions)})
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:PARAMS spids:[100])
          op: Equal
          rhs: {(DQ )}
          spids: [100]
        )
      ]
      spids: [100]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {(Lit_Other '[')} {(-e)} {(/etc/default/dbus)} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(.)} {(/etc/default/dbus)})]
          spids: [16777215 115]
        )
      ]
      spids: [16777215 122]
    )
    (command.FuncDef
      name: create_machineid
      body: 
        (command.BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-x)} {($ VSub_DollarName '$UUIDGEN')} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {($ VSub_DollarName '$UUIDGEN')} {($ VSub_DollarName '$UUIDGEN_OPTS')})]
                  spids: [16777215 147]
                )
              ]
              spids: [16777215 155]
            )
          ]
          spids: [129]
        )
      spids: [125 128]
    )
    (command.FuncDef
      name: start_it_up
      body: 
        (command.BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} {($ VSub_DollarName '$PIDDIR')} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(mkdir)} {(-p)} {($ VSub_DollarName '$PIDDIR')})
                    (C {(chown)} {($ VSub_DollarName '$DAEMONUSER')} {($ VSub_DollarName '$PIDDIR')})
                    (C {(chgrp)} {($ VSub_DollarName '$DAEMONUSER')} {($ VSub_DollarName '$PIDDIR')})
                  ]
                  spids: [16777215 180]
                )
              ]
              spids: [16777215 204]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.Pipeline
                          children: [(C {(mountpoint)} {(-q)} {(/proc/)})]
                          negated: T
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(log_failure_msg)} 
                      {(DQ ("Can't start ") ($ VSub_DollarName '$DESC') (' - /proc is not mounted'))}
                    )
                    (command.ControlFlow token:<ControlFlow_Return return>)
                  ]
                  spids: [16777215 220]
                )
              ]
              spids: [16777215 235]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-e)} {($ VSub_DollarName '$PIDFILE')} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.SimpleCommand
                                  words: [{($ VSub_Number '$0')} {(status)}]
                                  redirects: [
                                    (redir.Redir
                                      op: <Redir_Great '>'>
                                      fd: 16777215
                                      arg_word: {(/dev/null)}
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(log_success_msg)} 
                              {(DQ ($ VSub_DollarName '$DESC') (' already started; not starting.'))}
                            )
                            (command.ControlFlow
                              token: <ControlFlow_Return return>
                            )
                          ]
                          spids: [16777215 265]
                        )
                      ]
                      else_action: [
                        (C {(log_success_msg)} 
                          {(DQ ('Removing stale PID file ') ($ VSub_DollarName '$PIDFILE') (.))}
                        )
                        (C {(rm)} {(-f)} {($ VSub_DollarName '$PIDFILE')})
                      ]
                      spids: [279 298]
                    )
                  ]
                  spids: [16777215 250]
                )
              ]
              spids: [16777215 301]
            )
            (C {(create_machineid)})
            (C {(log_daemon_msg)} {(DQ ('Starting ') ($ VSub_DollarName '$DESC'))} 
              {(DQ ($ VSub_DollarName '$NAME'))}
            )
            (C {(start-stop-daemon)} {(--start)} {(--quiet)} {(--pidfile)} 
              {($ VSub_DollarName '$PIDFILE')} {(--exec)} {($ VSub_DollarName '$DAEMON')} {(--)} {(--system)} {($ VSub_DollarName '$PARAMS')}
            )
            (C {(log_end_msg)} {($ VSub_QMark '$?')})
          ]
          spids: [164]
        )
      spids: [160 163]
    )
    (command.FuncDef
      name: shut_it_down
      body: 
        (command.BraceGroup
          children: [
            (C {(log_daemon_msg)} {(DQ ('Stopping ') ($ VSub_DollarName '$DESC'))} 
              {(DQ ($ VSub_DollarName '$NAME'))}
            )
            (C {(start-stop-daemon)} {(--stop)} {(--retry)} {(5)} {(--quiet)} {(--oknodo)} {(--pidfile)} 
              {($ VSub_DollarName '$PIDFILE')} {(--user)} {($ VSub_DollarName '$DAEMONUSER')}
            )
            (C {(log_end_msg)} {($ VSub_QMark '$?')})
            (C {(rm)} {(-f)} {($ VSub_DollarName '$PIDFILE')})
          ]
          spids: [355]
        )
      spids: [351 354]
    )
    (command.FuncDef
      name: reload_it
      body: 
        (command.BraceGroup
          children: [
            (C {(create_machineid)})
            (C {(log_action_begin_msg)} {(DQ ('Reloading ') ($ VSub_DollarName '$DESC') (' config'))})
            (command.SimpleCommand
              words: [
                {(dbus-send)}
                {(--print-reply)}
                {(--system)}
                {(--type) (Lit_Other '=') (method_call)}
                {(--dest) (Lit_Other '=') (org.freedesktop.DBus)}
                {(/)}
                {(org.freedesktop.DBus.ReloadConfig)}
              ]
              redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})]
            )
            (C {(log_action_end_msg)} {($ VSub_QMark '$?')})
          ]
          spids: [427]
        )
      spids: [423 426]
    )
    (command.Case
      to_match: {(DQ ($ VSub_Number '$1'))}
      arms: [
        (case_arm
          pat_list: [{(start)}]
          action: [(C {(start_it_up)})]
          spids: [489 490 496 16777215]
        )
        (case_arm
          pat_list: [{(stop)}]
          action: [(C {(shut_it_down)})]
          spids: [499 500 506 16777215]
        )
        (case_arm
          pat_list: [{(reload)} {(force-reload)}]
          action: [(C {(reload_it)})]
          spids: [509 512 518 16777215]
        )
        (case_arm
          pat_list: [{(restart)}]
          action: [(C {(shut_it_down)}) (C {(start_it_up)})]
          spids: [521 522 531 16777215]
        )
        (case_arm
          pat_list: [{(status)}]
          action: [
            (command.AndOr
              ops: [Op_DAmp Op_DPipe]
              children: [
                (C {(status_of_proc)} {(-p)} {($ VSub_DollarName '$PIDFILE')} 
                  {($ VSub_DollarName '$DAEMON')} {($ VSub_DollarName '$NAME')}
                )
                (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
                (command.ControlFlow
                  token: <ControlFlow_Exit exit>
                  arg_word: {($ VSub_QMark '$?')}
                )
              ]
            )
          ]
          spids: [534 535 561 16777215]
        )
        (case_arm
          pat_list: [{(Lit_Other '*')}]
          action: [
            (command.SimpleCommand
              words: [
                {(echo)}
                {
                  (DQ ('Usage: /etc/init.d/') ($ VSub_DollarName '$NAME') 
                    (' {start|stop|reload|restart|force-reload|status}')
                  )
                }
              ]
              redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
            )
            (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(2)})
          ]
          spids: [564 565 585 16777215]
        )
      ]
      spids: [480 486 587]
    )
  ]
)