(command.CommandList
  children: [
    (C {<.>} {</lib/lsb/init-functions>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:PATH)
          op: assign_op.Equal
          rhs: 
            {</sbin> <Id.Lit_Other ':'> </usr/sbin> <Id.Lit_Other ':'> </bin> <Id.Lit_Other ':'> 
              </usr/bin>
            }
          spids: [39]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$DELAYLOGIN'))} {<Id.Lit_RBracket ']'>})
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:DELAYLOGIN)
              op: assign_op.Equal
              rhs: {<yes>}
              spids: [58]
            )
          ]
        )
      ]
    )
    (C {<.>} {</lib/init/vars.sh>})
    (command.ShFunction
      name: do_start
      body: 
        (command.BraceGroup
          children: [
            (command.Case
              to_match: {(DQ ($ Id.VSub_DollarName '$DELAYLOGIN'))}
              arms: [
                (case_arm
                  pat_list: [{<Y> <Id.Lit_Star '*'>} {<y> <Id.Lit_Star '*'>}]
                  action: [
                    (command.Simple
                      words: [{<echo>} {(DQ <'System bootup in progress - please wait'>)}]
                      redirects: [
                        (redir.Redir
                          op: <Id.Redir_Great '>'>
                          fd: -1
                          arg_word: {</var/lib/initscripts/nologin>}
                        )
                      ]
                    )
                  ]
                  spids: [99 104 118 -1]
                )
              ]
            )
            (command.Simple
              words: [{<Id.Lit_Other ':'>}]
              redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{</var/run/utmp>})]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (C {<grep>} {<-q>} {<Id.Lit_Other '^'> <utmp> <Id.Lit_Other ':'>} {</etc/group>})
                  ]
                  action: [
                    (C {<chmod>} {<664>} {</var/run/utmp>})
                    (C {<chgrp>} {<utmp>} {</var/run/utmp>})
                  ]
                  spids: [136 149]
                )
              ]
            )
            (C {<rm>} {<-f>} {</tmp/.clean>} {</run/.clean>} {</run/lock/.clean>})
            (C {<rm>} {<-f>} {</tmp/.tmpfs>} {</run/.tmpfs>} {</run/lock/.tmpfs>})
          ]
        )
    )
    (command.Case
      to_match: {(DQ ($ Id.VSub_Number '$1'))}
      arms: [
        (case_arm
          pat_list: [{<start>} {(DQ )}]
          action: [(C {<do_start>})]
          spids: [211 215 221 -1]
        )
        (case_arm
          pat_list: [{<restart>} {<reload>} {<force-reload>}]
          action: [
            (command.Simple
              words: [{<echo>} {(DQ <"Error: argument '"> ($ Id.VSub_Number '$1') <"' not supported">)}]
              redirects: [(redir.Redir op:<Id.Redir_GreatAnd '>&'> fd:-1 arg_word:{<2>})]
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<3>})
          ]
          spids: [224 229 249 -1]
        )
        (case_arm pat_list:[{<stop>} {<status>}] spids:[252 255 262 -1])
        (case_arm
          pat_list: [{<Id.Lit_Star '*'>}]
          action: [
            (command.Simple
              words: [{<echo>} {(DQ <'Usage: bootmisc.sh [start|stop]'>)}]
              redirects: [(redir.Redir op:<Id.Redir_GreatAnd '>&'> fd:-1 arg_word:{<2>})]
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<3>})
          ]
          spids: [265 266 284 -1]
        )
      ]
    )
    (C {<Id.Lit_Other ':'>})
  ]
)