(command.CommandList
  children: [
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<Id.Lit_LBracket '['>} {<-x>} {<'/usr/sbin/alsactl'>} {<Id.Lit_RBracket ']'>})
        (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>})
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PATH='> name:PATH)
          op: assign_op.Equal
          rhs: 
            {<'/usr/local/sbin'> <Id.Lit_Colon ':'> <'/usr/local/bin'> <Id.Lit_Colon ':'> <'/usr/sbin'> 
              <Id.Lit_Colon ':'> <'/usr/bin'> <Id.Lit_Colon ':'> <'/sbin'> <Id.Lit_Colon ':'> <'/bin'>
            }
          spids: [80]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MYNAME='> name:MYNAME)
          op: assign_op.Equal
          rhs: {<'/etc/init.d/alsa-utils'>}
          spids: [93]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ALSACTLHOME='> name:ALSACTLHOME)
          op: assign_op.Equal
          rhs: {<'/run/alsa'>}
          spids: [96]
        )
      ]
      redirects: []
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<Id.Lit_LBracket '['>} {<-d>} {(DQ ($ Id.VSub_DollarName ALSACTLHOME))} 
          {<Id.Lit_RBracket ']'>}
        )
        (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName ALSACTLHOME))})
      ]
    )
    (C {<.>} {<'/lib/lsb/init-functions'>})
    (C {<.>} {<'/usr/share/alsa/utils.sh'>})
    (command.ShFunction
      name: log_action_end_msg_and_exit
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<log_action_end_msg>} {(DQ ($ Id.VSub_Number 1))} 
              {
                (braced_var_sub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Number 2>
                  var_name: 2
                  suffix_op: 
                    (suffix_op.Unary
                      op: <Id.VTest_ColonPlus _>
                      arg_word: {(DQ ($ Id.VSub_Number 2))}
                    )
                  right: <Id.Right_DollarBrace '}'>
                )
              }
            )
            (command.ControlFlow
              token: <Id.ControlFlow_Exit exit>
              arg_word: {($ Id.VSub_Number 1)}
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: executable
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.AndOr
              ops: [Id.Op_DPipe Id.Op_DPipe]
              children: [
                (C {<Id.Lit_LBracket '['>} {<-x>} {<'/bin/which'>} {<Id.Lit_RBracket ']'>})
                (C {<Id.Lit_LBracket '['>} {<-x>} {<'/usr/bin/which'>} {<Id.Lit_RBracket ']'>})
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (command.Simple
              words: [{<which>} {(DQ ($ Id.VSub_Number 1))}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/dev/null'>}
                )
                (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>})
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<executable>} {<amixer>})
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Sentence
              child: 
                (command.Simple
                  words: [
                    {<echo>}
                    {(DQ (${ Id.VSub_Name MYNAME) <': Error: No amixer program available.'>)}
                  ]
                  redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
                  more_env: []
                  do_fork: T
                )
              terminator: <Id.Op_Semi _>
            )
            (command.Sentence
              child: (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
              terminator: <Id.Op_Semi _>
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
      ]
    )
    (command.ShFunction
      name: restore_levels
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<Id.Lit_LBracket '['>} {<-f>} {<'/var/lib/alsa/asound.state'>} 
                  {<Id.Lit_RBracket ']'>}
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CARD='> name:CARD)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_Number 1))}
                  spids: [283]
                )
              ]
              redirects: []
            )
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {<all>} 
                  {<Id.Lit_RBracket ']'>}
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CARD='> name:CARD)
                      op: assign_op.Equal
                      rhs: {(DQ )}
                      spids: [303]
                    )
                  ]
                  redirects: []
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.AndOr
                              ops: [Id.Op_DAmp]
                              children: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MSG='> name:MSG)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (DQ 
                                            (command_sub
                                              left_token: <Id.Left_DollarParen '$('>
                                              child: 
                                                (command.Simple
                                                  words: [
                                                    {<alsactl>}
                                                    {<-E>}
                                                    {<Id.Lit_VarLike 'HOME='> 
                                                      (DQ ($ Id.VSub_DollarName ALSACTLHOME))
                                                    }
                                                    {<restore>}
                                                    {($ Id.VSub_DollarName CARD)}
                                                  ]
                                                  redirects: [
                                                    (redir
                                                      op: <Id.Redir_GreatAnd '2>&'>
                                                      loc: (redir_loc.Fd fd:2)
                                                      arg: {<1>}
                                                    )
                                                    (redir
                                                      op: <Id.Redir_Great '>'>
                                                      loc: (redir_loc.Fd fd:1)
                                                      arg: {<'/dev/null'>}
                                                    )
                                                  ]
                                                  more_env: []
                                                  do_fork: T
                                                )
                                              right: <Id.Eof_RParen _>
                                            )
                                          )
                                        }
                                      spids: [326]
                                    )
                                  ]
                                  redirects: []
                                )
                                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} 
                                  {(DQ ($ Id.VSub_DollarName MSG))} {<Id.Lit_RBracket ']'>}
                                )
                              ]
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>})]
                  spids: [324 364]
                )
              ]
              else_action: [
                (command.Simple
                  words: [{<alsactl>} {<-F>} {<restore>} {($ Id.VSub_DollarName CARD)}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {<'/dev/null'>}
                    )
                    (redir
                      op: <Id.Redir_GreatAnd '2>&'>
                      loc: (redir_loc.Fd fd:2)
                      arg: {<1>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
                (C {<log_action_cont_msg>} 
                  {(DQ <'warning: \'alsactl -E HOME='>) ($ Id.VSub_DollarName ALSACTLHOME) 
                    (DQ <' restore'> 
                      (braced_var_sub
                        left: <Id.Left_DollarBrace '${'>
                        token: <Id.VSub_Name CARD>
                        var_name: CARD
                        suffix_op: 
                          (suffix_op.Unary
                            op: <Id.VTest_ColonPlus _>
                            arg_word: {<' '> ($ Id.VSub_DollarName CARD)}
                          )
                        right: <Id.Right_DollarBrace '}'>
                      ) <'\' failed with error message \''> ($ Id.VSub_DollarName MSG) <'\''>
                    )
                  }
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: store_levels
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CARD='> name:CARD)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_Number 1))}
                  spids: [438]
                )
              ]
              redirects: []
            )
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {<all>} 
                  {<Id.Lit_RBracket ']'>}
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CARD='> name:CARD)
                      op: assign_op.Equal
                      rhs: {(DQ )}
                      spids: [458]
                    )
                  ]
                  redirects: []
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MSG='> name:MSG)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (command_sub
                                          left_token: <Id.Left_DollarParen '$('>
                                          child: 
                                            (command.Simple
                                              words: [
                                                {<alsactl>}
                                                {<-E>}
                                                {<Id.Lit_VarLike 'HOME='> 
                                                  (DQ ($ Id.VSub_DollarName ALSACTLHOME))
                                                }
                                                {<store>}
                                                {($ Id.VSub_DollarName CARD)}
                                              ]
                                              redirects: [
                                                (redir
                                                  op: <Id.Redir_GreatAnd '2>&'>
                                                  loc: (redir_loc.Fd fd:2)
                                                  arg: {<1>}
                                                )
                                              ]
                                              more_env: []
                                              do_fork: T
                                            )
                                          right: <Id.Eof_RParen _>
                                        )
                                      )
                                    }
                                  spids: [465]
                                )
                              ]
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<sleep>} {<1>})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                  spids: [463 488]
                )
              ]
              else_action: [
                (C {<log_action_cont_msg>} 
                  {
                    (DQ <'warning: \'alsactl store'> 
                      (braced_var_sub
                        left: <Id.Left_DollarBrace '${'>
                        token: <Id.VSub_Name CARD>
                        var_name: CARD
                        suffix_op: 
                          (suffix_op.Unary
                            op: <Id.VTest_ColonPlus _>
                            arg_word: {<' '> ($ Id.VSub_DollarName CARD)}
                          )
                        right: <Id.Right_DollarBrace '}'>
                      ) <'\' failed with error message \''> ($ Id.VSub_DollarName MSG) <'\''>
                    )
                  }
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: mute_and_zero_levels_on_card
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CARDOPT='> name:CARDOPT)
                  op: assign_op.Equal
                  rhs: {(DQ <'-c '> ($ Id.VSub_Number 1))}
                  spids: [541]
                )
              ]
              redirects: []
            )
            (command.ForEach
              iter_names: [CTL]
              iterable: 
                (for_iter.Words
                  words: [
                    {<Master>}
                    {<PCM>}
                    {<Synth>}
                    {<CD>}
                    {<Line>}
                    {<Mic>}
                    {(DQ <'PCM,1'>)}
                    {<Wave>}
                    {<Music>}
                    {<AC97>}
                    {(DQ <'Master Digital'>)}
                    {<DAC>}
                    {(DQ <'DAC,0'>)}
                    {(DQ <'DAC,1'>)}
                    {<Headphone>}
                    {<Speaker>}
                    {<Playback>}
                  ]
                )
              body: 
                (command.DoGroup
                  children: [(C {<mute_and_zero_level>} {(DQ ($ Id.VSub_DollarName CTL))})]
                )
              redirects: []
            )
            (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: mute_and_zero_levels
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'TTZML_RETURNSTATUS='>
                      name: TTZML_RETURNSTATUS
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [679]
                )
              ]
              redirects: []
            )
            (command.Case
              to_match: {(DQ ($ Id.VSub_Number 1))}
              arms: [
                (case_arm
                  pat_list: [{<all>}]
                  action: [
                    (command.ForEach
                      iter_names: [CARD]
                      iterable: 
                        (for_iter.Words
                          words: [
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: (C {<echo_card_indices>})
                                right: <Id.Eof_RParen _>
                              )
                            }
                          ]
                        )
                      body: 
                        (command.DoGroup
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<mute_and_zero_levels_on_card>} {(DQ ($ Id.VSub_DollarName CARD))})
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'TTZML_RETURNSTATUS='>
                                          name: TTZML_RETURNSTATUS
                                        )
                                      op: assign_op.Equal
                                      rhs: {<1>}
                                      spids: [719]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                            )
                          ]
                        )
                      redirects: []
                    )
                  ]
                  spids: [692 693 726 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'>}]
                  action: [
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (C {<mute_and_zero_levels_on_card>} {(DQ ($ Id.VSub_Number 1))})
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'TTZML_RETURNSTATUS='>
                                  name: TTZML_RETURNSTATUS
                                )
                              op: assign_op.Equal
                              rhs: {<1>}
                              spids: [741]
                            )
                          ]
                          redirects: []
                        )
                      ]
                    )
                  ]
                  spids: [729 730 745 -1]
                )
              ]
              redirects: []
            )
            (command.ControlFlow
              token: <Id.ControlFlow_Return return>
              arg_word: {($ Id.VSub_DollarName TTZML_RETURNSTATUS)}
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: card_OK
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_RBracket ']'>})
                (C {<bugout>})
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} 
                              {<all>} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Id.Lit_LBracket '['>} {<-d>} {<'/proc/asound'>} {<Id.Lit_RBracket ']'>})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {($ Id.VSub_QMark '?')}
                    )
                  ]
                  spids: [782 798]
                )
              ]
              else_action: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<Id.Lit_LBracket '['>} {<-d>} {(DQ <'/proc/asound/card'> ($ Id.VSub_Number 1))} 
                      {<Id.Lit_RBracket ']'>}
                    )
                    (C {<Id.Lit_LBracket '['>} {<-d>} {(DQ <'/proc/asound/'> ($ Id.VSub_Number 1))} 
                      {<Id.Lit_RBracket ']'>}
                    )
                  ]
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {($ Id.VSub_QMark '?')}
                )
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Case
      to_match: {(DQ ($ Id.VSub_Number 1))}
      arms: [
        (case_arm
          pat_list: [{<start>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'EXITSTATUS='> name:EXITSTATUS)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [873]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGET_CARD='> name:TARGET_CARD)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_Number 2))}
                  spids: [877]
                )
              ]
              redirects: []
            )
            (command.Case
              to_match: {(DQ ($ Id.VSub_DollarName TARGET_CARD))}
              arms: [
                (case_arm
                  pat_list: [{(DQ )} {<all>}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'TARGET_CARD='>
                                  name: TARGET_CARD
                                )
                              op: assign_op.Equal
                              rhs: {<all>}
                              spids: [898]
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (C {<log_action_begin_msg>} {(DQ <'Setting up ALSA'>)})
                  ]
                  spids: [892 896 909 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'>}]
                  action: [
                    (C {<log_action_begin_msg>} 
                      {(DQ <'Setting up ALSA card '> (${ Id.VSub_Name TARGET_CARD))}
                    )
                  ]
                  spids: [912 913 924 -1]
                )
              ]
              redirects: []
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<card_OK>} {(DQ ($ Id.VSub_DollarName TARGET_CARD))})
                (C {<log_action_end_msg_and_exit>} 
                  {
                    (DQ 
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.CommandList
                            children: [
                              (command.Sentence
                                child: 
                                  (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} 
                                    {(DQ ($ Id.VSub_Number 2))} {<Id.Lit_RBracket ']'>}
                                  )
                                terminator: <Id.Op_Semi _>
                              )
                              (command.Sentence
                                child: (C {<echo>} {($ Id.VSub_QMark '?')})
                                terminator: <Id.Op_Semi _>
                              )
                            ]
                          )
                        right: <Id.Eof_RParen _>
                      )
                    )
                  } {(DQ <'none loaded'>)}
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<preinit_levels>} {(DQ ($ Id.VSub_DollarName TARGET_CARD))})
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'EXITSTATUS='> name:EXITSTATUS)
                      op: assign_op.Equal
                      rhs: {<1>}
                      spids: [977]
                    )
                  ]
                  redirects: []
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<restore_levels>} {(DQ ($ Id.VSub_DollarName TARGET_CARD))})
                              ]
                              negated: T
                              stderr_indices: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (C {<sanify_levels>} {(DQ ($ Id.VSub_DollarName TARGET_CARD))})
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'EXITSTATUS='>
                                  name: EXITSTATUS
                                )
                              op: assign_op.Equal
                              rhs: {<1>}
                              spids: [1004]
                            )
                          ]
                          redirects: []
                        )
                      ]
                    )
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (command.Simple
                          words: [{<restore_levels>} {(DQ ($ Id.VSub_DollarName TARGET_CARD))}]
                          redirects: [
                            (redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<'/dev/null'>}
                            )
                            (redir
                              op: <Id.Redir_GreatAnd '2>&'>
                              loc: (redir_loc.Fd fd:2)
                              arg: {<1>}
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                        (C {<Id.Lit_Colon ':'>})
                      ]
                    )
                  ]
                  spids: [981 993]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<log_action_end_msg_and_exit>} {(DQ ($ Id.VSub_DollarName EXITSTATUS))})
          ]
          spids: [869 870 1035 -1]
        )
        (case_arm
          pat_list: [{<stop>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'EXITSTATUS='> name:EXITSTATUS)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [1042]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGET_CARD='> name:TARGET_CARD)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_Number 2))}
                  spids: [1046]
                )
              ]
              redirects: []
            )
            (command.Case
              to_match: {(DQ ($ Id.VSub_DollarName TARGET_CARD))}
              arms: [
                (case_arm
                  pat_list: [{(DQ )} {<all>}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'TARGET_CARD='>
                                  name: TARGET_CARD
                                )
                              op: assign_op.Equal
                              rhs: {<all>}
                              spids: [1067]
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (C {<log_action_begin_msg>} {(DQ <'Shutting down ALSA'>)})
                  ]
                  spids: [1061 1065 1078 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'>}]
                  action: [
                    (C {<log_action_begin_msg>} 
                      {(DQ <'Shutting down ALSA card '> (${ Id.VSub_Name TARGET_CARD))}
                    )
                  ]
                  spids: [1081 1082 1093 -1]
                )
              ]
              redirects: []
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<card_OK>} {(DQ ($ Id.VSub_DollarName TARGET_CARD))})
                (C {<log_action_end_msg_and_exit>} 
                  {
                    (DQ 
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.CommandList
                            children: [
                              (command.Sentence
                                child: 
                                  (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} 
                                    {(DQ ($ Id.VSub_Number 2))} {<Id.Lit_RBracket ']'>}
                                  )
                                terminator: <Id.Op_Semi _>
                              )
                              (command.Sentence
                                child: (C {<echo>} {($ Id.VSub_QMark '?')})
                                terminator: <Id.Op_Semi _>
                              )
                            ]
                          )
                        right: <Id.Eof_RParen _>
                      )
                    )
                  } {(DQ <'none loaded'>)}
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<store_levels>} {(DQ ($ Id.VSub_DollarName TARGET_CARD))})
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'EXITSTATUS='> name:EXITSTATUS)
                      op: assign_op.Equal
                      rhs: {<1>}
                      spids: [1146]
                    )
                  ]
                  redirects: []
                )
              ]
            )
            (C {<log_action_end_msg_and_exit>} {(DQ ($ Id.VSub_DollarName EXITSTATUS))})
          ]
          spids: [1038 1039 1161 -1]
        )
        (case_arm
          pat_list: [{<restart>} {<force-reload>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'EXITSTATUS='> name:EXITSTATUS)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [1170]
                )
              ]
              redirects: []
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {($ Id.VSub_Number 0)} {<stop>})
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'EXITSTATUS='> name:EXITSTATUS)
                      op: assign_op.Equal
                      rhs: {<1>}
                      spids: [1180]
                    )
                  ]
                  redirects: []
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {($ Id.VSub_Number 0)} {<start>})
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'EXITSTATUS='> name:EXITSTATUS)
                      op: assign_op.Equal
                      rhs: {<1>}
                      spids: [1190]
                    )
                  ]
                  redirects: []
                )
              ]
            )
            (command.ControlFlow
              token: <Id.ControlFlow_Exit exit>
              arg_word: {($ Id.VSub_DollarName EXITSTATUS)}
            )
          ]
          spids: [1164 1167 1199 -1]
        )
        (case_arm
          pat_list: [{<reset>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGET_CARD='> name:TARGET_CARD)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_Number 2))}
                  spids: [1206]
                )
              ]
              redirects: []
            )
            (command.Case
              to_match: {(DQ ($ Id.VSub_DollarName TARGET_CARD))}
              arms: [
                (case_arm
                  pat_list: [{(DQ )} {<all>}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'TARGET_CARD='>
                                  name: TARGET_CARD
                                )
                              op: assign_op.Equal
                              rhs: {<all>}
                              spids: [1227]
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (C {<log_action_begin_msg>} {(DQ <'Resetting ALSA'>)})
                  ]
                  spids: [1221 1225 1238 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'>}]
                  action: [
                    (C {<log_action_begin_msg>} 
                      {(DQ <'Resetting ALSA card '> (${ Id.VSub_Name TARGET_CARD))}
                    )
                  ]
                  spids: [1241 1242 1253 -1]
                )
              ]
              redirects: []
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<card_OK>} {(DQ ($ Id.VSub_DollarName TARGET_CARD))})
                (C {<log_action_end_msg_and_exit>} 
                  {
                    (DQ 
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.CommandList
                            children: [
                              (command.Sentence
                                child: 
                                  (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} 
                                    {(DQ ($ Id.VSub_Number 2))} {<Id.Lit_RBracket ']'>}
                                  )
                                terminator: <Id.Op_Semi _>
                              )
                              (command.Sentence
                                child: (C {<echo>} {($ Id.VSub_QMark '?')})
                                terminator: <Id.Op_Semi _>
                              )
                            ]
                          )
                        right: <Id.Eof_RParen _>
                      )
                    )
                  } {(DQ <'none loaded'>)}
                )
              ]
            )
            (C {<preinit_levels>} {(DQ ($ Id.VSub_DollarName TARGET_CARD))})
            (C {<sanify_levels>} {(DQ ($ Id.VSub_DollarName TARGET_CARD))})
            (C {<log_action_end_msg_and_exit>} {(DQ ($ Id.VSub_QMark '?'))})
          ]
          spids: [1202 1203 1319 -1]
        )
        (case_arm
          pat_list: [{<Id.Lit_Star '*'>}]
          action: [
            (command.Simple
              words: [
                {<echo>}
                {
                  (DQ <'Usage: '> ($ Id.VSub_DollarName MYNAME) 
                    <' {start [CARD]|stop [CARD]|restart [CARD]|reset [CARD]}'>
                  )
                }
              ]
              redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
              more_env: []
              do_fork: T
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<3>})
          ]
          spids: [1322 1323 1343 -1]
        )
      ]
      redirects: []
    )
  ]
)