(command.CommandList
  children: [
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:USAGE)
          op: Equal
          rhs: {(SQ <'[--browser=browser|--tool=browser] [--config=conf.var] url/file ...'>)}
        )
      ]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(lhs_expr.LhsName name:NONGIT_OK) op:Equal rhs:{(Yes)})]
    )
    (C {(.)} {(git-sh-setup)})
    (command.FuncDef
      name: valid_custom_tool
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:browser_cmd)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (word_part.CommandSubPart
                          command_list: 
                            (command.CommandList
                              children: [
                                (C {(git)} {(config)} {(DQ (browser.) ($ VSub_Number '$1') (.cmd))})
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                        )
                      )
                    }
                )
              ]
            )
            (C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$browser_cmd'))})
          ]
        )
    )
    (command.FuncDef
      name: valid_tool
      body: 
        (command.BraceGroup
          children: [
            (command.Case
              to_match: {(DQ ($ VSub_Number '$1'))}
              arms: [
                (case_arm
                  pat_list: [
                    {(firefox)}
                    {(iceweasel)}
                    {(seamonkey)}
                    {(iceape)}
                    {(chrome)}
                    {(google-chrome)}
                    {(chromium)}
                    {(chromium-browser)}
                    {(konqueror)}
                    {(opera)}
                    {(w3m)}
                    {(elinks)}
                    {(links)}
                    {(lynx)}
                    {(dillo)}
                    {(open)}
                    {(start)}
                    {(cygstart)}
                    {(xdg-open)}
                  ]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (command.AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(valid_custom_tool)} {(DQ ($ VSub_Number '$1'))})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                    )
                  ]
                )
              ]
            )
          ]
        )
    )
    (command.FuncDef
      name: init_browser_path
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:browser_path)
                  op: Equal
                  rhs: 
                    {
                      (word_part.CommandSubPart
                        command_list: 
                          (command.CommandList
                            children: [
                              (C {(git)} {(config)} {(DQ (browser.) ($ VSub_Number '$1') (.path))})
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                      )
                    }
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.AndOr
                      ops: [Op_DAmp Op_DAmp]
                      children: [
                        (C {(test)} {(-z)} {(DQ ($ VSub_DollarName '$browser_path'))})
                        (C {(test)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(chromium)})
                        (command.SimpleCommand
                          words: [{(type)} {(chromium-browser)}]
                          redirects: [
                            (redir.Redir
                              op: <Redir_Great '>'>
                              fd: 16777215
                              arg_word: {(/dev/null)}
                            )
                            (redir.Redir
                              op: <Redir_GreatAnd '2>&'>
                              fd: 2
                              arg_word: {(1)}
                            )
                          ]
                        )
                      ]
                    )
                  ]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:browser_path)
                          op: Equal
                          rhs: {(chromium-browser)}
                        )
                      ]
                    )
                  ]
                )
              ]
            )
            (C {(Lit_Other ':')} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name browser_path>
                  suffix_op: 
                    (suffix_op.StringUnary
                      op_id: VTest_ColonEquals
                      arg_word: {(DQ ($ VSub_Number '$1'))}
                    )
                )
              }
            )
          ]
        )
    )
    (command.WhileUntil
      keyword: <KW_While while>
      cond: [(C {(test)} {($ VSub_Pound '$#')} {(KW_Bang '!') (Lit_Other '=')} {(0)})]
      body: 
        (command.DoGroup
          children: [
            (command.Case
              to_match: {(DQ ($ VSub_Number '$1'))}
              arms: [
                (case_arm
                  pat_list: [{(-b)} {(--browser) (Lit_Other '*')} {(-t)} {(--tool) (Lit_Other '*')}]
                  action: [
                    (command.Case
                      to_match: {(DQ ($ VSub_Pound '$#') (',') ($ VSub_Number '$1'))}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(Lit_Other '*') (Lit_Comma ',') (Lit_Other '*') (Lit_Other '=') 
                              (Lit_Other '*')
                            }
                          ]
                          action: [
                            (command.Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (lhs_expr.LhsName name:browser)
                                  op: Equal
                                  rhs: 
                                    {
                                      (word_part.CommandSubPart
                                        command_list: 
                                          (command.CommandList
                                            children: [
                                              (C {(expr)} {(DQ (z) ($ VSub_Number '$1'))} 
                                                {(Lit_Other ':')} {(SQ <'z-[^=]*=\\(.*\\)'>)}
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                      )
                                    }
                                )
                              ]
                            )
                          ]
                        )
                        (case_arm
                          pat_list: [{(1) (Lit_Comma ',') (Lit_Other '*')}]
                          action: [(C {(usage)})]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (command.Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (lhs_expr.LhsName name:browser)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Number '$2'))}
                                )
                              ]
                            )
                            (C {(shift)})
                          ]
                        )
                      ]
                    )
                  ]
                )
                (case_arm
                  pat_list: [{(-c)} {(--config) (Lit_Other '*')}]
                  action: [
                    (command.Case
                      to_match: {(DQ ($ VSub_Pound '$#') (',') ($ VSub_Number '$1'))}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(Lit_Other '*') (Lit_Comma ',') (Lit_Other '*') (Lit_Other '=') 
                              (Lit_Other '*')
                            }
                          ]
                          action: [
                            (command.Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (lhs_expr.LhsName name:conf)
                                  op: Equal
                                  rhs: 
                                    {
                                      (word_part.CommandSubPart
                                        command_list: 
                                          (command.CommandList
                                            children: [
                                              (C {(expr)} {(DQ (z) ($ VSub_Number '$1'))} 
                                                {(Lit_Other ':')} {(SQ <'z-[^=]*=\\(.*\\)'>)}
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                      )
                                    }
                                )
                              ]
                            )
                          ]
                        )
                        (case_arm
                          pat_list: [{(1) (Lit_Comma ',') (Lit_Other '*')}]
                          action: [(C {(usage)})]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (command.Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (lhs_expr.LhsName name:conf)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Number '$2'))}
                                )
                              ]
                            )
                            (C {(shift)})
                          ]
                        )
                      ]
                    )
                  ]
                )
                (case_arm
                  pat_list: [{(--)}]
                  action: [(command.ControlFlow token:<ControlFlow_Break break>)]
                )
                (case_arm pat_list:[{(-) (Lit_Other '*')}] action:[(C {(usage)})])
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [(command.ControlFlow token:<ControlFlow_Break break>)]
                )
              ]
            )
            (C {(shift)})
          ]
        )
    )
    (command.AndOr
      ops: [Op_DAmp]
      children: [(C {(test)} {($ VSub_Pound '$#')} {(Lit_Other '=')} {(0)}) (C {(usage)})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(C {(test)} {(-z)} {(DQ ($ VSub_DollarName '$browser'))})]
          action: [
            (command.ForEach
              iter_name: opt
              iter_words: [{(DQ ($ VSub_DollarName '$conf'))} {(DQ (web.browser))}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-z)} {(DQ ($ VSub_DollarName '$opt'))})
                        (command.ControlFlow
                          token: <ControlFlow_Continue continue>
                        )
                      ]
                    )
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:browser)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (word_part.CommandSubPart
                                  command_list: 
                                    (command.CommandList
                                      children: [(C {(git)} {(config)} {($ VSub_DollarName '$opt')})]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                )
                              )
                            }
                        )
                      ]
                    )
                    (command.AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(test)} {(-z)} {(DQ ($ VSub_DollarName '$browser'))})
                        (command.ControlFlow token:<ControlFlow_Break break>)
                      ]
                    )
                  ]
                )
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$browser'))})
                            (command.Pipeline
                              children: [(C {(valid_tool)} {(DQ ($ VSub_DollarName '$browser'))})]
                              negated: T
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (command.SimpleCommand
                      words: [
                        {(echo)}
                        {
                          (DQ ('git config option ') ($ VSub_DollarName '$opt') 
                            (' set to unknown browser: ') ($ VSub_DollarName '$browser')
                          )
                        }
                      ]
                      redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
                    )
                    (command.SimpleCommand
                      words: [{(echo)} {(DQ ('Resetting to default...'))}]
                      redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
                    )
                    (C {(unset)} {(browser)})
                  ]
                )
              ]
            )
          ]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {(test)} {(-z)} {(DQ ($ VSub_DollarName '$browser'))})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$DISPLAY'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:browser_candidates)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (
'firefox iceweasel google-chrome chrome chromium chromium-browser konqueror opera seamonkey iceape w3m elinks links lynx dillo xdg-open'
                                )
                              )
                            }
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_DollarName '$KDE_FULL_SESSION'))} 
                                  {(Lit_Other '=')} {(DQ (true))}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (command.Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (lhs_expr.LhsName name:browser_candidates)
                                  op: Equal
                                  rhs: {(DQ ('konqueror ') ($ VSub_DollarName '$browser_candidates'))}
                                )
                              ]
                            )
                          ]
                        )
                      ]
                    )
                  ]
                )
              ]
              else_action: [
                (command.Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:browser_candidates)
                      op: Equal
                      rhs: {(DQ ('w3m elinks links lynx'))}
                    )
                  ]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$SECURITYSESSIONID'))})
                        (C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$TERM_PROGRAM'))})
                      ]
                    )
                  ]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:browser_candidates)
                          op: Equal
                          rhs: {(DQ ('open ') ($ VSub_DollarName '$browser_candidates'))}
                        )
                      ]
                    )
                  ]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: (C {(test)} {(-x)} {(/bin/start)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:browser_candidates)
                          op: Equal
                          rhs: {(DQ ('start ') ($ VSub_DollarName '$browser_candidates'))}
                        )
                      ]
                    )
                  ]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: (C {(test)} {(-x)} {(/usr/bin/cygstart)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:browser_candidates)
                          op: Equal
                          rhs: {(DQ ('cygstart ') ($ VSub_DollarName '$browser_candidates'))}
                        )
                      ]
                    )
                  ]
                )
              ]
            )
            (command.ForEach
              iter_name: i
              iter_words: [{($ VSub_DollarName '$browser_candidates')}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (C {(init_browser_path)} {($ VSub_DollarName '$i')})
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.SimpleCommand
                                  words: [{(type)} {(DQ ($ VSub_DollarName '$browser_path'))}]
                                  redirects: [
                                    (redir.Redir
                                      op: <Redir_Great '>'>
                                      fd: 16777215
                                      arg_word: {(/dev/null)}
                                    )
                                    (redir.Redir
                                      op: <Redir_GreatAnd '2>&'>
                                      fd: 2
                                      arg_word: {(1)}
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (command.Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (lhs_expr.LhsName name:browser)
                                  op: Equal
                                  rhs: {($ VSub_DollarName '$i')}
                                )
                              ]
                            )
                            (command.ControlFlow
                              token: <ControlFlow_Break break>
                            )
                          ]
                        )
                      ]
                    )
                  ]
                )
            )
            (command.AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-z)} {(DQ ($ VSub_DollarName '$browser'))})
                (C {(die)} {(DQ ('No known browser available.'))})
              ]
            )
          ]
        )
      ]
      else_action: [
        (command.AndOr
          ops: [Op_DPipe]
          children: [
            (C {(valid_tool)} {(DQ ($ VSub_DollarName '$browser'))})
            (C {(die)} {(DQ ("Unknown browser '") ($ VSub_DollarName '$browser') ("'."))})
          ]
        )
        (C {(init_browser_path)} {(DQ ($ VSub_DollarName '$browser'))})
        (command.If
          arms: [
            (if_arm
              cond: [
                (command.Sentence
                  child: 
                    (command.AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-z)} {(DQ ($ VSub_DollarName '$browser_cmd'))})
                        (command.Pipeline
                          children: [
                            (command.SimpleCommand
                              words: [{(type)} {(DQ ($ VSub_DollarName '$browser_path'))}]
                              redirects: [
                                (redir.Redir
                                  op: <Redir_Great '>'>
                                  fd: 16777215
                                  arg_word: {(/dev/null)}
                                )
                                (redir.Redir
                                  op: <Redir_GreatAnd '2>&'>
                                  fd: 2
                                  arg_word: {(1)}
                                )
                              ]
                            )
                          ]
                          negated: T
                        )
                      ]
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(die)} 
                  {
                    (DQ ('The browser ') ($ VSub_DollarName '$browser') (" is not available as '") 
                      ($ VSub_DollarName '$browser_path') ("'.")
                    )
                  }
                )
              ]
            )
          ]
        )
      ]
    )
    (command.Case
      to_match: {(DQ ($ VSub_DollarName '$browser'))}
      arms: [
        (case_arm
          pat_list: [{(firefox)} {(iceweasel)} {(seamonkey)} {(iceape)}]
          action: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:vers)
                  op: Equal
                  rhs: 
                    {
                      (word_part.CommandSubPart
                        command_list: 
                          (command.CommandList
                            children: [
                              (C {(expr)} 
                                {
                                  (DQ 
                                    (word_part.CommandSubPart
                                      command_list: 
                                        (command.CommandList
                                          children: [
                                            (C {($ VSub_DollarName '$browser_path')} {(-version)})
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                    )
                                  )
                                } {(Lit_Other ':')} {(SQ <'.* \\([0-9][0-9]*\\)\\..*'>)}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                      )
                    }
                )
              ]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(lhs_expr.LhsName name:NEWTAB) op:Equal rhs:{(SQ <-new-tab>)})]
            )
            (command.AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(DQ ($ VSub_DollarName '$vers'))} {(-lt)} {(2)})
                (command.Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(lhs_expr.LhsName name:NEWTAB) op:Equal rhs:{(SQ )})]
                )
              ]
            )
            (command.Sentence
              child: 
                (C {(DQ ($ VSub_DollarName '$browser_path'))} {($ VSub_DollarName '$NEWTAB')} 
                  {(DQ ($ VSub_At '$@'))}
                )
              terminator: <Op_Amp '&'>
            )
          ]
        )
        (case_arm
          pat_list: [{(google-chrome)} {(chrome)} {(chromium)} {(chromium-browser)}]
          action: [
            (command.Sentence
              child: (C {(DQ ($ VSub_DollarName '$browser_path'))} {(DQ ($ VSub_At '$@'))})
              terminator: <Op_Amp '&'>
            )
          ]
        )
        (case_arm
          pat_list: [{(konqueror)}]
          action: [
            (command.Case
              to_match: 
                {
                  (DQ 
                    (word_part.CommandSubPart
                      command_list: 
                        (command.CommandList
                          children: [(C {(basename)} {(DQ ($ VSub_DollarName '$browser_path'))})]
                        )
                      left_token: <Left_CommandSub '$('>
                    )
                  )
                }
              arms: [
                (case_arm
                  pat_list: [{(konqueror)}]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:browser_path)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (word_part.CommandSubPart
                                  command_list: 
                                    (command.CommandList
                                      children: [
                                        (command.Pipeline
                                          children: [
                                            (C {(echo)} {(DQ ($ VSub_DollarName '$browser_path'))})
                                            (C {(sed)} {(-e)} {(SQ <'s/konqueror$/kfmclient/'>)})
                                          ]
                                          negated: F
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                )
                              )
                            }
                        )
                      ]
                    )
                    (command.AndOr
                      ops: [Op_DPipe]
                      children: [
                        (command.SimpleCommand
                          words: [{(type)} {(DQ ($ VSub_DollarName '$browser_path'))}]
                          redirects: [
                            (redir.Redir
                              op: <Redir_Great '>'>
                              fd: 16777215
                              arg_word: {(/dev/null)}
                            )
                            (redir.Redir
                              op: <Redir_GreatAnd '2>&'>
                              fd: 2
                              arg_word: {(1)}
                            )
                          ]
                        )
                        (C {(die)} {(DQ ("No '") ($ VSub_DollarName '$browser_path') ("' found."))})
                      ]
                    )
                    (command.Sentence
                      child: 
                        (C {(DQ ($ VSub_DollarName '$browser_path'))} {(newTab)} {(DQ ($ VSub_At '$@'))})
                      terminator: <Op_Amp '&'>
                    )
                  ]
                )
                (case_arm
                  pat_list: [{(kfmclient)}]
                  action: [
                    (command.Sentence
                      child: 
                        (C {(DQ ($ VSub_DollarName '$browser_path'))} {(newTab)} {(DQ ($ VSub_At '$@'))})
                      terminator: <Op_Amp '&'>
                    )
                  ]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (command.Sentence
                      child: (C {(DQ ($ VSub_DollarName '$browser_path'))} {(DQ ($ VSub_At '$@'))})
                      terminator: <Op_Amp '&'>
                    )
                  ]
                )
              ]
            )
          ]
        )
        (case_arm
          pat_list: [{(w3m)} {(elinks)} {(links)} {(lynx)} {(open)} {(cygstart)} {(xdg-open)}]
          action: [(C {(DQ ($ VSub_DollarName '$browser_path'))} {(DQ ($ VSub_At '$@'))})]
        )
        (case_arm
          pat_list: [{(start)}]
          action: [
            (C {(exec)} {(DQ ($ VSub_DollarName '$browser_path'))} {(SQ <'"web-browse"'>)} 
              {(DQ ($ VSub_At '$@'))}
            )
          ]
        )
        (case_arm
          pat_list: [{(opera)} {(dillo)}]
          action: [
            (command.Sentence
              child: (C {(DQ ($ VSub_DollarName '$browser_path'))} {(DQ ($ VSub_At '$@'))})
              terminator: <Op_Amp '&'>
            )
          ]
        )
        (case_arm
          pat_list: [{(Lit_Other '*')}]
          action: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$browser_cmd'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (C {(eval)} 
                              {
                                (DQ ($ VSub_DollarName '$browser_cmd') (' ') 
                                  (word_part.EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\"'>
                                  ) (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('@') 
                                  (word_part.EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\"'>
                                  )
                                )
                              }
                            )
                          ]
                        )
                    )
                  ]
                )
              ]
            )
          ]
        )
      ]
    )
  ]
)